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?
|
dup crossref?
|
||||||
[
|
[
|
||||||
dependencies get >alist
|
dependencies get
|
||||||
generic-dependencies get >alist
|
generic-dependencies get
|
||||||
compiled-xref
|
compiled-xref
|
||||||
] [ drop ] if
|
] [ drop ] if
|
||||||
] tri ;
|
] 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 ;
|
bi* 2bi ;
|
||||||
|
|
||||||
: compiled-xref ( word dependencies generic-dependencies -- )
|
: compiled-xref ( word dependencies generic-dependencies -- )
|
||||||
[ [ drop crossref? ] assoc-filter ] bi@
|
[ [ drop crossref? ] assoc-filter >alist f like ] bi@
|
||||||
[ over ] dip
|
[ over ] dip
|
||||||
[ "compiled-uses" compiled-crossref (compiled-xref) ]
|
[ "compiled-uses" compiled-crossref (compiled-xref) ]
|
||||||
[ "compiled-generic-uses" compiled-generic-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 -- )
|
: (compiled-unxref) ( word word-prop variable -- )
|
||||||
[ [ [ dupd word-prop ] dip get remove-vertex* ] 2curry ]
|
[ [ [ dupd word-prop ] dip get remove-vertex* ] 2curry ]
|
||||||
[ drop [ f swap set-word-prop ] curry ]
|
[ drop [ remove-word-prop ] curry ]
|
||||||
2bi bi ;
|
2bi bi ;
|
||||||
|
|
||||||
: compiled-unxref ( word -- )
|
: compiled-unxref ( word -- )
|
||||||
|
|
Loading…
Reference in New Issue