#include <abstract_interpreter.h>
Class diagram for abstract_interpreter:
abstract_interpreter::abstract_interpreter (oop meth) [inline]
|
abstract_interpreter::abstract_interpreter (methodMap * m) [inline]
|
abstract_interpreter::abstract_interpreter (byteVectorOop codes, objVectorOop literals) [inline]
|
char * abstract_interpreter::get_error_msg () [inline]
|
void abstract_interpreter::interpret_method () [virtual]
|
Reimplemented in BlockBytecodeScanner, BytecodeChecker, BytecodeFixerUpper, BytecodePrinter, ExprStackBCIsBytecodeScanner, ExprStackBytecodeScanner, interpreter, and StatementBoundaryBytecodeScanner.
virtual void abstract_interpreter::interpret_bytecode () [inline, virtual]
|
Reimplemented in BytecodeFixerUpper, and ExprStackBytecodeScanner.
void abstract_interpreter::fetch_and_decode_bytecode () [virtual]
|
void abstract_interpreter::dispatch_bytecode () |
void abstract_interpreter::print_short () [virtual]
|
Reimplemented from VMObj.
bool abstract_interpreter::verify () [virtual]
|
void abstract_interpreter::set_error_msg (char * s) [inline, protected]
|
virtual void abstract_interpreter::check_branch_target (oop p) [inline, protected, virtual]
|
virtual bool abstract_interpreter::check (aiCheckFn fn, oop p = NULL) [inline, protected, virtual]
|
Reimplemented in BytecodeChecker, and BytecodePrinter.
virtual bool abstract_interpreter::check_for_pop (oop n) [inline, protected, virtual]
|
Reimplemented in stacking_interpreter.
oop abstract_interpreter::get_literal () [inline, protected]
|
stringOop abstract_interpreter::get_selector () [inline, protected]
|
int32 abstract_interpreter::get_branch_pc () [inline, protected]
|
objVectorOop abstract_interpreter::get_branch_vector () [inline, protected]
|
void abstract_interpreter::pre_INDEX_CODE () [inline, protected]
|
void abstract_interpreter::pre_SEND_CODE () [inline, protected]
|
void abstract_interpreter::pre_IMPLICIT_SEND_CODE () [inline, protected]
|
void abstract_interpreter::pre_LEXICAL_LEVEL_CODE () [inline, protected]
|
void abstract_interpreter::pre_READ_LOCAL_CODE () [inline, protected]
|
void abstract_interpreter::pre_WRITE_LOCAL_CODE () [inline, protected]
|
void abstract_interpreter::pre_LITERAL_CODE () [inline, protected]
|
void abstract_interpreter::pre_DELEGATEE_CODE () [inline, protected]
|
void abstract_interpreter::pre_SELF_CODE () [inline, protected]
|
void abstract_interpreter::pre_POP_CODE () [inline, protected]
|
void abstract_interpreter::pre_NONLOCAL_RETURN_CODE () [inline, protected]
|
void abstract_interpreter::pre_UNDIRECTED_RESEND_CODE () [inline, protected]
|
void abstract_interpreter::pre_DIRECTED_RESEND_CODE () [inline, protected]
|
void abstract_interpreter::pre_branch_code () [inline, protected]
|
void abstract_interpreter::pre_BRANCH_CODE () [inline, protected]
|
void abstract_interpreter::pre_BRANCH_TRUE_CODE () [inline, protected]
|
void abstract_interpreter::pre_BRANCH_FALSE_CODE () [inline, protected]
|
void abstract_interpreter::pre_BRANCH_INDEXED_CODE () [inline, protected]
|
void abstract_interpreter::pre_illegal_no_operand_code () [inline, protected]
|
void abstract_interpreter::pre_illegal_code () [inline, protected]
|
virtual void abstract_interpreter::do_SELF_CODE () [inline, protected, virtual]
|
Reimplemented in AccessedLocalsBytecodeScanner, BytecodeFixerUpper, BytecodePrinter, ExprStackBCIsBytecodeScanner, interpreter, and stacking_interpreter.
virtual void abstract_interpreter::do_POP_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodeFixerUpper, BytecodePrinter, ExprStackBCIsBytecodeScanner, interpreter, and stacking_interpreter.
virtual void abstract_interpreter::do_NONLOCAL_RETURN_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodeChecker, BytecodeFixerUpper, BytecodeNLRScanner, BytecodePrinter, and interpreter.
virtual void abstract_interpreter::do_INDEX_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodePrinter.
virtual void abstract_interpreter::do_literal_code (oop lit) [inline, protected, virtual]
|
Reimplemented in AccessedLocalsBytecodeScanner, BlockBytecodeScanner, BytecodeFixerUpper, BytecodeNLRScanner, BytecodePrinter, ExprStackBCIsBytecodeScanner, interpreter, stacking_interpreter, and UplevelAccessedLocalsBytecodeScanner.
void abstract_interpreter::do_LITERAL_CODE () [protected, virtual]
|
virtual void abstract_interpreter::do_read_write_local_code (bool isWrite) [inline, protected, virtual]
|
Reimplemented in BytecodeChecker, BytecodeFixerUpper, BytecodePrinter, ExprStackBCIsBytecodeScanner, interpreter, stacking_interpreter, and UplevelAccessedLocalsBytecodeScanner.
virtual void abstract_interpreter::do_READ_LOCAL_CODE () [inline, protected, virtual]
|
virtual void abstract_interpreter::do_WRITE_LOCAL_CODE () [inline, protected, virtual]
|
virtual void abstract_interpreter::do_send_code (bool isSelfImplicit, stringOop selector) [inline, protected, virtual]
|
Reimplemented in AccessedLocalsBytecodeScanner, BytecodePrinter, ExprStackBCIsBytecodeScanner, ExprStackBytecodeScanner, interpreter, and stacking_interpreter.
virtual void abstract_interpreter::do_SEND_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodeFixerUpper.
virtual void abstract_interpreter::do_IMPLICIT_SEND_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodeFixerUpper.
virtual void abstract_interpreter::do_UNDIRECTED_RESEND_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodePrinter.
virtual void abstract_interpreter::do_DELEGATEE_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodePrinter.
virtual void abstract_interpreter::do_LEXICAL_LEVEL_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodeChecker, and BytecodePrinter.
virtual void abstract_interpreter::do_branch_code (int32 target_PC, oop target_oop = badOop) [inline, protected, virtual]
|
Reimplemented in BranchTargetFinder, BytecodeBranchScanner, BytecodeChecker, BytecodeLoopScanner, interpreter, and stacking_interpreter.
virtual void abstract_interpreter::do_BRANCH_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodeChecker, BytecodeFixerUpper, and BytecodePrinter.
virtual void abstract_interpreter::do_BRANCH_TRUE_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodeFixerUpper, and BytecodePrinter.
virtual void abstract_interpreter::do_BRANCH_FALSE_CODE () [inline, protected, virtual]
|
Reimplemented in BytecodeFixerUpper, and BytecodePrinter.
virtual void abstract_interpreter::do_BRANCH_INDEXED_CODE () [inline, protected, virtual]
|
Reimplemented in BranchTargetFinder, BytecodeBranchScanner, BytecodeChecker, BytecodeFixerUpper, BytecodeLoopScanner, BytecodePrinter, interpreter, and stacking_interpreter.
virtual void abstract_interpreter::do_illegal_no_operand_code () [inline, protected, virtual]
|
virtual void abstract_interpreter::do_illegal_code () [inline, protected, virtual]
|
Reimplemented in BytecodeChecker.
void abstract_interpreter::post_SELF_CODE () [inline, protected]
|
void abstract_interpreter::post_POP_CODE () [inline, protected]
|
void abstract_interpreter::post_NONLOCAL_RETURN_CODE () [inline, protected]
|
void abstract_interpreter::post_INDEX_CODE () [inline, protected]
|
void abstract_interpreter::post_LITERAL_CODE () [inline, protected]
|
void abstract_interpreter::post_READ_LOCAL_CODE () [inline, protected]
|
void abstract_interpreter::post_WRITE_LOCAL_CODE () [inline, protected]
|
void abstract_interpreter::post_SEND_CODE () [inline, protected]
|
void abstract_interpreter::post_IMPLICIT_SEND_CODE () [inline, protected]
|
void abstract_interpreter::post_UNDIRECTED_RESEND_CODE () [inline, protected]
|
void abstract_interpreter::post_DELEGATEE_CODE () [inline, protected]
|
void abstract_interpreter::post_LEXICAL_LEVEL_CODE () [inline, protected]
|
void abstract_interpreter::post_BRANCH_CODE () [inline, protected]
|
void abstract_interpreter::post_BRANCH_TRUE_CODE () [inline, protected]
|
void abstract_interpreter::post_BRANCH_FALSE_CODE () [inline, protected]
|
void abstract_interpreter::post_BRANCH_INDEXED_CODE () [inline, protected]
|
void abstract_interpreter::post_illegal_no_operand_code () [inline, protected]
|
void abstract_interpreter::post_illegal_code () [inline, protected]
|
Location location_of_interpreter (void *) [friend]
|
void check_index_range (abstract_interpreter * ai, oop) [friend]
|
void check_selector_string (abstract_interpreter * ai, oop s) [friend]
|
void check_branch_target (abstract_interpreter * ai, oop p) [friend]
|
void check_no_send_modifiers (abstract_interpreter * ai, oop) [friend]
|
void check_no_lexical_level (abstract_interpreter * ai, oop) [friend]
|
void check_no_two_send_modifiers (abstract_interpreter * ai, oop) [friend]
|
void check_no_operand (abstract_interpreter * ai, oop) [friend]
|
void check_delegatee (abstract_interpreter * ai, oop) [friend]
|
void check_branch_vector (abstract_interpreter * ai, oop) [friend]
|
void check_for_pop (abstract_interpreter * ai, oop n) [friend]
|
friend class frame [friend]
|
friend class FrameIterator [friend]
|
friend class InterpreterIterator [friend]
|
Reimplemented in interpreter.
fint abstract_interpreter::pc |
char* abstract_interpreter::error_msg [protected]
|
class abstract_interpreter_method_info abstract_interpreter::mi [protected]
|
class abstract_interpreter_bytecode_info abstract_interpreter::bc [protected]
|
class abstract_interpreter_interbytecode_state abstract_interpreter::is [protected]
|