#include "slate.hpp"
Go to the source code of this file.
Functions | |
void | print_opcode_args (struct object_heap *oh, std::vector< struct Object * > &code, size_t start, size_t args) |
void | print_code (struct object_heap *oh, std::vector< struct Object * > code) |
word_t | opcode_length (std::vector< struct Object * > &code, word_t start) |
word_t | opcode_arg_length (std::vector< struct Object * > &code, word_t start) |
word_t | opcode_base_length (word_t rawop) |
word_t | opcode_jump_offset (word_t rawop) |
word_t | opcode_jump_adjustment (word_t rawop) |
bool | opcode_can_jump (word_t rawop) |
word_t | opcode_register_locations (word_t rawop) |
void | optimizer_append_code_to_vector (struct OopArray *code, std::vector< struct Object * > &vector) |
void | optimizer_offset_value (std::vector< struct Object * > &code, word_t pos, word_t offset) |
void | optimizer_offset_registers (std::vector< struct Object * > &code, int offset) |
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) |
bool | optimizer_picEntry_compare (struct Object **entryA, struct Object **entryB) |
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 | optimizer_commonly_called_implementations (struct object_heap *oh, struct CompiledMethod *method, struct Symbol *selector, std::vector< struct Object ** > &out) |
void | optimizer_change_returns_to_jumps (struct object_heap *oh, std::vector< struct Object * > &code, word_t resultReg, word_t jumpOutDistance) |
void | optimizer_remove_redundant_ops (struct object_heap *oh, struct CompiledMethod *method, std::vector< struct Object * > &code) |
void | optimizer_remove_internal_ops (struct object_heap *oh, struct CompiledMethod *method, std::vector< struct Object * > &code) |
size_t | optimizer_op_location_before (std::vector< struct Object * > &code, size_t opPos) |
void | optimizer_inline_callees (struct object_heap *oh, struct CompiledMethod *method) |
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.
bool opcode_can_jump | ( | word_t | rawop | ) |
Definition at line 167 of file optimizer.cpp.
word_t opcode_jump_adjustment | ( | word_t | rawop | ) |
Definition at line 155 of file optimizer.cpp.
word_t opcode_jump_offset | ( | word_t | rawop | ) |
Definition at line 142 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.
void optimizer_append_code_to_vector | ( | struct OopArray * | code, | |
std::vector< struct Object * > & | vector | |||
) |
Definition at line 222 of file optimizer.cpp.
void optimizer_change_returns_to_jumps | ( | struct object_heap * | oh, | |
std::vector< struct Object * > & | code, | |||
word_t | resultReg, | |||
word_t | jumpOutDistance | |||
) |
Definition at line 413 of file optimizer.cpp.
void optimizer_commonly_called_implementations | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method, | |||
struct Symbol * | selector, | |||
std::vector< struct Object ** > & | out | |||
) |
Definition at line 388 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 optimizer_offset_value | ( | std::vector< struct Object * > & | code, | |
word_t | pos, | |||
word_t | offset | |||
) |
Definition at line 227 of file optimizer.cpp.
size_t optimizer_op_location_before | ( | std::vector< struct Object * > & | code, | |
size_t | opPos | |||
) |
Definition at line 474 of file optimizer.cpp.
Definition at line 331 of file optimizer.cpp.
void optimizer_remove_internal_ops | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method, | |||
std::vector< struct Object * > & | code | |||
) |
Definition at line 461 of file optimizer.cpp.
void optimizer_remove_redundant_ops | ( | struct object_heap * | oh, | |
struct CompiledMethod * | method, | |||
std::vector< struct Object * > & | code | |||
) |
Definition at line 445 of file optimizer.cpp.
void print_code | ( | struct object_heap * | oh, | |
std::vector< struct Object * > | code | |||
) |
Definition at line 44 of file optimizer.cpp.
void print_opcode_args | ( | struct object_heap * | oh, | |
std::vector< struct Object * > & | code, | |||
size_t | start, | |||
size_t | args | |||
) |
Definition at line 36 of file optimizer.cpp.