RexxStack Class Reference

#include <StackClass.hpp>

Inheritance diagram for RexxStack:
[legend]

Public Member Functions

void * operator new (size_t size, void *ptr)
 
void * operator new (size_t, size_t, bool temporary)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
void operator delete (void *, size_t, bool temporary)
 
 RexxStack (RESTORETYPE restoreType)
 
 RexxStack (size_t size)
 
void init (size_t)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
RexxObjectget (size_t pos)
 
RexxObjectpush (RexxObject *obj)
 
RexxObjectpop ()
 
RexxObjectfpop ()
 
void fastPush (RexxObject *element)
 
bool checkRoom ()
 
RexxObjectfastPop ()
 
size_t stackSize ()
 
RexxObjectstackTop ()
 
void decrementTop ()
 
void incrementTop ()
 
void copyEntries (RexxStack *other)
 
- Public Member Functions inherited from RexxInternalObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *p, void *ptr)
 
 RexxInternalObject ()
 
 RexxInternalObject (RESTORETYPE restoreType)
 
virtual ~RexxInternalObject ()
 
 operator RexxObject * ()
 
size_t getObjectSize ()
 
void setObjectSize (size_t s)
 
size_t getObjectDataSize ()
 
void * getObjectDataSpace ()
 
void clearObject ()
 
void clearObject (size_t l)
 
void setVirtualFunctions (void *t)
 
void setInitHeader (size_t s, size_t markword)
 
void setInitHeader (size_t markword)
 
void setObjectLive (size_t markword)
 
void setHasReferences ()
 
void setHasNoReferences ()
 
bool hasReferences ()
 
bool hasNoReferences ()
 
void setPrimitive ()
 
void setNonPrimitive ()
 
bool isPrimitive ()
 
bool isNonPrimitive ()
 
bool isObjectMarked (size_t markword)
 
void setObjectMark (size_t markword)
 
void clearObjectMark ()
 
bool isObjectLive (size_t mark)
 
bool isObjectDead (size_t mark)
 
bool isOldSpace ()
 
bool isNewSpace ()
 
void setNewSpace ()
 
void setOldSpace ()
 
void makeProxiedObject ()
 
bool isProxyObject ()
 
bool isSubClassOrEnhanced ()
 
bool isBaseClass ()
 
size_t getObjectTypeNumber ()
 
RexxBehaviourgetObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObjectmakeProxy (RexxEnvelope *)
 
virtual RexxObjectcopy ()
 
virtual RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObjectgetValue (RexxActivation *)
 
virtual RexxObjectgetValue (RexxVariableDictionary *)
 
virtual RexxObjectgetRealValue (RexxActivation *)
 
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
 
virtual void uninit ()
 
virtual HashCode hash ()
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
virtual RexxStringmakeString ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxIntegerintegerValue (size_t)
 
virtual bool numberValue (wholenumber_t &result, size_t precision)
 
virtual bool numberValue (wholenumber_t &result)
 
virtual bool unsignedNumberValue (stringsize_t &result, size_t precision)
 
virtual bool unsignedNumberValue (stringsize_t &result)
 
virtual bool doubleValue (double &result)
 
virtual RexxNumberStringnumberString ()
 
virtual bool isEqual (RexxObject *)
 
virtual bool isInstanceOf (RexxClass *)
 
virtual RexxMethodinstanceMethod (RexxString *)
 
virtual RexxSupplierinstanceMethods (RexxClass *)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual RexxObjectunflatten (RexxEnvelope *)
 

Public Attributes

size_t size
 
size_t top
 
RexxObjectstack [1]
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 

Additional Inherited Members

- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 47 of file StackClass.hpp.

Constructor & Destructor Documentation

◆ RexxStack() [1/2]

RexxStack::RexxStack ( RESTORETYPE  restoreType)
inline

Definition at line 55 of file StackClass.hpp.

◆ RexxStack() [2/2]

RexxStack::RexxStack ( size_t  size)

