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 ()
 
void setInRexxPackage ()
 
bool isInRexxPackage ()
 
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 RexxTextmakeText ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxTextprimitiveMakeText ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxTexttextValue ()
 
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 *)
 
virtual RexxObjectdynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
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: