compiler.codegen.*: removing the init-gc-maps word
parent
2f71e91dce
commit
faaa898975
|
@ -81,7 +81,8 @@ M: ##dispatch generate-insn
|
|||
: with-fixup ( quot -- code )
|
||||
'[
|
||||
init-relocation
|
||||
init-gc-maps
|
||||
V{ } clone return-addresses set
|
||||
V{ } clone gc-maps set
|
||||
init-fixup
|
||||
[
|
||||
@
|
||||
|
|
|
@ -15,7 +15,8 @@ M: fake-cpu gc-root-offset ;
|
|||
|
||||
[
|
||||
init-relocation
|
||||
init-gc-maps
|
||||
V{ } clone return-addresses set
|
||||
V{ } clone gc-maps set
|
||||
|
||||
50 <byte-array> %
|
||||
|
||||
|
|
|
@ -68,10 +68,6 @@ SYMBOLS: return-addresses gc-maps ;
|
|||
return-addresses get length emit-uint
|
||||
] B{ } make ;
|
||||
|
||||
: init-gc-maps ( -- )
|
||||
V{ } clone return-addresses set
|
||||
V{ } clone gc-maps set ;
|
||||
|
||||
: emit-gc-maps ( -- )
|
||||
serialize-gc-maps [
|
||||
length compiled-offset +
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
USING: compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.codegen.gc-maps compiler.codegen.relocation compiler.test
|
||||
cpu.architecture cpu.x86 cpu.x86.assembler cpu.x86.assembler.operands
|
||||
cpu.x86.features kernel kernel.private layouts literals make math
|
||||
math.libm namespaces sequences system tools.test ;
|
||||
compiler.codegen compiler.codegen.gc-maps compiler.codegen.relocation
|
||||
compiler.test cpu.architecture cpu.x86 cpu.x86.assembler
|
||||
cpu.x86.assembler.operands cpu.x86.features kernel kernel.private
|
||||
layouts literals make math math.libm namespaces sequences system
|
||||
tools.test ;
|
||||
IN: cpu.x86.tests
|
||||
|
||||
{ } [
|
||||
|
@ -39,23 +40,22 @@ cpu x86.64? [
|
|||
|
||||
! %alien-invoke
|
||||
{ 1 } [
|
||||
init-relocation init-gc-maps [
|
||||
[
|
||||
f { } { } { } { } 0 0 { } "dll" T{ gc-map { scrub-d V{ 0 } } } %alien-invoke
|
||||
] B{ } make drop
|
||||
gc-maps get length
|
||||
] with-fixup drop gc-maps get length
|
||||
] unit-test
|
||||
|
||||
! %call-gc
|
||||
{ V{ } } [
|
||||
init-relocation init-gc-maps
|
||||
[ T{ gc-map { scrub-d V{ } } } %call-gc ] B{ } make drop
|
||||
gc-maps get
|
||||
[
|
||||
T{ gc-map { scrub-d V{ } } } %call-gc
|
||||
] with-fixup drop gc-maps get
|
||||
] unit-test
|
||||
|
||||
{ 1 } [
|
||||
init-relocation init-gc-maps
|
||||
[ T{ gc-map { scrub-d V{ 0 0 } } } %call-gc ] B{ } make drop
|
||||
gc-maps get length
|
||||
[
|
||||
T{ gc-map { scrub-d V{ 0 0 } } } %call-gc
|
||||
] with-fixup drop gc-maps get length
|
||||
] unit-test
|
||||
|
||||
! %clear
|
||||
|
|
Loading…
Reference in New Issue