jumpforth/test/allocate.4th

30 lines
510 B
Forth

0 VALUE LARGE-OBJECT
0 VALUE LIST-HEAD
: HEADING "* " TYPE TYPE EOL ;
: TEST
"Allocate large object (8 MiB)" HEADING
8 MB ALLOCATE TO LARGE-OBJECT
LARGE-OBJECT 8 MB BL FILL
"Free large object" HEADING
LARGE-OBJECT FREE
NULL TO LARGE-OBJECT
"Allocate 1000 small objects (200 B)" HEADING
1000 0 DO
200 ALLOCATE
LIST-HEAD OVER !
TO LIST-HEAD
LOOP
"Free 1000 small objects" HEADING
LIST-HEAD BEGIN
?DUP
WHILE
DUP @ SWAP FREE
REPEAT ;
TEST