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

#include "slate.hpp"

Include dependency graph for gc.cpp:

Go to the source code of this file.

Functions

void assert_good_object (struct object_heap *oh, struct Object *obj)
bool_t object_is_marked (struct object_heap *heap, struct Object *o)
void method_flush_cache (struct object_heap *oh, struct Symbol *selector)
struct Objectheap_make_free_space (struct object_heap *oh, struct Object *obj, word_t words)
struct Objectheap_make_used_space (struct object_heap *oh, struct Object *obj, word_t words)
void heap_zero_pin_counts_from (struct object_heap *oh, byte_t *memory, word_t memorySize)
bool_t heap_initialize (struct object_heap *oh, word_t size, word_t limit, word_t young_limit, word_t next_hash, word_t special_oop, word_t cdid)
void heap_close (struct object_heap *oh)
bool_t object_is_pinned (struct object_heap *oh, struct Object *x)
bool_t object_is_remembered (struct object_heap *oh, struct Object *x)
struct Objectheap_find_first_young_free (struct object_heap *oh, struct Object *obj, word_t bytes)
struct Objectheap_find_first_old_free (struct object_heap *oh, struct Object *obj, word_t bytes)
struct Objectgc_allocate_old (struct object_heap *oh, word_t bytes)
struct Objectgc_allocate (struct object_heap *oh, word_t bytes)
void object_forward_pointers_to (struct object_heap *oh, struct Object *o, struct Object *x, struct Object *y)
void heap_free_object (struct object_heap *oh, struct Object *obj)
void heap_finish_gc (struct object_heap *oh)
void heap_finish_full_gc (struct object_heap *oh)
void heap_start_gc (struct object_heap *oh)
void heap_remember_old_object (struct object_heap *oh, struct Object *x)
void heap_mark (struct object_heap *oh, struct Object *obj)
void heap_mark_specials (struct object_heap *oh, bool_t mark_old)
void heap_mark_interpreter_stack (struct object_heap *oh, bool_t mark_old)
void heap_mark_fields (struct object_heap *oh, struct Object *o)
void heap_mark_recursively (struct object_heap *oh, bool_t mark_old)
void heap_free_and_coalesce_unmarked (struct object_heap *oh, byte_t *memory, word_t memorySize)
void heap_unmark_all (struct object_heap *oh, byte_t *memory, word_t memorySize)
void heap_update_forwarded_pointers (struct object_heap *oh, byte_t *memory, word_t memorySize)
void heap_notice_forwarded_object (struct object_heap *oh, struct Object *from, struct Object *to)
void heap_tenure (struct object_heap *oh)
void heap_mark_remembered (struct object_heap *oh)
void heap_mark_pinned_young (struct object_heap *oh)
void heap_mark_pinned_old (struct object_heap *oh)
void heap_pin_c_stack_diff (struct object_heap *oh)
void heap_full_gc (struct object_heap *oh)
void heap_gc (struct object_heap *oh)
void heap_forward_from (struct object_heap *oh, struct Object *x, struct Object *y, byte_t *memory, word_t memorySize)
void heap_forward (struct object_heap *oh, struct Object *x, struct Object *y)
struct Objectheap_allocate_with_payload (struct object_heap *oh, word_t words, word_t payload_size)
struct Objectheap_allocate (struct object_heap *oh, word_t words)
struct Objectheap_clone (struct object_heap *oh, struct Object *proto)
struct Objectheap_clone_special (struct object_heap *oh, word_t special_index)
struct Mapheap_clone_map (struct object_heap *oh, struct Map *map)
struct ByteArrayheap_new_float (struct object_heap *oh)
struct OopArrayheap_clone_oop_array_sized (struct object_heap *oh, struct Object *proto, word_t size)
struct ByteArrayheap_clone_byte_array_sized (struct object_heap *oh, struct Object *proto, word_t bytes)
struct ByteArrayheap_new_byte_array_with (struct object_heap *oh, word_t byte_size, byte_t *bytes)
struct ByteArrayheap_new_string_with (struct object_heap *oh, word_t byte_size, byte_t *bytes)


Function Documentation

void assert_good_object ( struct object_heap oh,
struct Object obj 
)

Definition at line 7 of file gc.cpp.

struct Object* gc_allocate ( struct object_heap oh,
word_t  bytes 
) [read]

Definition at line 229 of file gc.cpp.

struct Object* gc_allocate_old ( struct object_heap oh,
word_t  bytes 
) [read]

Definition at line 199 of file gc.cpp.

struct Object* heap_allocate ( struct object_heap oh,
word_t  words 
) [read]

Definition at line 795 of file gc.cpp.

struct Object* heap_allocate_with_payload ( struct object_heap oh,
word_t  words,
word_t  payload_size 
) [read]

Definition at line 779 of file gc.cpp.

struct Object* heap_clone ( struct object_heap oh,
struct Object proto 
) [read]

Definition at line 799 of file gc.cpp.

struct ByteArray* heap_clone_byte_array_sized ( struct object_heap oh,
struct Object proto,
word_t  bytes 
) [read]

Definition at line 852 of file gc.cpp.

struct Map* heap_clone_map ( struct object_heap oh,
struct Map map 
) [read]

Definition at line 827 of file gc.cpp.

struct OopArray* heap_clone_oop_array_sized ( struct object_heap oh,
struct Object proto,
word_t  size 
) [read]

