Use specializer hints when inlining words
parent
09c6d97fea
commit
b80e82b170
|
@ -4,7 +4,7 @@ USING: fry arrays generic io io.streams.string kernel math
|
|||
namespaces parser prettyprint sequences strings vectors words
|
||||
quotations effects classes continuations debugger assocs
|
||||
combinators compiler.errors accessors math.order definitions
|
||||
sets generic.standard.engines.tuple stack-checker.state
|
||||
sets generic.standard.engines.tuple hints stack-checker.state
|
||||
stack-checker.visitor stack-checker.errors
|
||||
stack-checker.values stack-checker.recursive-state ;
|
||||
IN: stack-checker.backend
|
||||
|
@ -125,7 +125,7 @@ M: object apply-object push-literal ;
|
|||
] 2bi ; inline
|
||||
|
||||
: infer-word-def ( word -- )
|
||||
[ def>> ] [ add-recursive-state ] bi infer-quot ;
|
||||
[ specialized-def ] [ add-recursive-state ] bi infer-quot ;
|
||||
|
||||
: check->r ( -- )
|
||||
meta-r get empty? terminated? get or
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: fry namespaces assocs kernel sequences words accessors
|
||||
definitions math math.order effects classes arrays combinators
|
||||
vectors arrays
|
||||
vectors arrays hints
|
||||
stack-checker.state
|
||||
stack-checker.errors
|
||||
stack-checker.values
|
||||
|
@ -17,7 +17,7 @@ IN: stack-checker.inlining
|
|||
! having to handle recursive inline words.
|
||||
|
||||
: infer-inline-word-def ( word label -- )
|
||||
[ drop def>> ] [ add-inline-word ] 2bi infer-quot ;
|
||||
[ drop specialized-def ] [ add-inline-word ] 2bi infer-quot ;
|
||||
|
||||
TUPLE: inline-recursive < identity-tuple
|
||||
id
|
||||
|
|
Loading…
Reference in New Issue