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)  

ObjectClass.hpp File Reference
#include "Numerics.hpp"
#include <stddef.h>
Include dependency graph for ObjectClass.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ObjectHeader
 
class  RexxVirtualBase
 
class  RexxInternalObject
 
class  RexxObject
 
class  RexxNilObject
 
class  RexxActivationBase
 
class  GuardLock
 

Macros

#define CPPM(n)   ((PCPPM)&n)
 
#define OREFSHIFT   3
 

Typedefs

typedef size_t HashCode
 
typedef RexxObject *(RexxObject::* PCPPM0) ()
 
typedef RexxObject *(RexxObject::* PCPPM1) (RexxObject *)
 
typedef RexxObject *(RexxObject::* PCPPM2) (RexxObject *, RexxObject *)
 
typedef RexxObject *(RexxObject::* PCPPM3) (RexxObject *, RexxObject *, RexxObject *)
 
typedef RexxObject *(RexxObject::* PCPPM4) (RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
typedef RexxObject *(RexxObject::* PCPPM5) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
typedef RexxObject *(RexxObject::* PCPPM6) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
typedef RexxObject *(RexxObject::* PCPPM7) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
typedef RexxObject *(RexxObject::* PCPPMA1) (RexxArray *)
 
typedef RexxObject *(RexxObject::* PCPPMC1) (RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPM) ()
 

Enumerations

enum  { LiveMask = 0xFFFC, MarkMask = 0x0003, OldSpaceBit = 0x0010 }
 
enum  RESTORETYPE { RESTOREIMAGE, MOBILEUNFLATTEN, METHODUNFLATTEN }
 

Functions

uintptr_t HASHOREF (RexxVirtualBase *r)
 

Macro Definition Documentation

◆ CPPM

#define CPPM (   n)    ((PCPPM)&n)

Definition at line 199 of file ObjectClass.hpp.

◆ OREFSHIFT

#define OREFSHIFT   3

Definition at line 202 of file ObjectClass.hpp.

Typedef Documentation

◆ HashCode

typedef size_t HashCode

Definition at line 77 of file ObjectClass.hpp.

◆ PCPPM

typedef RexxObject*(RexxObject::* PCPPM) ()

Definition at line 198 of file ObjectClass.hpp.

◆ PCPPM0

typedef RexxObject*(RexxObject::* PCPPM0) ()

Definition at line 186 of file ObjectClass.hpp.

◆ PCPPM1

typedef RexxObject*(RexxObject::* PCPPM1) (RexxObject *)

Definition at line 187 of file ObjectClass.hpp.

◆ PCPPM2

typedef RexxObject*(RexxObject::* PCPPM2) (RexxObject *, RexxObject *)

Definition at line 188 of file ObjectClass.hpp.

◆ PCPPM3

typedef RexxObject*(RexxObject::* PCPPM3) (RexxObject *, RexxObject *, RexxObject *)

Definition at line 189 of file ObjectClass.hpp.

◆ PCPPM4

typedef RexxObject*(RexxObject::* PCPPM4) (RexxObject *, RexxObject *, RexxObject *, RexxObject *)

Definition at line 190 of file ObjectClass.hpp.

◆ PCPPM5

typedef RexxObject*(RexxObject::* PCPPM5) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)

Definition at line 191 of file ObjectClass.hpp.

◆ PCPPM6

typedef RexxObject*(RexxObject::* PCPPM6) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)

Definition at line 192 of file ObjectClass.hpp.

◆ PCPPM7

typedef RexxObject*(RexxObject::* PCPPM7) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)

Definition at line 193 of file ObjectClass.hpp.

◆ PCPPMA1

typedef RexxObject*(RexxObject::* PCPPMA1) (RexxArray *)

Definition at line 194 of file ObjectClass.hpp.

◆ PCPPMC1

typedef RexxObject*(RexxObject::* PCPPMC1) (RexxObject **, size_t)

Definition at line 195 of file ObjectClass.hpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
LiveMask 
MarkMask 
OldSpaceBit 

Definition at line 70 of file ObjectClass.hpp.

◆ RESTORETYPE

Enumerator
RESTOREIMAGE 
MOBILEUNFLATTEN 
METHODUNFLATTEN 

Definition at line 80 of file ObjectClass.hpp.

Function Documentation

◆ HASHOREF()

uintptr_t HASHOREF ( RexxVirtualBase r)
inline

Definition at line 204 of file ObjectClass.hpp.

References OREFSHIFT.

Referenced by RexxInternalObject::identityHash().