#include "slate.hpp"
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 Object * | heap_make_free_space (struct object_heap *oh, struct Object *obj, word_t words) |
struct Object * | heap_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 Object * | heap_find_first_young_free (struct object_heap *oh, struct Object *obj, word_t bytes) |
struct Object * | heap_find_first_old_free (struct object_heap *oh, struct Object *obj, word_t bytes) |
struct Object * | gc_allocate_old (struct object_heap *oh, word_t bytes) |
struct Object * | gc_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 Object * | heap_allocate_with_payload (struct object_heap *oh, word_t words, word_t payload_size) |
struct Object * | heap_allocate (struct object_heap *oh, word_t words) |
struct Object * | heap_clone (struct object_heap *oh, struct Object *proto) |
struct Object * | heap_clone_special (struct object_heap *oh, word_t special_index) |
struct Map * | heap_clone_map (struct object_heap *oh, struct Map *map) |
struct ByteArray * | heap_new_float (struct object_heap *oh) |
struct OopArray * | heap_clone_oop_array_sized (struct object_heap *oh, struct Object *proto, word_t size) |
struct ByteArray * | heap_clone_byte_array_sized (struct object_heap *oh, struct Object *proto, word_t bytes) |
struct ByteArray * | heap_new_byte_array_with (struct object_heap *oh, word_t byte_size, byte_t *bytes) |
struct ByteArray * | heap_new_string_with (struct object_heap *oh, word_t byte_size, byte_t *bytes) |
void assert_good_object | ( | struct object_heap * | oh, | |
struct Object * | obj | |||
) |
struct Object* gc_allocate | ( | struct object_heap * | oh, | |
word_t | bytes | |||
) | [read] |
struct Object* gc_allocate_old | ( | struct object_heap * | oh, | |
word_t | bytes | |||
) | [read] |
struct Object* heap_allocate | ( | struct object_heap * | oh, | |
word_t | words | |||
) | [read] |
struct Object* heap_allocate_with_payload | ( | struct object_heap * | oh, | |
word_t | words, | |||
word_t | payload_size | |||
) | [read] |
struct Object* heap_clone | ( | struct object_heap * | oh, | |
struct Object * | proto | |||
) | [read] |
struct ByteArray* heap_clone_byte_array_sized | ( | struct object_heap * | oh, | |
struct Object * | proto, | |||
word_t | bytes | |||
) | [read] |
struct Map* heap_clone_map | ( | struct object_heap * | oh, | |
struct Map * | map | |||
) | [read] |
struct OopArray* heap_clone_oop_array_sized | ( | struct object_heap * | oh, | |
struct Object * | proto, | |||
word_t | size | |||
) | [read] |
struct Object* heap_clone_special | ( | struct object_heap * | oh, | |
word_t | special_index | |||
) | [read] |
void heap_close | ( | struct object_heap * | oh | ) |
struct Object* heap_find_first_old_free | ( | struct object_heap * | oh, | |
struct Object * | obj, | |||
word_t | bytes | |||
) | [read] |
struct Object* heap_find_first_young_free | ( | struct object_heap * | oh, | |
struct Object * | obj, | |||
word_t | bytes | |||
) | [read] |
void heap_finish_full_gc | ( | struct object_heap * | oh | ) |
void heap_finish_gc | ( | struct object_heap * | oh | ) |
void heap_forward | ( | struct object_heap * | oh, | |
struct Object * | x, | |||
struct Object * | y | |||
) |
void heap_forward_from | ( | struct object_heap * | oh, | |
struct Object * | x, | |||
struct Object * | y, | |||
byte_t * | memory, | |||
word_t | memorySize | |||
) |
void heap_free_and_coalesce_unmarked | ( | struct object_heap * | oh, | |
byte_t * | memory, | |||
word_t | memorySize | |||
) |
void heap_free_object | ( | struct object_heap * | oh, | |
struct Object * | obj | |||
) |
void heap_full_gc | ( | struct object_heap * | oh | ) |
void heap_gc | ( | struct object_heap * | oh | ) |
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 | |||
) |
struct Object* heap_make_free_space | ( | struct object_heap * | oh, | |
struct Object * | obj, | |||
word_t | words | |||
) | [read] |
struct Object* heap_make_used_space | ( | struct object_heap * | oh, | |
struct Object * | obj, | |||
word_t | words | |||
) | [read] |
void heap_mark | ( | struct object_heap * | oh, | |
struct Object * | obj | |||
) |
void heap_mark_fields | ( | struct object_heap * | oh, | |
struct Object * | o | |||
) |
void heap_mark_interpreter_stack | ( | struct object_heap * | oh, | |
bool_t | mark_old | |||
) |
void heap_mark_pinned_old | ( | struct object_heap * | oh | ) |
void heap_mark_pinned_young | ( | struct object_heap * | oh | ) |
void heap_mark_recursively | ( | struct object_heap * | oh, | |
bool_t | mark_old | |||
) |
void heap_mark_remembered | ( | struct object_heap * | oh | ) |
void heap_mark_specials | ( | struct object_heap * | oh, | |
bool_t | mark_old | |||
) |
struct ByteArray* heap_new_byte_array_with | ( | struct object_heap * | oh, | |
word_t | byte_size, | |||
byte_t * | bytes | |||
) | [read] |
struct ByteArray* heap_new_float | ( | struct object_heap * | oh | ) | [read] |
struct ByteArray* heap_new_string_with | ( | struct object_heap * | oh, | |
word_t | byte_size, | |||
byte_t * | bytes | |||
) | [read] |
void heap_notice_forwarded_object | ( | struct object_heap * | oh, | |
struct Object * | from, | |||
struct Object * | to | |||
) |
void heap_pin_c_stack_diff | ( | struct object_heap * | oh | ) |
void heap_remember_old_object | ( | struct object_heap * | oh, | |
struct Object * | x | |||
) |
void heap_start_gc | ( | struct object_heap * | oh | ) |
void heap_tenure | ( | struct object_heap * | oh | ) |
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_zero_pin_counts_from | ( | struct object_heap * | oh, | |
byte_t * | memory, | |||
word_t | memorySize | |||
) |
void method_flush_cache | ( | struct object_heap * | oh, | |
struct Symbol * | selector | |||
) |
void object_forward_pointers_to | ( | struct object_heap * | oh, | |
struct Object * | o, | |||
struct Object * | x, | |||
struct Object * | y | |||
) |
bool_t object_is_marked | ( | struct object_heap * | heap, | |
struct Object * | o | |||
) |
bool_t object_is_pinned | ( | struct object_heap * | oh, | |
struct Object * | x | |||
) |
bool_t object_is_remembered | ( | struct object_heap * | oh, | |
struct Object * | x | |||
) |