]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.*: fix the tests that broke because i removed the stack-frame variable
authorBjörn Lindqvist <bjourne@gmail.com>
Tue, 21 Jul 2015 09:22:38 +0000 (11:22 +0200)
committerBjörn Lindqvist <bjourne@gmail.com>
Tue, 21 Jul 2015 11:40:49 +0000 (13:40 +0200)
basis/compiler/codegen/gc-maps/gc-maps-tests.factor
basis/cpu/architecture/architecture-tests.factor
extra/tools/image-analyzer/gc-info/gc-info-tests.factor

index a6dfa97df716577567bae9b5328c72b9785b1aca..d7f79e4d8fceabf0dcb67c625b5127f50f54f0ca 100644 (file)
@@ -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 } }
index 1a9ef57754407e9a7caa187e23773548fe17b6de..41acbfb5186abc9e8dcfffd1372d176f01a77d7f 100644 (file)
@@ -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 ;
 
index 36433079c854fc95fd4b79fb0ce429e77642089d..4b7bcc5593e08b77a5cb2a2f60f86223c7915e0b 100644 (file)
@@ -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 [