boxing.factor: Change Stack Effects

master
kusumotonorio 2020-01-16 23:34:24 +09:00
parent d581322225
commit bb7777e0cf
1 changed files with 6 additions and 2 deletions

View File

@ -12,18 +12,22 @@ SYMBOL: struct-return-area
SYMBOLS: int-reg-reps float-reg-reps ; SYMBOLS: int-reg-reps float-reg-reps ;
<PRIVATE
: inc-not-f ( variable -- ) dup get [ inc ] [ drop ] if ; inline : inc-not-f ( variable -- ) dup get [ inc ] [ drop ] if ; inline
: dec-not-f ( variable -- ) dup get [ dec ] [ drop ] if ; inline : dec-not-f ( variable -- ) dup get [ dec ] [ drop ] if ; inline
: record-reg-reps ( seq -- seq ) PRIVATE>
: record-reg-reps ( reps -- reps )
dup [ dup [
dup second not [ ! on-stack?: f dup second not [ ! on-stack?: f
first int-rep? int-reg-reps float-reg-reps ? inc-not-f first int-rep? int-reg-reps float-reg-reps ? inc-not-f
] [ drop ] if ] [ drop ] if
] each ; ] each ;
: unrecord-reg-reps ( seq -- seq ) : unrecord-reg-reps ( reps -- reps )
dup [ dup [
dup second not [ ! on-stack?: f dup second not [ ! on-stack?: f
first int-rep? int-reg-reps float-reg-reps ? dec-not-f first int-rep? int-reg-reps float-reg-reps ? dec-not-f