diff options
-rw-r--r-- | astartup.asm | 8 | ||||
-rw-r--r-- | macho64/astartup.s | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/astartup.asm b/astartup.asm index 0b21c6b..695374a 100644 --- a/astartup.asm +++ b/astartup.asm @@ -2484,11 +2484,11 @@ end_garbage_collect: mov qword ptr d3_flag_write_heap,0 end_garbage_collect_: + push rax + test qword ptr flags,2 je no_heap_use_message - push rax - mov rbp,rsp and rsp,-16 @@ -2524,10 +2524,10 @@ end_garbage_collect_: endif mov rsp,rbp - pop rax - no_heap_use_message: call call_finalizers + + pop rax test byte ptr flags,32 je no_write_heap diff --git a/macho64/astartup.s b/macho64/astartup.s index 8f2bc01..41db2d3 100644 --- a/macho64/astartup.s +++ b/macho64/astartup.s @@ -2565,11 +2565,11 @@ end_garbage_collect: mov qword ptr d3_flag_write_heap[rip],0 end_garbage_collect_: + push rax + test qword ptr _flags[rip],2 je no_heap_use_message - push rax - mov rbp,rsp and rsp,-16 @@ -2605,10 +2605,10 @@ end_garbage_collect_: .endif mov rsp,rbp - pop rax - no_heap_use_message: call call_finalizers + + pop rax test byte ptr _flags[rip],32 je no_write_heap |