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