From: Björn Lindqvist Date: Tue, 21 Jul 2015 09:22:38 +0000 (+0200) Subject: compiler.*: fix the tests that broke because i removed the stack-frame variable X-Git-Tag: unmaintained~2305 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=80ea6b8997da6bf2a6a9cf0fe0cb9c4b376a7cb5 compiler.*: fix the tests that broke because i removed the stack-frame variable --- diff --git a/basis/compiler/codegen/gc-maps/gc-maps-tests.factor b/basis/compiler/codegen/gc-maps/gc-maps-tests.factor index a6dfa97df7..d7f79e4d8f 100644 --- a/basis/compiler/codegen/gc-maps/gc-maps-tests.factor +++ b/basis/compiler/codegen/gc-maps/gc-maps-tests.factor @@ -1,5 +1,5 @@ -USING: accessors alien.c-types arrays bit-arrays classes.struct -compiler.cfg.instructions compiler.cfg.stack-frame +USING: accessors alien.c-types arrays bit-arrays classes.struct compiler.cfg +compiler.cfg.instructions compiler.cfg.stack-frame compiler.cfg.utilities compiler.codegen.gc-maps compiler.codegen.relocation cpu.architecture cpu.x86 byte-arrays make namespaces kernel layouts math sequences specialized-arrays system tools.test ; @@ -78,12 +78,16 @@ M: linux-x86.64 reserved-stack-space 0 ; M: linux-x86.64 gc-root-offset n>> spill-offset cell + cell /i ; +: cfg-w-spill-area-base ( base -- cfg ) + stack-frame new swap >>spill-area-base + { } insns>cfg swap >>stack-frame ; + cpu x86.64? [ linux-x86.64 \ cpu set ! gc-root-offsets { { 1 3 } } [ - T{ stack-frame { spill-area-base 0 } } stack-frame [ + 0 cfg-w-spill-area-base cfg [ T{ gc-map { gc-roots { T{ spill-slot { n 0 } } @@ -94,7 +98,7 @@ cpu x86.64? [ ] unit-test { { 6 10 } } [ - T{ stack-frame { spill-area-base 32 } } stack-frame [ + 32 cfg-w-spill-area-base cfg [ T{ gc-map { gc-roots { T{ spill-slot { n 8 } } @@ -106,7 +110,7 @@ cpu x86.64? [ ! scrub-d scrub-r gc-roots { { 0 0 5 } } [ - T{ stack-frame { spill-area-base 0 } } stack-frame [ + 0 cfg-w-spill-area-base cfg [ T{ gc-map { gc-roots { T{ spill-slot { n 0 } } @@ -119,7 +123,7 @@ cpu x86.64? [ ! scrub-d scrub-r gc-roots { { 0 0 9 } } [ - T{ stack-frame { spill-area-base 32 } } stack-frame [ + 32 cfg-w-spill-area-base cfg [ T{ gc-map { gc-roots { T{ spill-slot { n 0 } } diff --git a/basis/cpu/architecture/architecture-tests.factor b/basis/cpu/architecture/architecture-tests.factor index 1a9ef57754..41acbfb518 100644 --- a/basis/cpu/architecture/architecture-tests.factor +++ b/basis/cpu/architecture/architecture-tests.factor @@ -1,10 +1,15 @@ -USING: accessors compiler.cfg.instructions compiler.cfg.stack-frame -cpu.architecture cpu.x86 kernel layouts math namespaces system tools.test ; +USING: accessors compiler.cfg compiler.cfg.instructions +compiler.cfg.stack-frame compiler.cfg.utilities cpu.architecture +cpu.x86 kernel layouts math namespaces system tools.test ; IN: cpu.architecture.tests +: cfg-w-spill-area-base ( base -- cfg ) + stack-frame new swap >>spill-area-base + { } insns>cfg swap >>stack-frame ; + : expected-gc-root-offset ( slot-number spill-area-base -- offset ) - [ spill-slot boa ] [ stack-frame new swap >>spill-area-base ] bi* - stack-frame [ + [ spill-slot boa ] [ cfg-w-spill-area-base ] bi* + cfg [ gc-root-offset reserved-stack-space cell / - ] with-variable ; diff --git a/extra/tools/image-analyzer/gc-info/gc-info-tests.factor b/extra/tools/image-analyzer/gc-info/gc-info-tests.factor index 36433079c8..4b7bcc5593 100644 --- a/extra/tools/image-analyzer/gc-info/gc-info-tests.factor +++ b/extra/tools/image-analyzer/gc-info/gc-info-tests.factor @@ -36,17 +36,14 @@ QUALIFIED: opencl ! Like word>gc-info but uses the compiler : word>gc-info-expected ( word -- seq/f ) - test-regs first dup stack-frame>> stack-frame - [ cfg>gc-maps tally-gc-maps ] with-variable ; + test-regs first cfg>gc-maps tally-gc-maps ; : same-gc-info? ( compiler-gc-info gc-info -- ? ) [ struct-slot-values = ] [ [ not ] dip return-address-count>> 0 = and ] 2bi or ; : base-pointer-groups-expected ( word -- seq ) - test-regs first dup stack-frame>> stack-frame [ - cfg>gc-maps [ derived-root-offsets { } like ] { } map-as - ] with-variable ; + test-regs first cfg>gc-maps [ derived-root-offsets { } like ] { } map-as ; : base-pointer-groups-decoded ( word -- seq ) word>gc-maps [