RexxMemory.cpp File Reference
#include <stdlib.h>
#include <string.h>
#include "RexxCore.h"
#include "RexxMemory.hpp"
#include "StackClass.hpp"
#include "StringClass.hpp"
#include "MutableBufferClass.hpp"
#include "DirectoryClass.hpp"
#include "RexxActivity.hpp"
#include "IntegerClass.hpp"
#include "ArrayClass.hpp"
#include "TableClass.hpp"
#include "RexxActivation.hpp"
#include "ActivityManager.hpp"
#include "MessageClass.hpp"
#include "MethodClass.hpp"
#include "RelationClass.hpp"
#include "SupplierClass.hpp"
#include "PointerClass.hpp"
#include "BufferClass.hpp"
#include "PackageClass.hpp"
#include "WeakReferenceClass.hpp"
#include "StackFrameClass.hpp"
#include "BlockClass.hpp"
#include "Interpreter.hpp"
#include "SystemInterpreter.hpp"
#include "PackageManager.hpp"
#include "SysFileSystem.hpp"
#include "UninitDispatcher.hpp"
#include "GlobalProtectedObject.hpp"
#include "TextClass.hpp"
Include dependency graph for RexxMemory.cpp:

Go to the source code of this file.

Macros

#define RESTORE_CLASS(name, className)   The##name##Class = (className *)RexxBehaviour::getPrimitiveBehaviour(T_##name)->restoreClass();
 
#define LiveStackSize   16370 /* live stack size */
 
#define SaveStackSize   10 /* newly created objects to save */
 
#define SaveStackAllocSize   500 /* pre-allocation for save stack */
 
#define MaxImageSize   3000000 /* maximum startup image size */
 

Functions

bool SysAccessPool (MemorySegmentPool **pool)
 
static void logMemoryCheck (FILE *outfile, const char *message,...)
 

Variables

RexxMemory memoryObject
 

Macro Definition Documentation

◆ LiveStackSize

#define LiveStackSize   16370 /* live stack size */

Definition at line 88 of file RexxMemory.cpp.

◆ MaxImageSize

#define MaxImageSize   3000000 /* maximum startup image size */

Definition at line 98 of file RexxMemory.cpp.

◆ RESTORE_CLASS

#define RESTORE_CLASS (   name,
  className 
)    The##name##Class = (className *)RexxBehaviour::getPrimitiveBehaviour(T_##name)->restoreClass();

Definition at line 80 of file RexxMemory.cpp.

◆ SaveStackAllocSize

#define SaveStackAllocSize   500 /* pre-allocation for save stack */

Definition at line 91 of file RexxMemory.cpp.

◆ SaveStackSize

#define SaveStackSize   10 /* newly created objects to save */

Definition at line 90 of file RexxMemory.cpp.

Function Documentation

◆ logMemoryCheck()

static void logMemoryCheck ( FILE *  outfile,
const char *  message,
  ... 
)
static

◆ SysAccessPool()

bool SysAccessPool ( MemorySegmentPool **  pool)

Variable Documentation

◆ memoryObject

RexxMemory memoryObject

Definition at line 86 of file RexxMemory.cpp.

Referenced by RexxTable::addOffset(), RexxActivation::cacheLocalVariable(), RexxMemory::create(), RexxMemory::createImage(), discardHoldObject(), discardObject(), RexxMemory::dump(), RexxInstructionOptions::execute(), RexxActivity::exitCurrentThread(), MemorySegment::firstDeadObject(), RexxEnvelope::flattenReference(), GlobalProtectedObject::GlobalProtectedObject(), RexxInternalObject::hasUninit(), holdObject(), RexxMemory::initialize(), MemorySegment::lastDeadObject(), RexxBehaviour::liveGeneral(), ActivityManager::liveGeneral(), RexxSource::liveGeneral(), SystemInterpreter::liveGeneral(), Interpreter::liveGeneral(), SystemInterpreter::loadImage(), new_arrayOfObject(), new_arrayOfTokens(), new_object(), RexxHashTable::newInstance(), MemorySegmentPool::newLargeSegment(), RexxActivation::newLocalVariable(), MemorySegmentPool::newSegment(), RexxStack::operator new(), RexxListTable::operator new(), RexxEnvelope::pack(), RexxEnvelope::puff(), SegmentStats::recordObject(), RexxInternalObject::removedUninit(), RexxArray::resize(), RexxMemory::restore(), RexxMemory::restoreImage(), RexxActivity::run(), RexxActivation::run(), RexxActivity::runThread(), RexxMemory::saveImage(), saveObject(), MemorySegmentSet::splitSegment(), Interpreter::startInterpreter(), MemorySegmentSet::sweep(), InterpreterInstance::terminate(), Interpreter::terminateInterpreter(), WeakReference::unflatten(), WeakReference::WeakReference(), and GlobalProtectedObject::~GlobalProtectedObject().