stack-checker.dependencies: changes the names of the dependency constants

Now named using the +blah+ convention which we're using elsewhere for
symbolic constants.
char-rename
Björn Lindqvist 2016-11-26 15:44:09 +01:00
parent 99653bab91
commit 14e8688112
3 changed files with 26 additions and 31 deletions

View File

@ -14,39 +14,39 @@ IN: compiler.crossref.tests
{ {
10 10
H{ H{
{ 20 definition-dependency } { 20 +definition+ }
{ 30 conditional-dependency } { 30 +conditional+ }
{ 40 effect-dependency } { 40 +effect+ }
} }
} }
} clone ; } clone ;
! dependencies-of ! dependencies-of
{ {
H{ { 20 definition-dependency } } H{ { 20 +definition+ } }
} [ } [
setup-crossref compiled-crossref [ setup-crossref compiled-crossref [
10 definition-dependency dependencies-of 10 +definition+ dependencies-of
] with-variable ] with-variable
] unit-test ] unit-test
{ {
H{ { 20 definition-dependency } { 30 conditional-dependency } } H{ { 20 +definition+ } { 30 +conditional+ } }
} [ } [
setup-crossref compiled-crossref [ setup-crossref compiled-crossref [
10 conditional-dependency dependencies-of 10 +conditional+ dependencies-of
] with-variable ] with-variable
] unit-test ] unit-test
! join-dependencies ! join-dependencies
{ {
H{ H{
{ 1 effect-dependency } { 1 +effect+ }
{ 2 effect-dependency } { 2 +effect+ }
{ 3 conditional-dependency } { 3 +conditional+ }
{ 4 conditional-dependency } { 4 +conditional+ }
{ 5 definition-dependency } { 5 +definition+ }
{ 6 definition-dependency } { 6 +definition+ }
} }
} [ } [
{ 1 2 } { 3 4 } { 5 6 } join-dependencies { 1 2 } { 3 4 } { 5 6 } join-dependencies

View File

@ -19,7 +19,7 @@ generic-call-site-crossref [ H{ } clone ] initialize
[ all-dependencies-of ] dip '[ nip _ dependency>= ] assoc-filter ; [ all-dependencies-of ] dip '[ nip _ dependency>= ] assoc-filter ;
: outdated-definition-usages ( set -- assocs ) : outdated-definition-usages ( set -- assocs )
members [ word? ] filter [ definition-dependency dependencies-of ] map ; members [ word? ] filter [ +definition+ dependencies-of ] map ;
: outdated-effect-usages ( set -- assocs ) : outdated-effect-usages ( set -- assocs )
members [ word? ] filter [ all-dependencies-of ] map ; members [ word? ] filter [ all-dependencies-of ] map ;
@ -30,7 +30,7 @@ generic-call-site-crossref [ H{ } clone ] initialize
: outdated-conditional-usages ( set -- assocs ) : outdated-conditional-usages ( set -- assocs )
members H{ } clone '[ members H{ } clone '[
conditional-dependency dependencies-of +conditional+ dependencies-of
[ drop _ dependencies-satisfied? ] assoc-reject [ drop _ dependencies-satisfied? ] assoc-reject
] map ; ] map ;
@ -44,8 +44,8 @@ generic-call-site-crossref [ H{ } clone ] initialize
concat f like "generic-call-sites" set-word-prop ; concat f like "generic-call-sites" set-word-prop ;
: split-dependencies ( assoc -- effect-deps cond-deps def-deps ) : split-dependencies ( assoc -- effect-deps cond-deps def-deps )
[ nip effect-dependency eq? ] assoc-partition [ nip +effect+ eq? ] assoc-partition
[ nip conditional-dependency eq? ] assoc-partition ; [ nip +conditional+ eq? ] assoc-partition ;
: (store-dependencies) ( word assoc prop -- ) : (store-dependencies) ( word assoc prop -- )
[ keys f like ] dip set-word-prop ; [ keys f like ] dip set-word-prop ;
@ -79,9 +79,9 @@ generic-call-site-crossref [ H{ } clone ] initialize
: join-dependencies ( effect-deps cond-deps def-deps -- assoc ) : join-dependencies ( effect-deps cond-deps def-deps -- assoc )
H{ } clone [ H{ } clone [
[ effect-dependency set-at-each ] [ +effect+ set-at-each ]
[ conditional-dependency set-at-each ] [ +conditional+ set-at-each ]
[ definition-dependency set-at-each ] tri-curry tri* [ +definition+ set-at-each ] tri-curry tri*
] keep ; ] keep ;
: load-dependencies ( word -- assoc ) : load-dependencies ( word -- assoc )

View File

@ -6,23 +6,18 @@ generic kernel math namespaces sequences sets words ;
FROM: classes.tuple.private => tuple-layout ; FROM: classes.tuple.private => tuple-layout ;
IN: stack-checker.dependencies IN: stack-checker.dependencies
! Words that the current quotation depends on
SYMBOL: dependencies SYMBOL: dependencies
SYMBOLS: effect-dependency conditional-dependency definition-dependency ; SYMBOLS: +effect+ +conditional+ +definition+ ;
: index>= ( obj1 obj2 seq -- ? ) : index>= ( obj1 obj2 seq -- ? )
[ index ] curry bi@ >= ; [ index ] curry bi@ >= ;
: dependency>= ( how1 how2 -- ? ) : dependency>= ( how1 how2 -- ? )
{ { +effect+ +conditional+ +definition+ } index>= ;
effect-dependency
conditional-dependency
definition-dependency
} index>= ;
: strongest-dependency ( how1 how2 -- how ) : strongest-dependency ( how1 how2 -- how )
[ effect-dependency or ] bi@ [ dependency>= ] most ; [ +effect+ or ] bi@ [ dependency>= ] most ;
: depends-on ( word how -- ) : depends-on ( word how -- )
over primitive? [ 2drop ] [ over primitive? [ 2drop ] [
@ -32,13 +27,13 @@ SYMBOLS: effect-dependency conditional-dependency definition-dependency ;
] if ; ] if ;
: add-depends-on-effect ( word -- ) : add-depends-on-effect ( word -- )
effect-dependency depends-on ; +effect+ depends-on ;
: add-depends-on-conditionally ( word -- ) : add-depends-on-conditionally ( word -- )
conditional-dependency depends-on ; +conditional+ depends-on ;
: add-depends-on-definition ( word -- ) : add-depends-on-definition ( word -- )
definition-dependency depends-on ; +definition+ depends-on ;
GENERIC: add-depends-on-c-type ( c-type -- ) GENERIC: add-depends-on-c-type ( c-type -- )