/home/briantrice/src/slate-language/src/vm/optimizer.cpp File Reference

#include "slate.hpp"

Include dependency graph for optimizer.cpp:

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)


Function Documentation

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.

bool optimizer_picEntry_compare ( struct Object **  entryA,
struct Object **  entryB 
)

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.


Generated on Fri Feb 5 09:54:11 2010 for Slate VM by  doxygen 1.5.8