23 lines
640 B
Forth
23 lines
640 B
Forth
ALSO UTILITY
|
|
: STATUS ( obj-addr c-addr u -- obj-addr )
|
|
TYPE ":\n Value: " TYPE DUP @ .
|
|
"\n Object size: " TYPE DUP OBJECT-SIZE U. EOL EOL ;
|
|
PREVIOUS
|
|
|
|
ALSO SYSTEM
|
|
256 KB SIZEOF MEMBLOCK% - CONSTANT 256-KB-BLOCK
|
|
PREVIOUS
|
|
|
|
: 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-BLOCK 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
|