compiler.tree.propagation.call-effect: changing back call-effect-unsafe?, changing it made all images to large for some reason
parent
92165e4ee7
commit
eda9535ce6
|
@ -16,6 +16,12 @@ IN: compiler.tree.propagation.call-effect.tests
|
|||
100 [ sq ] ( a -- b ) call-effect-slow>quot call
|
||||
] unit-test
|
||||
|
||||
! call-effect-unsafe?
|
||||
{ f t } [
|
||||
[ ] ( m -- ) call-effect-unsafe?
|
||||
[ ] ( x -- x ) call-effect-unsafe?
|
||||
] unit-test
|
||||
|
||||
[ t ] [ \ + ( a b -- c ) execute-effect-unsafe? ] unit-test
|
||||
[ t ] [ \ + ( a b c -- d e ) execute-effect-unsafe? ] unit-test
|
||||
[ f ] [ \ + ( a b c -- d ) execute-effect-unsafe? ] unit-test
|
||||
|
|
|
@ -57,9 +57,6 @@ M: quotation cached-effect
|
|||
dup cached-effect-valid?
|
||||
[ cached-effect>> ] [ [ safe-infer dup ] keep save-effect ] if ;
|
||||
|
||||
: call-effect-unsafe? ( cached-effect effect -- ? )
|
||||
over +unknown+ eq? [ 2drop f ] [ effect<= ] if ;
|
||||
|
||||
: call-effect-slow>quot ( effect -- quot )
|
||||
[ \ call-effect def>> curry ] [ add-effect-input ] bi
|
||||
'[ _ _ call-effect-unsafe ] ;
|
||||
|
@ -70,8 +67,13 @@ M: quotation cached-effect
|
|||
|
||||
\ call-effect-slow t "no-compile" set-word-prop
|
||||
|
||||
: call-effect-unsafe? ( quot effect -- ? )
|
||||
[ cached-effect ] dip
|
||||
over +unknown+ eq?
|
||||
[ 2drop f ] [ [ { effect } declare ] dip effect<= ] if ; inline
|
||||
|
||||
: call-effect-fast ( quot effect inline-cache -- )
|
||||
2over [ cached-effect ] dip call-effect-unsafe?
|
||||
2over call-effect-unsafe?
|
||||
[ [ nip update-inline-cache ] [ drop call-effect-unsafe ] 3bi ]
|
||||
[ drop call-effect-slow ]
|
||||
if ; inline
|
||||
|
|
Loading…
Reference in New Issue