Definition at line 48 of file StackClass.cpp.

References RexxInternalObject::clearObject(), size, and top.

Member Function Documentation

◆ checkRoom()

bool RexxStack::checkRoom ( )
inline

Definition at line 71 of file StackClass.hpp.

References top.

Referenced by RexxMemory::checkLiveStack().

◆ copyEntries()

void RexxStack::copyEntries ( RexxStack other)
inline

Definition at line 78 of file StackClass.hpp.

References size, stack, and top.

Referenced by RexxMemory::liveStackFull().

◆ decrementTop()

void RexxStack::decrementTop ( )
inline

Definition at line 75 of file StackClass.hpp.

References top.

Referenced by fpop(), and pop().

◆ fastPop()

RexxObject* RexxStack::fastPop ( )
inline

Definition at line 72 of file StackClass.hpp.

References stack, and top.

Referenced by RexxEnvelope::pack(), and RexxMemory::popLiveStack().

◆ fastPush()

void RexxStack::fastPush ( RexxObject element)
inline

Definition at line 70 of file StackClass.hpp.

References stack, and top.

Referenced by RexxEnvelope::flattenReference(), RexxEnvelope::pack(), and RexxMemory::pushLiveStack().

◆ flatten()

void RexxStack::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 98 of file StackClass.cpp.

References cleanUpFlatten, flatten_reference, setUpFlatten, and stackSize().

◆ fpop()

RexxObject * RexxStack::fpop ( )

Definition at line 138 of file StackClass.cpp.

References decrementTop(), stack, and top.

◆ get()

RexxObject * RexxStack::get ( size_t  pos)

Definition at line 111 of file StackClass.cpp.

References OREF_NULL, stack, stackSize(), and top.

◆ incrementTop()

void RexxStack::incrementTop ( )
inline

Definition at line 76 of file StackClass.hpp.

References size, and top.

Referenced by push().

◆ init()

void RexxStack::init ( size_t  _size)

Definition at line 60 of file StackClass.cpp.

References RexxInternalObject::clearObject(), size, and top.

Referenced by RexxMemory::setUpMemoryTables().

◆ live()

void RexxStack::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Reimplemented in RexxSaveStack.

Definition at line 71 of file StackClass.cpp.

References memory_mark, stack, and stackSize().

◆ liveGeneral()

void RexxStack::liveGeneral ( int  reason)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 84 of file StackClass.cpp.

References memory_mark_general, stack, and stackSize().

◆ operator delete() [1/3]

void RexxStack::operator delete ( void *  )
inline

Definition at line 51 of file StackClass.hpp.

◆ operator delete() [2/3]

void RexxStack::operator delete ( void *  ,
size_t  ,
bool  temporary 
)
inline

Definition at line 53 of file StackClass.hpp.

◆ operator delete() [3/3]

void RexxStack::operator delete ( void *  ,
void *   
)
inline

Definition at line 52 of file StackClass.hpp.

◆ operator new() [1/2]

void* RexxStack::operator new ( size_t  size,
void *  ptr 
)
inline

Definition at line 49 of file StackClass.hpp.

◆ operator new() [2/2]

void * RexxStack::operator new ( size_t  size,
size_t  stksize,
bool  temporary 
)

◆ pop()

RexxObject * RexxStack::pop ( )

Definition at line 126 of file StackClass.cpp.

References decrementTop(), OREF_NULL, OrefSet, stack, and top.

◆ push()

RexxObject* RexxStack::push ( RexxObject obj)
inline

◆ stackSize()

size_t RexxStack::stackSize ( )
inline

Definition at line 73 of file StackClass.hpp.

References size.

Referenced by flatten(), get(), live(), RexxSaveStack::live(), and liveGeneral().

◆ stackTop()

RexxObject* RexxStack::stackTop ( )
inline

Definition at line 74 of file StackClass.hpp.

References stack, and top.

Member Data Documentation

◆ size

◆ stack

◆ top


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