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::* PCPPM0N) (RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPM1N) (RexxObject *, RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPM2N) (RexxObject *, RexxObject *, RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPM3N) (RexxObject *, RexxObject *, RexxObject *, RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPM4N) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPM5N) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPM6N) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPM7N) (RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject **, size_t)
 
typedef RexxObject *(RexxObject::* PCPPMA1) (RexxArray *)
 
typedef RexxObject *(RexxObject::* PCPPMC1) (RexxObject **, size_t, 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 216 of file ObjectClass.hpp.

◆ OREFSHIFT

#define OREFSHIFT   3

Definition at line 219 of file ObjectClass.hpp.

Typedef Documentation

◆ HashCode

typedef size_t HashCode

Definition at line 79 of file ObjectClass.hpp.

◆ PCPPM

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

Definition at line 215 of file ObjectClass.hpp.

◆ PCPPM0

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

Definition at line 192 of file ObjectClass.hpp.

◆ PCPPM0N

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

Definition at line 202 of file ObjectClass.hpp.

◆ PCPPM1

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

Definition at line 193 of file ObjectClass.hpp.

◆ PCPPM1N

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

Definition at line 203 of file ObjectClass.hpp.

◆ PCPPM2

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

Definition at line 194 of file ObjectClass.hpp.

◆ PCPPM2N

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

Definition at line 204 of file ObjectClass.hpp.

◆ PCPPM3

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

Definition at line 195 of file ObjectClass.hpp.

◆ PCPPM3N

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

Definition at line 205 of file ObjectClass.hpp.

◆ PCPPM4

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

Definition at line 196 of file ObjectClass.hpp.

◆ PCPPM4N

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

Definition at line 206 of file ObjectClass.hpp.

◆ PCPPM5

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

Definition at line 197 of file ObjectClass.hpp.

◆ PCPPM5N

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

Definition at line 207 of file ObjectClass.hpp.

◆ PCPPM6

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

Definition at line 198 of file ObjectClass.hpp.

◆ PCPPM6N

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

Definition at line 208 of file ObjectClass.hpp.

◆ PCPPM7

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

Definition at line 199 of file ObjectClass.hpp.

◆ PCPPM7N

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

Definition at line 209 of file ObjectClass.hpp.

◆ PCPPMA1

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

Definition at line 211 of file ObjectClass.hpp.

◆ PCPPMC1

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

Definition at line 212 of file ObjectClass.hpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
LiveMask 
MarkMask 
OldSpaceBit 

Definition at line 72 of file ObjectClass.hpp.

◆ RESTORETYPE

Enumerator
RESTOREIMAGE 
MOBILEUNFLATTEN 
METHODUNFLATTEN 

Definition at line 82 of file ObjectClass.hpp.

Function Documentation

◆ HASHOREF()

uintptr_t HASHOREF ( RexxVirtualBase r)
inline

Definition at line 221 of file ObjectClass.hpp.

References OREFSHIFT.

Referenced by RexxInternalObject::identityHash().