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 "Allocate 0 bytes" HEADING 0 ALLOCATE "Result: " TYPE U. EOL "Free a NULL pointer" HEADING 0 FREE "Duplicate a string" HEADING "test string" 2DUP DUPLICATE "original (" TYPE 2SWAP DUP U. " chars): " TYPE TYPE EOL "duplicate (" TYPE DUP U. " chars): " TYPE 2DUP TYPE EOL DROP FREE ; TEST