give-up-transform now uses a cached stack effect. Slight performance improvement when compiling calls to member? with a non-literal quotation
parent
a23a6a2870
commit
06f29ab7e4
|
@ -10,10 +10,11 @@ stack-checker.recursive-state ;
|
||||||
IN: stack-checker.transforms
|
IN: stack-checker.transforms
|
||||||
|
|
||||||
: give-up-transform ( word -- )
|
: give-up-transform ( word -- )
|
||||||
dup recursive-word?
|
{
|
||||||
[ call-recursive-word ]
|
{ [ dup "inferred-effect" word-prop ] [ cached-infer ] }
|
||||||
[ dup infer-word apply-word/effect ]
|
{ [ dup recursive-word? ] [ call-recursive-word ] }
|
||||||
if ;
|
[ dup infer-word apply-word/effect ]
|
||||||
|
} cond ;
|
||||||
|
|
||||||
:: ((apply-transform)) ( word quot values stack rstate -- )
|
:: ((apply-transform)) ( word quot values stack rstate -- )
|
||||||
rstate recursive-state
|
rstate recursive-state
|
||||||
|
|
Loading…
Reference in New Issue