MLtonGC - MLton Standard ML Compiler (SML Compiler)

MLton MLTONWIKIVERSION | MLtonGC |
Home Index

    signature MLTON_GC =
       sig
          val collect: unit -> unit
          val pack: unit -> unit
          val setMessages: bool -> unit
          val setSummary: bool -> unit
          val unpack: unit -> unit
          structure Statistics :
             sig
                val bytesAllocated: unit -> IntInf.int
                val lastBytesLive: unit -> IntInf.int
                val numCopyingGCs: unit -> IntInf.int
                val numMarkCompactGCs: unit -> IntInf.int
                val numMinorGCs: unit -> IntInf.int
                val maxBytesLive: unit -> IntInf.int
             end
       end

- `collect ()`
  causes a garbage collection to occur.

- `pack ()`
  shrinks the heap as much as possible so that other processes can use available RAM.

- `setMessages b`
  controls whether diagnostic messages are printed at the beginning and end of each garbage collection. It is the same as the `gc-messages` runtime system option.

- `setSummary b`
  controls whether a summary of garbage collection statistics is printed upon termination of the program. It is the same as the `gc-summary` runtime system option.

- `unpack ()`
  resizes a packed heap to the size desired by the runtime.

- `Statistics.bytesAllocated ()`
  returns bytes allocated (as of the most recent garbage collection).

- `Statistics.lastBytesLive ()`
  returns bytes live (as of the most recent garbage collection).

- `Statistics.numCopyingGCs ()`
  returns number of (major) copying garbage collections performed (as of the most recent garbage collection).

- `Statistics.numMarkCompactGCs ()`
  returns number of (major) mark-compact garbage collections performed (as of the most recent garbage collection).

- `Statistics.numMinorGCs ()`
  returns number of minor garbage collections performed (as of the most recent garbage collection).

- `Statistics.maxBytesLive ()`
  returns maximum bytes live (as of the most recent garbage collection).

Last edited on 2009-06-05 22:16:09 by MatthewFluet.