object_layout.h File Reference


Classes

struct  ManagedObject
struct  VM_Vector

Defines

#define REFS_RUNTIME_OR_UNCOMPRESSED
#define REFS_IS_COMPRESSED_MODE   0
#define REF_SIZE   (sizeof(ManagedObject*))
#define REF_MANAGED_NULL   NULL
#define REF_INIT_BY_ADDR(_ref_addr_, _val_)   *((ManagedObject**)(_ref_addr_)) = (ManagedObject*)(_val_)
#define REFS_RUNTIME_SWITCH_IF
#define REFS_RUNTIME_SWITCH_ELSE
#define REFS_RUNTIME_SWITCH_ENDIF
#define STORE_REFERENCE(_object_, _slot_addr_, _value_)
#define STORE_GLOBAL_REFERENCE(_slot_addr_, _value_)
#define VM_VECTOR_RT_OVERHEAD   ((unsigned)(ManagedObject::get_size() + sizeof(int32)))
#define VM_VECTOR_FIRST_ELEM_OFFSET_8   ((VM_VECTOR_RT_OVERHEAD + 7) & ~7)
#define VM_VECTOR_FIRST_ELEM_OFFSET_1_2_4   VM_VECTOR_RT_OVERHEAD
#define VM_VECTOR_FIRST_ELEM_OFFSET_REF   VM_VECTOR_FIRST_ELEM_OFFSET_1_2_4

Typedefs

typedef VTable VTable
typedef ManagedObjectRAW_REFERENCE
 Raw and compressed reference pointers.
typedef uint32 COMPRESSED_REFERENCE

Functions

bool is_compressed_reference (COMPRESSED_REFERENCE value)
VMEXPORT COMPRESSED_REFERENCE compress_reference (ManagedObject *obj)
VMEXPORT ManagedObjectuncompress_compressed_reference (COMPRESSED_REFERENCE compressed_ref)
ManagedObjectget_raw_reference_pointer (ManagedObject **slot_addr)


Define Documentation

#define REFS_RUNTIME_OR_UNCOMPRESSED

#define REFS_IS_COMPRESSED_MODE   0

#define REF_SIZE   (sizeof(ManagedObject*))

#define REF_MANAGED_NULL   NULL

#define REF_INIT_BY_ADDR ( _ref_addr_,
_val_   )     *((ManagedObject**)(_ref_addr_)) = (ManagedObject*)(_val_)

#define REFS_RUNTIME_SWITCH_IF

#define REFS_RUNTIME_SWITCH_ELSE

#define REFS_RUNTIME_SWITCH_ENDIF

#define STORE_REFERENCE ( _object_,
_slot_addr_,
_value_   ) 

Value:

gc_heap_slot_write_ref((Managed_Object_Handle)(_object_),           \
                               (Managed_Object_Handle*)(_slot_addr_),       \
                               (Managed_Object_Handle)(_value_))

#define STORE_GLOBAL_REFERENCE ( _slot_addr_,
_value_   ) 

Value:

gc_heap_write_global_slot((Managed_Object_Handle*)(_slot_addr_),\
                                  (Managed_Object_Handle)(_value_))

#define VM_VECTOR_RT_OVERHEAD   ((unsigned)(ManagedObject::get_size() + sizeof(int32)))

#define VM_VECTOR_FIRST_ELEM_OFFSET_8   ((VM_VECTOR_RT_OVERHEAD + 7) & ~7)

#define VM_VECTOR_FIRST_ELEM_OFFSET_1_2_4   VM_VECTOR_RT_OVERHEAD

#define VM_VECTOR_FIRST_ELEM_OFFSET_REF   VM_VECTOR_FIRST_ELEM_OFFSET_1_2_4


Typedef Documentation

typedef struct VTable VTable

typedef ManagedObject* RAW_REFERENCE

Raw and compressed reference pointers.

typedef uint32 COMPRESSED_REFERENCE


Function Documentation

bool is_compressed_reference ( COMPRESSED_REFERENCE  value  ) 

VMEXPORT COMPRESSED_REFERENCE compress_reference ( ManagedObject obj  ) 

VMEXPORT ManagedObject* uncompress_compressed_reference ( COMPRESSED_REFERENCE  compressed_ref  ) 

ManagedObject* get_raw_reference_pointer ( ManagedObject **  slot_addr  ) 


Genereated on Tue Mar 11 19:25:57 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.