]> gitweb.factorcode.org Git - factor.git/commitdiff
Revert "stack-checker.dependencies: use existing add-depends-on-c-type"
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 14 Jan 2022 22:26:49 +0000 (14:26 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 14 Jan 2022 22:26:49 +0000 (14:26 -0800)
This reverts commit f7ba514a709cada4a1cc8d4c2799ba55d7c1daa5.

basis/compiler/tree/propagation/transforms/transforms.factor
basis/stack-checker/dependencies/dependencies.factor
basis/stack-checker/transforms/transforms.factor

index 04653a828030056d7cd8fb46476c35dde6c53bca..6790139d0a41cda303649c51e289e4616a55275e 100644 (file)
@@ -186,7 +186,7 @@ ERROR: bad-partial-eval quot word ;
 : inline-new ( class -- quot/f )
     {
         { [ dup struct-class? ] [
-            dup add-depends-on-c-type
+            dup dup struct-slots add-depends-on-struct-slots
             '[ _ <struct> ] ] }
         { [ dup tuple-class? ] [
             dup tuple-layout
index 4b29f2c98e79fd88a8eb7c08f70c71599da0b221..649d2fd95b6d6a05e7928411dde3a659686401fc 100644 (file)
@@ -128,6 +128,15 @@ TUPLE: depends-on-tuple-layout class layout ;
 M: depends-on-tuple-layout satisfied?
     [ class>> tuple-layout ] [ layout>> ] bi eq? ;
 
+TUPLE: depends-on-struct-slots class slots ;
+
+: add-depends-on-struct-slots ( class slots -- )
+    [ drop +conditional+ depends-on ]
+    [ depends-on-struct-slots add-conditional-dependency ] 2bi ;
+
+M: depends-on-struct-slots satisfied?
+    [ class>> struct-slots ] [ slots>> ] bi eq? ;
+
 TUPLE: depends-on-flushable word ;
 
 : add-depends-on-flushable ( word -- )
index 37789b78613a94fee2e6b9d9724807e7681439cb..5f0f48a4766892027b069bde160d01420648ce22 100644 (file)
@@ -142,7 +142,7 @@ IN: stack-checker.transforms
 \ boa [
     {
         { [ dup struct-class? ] [
-            dup add-depends-on-c-type
+            dup dup struct-slots add-depends-on-struct-slots
             '[ _ <struct-boa> ] ] }
         { [ dup tuple-class? ] [
             dup tuple-layout