[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

GarbageCollector

inherits from Object

Object <- GarbageCollector



Operations

Get list of all operations

DeallocateGarbage
DisableGarbageCollection
EachPotentialObjectInGlobals
EachPotentialObjectInMemoryRange
EnableGarbageCollection
HousekeepingInterval
HousekeepingThreshold
ListGarbage
LogGarbage
PostponeHousekeeping
ReinitializeClass
SetHousekeepingInterval
SetHousekeepingThreshold
WhyNotGarbage


Attributes

Get list of all attributes

Class GarbageCollector defines no new attributes.


Fields

No fields are defined by GarbageCollector or any of its superclasses.


Instance template

instance GarbageCollector tag;
end instance;

Class definition

#endif
#endif
Define Class GarbageCollector;
    inherits from Object;

    intrinsic DeallocateGarbage();
        // perform a garbage collection

    intrinsic DisableGarbageCollection();
        // Turns off garbage collection.
    intrinsic EnableGarbageCollection();
        // Turns on garbage collection if all pending calls
        // to disable garbage collection have been paired up
        // with a corresponding call to enable garbage collection.

    intrinsic PostponeHousekeeping();
        // Puts off the garbage collection timer until the next
        // time around.  Call this when the user input experience
        // would suffer severely from a garbage collection blip.
    intrinsic HousekeepingInterval(): Unsigned;
    intrinsic SetHousekeepingInterval(milliseconds: Unsigned);
        // Gets/sets the heartbeat time of the collection timer.  The
        // default is 15 seconds.
    intrinsic HousekeepingThreshold(): Unsigned;
    intrinsic SetHousekeepingThreshold(locators: Unsigned);
        // Gets/sets the number of deleted transient locators to use
        // as a trigger for housekeeping.  The default is 2000.

#ifdef DEBUG
    intrinsic ListGarbage(): ObjectList;
        // Returns a non-owning list containing the objects which 
        // would be collected by the garbage collector without
        // deallocating them.
    intrinsic LogGarbage();
        // Logs the objects which would be collected by the garbage
        // collector without deallocating them.
    intrinsic WhyNotGarbage(object: Object): ObjectList;
        // Returns a non-owning list containing the objects which
        // refer to this object. If there are no such objects and
        // the object is referred to by a global or stack variable,
        // the method will return an empty list.
        // If the object is not referred to at all, the method
        // will return nilObject.
#endif

    intrinsic EachPotentialObjectInGlobals(function: EachFunction;
            parameters: Pointer): Object;
        // call to look through the globals for all potential object references
        // <function> is called on each word of globals that looks like a possible RAM reference
        // used by the system for garbage collection
    
    intrinsic EachPotentialObjectInMemoryRange(rangeStart: ReadOnlyPointer;
            rangeEnd: ReadOnlyPointer; function: EachFunction;
            parameters: Pointer): Object;
        // call to look through a memory range for all potential object references
        // <function> is called on each word that looks like a possible RAM reference
        // used by the system for garbage collection

    overrides ReinitializeClass;
        // create the periodic garbage collection timer
end class;