/home/briantrice/src/slate-language/src/vm/object.cpp File Reference

#include "slate.hpp"

Include dependency graph for object.cpp:

Go to the source code of this file.

Functions

void object_zero_pin_count (struct Object *xxx)
void object_set_mark (struct object_heap *oh, struct Object *xxx)
void object_unmark (struct object_heap *oh, struct Object *xxx)
void object_set_format (struct Object *xxx, word_t type)
void object_set_size (struct Object *xxx, word_t size)
void object_set_idhash (struct Object *xxx, word_t hash)
void payload_set_size (struct Object *xxx, word_t size)
word_t heap_new_hash (struct object_heap *oh)
word_t smallint_fits_object (word_t i)
word_t object_is_immutable (struct Object *o)
bool_t object_is_special (struct object_heap *oh, struct Object *obj)
word_t object_array_offset (struct Object *o)
byte_tbyte_array_elements (struct ByteArray *o)
byte_t byte_array_get_element (struct Object *o, word_t i)
byte_t byte_array_set_element (struct ByteArray *o, word_t i, byte_t val)
struct Objectobject_array_get_element (struct Object *o, word_t i)
struct Objectobject_array_set_element (struct object_heap *oh, struct Object *o, word_t i, struct Object *val)
struct Object ** object_array_elements (struct Object *o)
struct Object ** array_elements (struct OopArray *o)
float_typefloat_part (struct ByteArray *o)
word_t slot_table_capacity (struct SlotTable *roles)
word_t role_table_capacity (struct RoleTable *roles)
word_t object_first_slot_offset (struct Object *o)
word_t object_last_slot_offset (struct Object *o)
word_t object_last_oop_offset (struct Object *o)
struct Objectobject_slot_value_at_offset_put (struct object_heap *oh, struct Object *o, word_t offset, struct Object *value)
struct RoleEntryrole_table_entry_for_name (struct object_heap *oh, struct RoleTable *roles, struct Symbol *name)
struct RoleEntryrole_table_entry_for_inserting_name (struct object_heap *oh, struct RoleTable *roles, struct Symbol *name)
struct RoleEntryrole_table_insert (struct object_heap *oh, struct RoleTable *roles, struct Symbol *name)
struct SlotEntryslot_table_entry_for_name (struct object_heap *oh, struct SlotTable *slots, struct Symbol *name)
struct SlotEntryslot_table_entry_for_inserting_name (struct object_heap *oh, struct SlotTable *slots, struct Symbol *name)
word_t role_table_accommodate (struct RoleTable *roles, word_t n)
word_t slot_table_accommodate (struct SlotTable *roles, word_t n)
word_t role_table_empty_space (struct object_heap *oh, struct RoleTable *roles)
word_t slot_table_empty_space (struct object_heap *oh, struct SlotTable *slots)
struct RoleTablerole_table_grow_excluding (struct object_heap *oh, struct RoleTable *roles, word_t n, struct MethodDefinition *method)
struct SlotTableslot_table_grow_excluding (struct object_heap *oh, struct SlotTable *slots, word_t n, struct Symbol *excluding)
void slot_table_relocate_by (struct object_heap *oh, struct SlotTable *slots, word_t offset, word_t amount)
struct MethodDefinitionobject_has_role_named_at (struct Object *obj, struct Symbol *selector, word_t position, struct Object *method)
void object_change_map (struct object_heap *oh, struct Object *obj, struct Map *map)
void object_represent (struct object_heap *oh, struct Object *obj, struct Map *map)
word_t object_add_role_at (struct object_heap *oh, struct Object *obj, struct Symbol *selector, word_t position, struct MethodDefinition *method)
word_t object_remove_role (struct object_heap *oh, struct Object *obj, struct Symbol *selector, struct MethodDefinition *method)
struct Objectobject_add_slot_named_at (struct object_heap *oh, struct Object *obj, struct Symbol *name, struct Object *value, word_t offset)
struct Objectobject_add_slot_named (struct object_heap *oh, struct Object *obj, struct Symbol *name, struct Object *value)
struct Objectobject_remove_slot (struct object_heap *oh, struct Object *obj, struct Symbol *name)
struct ForwardPointerEntryforward_pointer_hash_get (struct ForwardPointerEntry *table, word_t forwardPointerEntryCount, struct Object *fromObj)
struct ForwardPointerEntryforward_pointer_hash_add (struct ForwardPointerEntry *table, word_t forwardPointerEntryCount, struct Object *fromObj, struct Object *toObj)
void copy_used_objects (struct object_heap *oh, struct Object **writeObject, byte_t *memoryStart, word_t memorySize, struct ForwardPointerEntry *table, word_t forwardPointerEntryCount)
void adjust_object_fields_with_table (struct object_heap *oh, byte_t *memory, word_t memorySize, struct ForwardPointerEntry *table, word_t forwardPointerEntryCount)
void adjust_fields_by (struct object_heap *oh, struct Object *o, word_t shift_amount)
void adjust_oop_pointers_from (struct object_heap *oh, word_t shift_amount, byte_t *memory, word_t memorySize)


