#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "kite_object.h"
Functions | |
kite_object_t * | kite_reference_object (kite_object_t *obj) |
void | kite_dereference_object (kite_object_t *obj) |
kite_object_t * | kite_gc_incremental (kite_thread_t *thd) |
void | kite_gc_destroy_all (kite_thread_t *thd) |
void kite_dereference_object | ( | kite_object_t * | obj | ) |
Dereference object.
obj | The object to dereference. |
References kite_vm_t::gc_begin, kite_vm_t::gc_end, kite_object_t::gc_entry, kite_list_add_begin(), kite_list_remove(), kite_object_t::owner_thread, kite_object_t::refcount, and kite_thread_t::vm.
Referenced by KITE_CLASS_METHOD(), kite_destruct_object_nofree(), kite_destruct_symtab(), kite_handle_signal(), kite_new_exception(), kite_set_property(), kite_symtab_insert(), kite_symtab_remove(), kite_vm_call_method(), kite_vm_execute(), kite_vm_execute_exception(), and kite_vm_execute_user_method().
void kite_gc_destroy_all | ( | kite_thread_t * | thd | ) |
References FALSE, kite_vm_t::gc_begin, kite_destruct_object(), kite_new_list(), kite_vm_call_method(), kite_list_t::next, kite_list_t::obj, kite_object_t::type, and kite_thread_t::vm.
Referenced by kite_free_vm().
kite_object_t* kite_gc_incremental | ( | kite_thread_t * | thd | ) |
References FALSE, kite_vm_t::gc_begin, kite_destruct_object_nofree(), kite_new_list(), kite_vm_call_method(), kite_object_t::refcount, TRUE, kite_object_t::type, and kite_thread_t::vm.
Referenced by kite_new_class(), and kite_new_instance().
kite_object_t* kite_reference_object | ( | kite_object_t * | obj | ) |
Reference object.
obj | The object to dereference. |
References kite_vm_t::gc_begin, kite_vm_t::gc_end, kite_object_t::gc_entry, kite_object_t::inherit_from, kite_list_add_end(), kite_list_remove(), kite_reference_object(), kite_object_t::object_data, kite_object_t::owner_thread, kite_object_t::parent, kite_object_t::refcount, and kite_thread_t::vm.
Referenced by kite_add_method(), kite_append_list(), kite_boolean_object(), KITE_CLASS_METHOD(), kite_copy_symtab(), kite_copy_symtab_elements(), kite_float_object(), kite_get_property(), kite_int_object(), kite_list_object(), kite_new_boolean(), kite_new_class(), kite_new_instance(), kite_new_null(), kite_new_vm(), kite_reference_object(), kite_set_arginfo(), kite_set_property(), kite_string_object(), kite_vm_call_method(), and kite_vm_call_object().