moved stack_chain into vm struct
parent
25bbca2f66
commit
9a37b6abb6
|
@ -612,7 +612,7 @@ M:: x86 %call-gc ( gc-root-count -- )
|
|||
! Call GC
|
||||
"inline_gc" f %vm-invoke ;
|
||||
|
||||
M: x86 %alien-global
|
||||
M: x86 %alien-global ( dst symbol library -- )
|
||||
[ 0 MOV ] 2dip rc-absolute-cell rel-dlsym ;
|
||||
|
||||
M: x86 %epilogue ( n -- ) cell - incr-stack-reg ;
|
||||
|
@ -742,7 +742,7 @@ M:: x86 %save-context ( temp1 temp2 callback-allowed? -- )
|
|||
#! Save Factor stack pointers in case the C code calls a
|
||||
#! callback which does a GC, which must reliably trace
|
||||
#! all roots.
|
||||
temp1 "stack_chain" f %alien-global
|
||||
temp1 0 MOV rc-absolute-cell rt-vm rel-fixup ! stack-chain is first item in vm struct. TODO: make vm C-STRUCT
|
||||
temp1 temp1 [] MOV
|
||||
temp2 stack-reg cell neg [+] LEA
|
||||
temp1 [] temp2 MOV
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
#include "master.hpp"
|
||||
|
||||
factor::context *stack_chain;
|
||||
|
||||
namespace factor
|
||||
{
|
||||
|
||||
|
|
|
@ -55,4 +55,3 @@ VM_C_API void unnest_stacks();
|
|||
|
||||
}
|
||||
|
||||
VM_C_API factor::context *stack_chain;
|
||||
|
|
|
@ -88,7 +88,7 @@ DEF(void,primitive_inline_cache_miss_tail,(void)):
|
|||
add $STACK_PADDING,%rsp
|
||||
jmp *%rax
|
||||
|
||||
<<<<<<< HEAD
|
||||
|
||||
DEF(void,get_sse_env,(void*)):
|
||||
stmxcsr (%rdi)
|
||||
ret
|
||||
|
|
Loading…
Reference in New Issue