Function Documentation

void adjust_fields_by ( struct object_heap oh,
struct Object o,
word_t  shift_amount 
)

Definition at line 675 of file object.cpp.

void adjust_object_fields_with_table ( struct object_heap oh,
byte_t memory,
word_t  memorySize,
struct ForwardPointerEntry table,
word_t  forwardPointerEntryCount 
)

Definition at line 652 of file object.cpp.

void adjust_oop_pointers_from ( struct object_heap oh,
word_t  shift_amount,
byte_t memory,
word_t  memorySize 
)

Definition at line 693 of file object.cpp.

struct Object** array_elements ( struct OopArray o  )  [read]

Definition at line 107 of file object.cpp.

byte_t* byte_array_elements ( struct ByteArray o  ) 

Definition at line 78 of file object.cpp.

byte_t byte_array_get_element ( struct Object o,
word_t  i 
)

Definition at line 83 of file object.cpp.

byte_t byte_array_set_element ( struct ByteArray o,
word_t  i,
byte_t  val 
)

Definition at line 87 of file object.cpp.

void copy_used_objects ( struct object_heap oh,
struct Object **  writeObject,
byte_t memoryStart,
word_t  memorySize,
struct ForwardPointerEntry table,
word_t  forwardPointerEntryCount 
)

Definition at line 638 of file object.cpp.

float_type* float_part ( struct ByteArray o  ) 

Definition at line 111 of file object.cpp.

struct ForwardPointerEntry* forward_pointer_hash_add ( struct ForwardPointerEntry table,
word_t  forwardPointerEntryCount,
struct Object fromObj,
struct Object toObj 
) [read]

Definition at line 624 of file object.cpp.

struct ForwardPointerEntry* forward_pointer_hash_get ( struct ForwardPointerEntry table,
word_t  forwardPointerEntryCount,
struct Object fromObj 
) [read]

Definition at line 603 of file object.cpp.

word_t heap_new_hash ( struct object_heap oh  ) 

Definition at line 40 of file object.cpp.

word_t object_add_role_at ( struct object_heap oh,
struct Object obj,
struct Symbol selector,
word_t  position,
struct MethodDefinition method 
)

Definition at line 415 of file object.cpp.

struct Object* object_add_slot_named ( struct object_heap oh,
struct Object obj,
struct Symbol name,
struct Object value 
) [read]

Definition at line 547 of file object.cpp.

struct Object* object_add_slot_named_at ( struct object_heap oh,
struct Object obj,
struct Symbol name,
struct Object value,
word_t  offset 
) [read]

Definition at line 505 of file object.cpp.

struct Object** object_array_elements ( struct Object o  )  [read]

Definition at line 103 of file object.cpp.

struct Object* object_array_get_element ( struct Object o,
word_t  i 
) [read]

Definition at line 92 of file object.cpp.

word_t object_array_offset ( struct Object o  ) 

Definition at line 74 of file object.cpp.

struct Object* object_array_set_element ( struct object_heap oh,
struct Object o,
word_t  i,
struct Object val 
) [read]

Definition at line 97 of file object.cpp.

void object_change_map ( struct object_heap oh,
struct Object obj,
struct Map map 
)

Definition at line 403 of file object.cpp.

word_t object_first_slot_offset ( struct Object o  ) 

Definition at line 125 of file object.cpp.

struct MethodDefinition* object_has_role_named_at ( struct Object obj,
struct Symbol selector,
word_t  position,
struct Object method 
) [read]

Definition at line 385 of file object.cpp.

