Open Object Rexx - Files

Interpreter Memory Source Files

This directory contains the ooRexx memory manager and garbage collector. Also included here is the code that manages building, saving, and restoring of the initial rexx.img file and also support for saving translated ooRexx program files (aka, "compiled").

The following is a partial list of the files to be found in this subdirectory.

RexxMemory.*
This the main memory manager/garbage collector.
Setup.cpp
Portion of the RexxMemory class responsible for building the intial ooRexx rexx.img file. This is responsible for hand constructing the initial set of ooRexx classes.
MemorySegment.*
Object classes for managing each of the segments of memory requested by RexxMemory.
DeadObject.*
A class for defining a block of memory existing in the free memory chains.
RexxInternalStack.*
A highly tuned stack that used for the memory hold object stack and also for the mark stack during the garbage collection operations.
ProtectedObject.*
A class for implementing the type-accurate support. Protected object is used to protect object instances that are not anchored within other objects that are part of the root set. ProtectedObject will ensure these objects to not get garbage collected unexpectedly.
RexxEnvelope.*
Support for serializing an ooRexx reference graph into a file.
RexxSmartBuffer.*
An intelligent buffer class that can expand its size as necessary.