| 1234567891011121314151617181920212223242526272829 |
- IMPLEMENTATION MODULE Storage;
- (* Binds libc heap functions directly. *)
- PROCEDURE malloc(size : CARDINAL) : ADDRESS;
- EXTERNAL;
- PROCEDURE free(p : ADDRESS);
- EXTERNAL;
- PROCEDURE realloc(p : ADDRESS; size : CARDINAL) : ADDRESS;
- EXTERNAL;
- PROCEDURE ALLOCATE(VAR p : ADDRESS; size : CARDINAL);
- BEGIN
- p := malloc(size)
- END ALLOCATE;
- PROCEDURE DEALLOCATE(VAR p : ADDRESS; size : CARDINAL);
- BEGIN
- free(p);
- p := NIL
- END DEALLOCATE;
- PROCEDURE REALLOCATE(VAR p : ADDRESS; oldSize, newSize : CARDINAL);
- BEGIN
- p := realloc(p, newSize)
- END REALLOCATE;
- END Storage.
|