version 1.63, 2004/01/13 16:00:56
|
version 1.64, 2004/08/26 15:50:44
|
Line 269 has? peephole [IF]
|
Line 269 has? peephole [IF]
|
: (does>1) ( addr r:retaddr -- ) |
: (does>1) ( addr r:retaddr -- ) |
rdrop cfaligned /does-handler + !does ; \ !! no tail-call optimization |
rdrop cfaligned /does-handler + !does ; \ !! no tail-call optimization |
|
|
|
: (does>2) ( addr -- ) |
|
cfaligned /does-handler + !does ; |
|
|
: dodoes, ( -- ) |
: dodoes, ( -- ) |
cfalign here /does-handler allot does-handler! ; |
cfalign here /does-handler allot does-handler! ; |
|
|
Line 512 DOES> @ execute ;
|
Line 515 DOES> @ execute ;
|
:noname |
:noname |
;-hook ?struc |
;-hook ?struc |
[ has? xconds [IF] ] exit-like [ [THEN] ] |
[ has? xconds [IF] ] exit-like [ [THEN] ] |
here 4 cells + postpone aliteral postpone (does>1) dodoes, |
here 5 cells + postpone aliteral postpone (does>2) [compile] exit |
|
finish-code dodoes, |
defstart :-hook ; |
defstart :-hook ; |
interpret/compile: DOES> ( compilation colon-sys1 -- colon-sys2 ; run-time nest-sys -- ) \ core does |
interpret/compile: DOES> ( compilation colon-sys1 -- colon-sys2 ; run-time nest-sys -- ) \ core does |
|
|