#include <stdlib.h>
#include <assert.h>
#include "objs/kite_object.h"
#include "objs/kite_gc.h"
#include "kite_vm.h"
Functions | |
KITE_CLASS_METHOD (VM_InstructionTracer) | |
void | kite_app_init () |
kite_vm_t * | kite_new_vm (char **args) |
void | kite_free_vm (kite_vm_t **vm) |
void kite_app_init | ( | ) |
Initialize Kite.
KITE_CLASS_METHOD | ( | VM_InstructionTracer | ) |
References kite_dereference_object(), KITE_GET_METHOD_ARGUMENT, and kite_reference_object().
void kite_free_vm | ( | kite_vm_t ** | vm | ) |
Destroy VM instance.
[in,out] | vm | The virtual machine to destroy. |
References FALSE, kite_vm_t::gc_mtx, kite_destruct_object(), kite_destruct_symtab(), kite_exit_thread(), kite_gc_destroy_all(), kite_new_thread_without_start(), kite_vm_t::loader_refs, NSIG, kite_vm_t::numthreads, and kite_vm_t::thread_list.
kite_vm_t* kite_new_vm | ( | char ** | args | ) |
Create a new VM instance.
args | The command line arguments passed into the program. |
References kite_vm_t::args, FALSE, kite_vm_t::false_cached, kite_vm_t::gc_begin, kite_vm_t::gc_end, kite_vm_t::gc_mtx, kite_vm_t::instruction_tracer, kite_vm_t::int_cached, kite_add_method(), kite_dereference_and_load(), kite_new_boolean(), kite_new_class(), kite_new_method_compiled_with_docs(), kite_new_null(), kite_new_thread_without_start(), kite_reference_object(), NSIG, kite_vm_t::null_cached, kite_vm_t::numthreads, kite_vm_t::root_package, kite_vm_t::thread_list, TRUE, kite_vm_t::true_cached, and kite_thread_t::vm.