duskos

dusk os fork
git clone git://git.alexwennerberg.com/duskos
Log | Files | Refs | README | LICENSE

commit 178dbfff2434cfc83d10b8de6269be6549eb53ab
parent 43cf873cec05c021ab18eda9f8b96018df798adf
Author: Virgil Dupras <hsoft@hardcoded.net>
Date:   Tue,  4 Jul 2023 08:39:18 -0400

bootlo: move a few words to lib/meta

Diffstat:
Mfs/lib/meta.fs | 7+++++--
Mfs/xcomp/bootlo.fs | 20++++++++------------
2 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/fs/lib/meta.fs b/fs/lib/meta.fs @@ -12,8 +12,11 @@ : forget ' dup wordname[] drop to here w>e llnext sysdict ! ; \ Entry metadata -4 &+@ emetatype -8 &+ 'emetadata +-4 &+@ emeta +-4 &+ 'emeta +4 &+@ emetatype +8 &+ 'emetadata +: metaadd ( id entry -- ) 'emeta lladd drop , ; : findmeta ( id ll -- ll ) begin dup while 2dup CELLSZ + @ <> while repeat then nip ; diff --git a/fs/xcomp/bootlo.fs b/fs/xcomp/bootlo.fs @@ -194,18 +194,6 @@ _to to' noop _addr, : here# alignhere here ; : alias ' code branch, drop ; -alias @ llnext -: llend ( ll -- lastll ) begin dup llnext ?dup while nip repeat ( ll ) ; -: llappend ( elem ll -- ) llend ! ; -: lladd ( ll -- newll ) here# swap llappend here 0 , ; - -\ Entry metadata -: &+ ( n -- ) code i) +, exit, ; -: &+@ ( n -- ) code W) swap +) @, exit, ; --4 &+@ emeta --4 &+ 'emeta -: metaadd ( id entry -- ) 'emeta lladd drop , ; - : realias ( 'new 'tgt -- ) to@! here swap branch, drop to here ; : :realias ' sysdict curword entry here swap realias pushret, ] ; alias noop idle @@ -280,6 +268,14 @@ alias noop [then] : move, ( src u -- ) here swap dup allot move ; : -move, ( src u -- ) here over - swap move ; +alias @ llnext +: llend ( ll -- lastll ) begin dup llnext ?dup while nip repeat ( ll ) ; +: llappend ( elem ll -- ) llend ! ; +: lladd ( ll -- newll ) here# swap llappend here 0 , ; + +: &+ ( n -- ) code i) +, exit, ; +: &+@ ( n -- ) code W) swap +) @, exit, ; + \ Structures 0 value _extends : extends ' to _extends ;