Minor optimization

db4
Slava Pestov 2008-06-11 18:53:56 -05:00
parent 80720cea0d
commit b919346681
2 changed files with 9 additions and 7 deletions

View File

@ -183,13 +183,7 @@ IN: bootstrap.syntax
"(" [
")" parse-effect
word dup [
swap
[ "declared-effect" set-word-prop ]
[ drop redefined ]
[ drop +inlined+ changed-definition ]
2tri
] [ 2drop ] if
word dup [ set-stack-effect ] [ 2drop ] if
] define-syntax
"((" [

View File

@ -144,6 +144,14 @@ M: object redefined drop ;
dup +inlined+ changed-definition
dup crossref? [ dup xref ] when drop ;
: set-stack-effect ( effect word -- )
2dup "declared-effect" word-prop = [ 2drop ] [
swap
[ "declared-effect" set-word-prop ]
[ drop [ redefined ] [ +inlined+ changed-definition ] bi ]
2bi
] if ;
: define-declared ( word def effect -- )
pick swap "declared-effect" set-word-prop
define ;