From 91b2da4f03c40c5bd488cf156476b6c635d58557 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Fri, 25 Nov 2016 14:57:08 +0000 Subject: WIP fixes for bit 0 in compacting collector --- thumb2compact_rmark.s | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/thumb2compact_rmark.s b/thumb2compact_rmark.s index 6dc8107..8680086 100644 --- a/thumb2compact_rmark.s +++ b/thumb2compact_rmark.s @@ -34,7 +34,11 @@ rmark_more_stack_nodes: orr r8,r8,r4 str r8,[r10,r3,lsl #2] - ldr r4,[r6] + ands lr,r6,#1 + it eq + ldreq r4,[r6] + it ne + ldrne r4,[r6,#-1] .align add lr,pc,#9 str lr,[sp,#-4]! @@ -698,7 +702,7 @@ end_rmark_nodes: ldr pc,[sp],#4 rmark_lazy_node: - ldr r8,[r4,#-4] + ldr r8,[r4,#-5] cmp r8,#0 beq rmark_next_node @@ -831,11 +835,11 @@ rmark_no_normal_hnf_0: tst r4,r4 beq rmark_lazy_array - ldrh r7,[r4,#-2+2] + ldrh r7,[r4,#-3+2] tst r7,r7 beq rmark_b_array - ldrh r4,[r4,#-2] + ldrh r4,[r4,#-3] tst r4,r4 beq rmark_b_array -- cgit v1.2.3