#include <interpreter.hpp>
Inheritance diagram for Interpreter:
Static Public Member Functions | |
static bool | contains (char *pc) |
static bool | is_optimized () |
static bool | can_trace_bytecodes () |
static bool | can_trace_sends () |
static bool | has_assertions () |
static bool | has_stack_checks () |
static bool | has_timers () |
static void | print_code_status () |
static void | loop_counter_overflow () |
static int | loop_counter () |
static void | reset_loop_counter () |
static int | loop_counter_limit () |
static void | set_loop_counter_limit (int limit) |
static void | set_invocation_counter_limit (int new_limit) |
static int | get_invocation_counter_limit () |
static char * | redo_send_entry () |
static bool | is_initialized () |
static void | init () |
Static Public Attributes | |
static char * | _last_native_called = NULL |
Static Private Member Functions | |
static void | trace_bytecode () |
static void | wrong_eax () |
static void | wrong_ebx () |
static void | wrong_esp () |
static void | wrong_obj () |
static void | wrong_primitive_result () |
static doubleOop | oopify_FloatValue () |
Static Private Attributes | |
static bool | _is_initialized = false |
static char * | _code_begin_addr = NULL |
static char * | _code_end_addr = NULL |
static int * | _invocation_counter_addr = NULL |
static char * | _redo_send_entry = NULL |
Friends | |
class | InterpreterGenerator |
Definition at line 25 of file interpreter.hpp.
bool Interpreter::can_trace_bytecodes | ( | ) | [static] |
Definition at line 75 of file interpreter.cpp.
References InterpreterCodeStatus().
Referenced by print_code_status().
Here is the call graph for this function:
bool Interpreter::can_trace_sends | ( | ) | [static] |
Definition at line 76 of file interpreter.cpp.
References InterpreterCodeStatus().
Referenced by print_code_status().
Here is the call graph for this function:
bool Interpreter::contains | ( | char * | pc | ) | [static] |
Definition at line 65 of file interpreter.cpp.
References _code_begin_addr, _code_end_addr, interpreter_begin_addr, and interpreter_end_addr.
Referenced by frame::is_interpreted_frame().
int Interpreter::get_invocation_counter_limit | ( | ) | [static] |
Definition at line 230 of file interpreter.cpp.
References methodOopDesc::_invocation_count_offset, methodOopDesc::_invocation_count_width, _invocation_counter_addr, assert, and get_unsigned_bitfield().
Referenced by PRIM_DECL_0().
Here is the call graph for this function:
bool Interpreter::has_assertions | ( | ) | [static] |
Definition at line 77 of file interpreter.cpp.
References InterpreterCodeStatus().
Referenced by print_code_status().
Here is the call graph for this function:
bool Interpreter::has_stack_checks | ( | ) | [static] |
Definition at line 78 of file interpreter.cpp.
References InterpreterCodeStatus().
Referenced by print_code_status().
Here is the call graph for this function:
bool Interpreter::has_timers | ( | ) | [static] |
Definition at line 79 of file interpreter.cpp.
References InterpreterCodeStatus().
Referenced by print_code_status().
Here is the call graph for this function:
void Interpreter::init | ( | ) | [static] |
Definition at line 238 of file interpreter.cpp.
References _is_initialized, reset_loop_counter(), set_invocation_counter_limit(), and set_loop_counter_limit().
Here is the call graph for this function:
static bool Interpreter::is_initialized | ( | ) | [inline, static] |
bool Interpreter::is_optimized | ( | ) | [static] |
Definition at line 74 of file interpreter.cpp.
References InterpreterCodeStatus().
Referenced by Universe::genesis(), and print_code_status().
Here is the call graph for this function:
int Interpreter::loop_counter | ( | ) | [static] |
int Interpreter::loop_counter_limit | ( | ) | [static] |
Definition at line 131 of file interpreter.cpp.
References interpreter_loop_counter_limit.
Referenced by loop_counter_overflow().
void Interpreter::loop_counter_overflow | ( | ) | [static] |
Definition at line 105 of file interpreter.cpp.
References DeltaProcess::active(), outputStream::cr(), debug(), methodOopDesc::invocation_count(), DeltaProcess::last_frame(), loop_counter_limit(), frame::method(), outputStream::print(), oopDesc::print_value(), reset_loop_counter(), methodOopDesc::set_invocation_count(), and std.
Referenced by loop_counter_overflow().
Here is the call graph for this function:
doubleOop Interpreter::oopify_FloatValue | ( | ) | [static, private] |
Definition at line 208 of file interpreter.cpp.
References DeltaProcess::active(), assert, float_0_offset, Bytecodes::float_unary_op_to_oop, floatSize, frame::fp(), frame::hp(), DeltaProcess::last_frame(), max_nof_floats, oopFactory::new_double(), and Floats::oopify.
Here is the call graph for this function:
void Interpreter::print_code_status | ( | ) | [static] |
Definition at line 82 of file interpreter.cpp.
References can_trace_bytecodes(), can_trace_sends(), outputStream::cr(), has_assertions(), has_stack_checks(), has_timers(), is_optimized(), outputStream::print(), outputStream::print_cr(), and std.
Referenced by Universe::genesis().
Here is the call graph for this function:
static char* Interpreter::redo_send_entry | ( | ) | [inline, static] |
void Interpreter::reset_loop_counter | ( | ) | [static] |
Definition at line 126 of file interpreter.cpp.
References interpreter_loop_counter.
Referenced by init(), and loop_counter_overflow().
void Interpreter::set_invocation_counter_limit | ( | int | new_limit | ) | [static] |
Definition at line 222 of file interpreter.cpp.
References methodOopDesc::_invocation_count_max, methodOopDesc::_invocation_count_offset, _invocation_counter_addr, and assert.
Referenced by init(), and PRIM_DECL_1().
void Interpreter::set_loop_counter_limit | ( | int | limit | ) | [static] |
Definition at line 136 of file interpreter.cpp.
References assert, and interpreter_loop_counter_limit.
Referenced by init(), and PRIM_DECL_1().
void Interpreter::trace_bytecode | ( | ) | [static, private] |
Definition at line 174 of file interpreter.cpp.
References DeltaProcess::active(), frame::hp(), DeltaProcess::last_frame(), Bytecodes::name(), outputStream::print(), and std.
Referenced by InterpreterGenerator::jump_ebx(), and InterpreterGenerator::jump_edi().
Here is the call graph for this function:
void Interpreter::wrong_eax | ( | ) | [static, private] |
void Interpreter::wrong_ebx | ( | ) | [static, private] |
Definition at line 188 of file interpreter.cpp.
References fatal.
Referenced by InterpreterGenerator::check_ebx().
void Interpreter::wrong_esp | ( | ) | [static, private] |
void Interpreter::wrong_obj | ( | ) | [static, private] |
Definition at line 198 of file interpreter.cpp.
References fatal.
Referenced by InterpreterGenerator::check_oop().
void Interpreter::wrong_primitive_result | ( | ) | [static, private] |
friend class InterpreterGenerator [friend] |
Definition at line 81 of file interpreter.hpp.
char * Interpreter::_code_begin_addr = NULL [static, private] |
char * Interpreter::_code_end_addr = NULL [static, private] |
int * Interpreter::_invocation_counter_addr = NULL [static, private] |
Definition at line 30 of file interpreter.hpp.
Referenced by get_invocation_counter_limit(), and set_invocation_counter_limit().
bool Interpreter::_is_initialized = false [static, private] |
char * Interpreter::_last_native_called = NULL [static] |
Definition at line 49 of file interpreter.hpp.
char * Interpreter::_redo_send_entry = NULL [static, private] |