Minor optimization
parent
80720cea0d
commit
b919346681
|
@ -183,13 +183,7 @@ IN: bootstrap.syntax
|
||||||
|
|
||||||
"(" [
|
"(" [
|
||||||
")" parse-effect
|
")" parse-effect
|
||||||
word dup [
|
word dup [ set-stack-effect ] [ 2drop ] if
|
||||||
swap
|
|
||||||
[ "declared-effect" set-word-prop ]
|
|
||||||
[ drop redefined ]
|
|
||||||
[ drop +inlined+ changed-definition ]
|
|
||||||
2tri
|
|
||||||
] [ 2drop ] if
|
|
||||||
] define-syntax
|
] define-syntax
|
||||||
|
|
||||||
"((" [
|
"((" [
|
||||||
|
|
|
@ -144,6 +144,14 @@ M: object redefined drop ;
|
||||||
dup +inlined+ changed-definition
|
dup +inlined+ changed-definition
|
||||||
dup crossref? [ dup xref ] when drop ;
|
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 -- )
|
: define-declared ( word def effect -- )
|
||||||
pick swap "declared-effect" set-word-prop
|
pick swap "declared-effect" set-word-prop
|
||||||
define ;
|
define ;
|
||||||
|
|
Loading…
Reference in New Issue