Use specializer hints when inlining words

db4
Slava Pestov 2008-11-29 12:05:27 -06:00
parent 09c6d97fea
commit b80e82b170
2 changed files with 4 additions and 4 deletions

View File

@ -4,7 +4,7 @@ USING: fry arrays generic io io.streams.string kernel math
namespaces parser prettyprint sequences strings vectors words namespaces parser prettyprint sequences strings vectors words
quotations effects classes continuations debugger assocs quotations effects classes continuations debugger assocs
combinators compiler.errors accessors math.order definitions 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.visitor stack-checker.errors
stack-checker.values stack-checker.recursive-state ; stack-checker.values stack-checker.recursive-state ;
IN: stack-checker.backend IN: stack-checker.backend
@ -125,7 +125,7 @@ M: object apply-object push-literal ;
] 2bi ; inline ] 2bi ; inline
: infer-word-def ( word -- ) : infer-word-def ( word -- )
[ def>> ] [ add-recursive-state ] bi infer-quot ; [ specialized-def ] [ add-recursive-state ] bi infer-quot ;
: check->r ( -- ) : check->r ( -- )
meta-r get empty? terminated? get or meta-r get empty? terminated? get or

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: fry namespaces assocs kernel sequences words accessors USING: fry namespaces assocs kernel sequences words accessors
definitions math math.order effects classes arrays combinators definitions math math.order effects classes arrays combinators
vectors arrays vectors arrays hints
stack-checker.state stack-checker.state
stack-checker.errors stack-checker.errors
stack-checker.values stack-checker.values
@ -17,7 +17,7 @@ IN: stack-checker.inlining
! having to handle recursive inline words. ! having to handle recursive inline words.
: infer-inline-word-def ( word label -- ) : 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 TUPLE: inline-recursive < identity-tuple
id id