STORAGE.DEF 870 B

123456789101112131415161718192021
  1. (* ========================================================= *)
  2. (* Preliminary library module for Gardens Point Modula *)
  3. (* ========================================================= *)
  4. (* 14-May-92 jrh Modula implementation with DEALLOCATE *)
  5. (* ========================================================= *)
  6. (* !LIBRARY *) DEFINITION MODULE Storage;
  7. FROM SYSTEM IMPORT ADDRESS;
  8. PROCEDURE ALLOCATE(VAR ptr : ADDRESS; size : CARDINAL);
  9. (* postcondition : returns a ptr to object of size bytes *)
  10. (* rounded up to a whole number of words, *)
  11. (* or NIL if unable to allocate *)
  12. PROCEDURE DEALLOCATE(VAR ptr : ADDRESS; size : CARDINAL);
  13. (* precondition : ptr^ must have been gained from heap *)
  14. (* postcondition : (pre-ptr)^ is disposed, ptr = NIL *)
  15. END Storage.