jumpforth/test/resize.4th

19 lines
589 B
Forth

: STATUS ( obj-addr c-addr u -- obj-addr )
TYPE ":\n Value: " TYPE DUP @ .
"\n Object size: " TYPE DUP OBJECT-SIZE U. EOL EOL ;
SYSTEM-WORDLIST PUSH-ORDER
: TEST
24 ALLOCATE 1234 OVER ! "Allocated 24 bytes" STATUS
33 RESIZE "Resized to 33 bytes" STATUS
24 RESIZE "Resized to 24 bytes" STATUS
256 KB MEMBLOCK-DATA-OFFSET - RESIZE "Resized to 256 KiB - header" STATUS
32 RESIZE "Resized to 32 bytes" STATUS
24 RESIZE "Resized to 24 bytes" STATUS
4 RESIZE "Resized to 4 bytes" STATUS
DUP FREE
['] FREE CATCH "CATCH after double-free: " TYPE . EOL ;
TEST