-- Copyright (C) 1980, 1984, 1985  by Xerox Corporation. All rights reserved. 
-- VMStorage.mesa, HGM, 17-Sep-85  0:23:12

-- Levin:  26-Nov-80 15:54:01

DIRECTORY
  VMPrivate USING [PageIndex];

VMStorage: DEFINITIONS =

  BEGIN

  -- Page-Level Allocator --

  AllocatePage: PROCEDURE RETURNS [LONG POINTER, VMPrivate.PageIndex];
  -- returns the address of a 1-page buffer in main memory.

  FreePage: PROCEDURE [LONG POINTER, VMPrivate.PageIndex];
  -- releases the 1-page buffer beginning at main memory address 'p'.

  InitializeStorage: PRIVATE PROCEDURE RETURNS [LONG POINTER];
  -- initializes the main memory allocator.  Note that this is a private procedure, and
  -- therefore should be called only by knowledgeable clients (i.e., the VM level).

  FinalizeStorage: PRIVATE PROCEDURE;
  -- finalizes the main memory allocator.  Note that this is a private procedure, and
  -- therefore should be called only by knowledgeable clients (i.e., the VM level).

  END.