version 1.5, 1999/03/23 20:24:24
|
version 1.7, 1999/12/03 18:49:51
|
Line 48 variable backedge-locals
|
Line 48 variable backedge-locals
|
\ locals-list (valid at address) (third) |
\ locals-list (valid at address) (third) |
|
|
\ types |
\ types |
0 constant defstart |
[IFUNDEF] defstart |
|
0 constant defstart \ usally defined in comp.fs |
|
[THEN] |
1 constant live-orig |
1 constant live-orig |
2 constant dead-orig |
2 constant dead-orig |
3 constant dest \ the loopback branch is always assumed live |
3 constant dest \ the loopback branch is always assumed live |
Line 78 variable backedge-locals
|
Line 80 variable backedge-locals
|
|
|
3 constant cs-item-size |
3 constant cs-item-size |
|
|
: CS-PICK ( ... u -- ... destu ) \ tools-ext |
: CS-PICK ( ... u -- ... destu ) \ tools-ext c-s-pick |
1+ cs-item-size * 1- >r |
1+ cs-item-size * 1- >r |
r@ pick r@ pick r@ pick |
r@ pick r@ pick r@ pick |
rdrop |
rdrop |
dup non-orig? ; |
dup non-orig? ; |
|
|
: CS-ROLL ( destu/origu .. dest0/orig0 u -- .. dest0/orig0 destu/origu ) \ tools-ext |
: CS-ROLL ( destu/origu .. dest0/orig0 u -- .. dest0/orig0 destu/origu ) \ tools-ext c-s-roll |
1+ cs-item-size * 1- >r |
1+ cs-item-size * 1- >r |
r@ roll r@ roll r@ roll |
r@ roll r@ roll r@ roll |
rdrop |
rdrop |