word_t object_is_immutable ( struct Object o  ) 

Definition at line 62 of file object.cpp.

bool_t object_is_special ( struct object_heap oh,
struct Object obj 
)

Definition at line 64 of file object.cpp.

word_t object_last_oop_offset ( struct Object o  ) 

Definition at line 136 of file object.cpp.

word_t object_last_slot_offset ( struct Object o  ) 

Definition at line 131 of file object.cpp.

word_t object_remove_role ( struct object_heap oh,
struct Object obj,
struct Symbol selector,
struct MethodDefinition method 
)

Definition at line 477 of file object.cpp.

struct Object* object_remove_slot ( struct object_heap oh,
struct Object obj,
struct Symbol name 
) [read]

Definition at line 561 of file object.cpp.

void object_represent ( struct object_heap oh,
struct Object obj,
struct Map map 
)

Definition at line 409 of file object.cpp.

void object_set_format ( struct Object xxx,
word_t  type 
)

Definition at line 22 of file object.cpp.

void object_set_idhash ( struct Object xxx,
word_t  hash 
)

Definition at line 30 of file object.cpp.

void object_set_mark ( struct object_heap oh,
struct Object xxx 
)

Definition at line 13 of file object.cpp.

void object_set_size ( struct Object xxx,
word_t  size 
)

Definition at line 26 of file object.cpp.

struct Object* object_slot_value_at_offset_put ( struct object_heap oh,
struct Object o,
word_t  offset,
struct Object value 
) [read]

Definition at line 145 of file object.cpp.

void object_unmark ( struct object_heap oh,
struct Object xxx 
)

Definition at line 17 of file object.cpp.

void object_zero_pin_count ( struct Object xxx  ) 

Definition at line 8 of file object.cpp.

void payload_set_size ( struct Object xxx,
word_t  size 
)

Definition at line 34 of file object.cpp.

word_t role_table_accommodate ( struct RoleTable roles,
word_t  n 
)

Definition at line 268 of file object.cpp.

word_t role_table_capacity ( struct RoleTable roles  ) 

Definition at line 120 of file object.cpp.

word_t role_table_empty_space ( struct object_heap oh,
struct RoleTable roles 
)

Definition at line 303 of file object.cpp.

struct RoleEntry* role_table_entry_for_inserting_name ( struct object_heap oh,
struct RoleTable roles,
struct Symbol name 
) [read]

Definition at line 179 of file object.cpp.

struct RoleEntry* role_table_entry_for_name ( struct object_heap oh,
struct RoleTable roles,
struct Symbol name 
) [read]

Definition at line 153 of file object.cpp.

struct RoleTable* role_table_grow_excluding ( struct object_heap oh,
struct RoleTable roles,
word_t  n,
struct MethodDefinition method 
) [read]

Definition at line 326 of file object.cpp.

struct RoleEntry* role_table_insert ( struct object_heap oh,
struct RoleTable roles,
struct Symbol name 
) [read]

Definition at line 203 of file object.cpp.

word_t slot_table_accommodate ( struct SlotTable roles,
word_t  n 
)

Definition at line 285 of file object.cpp.

word_t slot_table_capacity ( struct SlotTable roles  ) 

Definition at line 116 of file object.cpp.

word_t slot_table_empty_space ( struct object_heap oh,
struct SlotTable slots 
)

Definition at line 314 of file object.cpp.

struct SlotEntry* slot_table_entry_for_inserting_name ( struct object_heap oh,
struct SlotTable slots,
struct Symbol name 
) [read]

Definition at line 244 of file object.cpp.

struct SlotEntry* slot_table_entry_for_name ( struct object_heap oh,
struct SlotTable slots,
struct Symbol name 
) [read]

Definition at line 218 of file object.cpp.

struct SlotTable* slot_table_grow_excluding ( struct object_heap oh,
struct SlotTable slots,
word_t  n,
struct Symbol excluding 
) [read]

Definition at line 349 of file object.cpp.

void slot_table_relocate_by ( struct object_heap oh,
struct SlotTable slots,
word_t  offset,
word_t  amount 
)

Definition at line 370 of file object.cpp.

word_t smallint_fits_object ( word_t  i  ) 

Definition at line 56 of file object.cpp.


Generated on Fri Feb 5 09:54:10 2010 for Slate VM by  doxygen 1.5.8