#include <sys/types.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>
#include <stdint.h>
#include <inttypes.h>
#include <fcntl.h>
#include <time.h>
#include <limits.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <sys/select.h>
#include <netinet/in.h>
#include <netdb.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/un.h>
#include <pthread.h>
#include <sys/stat.h>
#include <dirent.h>
#include <set>
#include <stack>
#include <vector>
#include <map>
#include <algorithm>
#include <sys/utsname.h>
#include "inline.hpp"
Go to the source code of this file.
Classes | |
struct | slate_image_header |
struct | Object |
struct | MethodCacheEntry |
struct | ForwardedObject |
struct | ForwardPointerEntry |
struct | Map |
struct | BreakEntry |
struct | PrimitiveMethod |
struct | RoleEntry |
struct | SlotEntry |
struct | SlotTable |
struct | Symbol |
struct | CompiledMethod |
struct | LexicalContext |
struct | RoleTable |
struct | OopArray |
struct | MethodDefinition |
struct | ByteArray |
struct | Closure |
struct | Interpreter |
struct | slate_addrinfo_request |
struct | object_heap |
class | Pinned< T > |
Defines | |
#define | __STDC_FORMAT_MACROS 1 |
#define | __STDC_LIMIT_MACROS 1 |
#define | SLATE_BUILD_TYPE "UNDEFINED" |
#define | WORDT_MAX INTPTR_MAX |
#define | KB 1024 |
#define | MB 1024 * 1024 |
#define | GB 1024 * 1024 * 1024 |
#define | ASSERT(x) assert(x) |
#define | str(s) #s |
#define | xstr(s) str(s) |
#define | MAX(a, b) (a > b ? a : b) |
#define | MIN(a, b) (a < b ? a : b) |
#define | HEADER_SIZE (sizeof(struct Object) - sizeof(struct Map*)) |
#define | HEADER_SIZE_WORDS (HEADER_SIZE/sizeof(word_t)) |
#define | SLATE_IMAGE_MAGIC (word_t)0xABCDEF43 |
#define | SLATE_INLINE inline |
#define | METHOD_CACHE_ARITY 6 |
#define | SLATE_ERROR_RETURN (-1) |
#define | SLATE_FILE_NAME_LENGTH 512 |
#define | DELEGATION_STACK_SIZE 256 |
#define | PROFILER_ENTRY_COUNT 4096 |
#define | MARK_MASK 1 |
#define | METHOD_CACHE_SIZE 1024*64 |
#define | OLD_TO_NEW_CARD_SIZE (sizeof(word_t) * 8) |
#define | SLATE_MEMS_MAXIMUM 1024 |
#define | SLATE_NETTICKET_MAXIMUM 1024 |
#define | SLATE_FILES_MAXIMUM 256 |
#define | SLATE_DIRECTORIES_MAXIMUM 256 |
#define | MAX_PLATFORM_STRING_LENGTH 256 |
#define | SMALLINT_MASK 0x1 |
#define | PINNED_MASK 0x3F |
#define | PINNED_OFFSET 24 |
#define | ID_HASH_RESERVED 0x7FFFF0 |
#define | ID_HASH_FORWARDED ID_HASH_RESERVED |
#define | ID_HASH_FREE 0x7FFFFF |
#define | ID_HASH_MAX ID_HASH_FREE |
#define | FLOAT_SIGNIFICAND 0x7FFFFF |
#define | FLOAT_EXPONENT_OFFSET 23 |
#define | MAP_FLAG_RESTRICT_DELEGATION 2 |
#define | MAP_FLAG_IMMUTABLE 4 |
#define | WORD_BYTES_MINUS_ONE (sizeof(word_t)-1) |
#define | ROLE_ENTRY_WORD_SIZE ((sizeof(struct RoleEntry) + WORD_BYTES_MINUS_ONE) / sizeof(word_t)) |
#define | SLOT_ENTRY_WORD_SIZE ((sizeof(struct SlotEntry) + WORD_BYTES_MINUS_ONE) / sizeof(word_t)) |
#define | FUNCTION_FRAME_SIZE 6 |
#define | FRAME_OFFSET_BEFORE_CALL_STACK_POINTER 6 |
#define | FRAME_OFFSET_RESULT_STACK_POINTER 5 |
#define | FRAME_OFFSET_CODE_POINTER 4 |
#define | FRAME_OFFSET_METHOD 3 |
#define | FRAME_OFFSET_LEXICAL_CONTEXT 2 |
#define | FRAME_OFFSET_PREVIOUS_FRAME_POINTER 1 |
#define | FRAME_OFFSET_FIRST_REGISTER 0 |
#define | TRUE 1 |
#define | FALSE 0 |
#define | TYPE_OBJECT 0 |
#define | TYPE_OOP_ARRAY 1 |
#define | TYPE_BYTE_ARRAY 2 |
#define | INLINER_MAX_INLINE_SIZE 50 |
#define | INLINER_MAX_METHOD_SIZE 200 |
#define | CALLER_PIC_SETUP_AFTER 500 |
#define | CALLER_PIC_MAX_CODE_SIZE 70 |
#define | CALLEE_OPTIMIZE_AFTER 1000 |
#define | CALLER_PIC_SIZE 16 |
#define | CALLER_PIC_ENTRY_SIZE 4 |
#define | PIC_CALLEE 0 |
#define | PIC_CALLEE_ARITY 1 |
#define | PIC_CALLEE_MAPS 2 |
#define | PIC_CALLEE_COUNT 3 |
#define | SPECIAL_OOP_LOBBY 0 |
#define | SPECIAL_OOP_NO_ROLE 1 |
#define | SPECIAL_OOP_NIL 2 |
#define | SPECIAL_OOP_TRUE 3 |
#define | SPECIAL_OOP_FALSE 4 |
#define | SPECIAL_OOP_ARRAY_PROTO 5 |
#define | SPECIAL_OOP_BYTE_ARRAY_PROTO 6 |
#define | SPECIAL_OOP_ASCII_PROTO 7 |
#define | SPECIAL_OOP_MAP_PROTO 8 |
#define | SPECIAL_OOP_METHOD_DEF_PROTO 9 |
#define | SPECIAL_OOP_SMALL_INT_PROTO 10 |
#define | SPECIAL_OOP_FLOAT_PROTO 11 |
#define | SPECIAL_OOP_CLOSURE_WINDOW 12 |
#define | SPECIAL_OOP_COMPILED_METHOD_WINDOW 13 |
#define | SPECIAL_OOP_PRIMITIVE_METHOD_WINDOW 14 |
#define | SPECIAL_OOP_CLOSURE_PROTO 15 |
#define | SPECIAL_OOP_LEXICAL_CONTEXT_PROTO 16 |
#define | SPECIAL_OOP_INTERPRETER 17 |
#define | SPECIAL_OOP_ENSURE_MARKER 18 |
#define | SPECIAL_OOP_NOT_FOUND_ON 19 |
#define | SPECIAL_OOP_NOT_FOUND_ON_AFTER 20 |
#define | SPECIAL_OOP_WRONG_INPUTS_TO 21 |
#define | SPECIAL_OOP_MAY_NOT_RETURN_TO 22 |
#define | SPECIAL_OOP_SLOT_NOT_FOUND_NAMED 23 |
#define | SPECIAL_OOP_KEY_NOT_FOUND_ON 24 |
#define | SPECIAL_OOP_IMMUTABLE 25 |
#define | SPECIAL_OOP_BIT_SHIFT_OVERFLOW 26 |
#define | SPECIAL_OOP_ADD_OVERFLOW 27 |
#define | SPECIAL_OOP_SUBTRACT_OVERFLOW 28 |
#define | SPECIAL_OOP_MULTIPLY_OVERFLOW 29 |
#define | SPECIAL_OOP_DIVIDE_BY_ZERO 30 |
#define | SPECIAL_OOP_NOT_A_BOOLEAN 31 |
#define | SPECIAL_OOP_APPLY_TO 32 |
#define | SPECIAL_OOP_OPTIONALS 33 |
#define | SPECIAL_OOP_TYPE_ERROR_ON 34 |
#define | SPECIAL_OOP_COUNT 35 |
#define | SF_READ 1 |
#define | SF_WRITE 1 << 1 |
#define | SF_CREATE 1 << 2 |
#define | SF_CLEAR 1 << 3 |
#define | SLATE_DOMAIN_LOCAL 1 |
#define | SLATE_DOMAIN_IPV4 2 |
#define | SLATE_DOMAIN_IPV6 3 |
#define | SLATE_TYPE_STREAM 1 |
#define | SLATE_PROTOCOL_DEFAULT 0 |
#define | PRINTOP(X) |
#define | OP_SEND ((0 << 1) | SMALLINT_MASK) |
#define | OP_LOAD_LITERAL ((3 << 1) | SMALLINT_MASK) |
#define | OP_SEND_MESSAGE_WITH_OPTS ((5 << 1) | SMALLINT_MASK) |
#define | OP_NEW_CLOSURE ((7 << 1) | SMALLINT_MASK) |
#define | OP_NEW_ARRAY_WITH ((8 << 1) | SMALLINT_MASK) |
#define | OP_RESEND_MESSAGE ((9 << 1) | SMALLINT_MASK) |
#define | OP_RETURN_FROM ((10 << 1) | SMALLINT_MASK) |
#define | OP_LOAD_ENVIRONMENT ((11 << 1) | SMALLINT_MASK) |
#define | OP_LOAD_VARIABLE ((12 << 1) | SMALLINT_MASK) |
#define | OP_STORE_VARIABLE ((13 << 1) | SMALLINT_MASK) |
#define | OP_LOAD_FREE_VARIABLE ((14 << 1) | SMALLINT_MASK) |
#define | OP_STORE_FREE_VARIABLE ((15 << 1) | SMALLINT_MASK) |
#define | OP_IS_IDENTICAL_TO ((16 << 1) | SMALLINT_MASK) |
#define | OP_BRANCH_KEYED ((17 << 1) | SMALLINT_MASK) |
#define | OP_JUMP_TO ((18 << 1) | SMALLINT_MASK) |
#define | OP_MOVE_REGISTER ((19 << 1) | SMALLINT_MASK) |
#define | OP_BRANCH_IF_TRUE ((20 << 1) | SMALLINT_MASK) |
#define | OP_BRANCH_IF_FALSE ((21 << 1) | SMALLINT_MASK) |
#define | OP_RETURN_REGISTER ((22 << 1) | SMALLINT_MASK) |
#define | OP_RETURN_VALUE ((23 << 1) | SMALLINT_MASK) |
#define | OP_RESUME ((24 << 1) | SMALLINT_MASK) |
#define | OP_PRIMITIVE_DO ((25 << 1) | SMALLINT_MASK) |
#define | OP_APPLY_TO ((26 << 1) | SMALLINT_MASK) |
#define | OP_IS_NIL ((27 << 1) | SMALLINT_MASK) |
#define | OP_INLINE_PRIMITIVE_CHECK ((28 << 1) | SMALLINT_MASK) |
#define | OP_INLINE_METHOD_CHECK ((29 << 1) | SMALLINT_MASK) |
#define | OP_ ((30 << 1) | SMALLINT_MASK) |
#define | OP_INTERNAL_SEND ((100 << 1) | SMALLINT_MASK) |
#define | OP_INTERNAL_ ((101 << 1) | SMALLINT_MASK) |
#define | OP_SEND_PARAMETER_0 4 |
#define | SSA_REGISTER(X) (i->stack->elements[i->framePointer + (X)]) |
#define | REG_STACK_POINTER(X) (i->framePointer + (X)) |
#define | SSA_NEXT_PARAM_SMALLINT ((word_t)i->method->code->elements[i->codePointer++]>>1) |
#define | SSA_NEXT_PARAM_OBJECT (i->method->code->elements[i->codePointer++]) |
#define | ASSERT_VALID_REGISTER(X) (assert((X) < (word_t)i->method->registerCount>>1)) |
#define | HEAP_READ_AND_PIN_ARGS(COUNTER, ARITY, ARGSARRAY, PINNEDARGS) |
#define | HEAP_UNPIN_ARGS(COUNTER, PINNEDARGS) for (--COUNTER; COUNTER >= 0; COUNTER--) heap_unpin_object(oh, PINNEDARGS[COUNTER]) |
#define | SOCKET_RETURN(x) (smallint_to_object(socket_return((x < 0)? -errno : x))) |
#define | ASSURE_SMALLINT_ARG(XXX) |
#define | ASSURE_NOT_SMALLINT_ARG(XXX) |
#define | ASSURE_TYPE_ARG(XXX, TYPEXXX) |
Typedefs | |
typedef uintptr_t | uword_t |
typedef intptr_t | word_t |
typedef uint8_t | byte_t |
typedef word_t | bool_t |
typedef float | float_type |
Functions | |
byte_t * | inc_ptr (struct Object *obj, word_t amt) |
void | heap_store_into (struct object_heap *oh, struct Object *src, struct Object *dest) |
void | heap_gc (struct object_heap *oh) |
void | heap_full_gc (struct object_heap *oh) |
void | interpreter_apply_to_arity_with_optionals (struct object_heap *oh, struct Interpreter *i, struct Closure *closure, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | send_to_through_arity_with_optionals (struct object_heap *oh, struct Symbol *selector, struct Object *args[], struct Object *dispatchers[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
word_t | object_to_smallint (struct Object *xxx) |
struct Object * | smallint_to_object (word_t xxx) |
int64_t | getTickCount () |
SLATE_INLINE volatile int64_t | getRealTimeClock () |
bool_t | oop_is_object (word_t xxx) |
bool_t | oop_is_smallint (word_t xxx) |
bool_t | object_is_smallint (struct Object *xxx) |
bool_t | object_is_special (struct object_heap *oh, struct Object *obj) |
word_t | object_markbit (struct Object *xxx) |
word_t | object_hash (struct Object *xxx) |
word_t | object_size (struct Object *xxx) |
word_t | payload_size (struct Object *xxx) |
word_t | object_type (struct Object *xxx) |
word_t | object_pin_count (struct Object *xxx) |
void | object_increment_pin_count (struct Object *xxx) |
void | object_decrement_pin_count (struct Object *xxx) |
void | object_zero_pin_count (struct Object *xxx) |
void | heap_zero_pin_counts_from (struct object_heap *oh, byte_t *memory, word_t memorySize) |
void | copy_bytes_into (byte_t *src, word_t n, byte_t *dst) |
void | copy_words_into (void *src, word_t n, void *dst) |
void | fill_words_with (word_t *dst, word_t n, word_t value) |
void | fill_bytes_with (byte_t *dst, word_t n, byte_t value) |
void | print_object (struct Object *oop) |
void | print_symbol (struct Symbol *name) |
void | print_byte_array (struct Object *o) |
void | print_object_with_depth (struct object_heap *oh, struct Object *o, word_t depth, word_t max_depth) |
void | print_detail (struct object_heap *oh, struct Object *o) |
bool_t | print_printname (struct object_heap *oh, struct Object *o) |
void | print_type (struct object_heap *oh, struct Object *o) |
void | print_stack (struct object_heap *oh) |
void | print_stack_types (struct object_heap *oh, word_t last_count) |
void | print_backtrace (struct object_heap *oh) |
void | heap_print_objects (struct object_heap *oh, byte_t *memory, word_t memorySize) |
word_t | heap_what_points_to_in (struct object_heap *oh, struct Object *x, byte_t *memory, word_t memorySize, bool_t print) |
word_t | heap_what_points_to (struct object_heap *oh, struct Object *x, bool_t print) |
void | heap_print_marks (struct object_heap *oh, byte_t *memory, word_t memorySize) |
void | assert_good_object (struct object_heap *oh, struct Object *obj) |
void | heap_integrity_check (struct object_heap *oh, byte_t *memory, word_t memorySize) |
struct Object * | heap_new_cstring (struct object_heap *oh, byte_t *input) |
bool_t | object_is_old (struct object_heap *oh, struct Object *oop) |
bool_t | object_is_young (struct object_heap *oh, struct Object *obj) |
bool_t | object_in_memory (struct object_heap *oh, struct Object *oop, byte_t *memory, word_t memorySize) |
struct Object * | object_after (struct object_heap *heap, struct Object *o) |
bool_t | object_is_marked (struct object_heap *heap, struct Object *o) |
bool_t | object_is_free (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) |
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_fixed (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_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_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 | interpreter_grow_stack (struct object_heap *oh, struct Interpreter *i, word_t minimum) |
void | interpreter_stack_allocate (struct object_heap *oh, struct Interpreter *i, word_t n) |
void | interpreter_stack_push (struct object_heap *oh, struct Interpreter *i, struct Object *value) |
struct Object * | interpreter_stack_pop (struct object_heap *oh, struct Interpreter *i) |
void | interpreter_stack_pop_amount (struct object_heap *oh, struct Interpreter *i, word_t amount) |
void | unhandled_signal (struct object_heap *oh, struct Symbol *selector, word_t n, struct Object *args[]) |
void | interpreter_signal (struct object_heap *oh, struct Interpreter *i, struct Object *signal, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | interpreter_signal_with (struct object_heap *oh, struct Interpreter *i, struct Object *signal, struct Object *arg, struct OopArray *opts, word_t resultStackPointer) |
void | interpreter_signal_with_with (struct object_heap *oh, struct Interpreter *i, struct Object *signal, struct Object *arg, struct Object *arg2, struct OopArray *opts, word_t resultStackPointer) |
void | interpreter_signal_with_with_with (struct object_heap *oh, struct Interpreter *i, struct Object *signal, struct Object *arg, struct Object *arg2, struct Object *arg3, struct OopArray *opts, word_t resultStackPointer) |
bool_t | interpreter_dispatch_optional_keyword (struct object_heap *oh, struct Interpreter *i, struct Object *key, struct Object *value) |
void | interpreter_dispatch_optionals (struct object_heap *oh, struct Interpreter *i, struct OopArray *opts) |
bool_t | interpreter_return_result (struct object_heap *oh, struct Interpreter *i, word_t context_depth, struct Object *result, word_t prevCodePointer) |
void | interpreter_resend_message (struct object_heap *oh, struct Interpreter *i, word_t n, word_t resultStackPointer) |
void | interpreter_branch_keyed (struct object_heap *oh, struct Interpreter *i, struct OopArray *table, struct Object *oop) |
void | interpret (struct object_heap *oh) |
void | method_save_cache (struct object_heap *oh, struct MethodDefinition *md, struct Symbol *name, struct Object *arguments[], word_t n) |
struct MethodDefinition * | method_check_cache (struct object_heap *oh, struct Symbol *selector, struct Object *arguments[], word_t n) |
void | method_unoptimize (struct object_heap *oh, struct CompiledMethod *method) |
void | method_remove_optimized_sending (struct object_heap *oh, struct Symbol *symbol) |
void | method_optimize (struct object_heap *oh, struct CompiledMethod *method) |
void | method_pic_setup (struct object_heap *oh, struct CompiledMethod *caller) |
void | method_pic_flush_caller_pics (struct object_heap *oh, struct CompiledMethod *callee) |
struct MethodDefinition * | method_is_on_arity (struct object_heap *oh, struct Object *method, struct Symbol *selector, struct Object *args[], word_t n) |
struct MethodDefinition * | method_define (struct object_heap *oh, struct Object *method, struct Symbol *selector, struct Object *args[], word_t n) |
void | error (const char *str) |
void | cache_specials (struct object_heap *heap) |
word_t | max (word_t x, word_t y) |
word_t | write_args_into (struct object_heap *oh, char *buffer, word_t limit) |
word_t | hash_selector (struct object_heap *oh, struct Symbol *name, struct Object *arguments[], word_t n) |
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) |
struct Object * | get_special (struct object_heap *oh, word_t special_index) |
struct Map * | object_get_map (struct object_heap *oh, struct Object *o) |
word_t | object_word_size (struct Object *o) |
word_t | object_array_offset (struct Object *o) |
struct Object * | object_array_get_element (struct Object *o, word_t i) |
struct Object * | object_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) |
word_t | object_array_size (struct Object *o) |
word_t | byte_array_size (struct ByteArray *o) |
word_t | array_size (struct OopArray *x) |
word_t | slot_table_capacity (struct SlotTable *roles) |
word_t | role_table_capacity (struct RoleTable *roles) |
word_t | object_byte_size (struct Object *o) |
word_t | object_total_size (struct Object *o) |
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 Object * | object_slot_value_at_offset (struct Object *o, word_t offset) |
struct Object * | object_slot_value_at_offset_put (struct object_heap *oh, struct Object *o, word_t offset, struct Object *value) |
struct RoleEntry * | role_table_entry_for_name (struct object_heap *oh, struct RoleTable *roles, struct Symbol *name) |
struct RoleEntry * | role_table_entry_for_inserting_name (struct object_heap *oh, struct RoleTable *roles, struct Symbol *name) |
struct RoleEntry * | role_table_insert (struct object_heap *oh, struct RoleTable *roles, struct Symbol *name) |
struct SlotEntry * | slot_table_entry_for_name (struct object_heap *oh, struct SlotTable *slots, struct Symbol *name) |
struct SlotEntry * | slot_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 RoleTable * | role_table_grow_excluding (struct object_heap *oh, struct RoleTable *roles, word_t n, struct MethodDefinition *method) |
struct SlotTable * | slot_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 MethodDefinition * | object_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 Object * | object_add_slot_named_at (struct object_heap *oh, struct Object *obj, struct Symbol *name, struct Object *value, word_t offset) |
struct Object * | object_add_slot_named (struct object_heap *oh, struct Object *obj, struct Symbol *name, struct Object *value) |
struct Object * | object_remove_slot (struct object_heap *oh, struct Object *obj, struct Symbol *name) |
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) |
void | prim_fixme (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_closePipe (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_readFromPipe (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_writeToPipe (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_selectOnWritePipesFor (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_cloneSystem (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_socketCreate (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_socketListen (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_socketAccept (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_socketBind (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_socketConnect (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_socketGetError (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_getAddrInfo (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_getAddrInfoResult (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_freeAddrInfoResult (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_socketCreateIP (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_write_to_starting_at (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_close (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_readConsole_from_into_starting_at (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_read_from_into_starting_at (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_write_to_from_starting_at (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_reposition_to (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_positionOf (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_bytesPerWord (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_timeSinceEpoch (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_atEndOf (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_sizeOf (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_flush_output (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_handle_for (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_handleForNew (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_handle_for_input (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_addressOf (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_library_open (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_library_close (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_procAddressOf (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_extlibError (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_applyExternal (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_memory_new (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_memory_close (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_memory_size (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_memory_addRef (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_memory_read (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_memory_write (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_memory_resizeTo (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
void | prim_smallint_at_slot_named (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_bytesize (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_findon (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_ensure (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_frame_pointer_of (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_bytearray_newsize (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_byteat_put (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_byteat (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_map (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_set_map (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_run_args_into (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_exit (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_isIdenticalTo (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_identity_hash (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_identity_hash_univ (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_clone (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_applyto (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *optionals, word_t resultStackPointer) |
void | prim_at (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_at_put (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_ooparray_newsize (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_equals (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_less_than (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_size (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_bitand (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_bitor (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_bitxor (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_bitnot (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_smallIntegerMinimum (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_smallIntegerMaximum (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_plus (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_removefrom (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_exponent (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_significand (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_getcwd (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_setcwd (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_equals (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_less_than (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_plus (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_minus (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_times (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_divide (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_raisedTo (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_ln (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_exp (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_float_sin (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_withSignificand_exponent (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_bitshift (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_minus (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_times (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_quo (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_forward_to (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_clone_setting_slots (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_as_method_on (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_at_slot_named (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_at_slot_named_put (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_clone_with_slot_valued (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_clone_without_slot (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_send_to (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *optionals, word_t resultStackPointer) |
void | prim_send_to_through (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *optionals, word_t resultStackPointer) |
void | prim_as_accessor (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | prim_save_image (struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
void | socket_module_init (struct object_heap *oh) |
word_t | socket_return (word_t ret) |
int | socket_select_setup (struct OopArray *selectOn, fd_set *fdList, int *maxFD) |
void | socket_select_find_available (struct OopArray *selectOn, fd_set *fdList, struct OopArray *readyPipes, word_t readyCount) |
void | prim_selectOnReadPipesFor (struct object_heap *oh, struct Object *args[], word_t arity, struct OopArray *opts, word_t resultStackPointer) |
int | socket_lookup_domain (word_t domain) |
int | socket_reverse_lookup_domain (word_t domain) |
int | socket_lookup_type (word_t type) |
int | socket_reverse_lookup_type (word_t type) |
int | socket_lookup_protocol (word_t protocol) |
int | socket_reverse_lookup_protocol (word_t protocol) |
int | socket_getaddrinfo (struct object_heap *oh, struct ByteArray *hostname, word_t hostnameSize, struct ByteArray *service, word_t serviceSize, word_t family, word_t type, word_t protocol, word_t flags) |
word_t | memory_string_to_bytes (char *str) |
byte_t * | byte_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) |
int | fork2 () |
word_t | calculateMethodCallDepth (struct object_heap *oh) |
void | file_module_init (struct object_heap *oh) |
bool_t | file_handle_isvalid (struct object_heap *oh, word_t file) |
word_t | file_allocate (struct object_heap *oh) |
void | file_close (struct object_heap *oh, word_t file) |
word_t | file_open (struct object_heap *oh, struct ByteArray *name, word_t flags) |
word_t | file_write (struct object_heap *oh, word_t file, word_t n, char *bytes) |
word_t | file_read (struct object_heap *oh, word_t file, word_t n, char *bytes) |
word_t | file_sizeof (struct object_heap *oh, word_t file) |
word_t | file_seek (struct object_heap *oh, word_t file, word_t offset) |
word_t | file_tell (struct object_heap *oh, word_t file) |
bool_t | file_isatend (struct object_heap *oh, word_t file) |
bool_t | file_delete (struct object_heap *oh, char *filename) |
struct Object * | file_information (struct object_heap *oh, char *filename) |
bool_t | file_rename_to (struct object_heap *oh, char *src, char *dest) |
void | dir_module_init (struct object_heap *oh) |
int | dir_open (struct object_heap *oh, struct ByteArray *dirName) |
int | dir_close (struct object_heap *oh, int dirHandle) |
int | dir_read (struct object_heap *oh, int dirHandle, struct ByteArray *entNameBuffer) |
int | dir_getcwd (struct ByteArray *wdBuffer) |
int | dir_setcwd (struct ByteArray *newWd) |
bool_t | dir_make (struct object_heap *oh, char *dir) |
bool_t | dir_delete (struct object_heap *oh, char *dir) |
bool_t | dir_rename_to (struct object_heap *oh, char *src, char *dest) |
void | memarea_module_init (struct object_heap *oh) |
int | memarea_handle_isvalid (struct object_heap *oh, int memory) |
void | memarea_close (struct object_heap *oh, int memory) |
void | memarea_addref (struct object_heap *oh, int memory) |
int | memarea_open (struct object_heap *oh, int size) |
int | memarea_write (struct object_heap *oh, int memory, int memStart, int n, byte_t *bytes) |
int | memarea_read (struct object_heap *oh, int memory, int memStart, int n, byte_t *bytes) |
int | memarea_sizeof (struct object_heap *oh, int memory) |
int | memarea_resize (struct object_heap *oh, int memory, int size) |
int | memarea_addressof (struct object_heap *oh, int memory, int offset, byte_t *addressBuffer) |
void | profiler_start (struct object_heap *oh) |
void | profiler_stop (struct object_heap *oh) |
void | profiler_enter_method (struct object_heap *oh, struct Object *fromMethod, struct Object *toMethod, bool_t push) |
void | profiler_delete_method (struct object_heap *oh, struct Object *method) |
void | heap_notice_forwarded_object (struct object_heap *oh, struct Object *from, struct Object *to) |
void | profiler_notice_forwarded_object (struct object_heap *oh, struct Object *from, struct Object *to) |
bool_t | openExternalLibrary (struct object_heap *oh, struct ByteArray *libname, struct ByteArray *handle) |
bool_t | closeExternalLibrary (struct object_heap *oh, struct ByteArray *handle) |
bool_t | lookupExternalLibraryPrimitive (struct object_heap *oh, struct ByteArray *handle, struct ByteArray *symname, struct ByteArray *ptr) |
int | readExternalLibraryError (struct ByteArray *messageBuffer) |
word_t | extractBigInteger (struct ByteArray *bigInt) |
struct Object * | injectBigInteger (struct object_heap *oh, word_t value) |
struct Object * | applyExternalLibraryPrimitive (struct object_heap *oh, struct ByteArray *fnHandle, struct OopArray *argsFormat, struct Object *callFormat, struct Object *resultFormat, struct OopArray *argsArr) |
struct MethodDefinition * | method_dispatch_on (struct object_heap *oh, struct Symbol *name, struct Object *arguments[], word_t arity, struct Object *resendMethod) |
word_t | object_is_immutable (struct Object *o) |
word_t | smallint_fits_object (word_t i) |
float_type * | float_part (struct ByteArray *o) |
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) |
struct ForwardPointerEntry * | forward_pointer_hash_add (struct ForwardPointerEntry *table, word_t forwardPointerEntryCount, struct Object *fromObj, struct Object *toObj) |
struct ForwardPointerEntry * | forward_pointer_hash_get (struct ForwardPointerEntry *table, word_t forwardPointerEntryCount, struct Object *fromObj) |
int | socket_set_nonblocking (int fd) |
word_t | extractCString (struct ByteArray *array, byte_t *buffer, word_t bufferSize) |
struct MethodDefinition * | method_pic_find_callee (struct object_heap *oh, struct CompiledMethod *callerMethod, struct Symbol *selector, word_t arity, struct Object *args[]) |
void | method_pic_add_callee (struct object_heap *oh, struct CompiledMethod *callerMethod, struct MethodDefinition *def, word_t arity, struct Object *args[]) |
void | method_pic_add_callee_backreference (struct object_heap *oh, struct CompiledMethod *caller, struct CompiledMethod *callee) |
void | print_code_disassembled (struct object_heap *oh, struct OopArray *code) |
void | print_pic_entries (struct object_heap *oh, struct CompiledMethod *method) |
word_t | opcode_length (std::vector< struct Object * > &code, word_t start) |
word_t | opcode_base_length (word_t rawop) |
word_t | opcode_arg_length (std::vector< struct Object * > &code, word_t start) |
word_t | opcode_register_locations (word_t rawop) |
void | optimizer_offset_registers (std::vector< struct Object * > &code, int offset) |
void | optimizer_append_code_to_vector (struct OopArray *code, std::vector< struct Object * > &vector) |
void | optimizer_insert_code (std::vector< struct Object * > &code, size_t offset, std::vector< struct Object * > &newCode) |
void | optimizer_delete_code (std::vector< struct Object * > &code, size_t offset, word_t amount) |
void | optimizer_inline_callees (struct object_heap *oh, struct CompiledMethod *method) |
bool | optimizer_method_can_be_optimized (struct object_heap *oh, struct CompiledMethod *method) |
bool | optimizer_method_can_be_inlined (struct object_heap *oh, struct CompiledMethod *method) |
void | print_code (struct object_heap *oh, std::vector< struct Object * > code) |
void | heap_pin_object (struct object_heap *oh, struct Object *x) |
void | heap_unpin_object (struct object_heap *oh, struct Object *x) |
Variables | |
int | globalInterrupt |
void(* | primitives [])(struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |
#define ASSERT_VALID_REGISTER | ( | X | ) | (assert((X) < (word_t)i->method->registerCount>>1)) |
#define ASSURE_NOT_SMALLINT_ARG | ( | XXX | ) |
Value:
if (object_is_smallint(args[XXX])) { \ interpreter_signal_with(oh, oh->cached.interpreter, get_special(oh, SPECIAL_OOP_TYPE_ERROR_ON), args[XXX], NULL, resultStackPointer); \ return; \ }
#define ASSURE_SMALLINT_ARG | ( | XXX | ) |
Value:
if (!object_is_smallint(args[XXX])) { \ interpreter_signal_with(oh, oh->cached.interpreter, get_special(oh, SPECIAL_OOP_TYPE_ERROR_ON), args[XXX], NULL, resultStackPointer); \ return; \ }
#define ASSURE_TYPE_ARG | ( | XXX, | |||
TYPEXXX | ) |
Value:
if (object_type(args[XXX]) != TYPEXXX) { \ interpreter_signal_with(oh, oh->cached.interpreter, get_special(oh, SPECIAL_OOP_TYPE_ERROR_ON), args[XXX], NULL, resultStackPointer); \ return; \ }
#define HEAP_READ_AND_PIN_ARGS | ( | COUNTER, | |||
ARITY, | |||||
ARGSARRAY, | |||||
PINNEDARGS | ) |
Value:
for (COUNTER=0; COUNTER < ARITY; COUNTER++) { \ word_t argReg = SSA_NEXT_PARAM_SMALLINT; \ ARGSARRAY[COUNTER] = SSA_REGISTER(argReg); \ PINNEDARGS[COUNTER] = ARGSARRAY[COUNTER]; \ heap_pin_object(oh, PINNEDARGS[COUNTER]); \ }
#define HEAP_UNPIN_ARGS | ( | COUNTER, | |||
PINNEDARGS | ) | for (--COUNTER; COUNTER >= 0; COUNTER--) heap_unpin_object(oh, PINNEDARGS[COUNTER]) |
#define OP_INLINE_METHOD_CHECK ((29 << 1) | SMALLINT_MASK) |
#define OP_INLINE_PRIMITIVE_CHECK ((28 << 1) | SMALLINT_MASK) |
#define OP_SEND_MESSAGE_WITH_OPTS ((5 << 1) | SMALLINT_MASK) |
#define OP_STORE_FREE_VARIABLE ((15 << 1) | SMALLINT_MASK) |
#define ROLE_ENTRY_WORD_SIZE ((sizeof(struct RoleEntry) + WORD_BYTES_MINUS_ONE) / sizeof(word_t)) |
#define SLOT_ENTRY_WORD_SIZE ((sizeof(struct SlotEntry) + WORD_BYTES_MINUS_ONE) / sizeof(word_t)) |
#define SOCKET_RETURN | ( | x | ) | (smallint_to_object(socket_return((x < 0)? -errno : x))) |
#define SSA_NEXT_PARAM_OBJECT (i->method->code->elements[i->codePointer++]) |
#define SSA_NEXT_PARAM_SMALLINT ((word_t)i->method->code->elements[i->codePointer++]>>1) |
#define SSA_REGISTER | ( | X | ) | (i->stack->elements[i->framePointer + (X)]) |
typedef float float_type |
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* applyExternalLibraryPrimitive | ( | struct object_heap * | oh, | |
struct ByteArray * | fnHandle, | |||
struct OopArray * | argsFormat, | |||
struct Object * | callFormat, | |||
struct Object * | resultFormat, | |||
struct OopArray * | argsArr | |||
) | [read] |
Definition at line 236 of file external-library.cpp.
Definition at line 107 of file object.cpp.
word_t array_size | ( | struct OopArray * | x | ) |
Definition at line 54 of file inline.hpp.
void assert_good_object | ( | struct object_heap * | oh, | |
struct Object * | obj | |||
) |
Definition at line 78 of file object.cpp.
Definition at line 83 of file object.cpp.
Definition at line 87 of file object.cpp.
word_t byte_array_size | ( | struct ByteArray * | o | ) |
Definition at line 49 of file inline.hpp.
void cache_specials | ( | struct object_heap * | heap | ) |
word_t calculateMethodCallDepth | ( | struct object_heap * | oh | ) |
bool_t closeExternalLibrary | ( | struct object_heap * | oh, | |
struct ByteArray * | handle | |||
) |
Definition at line 56 of file external-library.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.
int dir_close | ( | struct object_heap * | oh, | |
int | dirHandle | |||
) |
Definition at line 51 of file external-directory.cpp.
bool_t dir_delete | ( | struct object_heap * | oh, | |
char * | dir | |||
) |
Definition at line 143 of file external-directory.cpp.
int dir_getcwd | ( | struct ByteArray * | wdBuffer | ) |
Definition at line 97 of file external-directory.cpp.
bool_t dir_make | ( | struct object_heap * | oh, | |
char * | dir | |||
) |
Definition at line 135 of file external-directory.cpp.
void dir_module_init | ( | struct object_heap * | oh | ) |
Definition at line 8 of file external-directory.cpp.
int dir_open | ( | struct object_heap * | oh, | |
struct ByteArray * | dirName | |||
) |
Definition at line 26 of file external-directory.cpp.
int dir_read | ( | struct object_heap * | oh, | |
int | dirHandle, | |||
struct ByteArray * | entNameBuffer | |||
) |
Definition at line 61 of file external-directory.cpp.
bool_t dir_rename_to | ( | struct object_heap * | oh, | |
char * | src, | |||
char * | dest | |||
) |
Definition at line 201 of file external-directory.cpp.
int dir_setcwd | ( | struct ByteArray * | newWd | ) |
Definition at line 106 of file external-directory.cpp.
word_t extractBigInteger | ( | struct ByteArray * | bigInt | ) |
Definition at line 186 of file external-library.cpp.
word_t file_allocate | ( | struct object_heap * | oh | ) |
Definition at line 15 of file external-files.cpp.
void file_close | ( | struct object_heap * | oh, | |
word_t | file | |||
) |
Definition at line 33 of file external-files.cpp.
bool_t file_delete | ( | struct object_heap * | oh, | |
char * | filename | |||
) |
Definition at line 236 of file external-files.cpp.
bool_t file_handle_isvalid | ( | struct object_heap * | oh, | |
word_t | file | |||
) |
Definition at line 11 of file external-files.cpp.
struct Object* file_information | ( | struct object_heap * | oh, | |
char * | filename | |||
) | [read] |
Definition at line 249 of file external-files.cpp.
bool_t file_isatend | ( | struct object_heap * | oh, | |
word_t | file | |||
) |
Definition at line 209 of file external-files.cpp.
void file_module_init | ( | struct object_heap * | oh | ) |
Definition at line 6 of file external-files.cpp.
word_t file_open | ( | struct object_heap * | oh, | |
struct ByteArray * | name, | |||
word_t | flags | |||
) |
Definition at line 44 of file external-files.cpp.
word_t file_read | ( | struct object_heap * | oh, | |
word_t | file, | |||
word_t | n, | |||
char * | bytes | |||
) |
Definition at line 149 of file external-files.cpp.
bool_t file_rename_to | ( | struct object_heap * | oh, | |
char * | src, | |||
char * | dest | |||
) |
Definition at line 267 of file external-files.cpp.
word_t file_seek | ( | struct object_heap * | oh, | |
word_t | file, | |||
word_t | offset | |||
) |
Definition at line 180 of file external-files.cpp.
word_t file_sizeof | ( | struct object_heap * | oh, | |
word_t | file | |||
) |
Definition at line 160 of file external-files.cpp.
word_t file_tell | ( | struct object_heap * | oh, | |
word_t | file | |||
) |
Definition at line 194 of file external-files.cpp.
word_t file_write | ( | struct object_heap * | oh, | |
word_t | file, | |||
word_t | n, | |||
char * | bytes | |||
) |
Definition at line 138 of file external-files.cpp.
void fill_words_with | ( | word_t * | dst, | |
word_t | n, | |||
word_t | value | |||
) |
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.
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* get_special | ( | struct object_heap * | oh, | |
word_t | special_index | |||
) | [read] |
Definition at line 33 of file inline.hpp.
SLATE_INLINE volatile int64_t getRealTimeClock | ( | ) |
Definition at line 189 of file inline.hpp.
word_t hash_selector | ( | struct object_heap * | oh, | |
struct Symbol * | name, | |||
struct Object * | arguments[], | |||
word_t | n | |||
) |
Definition at line 172 of file inline.hpp.
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 | |||
) |
void heap_integrity_check | ( | struct object_heap * | oh, | |
byte_t * | memory, | |||
word_t | memorySize | |||
) |
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_fixed | ( | struct object_heap * | oh, | |
bool_t | mark_old | |||
) |
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 Object* heap_new_cstring | ( | struct object_heap * | oh, | |
byte_t * | input | |||
) | [read] |
Definition at line 232 of file external-library.cpp.
struct ByteArray* heap_new_float | ( | struct object_heap * | oh | ) | [read] |
word_t heap_new_hash | ( | struct object_heap * | oh | ) |
Definition at line 40 of file object.cpp.
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_object | ( | struct object_heap * | oh, | |
struct Object * | x | |||
) |
Definition at line 75 of file inline.hpp.
void heap_print_marks | ( | struct object_heap * | oh, | |
byte_t * | memory, | |||
word_t | memorySize | |||
) |
void heap_print_objects | ( | struct object_heap * | oh, | |
byte_t * | memory, | |||
word_t | memorySize | |||
) |
void heap_remember_old_object | ( | struct object_heap * | oh, | |
struct Object * | x | |||
) |
void heap_start_gc | ( | struct object_heap * | oh | ) |
void heap_store_into | ( | struct object_heap * | oh, | |
struct Object * | src, | |||
struct Object * | dest | |||
) |
Definition at line 7 of file inline.hpp.
void heap_tenure | ( | struct object_heap * | oh | ) |
void heap_unmark_all | ( | struct object_heap * | oh, | |
byte_t * | memory, | |||
word_t | memorySize | |||
) |
void heap_unpin_object | ( | struct object_heap * | oh, | |
struct Object * | x | |||
) |
Definition at line 84 of file inline.hpp.
void heap_update_forwarded_pointers | ( | struct object_heap * | oh, | |
byte_t * | memory, | |||
word_t | memorySize | |||
) |
word_t heap_what_points_to | ( | struct object_heap * | oh, | |
struct Object * | x, | |||
bool_t | ||||
) |
word_t heap_what_points_to_in | ( | struct object_heap * | oh, | |
struct Object * | x, | |||
byte_t * | memory, | |||
word_t | memorySize, | |||
bool_t | ||||
) |
void heap_zero_pin_counts_from | ( | struct object_heap * | oh, | |
byte_t * | memory, | |||
word_t | memorySize | |||
) |
Definition at line 153 of file inline.hpp.
struct Object* injectBigInteger | ( | struct object_heap * | oh, | |
word_t | value | |||
) | [read] |
Definition at line 208 of file external-library.cpp.
void interpret | ( | struct object_heap * | oh | ) |
Definition at line 677 of file interpreter.cpp.
void interpreter_apply_to_arity_with_optionals | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct Closure * | closure, | |||
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 168 of file interpreter.cpp.
void interpreter_branch_keyed | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct OopArray * | table, | |||
struct Object * | oop | |||
) |
Definition at line 618 of file interpreter.cpp.
bool_t interpreter_dispatch_optional_keyword | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct Object * | key, | |||
struct Object * | value | |||
) |
Definition at line 135 of file interpreter.cpp.
void interpreter_dispatch_optionals | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct OopArray * | opts | |||
) |
Definition at line 158 of file interpreter.cpp.
void interpreter_grow_stack | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
word_t | minimum | |||
) |
Definition at line 4 of file interpreter.cpp.
void interpreter_resend_message | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
word_t | n, | |||
word_t | resultStackPointer | |||
) |
Definition at line 516 of file interpreter.cpp.
bool_t interpreter_return_result | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
word_t | context_depth, | |||
struct Object * | result, | |||
word_t | prevCodePointer | |||
) |
Definition at line 395 of file interpreter.cpp.
void interpreter_signal | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct Object * | signal, | |||
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 97 of file interpreter.cpp.
void interpreter_signal_with | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct Object * | signal, | |||
struct Object * | arg, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 112 of file interpreter.cpp.
void interpreter_signal_with_with | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct Object * | signal, | |||
struct Object * | arg, | |||
struct Object * | arg2, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 120 of file interpreter.cpp.
void interpreter_signal_with_with_with | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct Object * | signal, | |||
struct Object * | arg, | |||
struct Object * | arg2, | |||
struct Object * | arg3, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 127 of file interpreter.cpp.
void interpreter_stack_allocate | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
word_t | n | |||
) |
Definition at line 19 of file interpreter.cpp.
struct Object* interpreter_stack_pop | ( | struct object_heap * | oh, | |
struct Interpreter * | i | |||
) | [read] |
Definition at line 49 of file interpreter.cpp.
void interpreter_stack_pop_amount | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
word_t | amount | |||
) |
Definition at line 69 of file interpreter.cpp.
void interpreter_stack_push | ( | struct object_heap * | oh, | |
struct Interpreter * | i, | |||
struct Object * | value | |||
) |
Definition at line 33 of file interpreter.cpp.
bool_t lookupExternalLibraryPrimitive | ( | struct object_heap * | oh, | |
struct ByteArray * | handle, | |||
struct ByteArray * | symname, | |||
struct ByteArray * | ptr | |||
) |
Definition at line 69 of file external-library.cpp.
void memarea_addref | ( | struct object_heap * | oh, | |
int | memory | |||
) |
Definition at line 36 of file external-memory.cpp.
int memarea_addressof | ( | struct object_heap * | oh, | |
int | memory, | |||
int | offset, | |||
byte_t * | addressBuffer | |||
) |
Definition at line 107 of file external-memory.cpp.
void memarea_close | ( | struct object_heap * | oh, | |
int | memory | |||
) |
Definition at line 26 of file external-memory.cpp.
int memarea_handle_isvalid | ( | struct object_heap * | oh, | |
int | memory | |||
) |
Definition at line 12 of file external-memory.cpp.
void memarea_module_init | ( | struct object_heap * | oh | ) |
Definition at line 6 of file external-memory.cpp.
int memarea_open | ( | struct object_heap * | oh, | |
int | size | |||
) |
Definition at line 41 of file external-memory.cpp.
int memarea_read | ( | struct object_heap * | oh, | |
int | memory, | |||
int | memStart, | |||
int | n, | |||
byte_t * | bytes | |||
) |
Definition at line 73 of file external-memory.cpp.
int memarea_resize | ( | struct object_heap * | oh, | |
int | memory, | |||
int | size | |||
) |
Definition at line 91 of file external-memory.cpp.
int memarea_sizeof | ( | struct object_heap * | oh, | |
int | memory | |||
) |
Definition at line 87 of file external-memory.cpp.
int memarea_write | ( | struct object_heap * | oh, | |
int | memory, | |||
int | memStart, | |||
int | n, | |||
byte_t * | bytes | |||
) |
Definition at line 59 of file external-memory.cpp.
struct MethodDefinition* method_check_cache | ( | struct object_heap * | oh, | |
struct Symbol * | selector, | |||
struct Object * | arguments[], | |||
word_t | n | |||
) | [read] |
Definition at line 26 of file method.cpp.
struct MethodDefinition* method_define | ( | struct object_heap * | oh, | |
struct Object * | method, | |||
struct Symbol * | selector, | |||
struct Object * | args[], | |||
word_t | n | |||
) | [read] |
Definition at line 592 of file method.cpp.
struct MethodDefinition* method_dispatch_on | ( | struct object_heap * | oh, | |
struct Symbol * | name, | |||
struct Object * | arguments[], | |||
word_t | arity, | |||
struct Object * | resendMethod | |||
) | [read] |
Definition at line 64 of file method.cpp.
void method_flush_cache | ( | struct object_heap * | oh, | |
struct Symbol * | selector | |||
) |
struct MethodDefinition* method_is_on_arity | ( | struct object_heap * | oh, | |
struct Object * | method, | |||
struct Symbol * | selector, | |||
struct Object * | args[], | |||
word_t | n | |||
) | [read] |
Definition at line 567 of file method.cpp.
void method_optimize | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method | |||
) |
Definition at line 325 of file method.cpp.
void method_pic_add_callee | ( | struct object_heap * | oh, | |
struct CompiledMethod * | callerMethod, | |||
struct MethodDefinition * | def, | |||
word_t | arity, | |||
struct Object * | args[] | |||
) |
Definition at line 486 of file method.cpp.
void method_pic_add_callee_backreference | ( | struct object_heap * | oh, | |
struct CompiledMethod * | caller, | |||
struct CompiledMethod * | callee | |||
) |
Definition at line 459 of file method.cpp.
struct MethodDefinition* method_pic_find_callee | ( | struct object_heap * | oh, | |
struct CompiledMethod * | callerMethod, | |||
struct Symbol * | selector, | |||
word_t | arity, | |||
struct Object * | args[] | |||
) | [read] |
Definition at line 532 of file method.cpp.
void method_pic_flush_caller_pics | ( | struct object_heap * | oh, | |
struct CompiledMethod * | callee | |||
) |
Definition at line 443 of file method.cpp.
void method_pic_setup | ( | struct object_heap * | oh, | |
struct CompiledMethod * | caller | |||
) |
Definition at line 382 of file method.cpp.
void method_remove_optimized_sending | ( | struct object_heap * | oh, | |
struct Symbol * | symbol | |||
) |
Definition at line 289 of file method.cpp.
void method_save_cache | ( | struct object_heap * | oh, | |
struct MethodDefinition * | md, | |||
struct Symbol * | name, | |||
struct Object * | arguments[], | |||
word_t | n | |||
) |
Definition at line 12 of file method.cpp.
void method_unoptimize | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method | |||
) |
Definition at line 275 of file method.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_after | ( | struct object_heap * | heap, | |
struct Object * | o | |||
) | [read] |
Definition at line 141 of file inline.hpp.
Definition at line 103 of file object.cpp.
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.
word_t object_array_size | ( | struct Object * | o | ) |
Definition at line 42 of file inline.hpp.
word_t object_byte_size | ( | struct Object * | o | ) |
Definition at line 59 of file inline.hpp.
void object_change_map | ( | struct object_heap * | oh, | |
struct Object * | obj, | |||
struct Map * | map | |||
) |
Definition at line 403 of file object.cpp.
void object_decrement_pin_count | ( | struct Object * | xxx | ) |
Definition at line 110 of file inline.hpp.
word_t object_first_slot_offset | ( | struct Object * | o | ) |
Definition at line 125 of file object.cpp.
void object_forward_pointers_to | ( | struct object_heap * | oh, | |
struct Object * | o, | |||
struct Object * | x, | |||
struct Object * | y | |||
) |
struct Map* object_get_map | ( | struct object_heap * | oh, | |
struct Object * | o | |||
) | [read] |
Definition at line 37 of file inline.hpp.
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_hash | ( | struct Object * | xxx | ) |
Definition at line 27 of file inline.hpp.
bool_t object_in_memory | ( | struct object_heap * | oh, | |
struct Object * | oop, | |||
byte_t * | memory, | |||
word_t | memorySize | |||
) |
Definition at line 136 of file inline.hpp.
void object_increment_pin_count | ( | struct Object * | xxx | ) |
Definition at line 93 of file inline.hpp.
Definition at line 148 of file inline.hpp.
word_t object_is_immutable | ( | struct Object * | o | ) |
Definition at line 62 of file object.cpp.
bool_t object_is_marked | ( | struct object_heap * | heap, | |
struct Object * | o | |||
) |
bool_t object_is_old | ( | struct object_heap * | oh, | |
struct Object * | oop | |||
) |
Definition at line 126 of file inline.hpp.
bool_t object_is_pinned | ( | struct object_heap * | oh, | |
struct Object * | x | |||
) |
bool_t object_is_remembered | ( | struct object_heap * | oh, | |
struct Object * | x | |||
) |
Definition at line 19 of file inline.hpp.
bool_t object_is_special | ( | struct object_heap * | oh, | |
struct Object * | obj | |||
) |
Definition at line 64 of file object.cpp.
bool_t object_is_young | ( | struct object_heap * | oh, | |
struct Object * | obj | |||
) |
Definition at line 131 of file inline.hpp.
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_markbit | ( | struct Object * | xxx | ) |
Definition at line 26 of file inline.hpp.
word_t object_pin_count | ( | struct Object * | xxx | ) |
Definition at line 31 of file inline.hpp.
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.
word_t object_size | ( | struct Object * | xxx | ) |
Definition at line 28 of file inline.hpp.
Definition at line 166 of file inline.hpp.
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.
word_t object_to_smallint | ( | struct Object * | xxx | ) |
Definition at line 20 of file inline.hpp.
word_t object_total_size | ( | struct Object * | o | ) |
Definition at line 67 of file inline.hpp.
word_t object_type | ( | struct Object * | xxx | ) |
Definition at line 30 of file inline.hpp.
void object_unmark | ( | struct object_heap * | oh, | |
struct Object * | xxx | |||
) |
Definition at line 17 of file object.cpp.
word_t object_word_size | ( | struct Object * | o | ) |
Definition at line 157 of file inline.hpp.
void object_zero_pin_count | ( | struct Object * | xxx | ) |
Definition at line 8 of file object.cpp.
bool_t oop_is_object | ( | word_t | xxx | ) |
Definition at line 24 of file inline.hpp.
bool_t oop_is_smallint | ( | word_t | xxx | ) |
Definition at line 25 of file inline.hpp.
word_t opcode_arg_length | ( | std::vector< struct Object * > & | code, | |
word_t | start | |||
) |
Definition at line 66 of file optimizer.cpp.
word_t opcode_base_length | ( | word_t | rawop | ) |
Definition at line 107 of file optimizer.cpp.
word_t opcode_length | ( | std::vector< struct Object * > & | code, | |
word_t | start | |||
) |
Definition at line 61 of file optimizer.cpp.
word_t opcode_register_locations | ( | word_t | rawop | ) |
Definition at line 187 of file optimizer.cpp.
bool_t openExternalLibrary | ( | struct object_heap * | oh, | |
struct ByteArray * | libname, | |||
struct ByteArray * | handle | |||
) |
Definition at line 26 of file external-library.cpp.
void optimizer_append_code_to_vector | ( | struct OopArray * | code, | |
std::vector< struct Object * > & | vector | |||
) |
Definition at line 222 of file optimizer.cpp.
void optimizer_delete_code | ( | std::vector< struct Object * > & | code, | |
size_t | offset, | |||
word_t | amount | |||
) |
Definition at line 295 of file optimizer.cpp.
void optimizer_inline_callees | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method | |||
) |
Definition at line 483 of file optimizer.cpp.
void optimizer_insert_code | ( | std::vector< struct Object * > & | code, | |
size_t | offset, | |||
std::vector< struct Object * > & | newCode | |||
) |
Definition at line 259 of file optimizer.cpp.
bool optimizer_method_can_be_inlined | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method | |||
) |
Definition at line 358 of file optimizer.cpp.
bool optimizer_method_can_be_optimized | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method | |||
) |
Definition at line 336 of file optimizer.cpp.
void optimizer_offset_registers | ( | std::vector< struct Object * > & | code, | |
int | offset | |||
) |
Definition at line 233 of file optimizer.cpp.
void payload_set_size | ( | struct Object * | xxx, | |
word_t | size | |||
) |
Definition at line 34 of file object.cpp.
word_t payload_size | ( | struct Object * | xxx | ) |
Definition at line 29 of file inline.hpp.
void prim_addressOf | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1393 of file primitives.cpp.
void prim_applyExternal | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1452 of file primitives.cpp.
void prim_applyto | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | optionals, | |||
word_t | resultStackPointer | |||
) |
Definition at line 211 of file primitives.cpp.
void prim_as_accessor | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 402 of file primitives.cpp.
void prim_as_method_on | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 315 of file primitives.cpp.
void prim_at | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 457 of file primitives.cpp.
void prim_at_put | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 471 of file primitives.cpp.
void prim_at_slot_named | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 69 of file primitives.cpp.
void prim_at_slot_named_put | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 91 of file primitives.cpp.
void prim_atEndOf | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 567 of file primitives.cpp.
void prim_bitand | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2052 of file primitives.cpp.
void prim_bitnot | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2067 of file primitives.cpp.
void prim_bitor | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2057 of file primitives.cpp.
void prim_bitshift | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2120 of file primitives.cpp.
void prim_bitxor | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2062 of file primitives.cpp.
void prim_bytearray_newsize | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 507 of file primitives.cpp.
void prim_byteat | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 547 of file primitives.cpp.
void prim_byteat_put | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 525 of file primitives.cpp.
void prim_bytesize | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 521 of file primitives.cpp.
void prim_bytesPerWord | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1196 of file primitives.cpp.
void prim_clone | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 121 of file primitives.cpp.
void prim_clone_setting_slots | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 130 of file primitives.cpp.
void prim_clone_with_slot_valued | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 156 of file primitives.cpp.
void prim_clone_without_slot | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 167 of file primitives.cpp.
void prim_cloneSystem | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1617 of file primitives.cpp.
void prim_close | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1050 of file primitives.cpp.
void prim_closePipe | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 630 of file primitives.cpp.
void prim_ensure | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 268 of file primitives.cpp.
void prim_equals | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2040 of file primitives.cpp.
void prim_exit | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2028 of file primitives.cpp.
void prim_exponent | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2097 of file primitives.cpp.
void prim_extlibError | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1446 of file primitives.cpp.
void prim_findon | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 255 of file primitives.cpp.
void prim_fixme | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 13 of file primitives.cpp.
void prim_float_divide | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2242 of file primitives.cpp.
void prim_float_equals | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2202 of file primitives.cpp.
void prim_float_exp | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2263 of file primitives.cpp.
void prim_float_less_than | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2211 of file primitives.cpp.
void prim_float_ln | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2256 of file primitives.cpp.
void prim_float_minus | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2227 of file primitives.cpp.
void prim_float_plus | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2220 of file primitives.cpp.
void prim_float_raisedTo | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2249 of file primitives.cpp.
void prim_float_sin | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2270 of file primitives.cpp.
void prim_float_times | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2235 of file primitives.cpp.
void prim_flush_output | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 584 of file primitives.cpp.
void prim_forward_to | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 44 of file primitives.cpp.
void prim_frame_pointer_of | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1592 of file primitives.cpp.
void prim_freeAddrInfoResult | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 940 of file primitives.cpp.
void prim_getAddrInfo | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 850 of file primitives.cpp.
void prim_getAddrInfoResult | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 884 of file primitives.cpp.
void prim_getcwd | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
void prim_handle_for | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
void prim_handle_for_input | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
void prim_handleForNew | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
void prim_identity_hash | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 25 of file primitives.cpp.
void prim_identity_hash_univ | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 32 of file primitives.cpp.
void prim_isIdenticalTo | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 21 of file primitives.cpp.
void prim_less_than | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2044 of file primitives.cpp.
void prim_library_close | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1423 of file primitives.cpp.
void prim_library_open | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1412 of file primitives.cpp.
void prim_map | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 180 of file primitives.cpp.
void prim_memory_addRef | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1504 of file primitives.cpp.
void prim_memory_close | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1483 of file primitives.cpp.
void prim_memory_new | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1465 of file primitives.cpp.
void prim_memory_read | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1515 of file primitives.cpp.
void prim_memory_resizeTo | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1559 of file primitives.cpp.
void prim_memory_size | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1493 of file primitives.cpp.
void prim_memory_write | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1537 of file primitives.cpp.
void prim_minus | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2152 of file primitives.cpp.
void prim_ooparray_newsize | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 489 of file primitives.cpp.
void prim_plus | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2080 of file primitives.cpp.
void prim_positionOf | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1150 of file primitives.cpp.
void prim_procAddressOf | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1434 of file primitives.cpp.
void prim_quo | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2186 of file primitives.cpp.
void prim_read_from_into_starting_at | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1122 of file primitives.cpp.
void prim_readConsole_from_into_starting_at | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1109 of file primitives.cpp.
void prim_readFromPipe | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 644 of file primitives.cpp.
void prim_removefrom | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 368 of file primitives.cpp.
void prim_reposition_to | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1142 of file primitives.cpp.
void prim_run_args_into | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1780 of file primitives.cpp.
void prim_save_image | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1956 of file primitives.cpp.
void prim_selectOnReadPipesFor | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 81 of file socket.cpp.
void prim_selectOnWritePipesFor | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 701 of file primitives.cpp.
void prim_send_to | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | optionals, | |||
word_t | resultStackPointer | |||
) |
Definition at line 287 of file primitives.cpp.
void prim_send_to_through | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | optionals, | |||
word_t | resultStackPointer | |||
) |
Definition at line 300 of file primitives.cpp.
void prim_set_map | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 193 of file primitives.cpp.
void prim_setcwd | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
void prim_significand | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2103 of file primitives.cpp.
void prim_size | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 501 of file primitives.cpp.
void prim_sizeOf | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 577 of file primitives.cpp.
void prim_smallint_at_slot_named | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1572 of file primitives.cpp.
void prim_smallIntegerMaximum | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2076 of file primitives.cpp.
void prim_smallIntegerMinimum | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2072 of file primitives.cpp.
void prim_socketAccept | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 778 of file primitives.cpp.
void prim_socketBind | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 807 of file primitives.cpp.
void prim_socketConnect | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 819 of file primitives.cpp.
void prim_socketCreate | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 739 of file primitives.cpp.
void prim_socketCreateIP | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 959 of file primitives.cpp.
void prim_socketGetError | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 832 of file primitives.cpp.
void prim_socketListen | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 764 of file primitives.cpp.
void prim_times | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2168 of file primitives.cpp.
void prim_timeSinceEpoch | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1375 of file primitives.cpp.
void prim_withSignificand_exponent | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | n, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 2109 of file primitives.cpp.
void prim_write_to_from_starting_at | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1132 of file primitives.cpp.
void prim_write_to_starting_at | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 1034 of file primitives.cpp.
void prim_writeToPipe | ( | struct object_heap * | oh, | |
struct Object * | args[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 673 of file primitives.cpp.
void print_backtrace | ( | struct object_heap * | oh | ) |
void print_code | ( | struct object_heap * | oh, | |
std::vector< struct Object * > | code | |||
) |
Definition at line 44 of file optimizer.cpp.
void print_code_disassembled | ( | struct object_heap * | oh, | |
struct OopArray * | code | |||
) |
void print_detail | ( | struct object_heap * | oh, | |
struct Object * | o | |||
) |
void print_object_with_depth | ( | struct object_heap * | oh, | |
struct Object * | o, | |||
word_t | depth, | |||
word_t | max_depth | |||
) |
void print_pic_entries | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method | |||
) |
bool_t print_printname | ( | struct object_heap * | oh, | |
struct Object * | o | |||
) |
void print_stack | ( | struct object_heap * | oh | ) |
void print_stack_types | ( | struct object_heap * | oh, | |
word_t | last_count | |||
) |
void print_type | ( | struct object_heap * | oh, | |
struct Object * | o | |||
) |
void profiler_delete_method | ( | struct object_heap * | oh, | |
struct Object * | method | |||
) |
Definition at line 123 of file profiler.cpp.
void profiler_enter_method | ( | struct object_heap * | oh, | |
struct Object * | fromMethod, | |||
struct Object * | toMethod, | |||
bool_t | push | |||
) |
Definition at line 28 of file profiler.cpp.
void profiler_notice_forwarded_object | ( | struct object_heap * | oh, | |
struct Object * | from, | |||
struct Object * | to | |||
) |
Definition at line 85 of file profiler.cpp.
void profiler_start | ( | struct object_heap * | oh | ) |
Definition at line 3 of file profiler.cpp.
void profiler_stop | ( | struct object_heap * | oh | ) |
Definition at line 22 of file profiler.cpp.
int readExternalLibraryError | ( | struct ByteArray * | messageBuffer | ) |
Definition at line 97 of file external-library.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.
void send_to_through_arity_with_optionals | ( | struct object_heap * | oh, | |
struct Symbol * | selector, | |||
struct Object * | args[], | |||
struct Object * | dispatchers[], | |||
word_t | arity, | |||
struct OopArray * | opts, | |||
word_t | resultStackPointer | |||
) |
Definition at line 290 of file interpreter.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.
struct Object* smallint_to_object | ( | word_t | xxx | ) | [read] |
Definition at line 21 of file inline.hpp.
int socket_getaddrinfo | ( | struct object_heap * | oh, | |
struct ByteArray * | hostname, | |||
word_t | hostnameSize, | |||
struct ByteArray * | service, | |||
word_t | serviceSize, | |||
word_t | family, | |||
word_t | type, | |||
word_t | protocol, | |||
word_t | flags | |||
) |
Definition at line 196 of file socket.cpp.
int socket_lookup_domain | ( | word_t | domain | ) |
Definition at line 116 of file socket.cpp.
int socket_lookup_protocol | ( | word_t | protocol | ) |
Definition at line 148 of file socket.cpp.
int socket_lookup_type | ( | word_t | type | ) |
Definition at line 134 of file socket.cpp.
void socket_module_init | ( | struct object_heap * | oh | ) |
Definition at line 3 of file socket.cpp.
word_t socket_return | ( | word_t | ret | ) |
Definition at line 12 of file socket.cpp.
int socket_reverse_lookup_domain | ( | word_t | domain | ) |
Definition at line 125 of file socket.cpp.
int socket_reverse_lookup_protocol | ( | word_t | protocol | ) |
Definition at line 154 of file socket.cpp.
int socket_reverse_lookup_type | ( | word_t | type | ) |
Definition at line 141 of file socket.cpp.
void socket_select_find_available | ( | struct OopArray * | selectOn, | |
fd_set * | fdList, | |||
struct OopArray * | readyPipes, | |||
word_t | readyCount | |||
) |
Definition at line 70 of file socket.cpp.
int socket_select_setup | ( | struct OopArray * | selectOn, | |
fd_set * | fdList, | |||
int * | maxFD | |||
) |
Definition at line 50 of file socket.cpp.
int socket_set_nonblocking | ( | int | fd | ) |
Definition at line 160 of file socket.cpp.
void unhandled_signal | ( | struct object_heap * | oh, | |
struct Symbol * | selector, | |||
word_t | n, | |||
struct Object * | args[] | |||
) |
Definition at line 81 of file interpreter.cpp.
word_t write_args_into | ( | struct object_heap * | oh, | |
char * | buffer, | |||
word_t | limit | |||
) |
int globalInterrupt |
void(* primitives[])(struct object_heap *oh, struct Object *args[], word_t n, struct OopArray *opts, word_t resultStackPointer) |