Definition at line 835 of file gc.cpp.

struct Object* heap_clone_special ( struct object_heap oh,
word_t  special_index 
) [read]

Definition at line 823 of file gc.cpp.

void heap_close ( struct object_heap oh  ) 

Definition at line 161 of file gc.cpp.

struct Object* heap_find_first_old_free ( struct object_heap oh,
struct Object obj,
word_t  bytes 
) [read]

Definition at line 190 of file gc.cpp.

struct Object* heap_find_first_young_free ( struct object_heap oh,
struct Object obj,
word_t  bytes 
) [read]

Definition at line 182 of file gc.cpp.

void heap_finish_full_gc ( struct object_heap oh  ) 

Definition at line 328 of file gc.cpp.

void heap_finish_gc ( struct object_heap oh  ) 

Definition at line 322 of file gc.cpp.

void heap_forward ( struct object_heap oh,
struct Object x,
struct Object y 
)

Definition at line 768 of file gc.cpp.

void heap_forward_from ( struct object_heap oh,
struct Object x,
struct Object y,
byte_t memory,
word_t  memorySize 
)

Definition at line 753 of file gc.cpp.

void heap_free_and_coalesce_unmarked ( struct object_heap oh,
byte_t memory,
word_t  memorySize 
)

Definition at line 426 of file gc.cpp.

void heap_free_object ( struct object_heap oh,
struct Object obj 
)

Definition at line 297 of file gc.cpp.

void heap_full_gc ( struct object_heap oh  ) 

Definition at line 699 of file gc.cpp.

void heap_gc ( struct object_heap oh  ) 

Definition at line 724 of file gc.cpp.

bool_t heap_initialize ( struct object_heap oh,
word_t  size,
word_t  limit,
word_t  young_limit,
word_t  next_hash,
word_t  special_oop,
word_t  cdid 
)

Definition at line 114 of file gc.cpp.

struct Object* heap_make_free_space ( struct object_heap oh,
struct Object obj,
word_t  words 
) [read]

Definition at line 71 of file gc.cpp.

struct Object* heap_make_used_space ( struct object_heap oh,
struct Object obj,
word_t  words 
) [read]

Definition at line 92 of file gc.cpp.

void heap_mark ( struct object_heap oh,
struct Object obj 
)

Definition at line 354 of file gc.cpp.

void heap_mark_fields ( struct object_heap oh,
struct Object o 
)

Definition at line 399 of file gc.cpp.

void heap_mark_interpreter_stack ( struct object_heap oh,
bool_t  mark_old 
)

Definition at line 388 of file gc.cpp.

void heap_mark_pinned_old ( struct object_heap oh  ) 

Definition at line 673 of file gc.cpp.

void heap_mark_pinned_young ( struct object_heap oh  ) 

Definition at line 665 of file gc.cpp.

void heap_mark_recursively ( struct object_heap oh,
bool_t  mark_old 
)

Definition at line 414 of file gc.cpp.

void heap_mark_remembered ( struct object_heap oh  ) 

Definition at line 609 of file gc.cpp.

void heap_mark_specials ( struct object_heap oh,
bool_t  mark_old 
)

Definition at line 377 of file gc.cpp.

struct ByteArray* heap_new_byte_array_with ( struct object_heap oh,
word_t  byte_size,
byte_t bytes 
) [read]

Definition at line 871 of file gc.cpp.

struct ByteArray* heap_new_float ( struct object_heap oh  )  [read]

Definition at line 831 of file gc.cpp.

struct ByteArray* heap_new_string_with ( struct object_heap oh,
word_t  byte_size,
byte_t bytes 
) [read]

Definition at line 881 of file gc.cpp.

void heap_notice_forwarded_object ( struct object_heap oh,
struct Object from,
struct Object to 
)

Definition at line 504 of file gc.cpp.

void heap_pin_c_stack_diff ( struct object_heap oh  ) 

Definition at line 683 of file gc.cpp.

void heap_remember_old_object ( struct object_heap oh,
struct Object x 
)

Definition at line 341 of file gc.cpp.

void heap_start_gc ( struct object_heap oh  ) 

Definition at line 335 of file gc.cpp.

void heap_tenure ( struct object_heap oh  ) 

Definition at line 512 of file gc.cpp.

void heap_unmark_all ( struct object_heap oh,
byte_t memory,
word_t  memorySize 
)

Definition at line 461 of file gc.cpp.

void heap_update_forwarded_pointers ( struct object_heap oh,
byte_t memory,
word_t  memorySize 
)

Definition at line 477 of file gc.cpp.

void heap_zero_pin_counts_from ( struct object_heap oh,
byte_t memory,
word_t  memorySize 
)

Definition at line 99 of file gc.cpp.

void method_flush_cache ( struct object_heap oh,
struct Symbol selector 
)

Definition at line 43 of file gc.cpp.

void object_forward_pointers_to ( struct object_heap oh,
struct Object o,
struct Object x,
struct Object y 
)

Definition at line 275 of file gc.cpp.

bool_t object_is_marked ( struct object_heap heap,
struct Object o 
)

Definition at line 37 of file gc.cpp.

bool_t object_is_pinned ( struct object_heap oh,
struct Object x 
)

Definition at line 170 of file gc.cpp.

bool_t object_is_remembered ( struct object_heap oh,
struct Object x 
)

Definition at line 174 of file gc.cpp.


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