summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-11-25 14:55:56 +0000
committerCamil Staps2016-11-25 14:55:56 +0000
commit3d06f32b6ba55419698cf72a4d9c009a5036b03a (patch)
tree755fc92797439942af53492e0ab9ddbc034a5f5b
parentFix issue in the copying collector where things were incorrectly (not) marked... (diff)
Some fixes in copying collector; too hasty modification
-rw-r--r--thumb2copy.s11
1 files changed, 6 insertions, 5 deletions
diff --git a/thumb2copy.s b/thumb2copy.s
index 72639b1..1a917df 100644
--- a/thumb2copy.s
+++ b/thumb2copy.s
@@ -663,7 +663,7 @@ copy_indirection_2:
tst r6,#1
beq already_copied_2
- ldr r12,[r6,#-5]
+ ldr r12,[r6,#-4]
cmp r12,#-2
beq skip_indirections_2
@@ -680,7 +680,7 @@ skip_indirections_2:
tst r6,#1
beq update_indirection_list_2
- ldr r12,[r6,#-5]
+ ldr r12,[r6,#-4]
cmp r12,#-2
beq skip_indirections_2
@@ -828,7 +828,7 @@ copy_selector_2__:
ldr r4,[r4,#8]
ldrb r12,[r4]
tst r12,#1
- beq copy_arity_1_node2_
+ bne copy_arity_1_node2_
copy_record_selector_2_:
.ifdef PIC
add r11,r6,#-9+4
@@ -966,9 +966,10 @@ copy_arity_0_node2_:
blt copy_selector_2
str r6,[r9,#-12]!
+ str r9,[r5]
add r4,r9,#1
- str r4,[r5]
- sub r4,r4,#1
+ @str r4,[r5]
+ @sub r4,r4,#1
@mov r4,r9
str r4,[r7]