diff --git a/basis/stack-checker/call-effect/call-effect.factor b/basis/stack-checker/call-effect/call-effect.factor index b3b678d93d..12477fdb1d 100644 --- a/basis/stack-checker/call-effect/call-effect.factor +++ b/basis/stack-checker/call-effect/call-effect.factor @@ -84,16 +84,16 @@ M: quotation cached-effect [ drop call-effect-slow ] if ; inline -\ call-effect [ - inline-cache new '[ - _ - 3dup nip cache-hit? [ - drop call-effect-unsafe - ] [ - call-effect-fast - ] if - ] -] 0 define-transform +: call-effect-ic ( quot effect inline-cache -- ) + 3dup nip cache-hit? + [ drop call-effect-unsafe ] + [ call-effect-fast ] + if ; inline + +: call-effect>quot ( -- quot ) + inline-cache new '[ _ call-effect-ic ] ; + +\ call-effect [ call-effect>quot ] 0 define-transform \ call-effect t "no-compile" set-word-prop @@ -120,4 +120,4 @@ M: quotation cached-effect \ execute-effect [ execute-effect>quot ] 1 define-transform -\ execute-effect t "no-compile" set-word-prop \ No newline at end of file +\ execute-effect t "no-compile" set-word-prop