ooRexx  4.2.0-source
About: ooRexx (Open Object Rexx) is a free implementation of Object Rexx. Object Rexx is an enhancement of the classic Rexx interpreter; a full-featured programming language with a human-oriented syntax.
  Fossies Dox: ooRexx-4.2.0-source.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

ObjectHeader Class Reference

#include <ObjectClass.hpp>

Public Member Functions

ObjectHeaderoperator= (ObjectHeader &h)
 
size_t getObjectSize ()
 
void setObjectSize (size_t l)
 
void makeProxiedObject ()
 
bool requiresProxyObject ()
 
void makeProxy ()
 
bool isProxyObject ()
 
void clearObjectMark ()
 
void setObjectMark (size_t mark)
 
bool isObjectMarked (size_t mark)
 
bool isObjectLive (size_t mark)
 
bool isObjectDead (size_t mark)
 
void clear ()
 
void setOldSpace ()
 
void clearOldSpace ()
 
void setNewSpace ()
 
bool isOldSpace ()
 
bool isNewSpace ()
 
void setHasNoReferences ()
 
void setHasReferences ()
 
bool hasReferences ()
 
bool hasNoReferences ()
 
void setNonPrimitive ()
 
void setPrimitive ()
 
bool isNonPrimitive ()
 
bool isPrimitive ()
 
void initHeader (size_t l, size_t mark)
 
void initHeader (size_t mark)
 

Protected Types

enum  {
  MarkBit1 = 0x0001, MarkBit2 = 0x0002, ProxiedObject = 0x0004, ProxyObject = 0x0008,
  IsNonPrimitive = 0x0010, NoRefBit = 0x0020
}
 

Protected Attributes

size_t objectSize
 
union {
   uint16_t   flags
 
   size_t   sizePadding
 
}; 
 

Detailed Description

Definition at line 83 of file ObjectClass.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
MarkBit1 
MarkBit2 
ProxiedObject 
ProxyObject 
IsNonPrimitive 
NoRefBit 

Definition at line 134 of file ObjectClass.hpp.

Member Function Documentation

◆ clear()

void ObjectHeader::clear ( )
inline

Definition at line 109 of file ObjectClass.hpp.

References flags, and objectSize.

◆ clearObjectMark()

void ObjectHeader::clearObjectMark ( )
inline

Definition at line 104 of file ObjectClass.hpp.

References flags, and LiveMask.

Referenced by RexxInternalObject::clearObjectMark(), and setObjectMark().

◆ clearOldSpace()

void ObjectHeader::clearOldSpace ( )
inline

Definition at line 111 of file ObjectClass.hpp.

References flags, and OldSpaceBit.

Referenced by setNewSpace().

◆ getObjectSize()

size_t ObjectHeader::getObjectSize ( )
inline

◆ hasNoReferences()

bool ObjectHeader::hasNoReferences ( )
inline

Definition at line 118 of file ObjectClass.hpp.

References flags, and NoRefBit.

Referenced by RexxInternalObject::hasNoReferences().

◆ hasReferences()

bool ObjectHeader::hasReferences ( )
inline

Definition at line 117 of file ObjectClass.hpp.

References flags, and NoRefBit.

Referenced by RexxInternalObject::hasReferences().

◆ initHeader() [1/2]

void ObjectHeader::initHeader ( size_t  l,
size_t  mark 
)
inline

Definition at line 123 of file ObjectClass.hpp.

References flags, and objectSize.

Referenced by RexxObject::initializeNewObject(), and RexxInternalObject::setInitHeader().

◆ initHeader() [2/2]

void ObjectHeader::initHeader ( size_t  mark)
inline

Definition at line 128 of file ObjectClass.hpp.

References flags.

◆ isNewSpace()

bool ObjectHeader::isNewSpace ( )
inline

Definition at line 114 of file ObjectClass.hpp.

References flags, and OldSpaceBit.

Referenced by RexxInternalObject::isNewSpace().

◆ isNonPrimitive()

bool ObjectHeader::isNonPrimitive ( )
inline

Definition at line 121 of file ObjectClass.hpp.

References flags, and IsNonPrimitive.

Referenced by RexxInternalObject::isNonPrimitive().

◆ isObjectDead()

