1% image size reduction by not storing empty compiled-generic-uses and compiled-uses props
parent
82a83496f3
commit
f0716b3a0d
|
@ -91,8 +91,8 @@ t compile-dependencies? set-global
|
|||
[
|
||||
dup crossref?
|
||||
[
|
||||
dependencies get >alist
|
||||
generic-dependencies get >alist
|
||||
dependencies get
|
||||
generic-dependencies get
|
||||
compiled-xref
|
||||
] [ drop ] if
|
||||
] tri ;
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
USING: math fry macros eval tools.test ;
|
||||
IN: compiler.tests.redefine13
|
||||
|
||||
: breakage-word ( a b -- c ) + ;
|
||||
|
||||
MACRO: breakage-macro ( a -- ) '[ _ breakage-word ] ;
|
||||
|
||||
GENERIC: breakage-caller ( a -- c )
|
||||
|
||||
M: fixnum breakage-caller 2 breakage-macro ;
|
||||
|
||||
: breakage ( -- obj ) 2 breakage-caller ;
|
||||
|
||||
[ ] [ "IN: compiler.tests.redefine13 : breakage-word ( a b -- c ) ;" eval ] unit-test
|
|
@ -0,0 +1,8 @@
|
|||
USING: compiler.units definitions tools.test sequences ;
|
||||
IN: compiler.tests.redefine14
|
||||
|
||||
TUPLE: bad ;
|
||||
|
||||
M: bad length 1 2 3 ;
|
||||
|
||||
[ ] [ [ { bad length } forget ] with-compilation-unit ] unit-test
|
|
@ -113,7 +113,7 @@ compiled-generic-crossref global [ H{ } assoc-like ] change-at
|
|||
bi* 2bi ;
|
||||
|
||||
: compiled-xref ( word dependencies generic-dependencies -- )
|
||||
[ [ drop crossref? ] assoc-filter ] bi@
|
||||
[ [ drop crossref? ] assoc-filter >alist f like ] bi@
|
||||
[ over ] dip
|
||||
[ "compiled-uses" compiled-crossref (compiled-xref) ]
|
||||
[ "compiled-generic-uses" compiled-generic-crossref (compiled-xref) ]
|
||||
|
@ -121,7 +121,7 @@ compiled-generic-crossref global [ H{ } assoc-like ] change-at
|
|||
|
||||
: (compiled-unxref) ( word word-prop variable -- )
|
||||
[ [ [ dupd word-prop ] dip get remove-vertex* ] 2curry ]
|
||||
[ drop [ f swap set-word-prop ] curry ]
|
||||
[ drop [ remove-word-prop ] curry ]
|
||||
2bi bi ;
|
||||
|
||||
: compiled-unxref ( word -- )
|
||||
|
|
Loading…
Reference in New Issue