100kb image size reduction on x86 from addressing mode optimization
parent
91685ca669
commit
c710b3b34d
|
@ -115,7 +115,8 @@ M: indirect extended? indirect-base extended? ;
|
|||
: canonicalize ( indirect -- )
|
||||
#! Modify the indirect to work around certain addressing mode
|
||||
#! quirks.
|
||||
dup canonicalize-EBP canonicalize-ESP ;
|
||||
dup canonicalize-EBP
|
||||
canonicalize-ESP ;
|
||||
|
||||
C: indirect ( base index scale displacement -- indirect )
|
||||
[ set-indirect-displacement ] keep
|
||||
|
@ -128,7 +129,10 @@ C: indirect ( base index scale displacement -- indirect )
|
|||
dup integer? [ >r f f f r> ] [ f f f ] if <indirect> ;
|
||||
|
||||
: [+] ( reg displacement -- indirect )
|
||||
dup integer? [ >r f f r> ] [ f f ] if <indirect> ;
|
||||
dup integer?
|
||||
[ dup zero? [ drop f ] when >r f f r> ]
|
||||
[ f f ] if
|
||||
<indirect> ;
|
||||
|
||||
: reg-code "register" word-prop 7 bitand ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue