IMPLEMENTATION MODULE SysStorage; (* Direct libc heap bindings. *) FROM SYSTEM IMPORT ADDRESS; PROCEDURE malloc (size : CARDINAL) : ADDRESS; EXTERNAL; PROCEDURE free (p : ADDRESS); EXTERNAL; PROCEDURE realloc (p : ADDRESS; size : CARDINAL) : ADDRESS; EXTERNAL; PROCEDURE ALLOCATE (VAR a : ADDRESS; size : CARDINAL); BEGIN a := malloc(size) END ALLOCATE; PROCEDURE DEALLOCATE (VAR a : ADDRESS; size : CARDINAL); BEGIN free(a); a := NIL END DEALLOCATE; PROCEDURE REALLOCATE (VAR a : ADDRESS; size : CARDINAL); BEGIN a := realloc(a, size) END REALLOCATE; PROCEDURE Available (size : CARDINAL) : BOOLEAN; BEGIN RETURN TRUE END Available; PROCEDURE Init; BEGIN END Init; END SysStorage.