Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Rename of deque to stack words |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
1553e00b7fbdb2f11ffba459e8d8249c |
User & Date: | bernd 2016-12-02 21:35:28.581 |
Context
2016-12-04
| ||
01:14 | Rename temporary files when downloading hashs check-in: 25cf75b4fa user: bernd tags: trunk | |
2016-12-02
| ||
21:35 | Rename of deque to stack words check-in: 1553e00b7f user: bernd tags: trunk | |
17:59 | Bump version number check-in: ab81c21966 user: bernd tags: trunk, 0.2.0-20161202 | |
Changes
Changes to config.fs.
︙ | ︙ | |||
19 20 21 22 23 24 25 | Vocabulary config ' config >body Value config-wl Variable config-recognizer \G The config recognizer | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Vocabulary config ' config >body Value config-wl Variable config-recognizer \G The config recognizer ' rec:string ' rec:num ' rec:float 3 config-recognizer set-stack : .config-err ( -- ) ." unknown config variable: '" source type ." '" cr ; : exec-config ( .. addr u char xt1 xt2 -- ) >r >r [: >r type r> emit ;] $tmp config-wl find-name-in ?dup-IF execute r> execute rdrop ELSE rdrop r> execute .config-err THEN ; |
︙ | ︙ |
Changes to net2o-cmd.fs.
︙ | ︙ | |||
126 127 128 129 130 131 132 | : $.s ( $string1 .. $stringn -- ) string-stack $@ bounds U+DO cr i 2@ n2o:$. 2 cells +LOOP ; \ object stack | | | | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | : $.s ( $string1 .. $stringn -- ) string-stack $@ bounds U+DO cr i 2@ n2o:$. 2 cells +LOOP ; \ object stack : o-pop ( o:o1 o:x -- o1 o:x ) object-stack stack> ; : o-push ( o1 o:x -- o:o1 o:x ) object-stack >stack ; : n:>o ( o1 o:o2 -- o:o2 o:o1 ) >o r> o-push o IF 1 req? ! THEN ; : n:o> ( o:o2 o:o1 -- o:o2 ) o-pop >r o> ; : n:oswap ( o:o1 o:o2 -- o:o2 o:o1 ) o-pop >o r> o-push ; \ token stack - only for decompiling : t-push ( addr -- ) t-stack >stack ; : t-pop ( -- addr ) t-stack stack> ; : t# ( -- n ) t-stack $[]# ; \ float are stored big endian. : pf@+ ( addr u -- addr' u' r ) 2>r 64 64#0 2r> bounds ?DO 7 64lshift I c@ $7F and n>64 64+ 64>r 7 - 64r> |
︙ | ︙ | |||
624 625 626 627 628 629 630 | 2 Constant fwd# \ maximum 14 bits = 16kB : nest$ ( -- addr u ) cmdbuf$ neststart# @ safe/string ; : cmd-resolve> ( -- addr u ) nest$ over >r dup n>64 cmdtmp$ dup fwd# u> !!stringfit!! r> over - swap move | | | | 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 | 2 Constant fwd# \ maximum 14 bits = 16kB : nest$ ( -- addr u ) cmdbuf$ neststart# @ safe/string ; : cmd-resolve> ( -- addr u ) nest$ over >r dup n>64 cmdtmp$ dup fwd# u> !!stringfit!! r> over - swap move nest-stack stack> neststart# ! ; also net2o-base : +zero16 ( -- ) "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" +cmdbuf ; : sign[ ( -- ) neststart# @ nest-stack >stack string "\x80\x00" +cmdbuf cmdbuf$ nip neststart# ! ; : nest[ ( -- ) sign[ +zero16 ; \ add space for IV : ']sign ( xt -- ) c:0key nest$ \ ." sign: " 2dup xtype forth:cr c:hash $tmp +cmdbuf cmd-resolve> >r cmdbuf$ drop - r> last-signed 2! nestsig ; |
︙ | ︙ |
Changes to net2o-dvcs.fs.
︙ | ︙ | |||
501 502 503 504 505 506 507 | cell +LOOP log free throw dvcs( ." === id>patch ===" cr id>patch# .hash ." === id>snap ===" cr id>snap# .hash ) ; : chat>branches ( o:dvcs -- ) project:project$ $@ ?msg-log dvcs:commits @ .chat>branches-loop ; : >branches ( addr u -- flag ) | | | 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 | cell +LOOP log free throw dvcs( ." === id>patch ===" cr id>patch# .hash ." === id>snap ===" cr id>snap# .hash ) ; : chat>branches ( o:dvcs -- ) project:project$ $@ ?msg-log dvcs:commits @ .chat>branches-loop ; : >branches ( addr u -- flag ) $make branches[] >back ; User id-check# \ check hash : id>branches-loop ( addr u -- ) BEGIN 2dup id-check# #@ d0<> ?EXIT s" !" 2over id-check# #! 2dup id>snap# #@ 2dup d0<> IF >branches 2drop EXIT THEN 2drop id>patch# #@ 2dup d0<> WHILE 2dup hash#128 umin >branches |
︙ | ︙ |
Changes to net2o-msg.fs.
︙ | ︙ | |||
128 129 130 131 132 133 134 | IF save-msgs& THEN ; Sema queue-sema \ peer queue : peer> ( -- addr / 0 ) | | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | IF save-msgs& THEN ; Sema queue-sema \ peer queue : peer> ( -- addr / 0 ) [: peers[] back> ;] queue-sema c-section ; : >peer ( addr u -- ) [: peers[] $+[]! ;] queue-sema c-section ; \ events : msg-display ( addr u -- ) sigpksize# - 2dup + sigpksize# >$ c-state off |
︙ | ︙ |
Changes to net2o-tools.fs.
︙ | ︙ | |||
260 261 262 263 264 265 266 267 268 269 270 | count reverse8 r@ $D + c@ reverse8 dst 2 + c! dst $D + c! count reverse8 r@ $C + c@ reverse8 dst 3 + c! dst $C + c! count reverse8 r@ $B + c@ reverse8 dst 4 + c! dst $B + c! count reverse8 r@ $A + c@ reverse8 dst 5 + c! dst $A + c! count reverse8 r@ $9 + c@ reverse8 dst 6 + c! dst $9 + c! c@ reverse8 r> $8 + c@ reverse8 dst 7 + c! dst $8 + c! ; \ scoping Variable scope<> : scope{ ( "vocabulary" -- scope:addr ) | > > > > > > > > > | | | | 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | count reverse8 r@ $D + c@ reverse8 dst 2 + c! dst $D + c! count reverse8 r@ $C + c@ reverse8 dst 3 + c! dst $C + c! count reverse8 r@ $B + c@ reverse8 dst 4 + c! dst $B + c! count reverse8 r@ $A + c@ reverse8 dst 5 + c! dst $A + c! count reverse8 r@ $9 + c@ reverse8 dst 6 + c! dst $9 + c! c@ reverse8 r> $8 + c@ reverse8 dst 7 + c! dst $8 + c! ; \ aliases for old Gforth (pre 20161202) [IFDEF] >deque ' >deque alias >stack [THEN] [IFDEF] deque> ' deque> alias stack> [THEN] [IFDEF] deque< ' deque< alias >back [THEN] [IFDEF] <deque ' <deque alias back> [THEN] [IFDEF] deque@ ' deque@ alias get-stack [THEN] [IFDEF] deque! ' deque! alias set-stack [THEN] \ scoping Variable scope<> : scope{ ( "vocabulary" -- scope:addr ) get-current scope<> >stack also ' execute definitions ; : }scope ( scope:addr -- ) previous scope<> stack> set-current ; : scope: ( "vocabulary" -- scope:addr ) vocabulary get-current scope<> >stack also lastxt execute definitions ; : with ( "vocabulary" -- ) also ' execute postpone >o ; immediate restrict : endwith ( -- ) postpone o> previous ; immediate restrict \ file name sanitizer |
︙ | ︙ |
Changes to net2o.fs.
︙ | ︙ | |||
131 132 133 134 135 136 137 | outbuf free-buf+6 ; alloc-io Variable net2o-tasks : net2o-pass ( params xt n task -- ) | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | outbuf free-buf+6 ; alloc-io Variable net2o-tasks : net2o-pass ( params xt n task -- ) dup net2o-tasks >stack pass ?salt-init off rng-o off \ make double sure no rng is active alloc-io prep-socks catch-loop 1+ ?dup-IF free-io 1- ?dup-IF DoError THEN ELSE ~~ bflush 0 (bye) ~~ THEN ; : net2o-task ( params xt n -- task ) stacksize4 NewTask4 dup >r net2o-pass r> ; Variable kills event: ->killed ( -- ) -1 kills +! ; event: ->kill ( task -- ) <event ->killed event> 0 (bye) ; : send-kill ( task -- ) <event up@ elit, ->kill event> ; #3.000.000.000 2constant kill-timeout# \ 3s : net2o-kills ( -- ) net2o-tasks get-stack kills ! net2o-tasks $off kills @ 0 ?DO send-kill LOOP ntime 0 >r \ give time to terminate BEGIN 2dup kill-timeout# d+ ntime d- 2dup d0> kills @ and WHILE stop-dns ntime 2over d- 1000000000 um/mod nip dup r> <> IF '.' emit THEN >r REPEAT |
︙ | ︙ |