diff options
author | Camil Staps | 2016-11-25 14:57:08 +0000 |
---|---|---|
committer | Camil Staps | 2016-11-25 14:57:08 +0000 |
commit | 91b2da4f03c40c5bd488cf156476b6c635d58557 (patch) | |
tree | 0beb0c1bcf2d5e38c4c59d5000dc0cb94cc372b4 /thumb2compact_rmark.s | |
parent | Disable compacting collector for now (diff) |
WIP fixes for bit 0 in compacting collector
Diffstat (limited to 'thumb2compact_rmark.s')
-rw-r--r-- | thumb2compact_rmark.s | 12 |
1 files 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
|