bool ObjectHeader::isObjectDead ( size_t  mark)
inline

Definition at line 108 of file ObjectClass.hpp.

References flags, and MarkMask.

Referenced by RexxInternalObject::isObjectDead().

◆ isObjectLive()

bool ObjectHeader::isObjectLive ( size_t  mark)
inline

Definition at line 107 of file ObjectClass.hpp.

References flags, and MarkMask.

Referenced by RexxInternalObject::isObjectLive().

◆ isObjectMarked()

bool ObjectHeader::isObjectMarked ( size_t  mark)
inline

Definition at line 106 of file ObjectClass.hpp.

References flags.

Referenced by RexxInternalObject::isObjectMarked().

◆ isOldSpace()

bool ObjectHeader::isOldSpace ( )
inline

Definition at line 113 of file ObjectClass.hpp.

References flags, and OldSpaceBit.

Referenced by RexxInternalObject::isOldSpace().

◆ isPrimitive()

bool ObjectHeader::isPrimitive ( )
inline

Definition at line 122 of file ObjectClass.hpp.

References flags, and IsNonPrimitive.

Referenced by RexxInternalObject::isPrimitive().

◆ isProxyObject()

bool ObjectHeader::isProxyObject ( )
inline

Definition at line 103 of file ObjectClass.hpp.

References flags, and ProxyObject.

Referenced by RexxInternalObject::isProxyObject().

◆ makeProxiedObject()

void ObjectHeader::makeProxiedObject ( )
inline

Definition at line 100 of file ObjectClass.hpp.

References flags, and ProxiedObject.

Referenced by RexxInternalObject::makeProxiedObject().

◆ makeProxy()

void ObjectHeader::makeProxy ( )
inline

Definition at line 102 of file ObjectClass.hpp.

References flags, and ProxyObject.

◆ operator=()

ObjectHeader& ObjectHeader::operator= ( ObjectHeader h)
inline

Definition at line 86 of file ObjectClass.hpp.

References flags, and objectSize.

◆ requiresProxyObject()

bool ObjectHeader::requiresProxyObject ( )
inline

Definition at line 101 of file ObjectClass.hpp.

References flags, and ProxiedObject.

◆ setHasNoReferences()

void ObjectHeader::setHasNoReferences ( )
inline

Definition at line 115 of file ObjectClass.hpp.

References flags, and NoRefBit.

Referenced by RexxInternalObject::setHasNoReferences().

◆ setHasReferences()

void ObjectHeader::setHasReferences ( )
inline

Definition at line 116 of file ObjectClass.hpp.

References flags, and NoRefBit.

Referenced by RexxInternalObject::setHasReferences().

◆ setNewSpace()

void ObjectHeader::setNewSpace ( )
inline

Definition at line 112 of file ObjectClass.hpp.

References clearOldSpace().

Referenced by RexxInternalObject::setNewSpace().

◆ setNonPrimitive()

void ObjectHeader::setNonPrimitive ( )
inline

Definition at line 119 of file ObjectClass.hpp.

References flags, and IsNonPrimitive.

Referenced by RexxInternalObject::setNonPrimitive().

◆ setObjectMark()

void ObjectHeader::setObjectMark ( size_t  mark)
inline

◆ setObjectSize()

void ObjectHeader::setObjectSize ( size_t  l)
inline

◆ setOldSpace()

void ObjectHeader::setOldSpace ( )
inline

Definition at line 110 of file ObjectClass.hpp.

References flags, and OldSpaceBit.

Referenced by RexxInternalObject::setOldSpace().

◆ setPrimitive()

void ObjectHeader::setPrimitive ( )
inline

Definition at line 120 of file ObjectClass.hpp.

References flags, and IsNonPrimitive.

Referenced by RexxInternalObject::setPrimitive().

Member Data Documentation

◆ @11

union { ... }

◆ flags

◆ objectSize

size_t ObjectHeader::objectSize
protected

Definition at line 146 of file ObjectClass.hpp.

Referenced by clear(), getObjectSize(), initHeader(), operator=(), and setObjectSize().

◆ sizePadding

size_t ObjectHeader::sizePadding

Definition at line 150 of file ObjectClass.hpp.


The documentation for this class was generated from the following file: