Use partial copy on vtcopy, because the header state is independently set up

parent e4bcfaa9
Pipeline #803 failed with stage
in 5 minutes and 37 seconds
......@@ -541,22 +541,24 @@ opt: ( xt -- )
Create vttemplate
0 A, \ link field
' default-name>int A, \ name>int field
' default-name>comp A, \ name>comp field
' named>string A, \ name>string field
' named>link A, \ name>link field
' peephole-compile, A, \ compile, field
' no-to A, \ to field
' no-defer@ A, \ defer@
0 A, \ extra field
' default-name>int A, \ name>int field
' default-name>comp A, \ name>comp field
' named>string A, \ name>string field
' named>link A, \ name>link field
\ initialize to one known vt
: (make-latest) ( xt1 xt2 -- )
swap >namevt @ vttemplate vtsize move
: vt-activate ( xt -- )
>namevt vttemplate over ! vttemplate ! ;
: (make-latest) ( xt1 xt2 -- )
swap >namevt @ vttemplate vtsize move vt-activate ;
: vtcopy ( xt -- ) \ gforth vtcopy
here (make-latest) ;
>namevt @ vttemplate 0 >vt>int move
here vt-activate ;
: vtcopy, ( xt -- ) \ gforth vtcopy-comma
dup vtcopy here >r dup >code-address cfa, cell+ @ r> cell+ ! ;
......
......@@ -913,8 +913,9 @@ tmp$ $execstr-ptr !
IF >body ?compile-wrapper ?link-wrapper ELSE >body THEN
postpone call-c# , ;
noname Create
cfaligned 0 , 0 , noname Create
\ can not be named due to rebind-libcc
named-vt \ but is actually a named vt
' cfun, set-optimizer
' rt-does> set-does>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment