summaryrefslogtreecommitdiff
path: root/acopy.asm
diff options
context:
space:
mode:
Diffstat (limited to 'acopy.asm')
-rw-r--r--acopy.asm12
1 files changed, 11 insertions, 1 deletions
diff --git a/acopy.asm b/acopy.asm
index 9410d6a..312bf22 100644
--- a/acopy.asm
+++ b/acopy.asm
@@ -1235,9 +1235,19 @@ copy_arity_0_node2_:
ret
copy_string_or_array_2:
+ ifdef PIC
+ je copy_string_2
+ lea r9,__ARRAY__+2+0
+ cmp rcx,r9
+ jb copy_normal_hnf_0_2
+ mov rcx,rdx
+ jmp copy_array_2
+copy_string_2:
+ mov rcx,rdx
+ else
mov rcx,rdx
jne copy_array_2
-
+ endif
sub rdx,heap_p1+0
cmp rdx,semi_space_size+0
jae copy_string_or_array_constant