Java Class Encryption and License Management
Create evaluation versions, host- and user based licenses using
the same installation package. FREE evaluation version available.
www.jsecurity.net

AbstractInterpreter Class Reference

#include <interpreter.hpp>

Inheritance diagram for AbstractInterpreter:

AllStatic Interpreter Interpreter Interpreter

Public Types

enum  MethodKind {
  zerolocals, zerolocals_synchronized, native, native_synchronized,
  empty, accessor, abstract, java_lang_math_sin,
  java_lang_math_cos, java_lang_math_tan, java_lang_math_abs, java_lang_math_sqrt,
  java_lang_math_log, java_lang_math_log10, number_of_method_entries, invalid = -1
}
enum  SomeConstants { number_of_return_entries = 9, number_of_deopt_entries = 9, number_of_return_addrs = 9, number_of_result_handlers = 10 }

Static Public Member Functions

static void initialize ()
static StubQueuecode ()
static bool contains (address pc)
static MethodKind method_kind (methodHandle m)
static address entry_for_kind (MethodKind k)
static address entry_for_method (methodHandle m)
static void print_method_kind (MethodKind kind) PRODUCT_RETURN
static address rethrow_exception_entry ()
static address return_entry (TosState state, int length)
static address deopt_entry (TosState state, int length)
static address remove_activation_early_entry (TosState state)
static address remove_activation_entry ()
static address throw_exception_entry ()
static address throw_ArithmeticException_entry ()
static address throw_NullPointerException_entry ()
static address throw_StackOverflowError_entry ()
static address trace_code (TosState state)
static address continuation (TosState state)
static address * dispatch_table (TosState state)
static address * dispatch_table ()
static int distance_from_dispatch_table (TosState state)
static address * normal_table (TosState state)
static address * normal_table ()
static address * return_3_addrs_by_index_table ()
static address * return_5_addrs_by_index_table ()
static int TosState_as_index (TosState state)
static int size_top_interpreter_activation (methodOop method)
static address continuation_for (methodOop method, address bcp, int callee_parameters, bool is_top_frame, bool &use_next_mdp)
static int size_activation (methodOop method, int temps, int popframe_args, int monitors, int callee_params, int callee_locals, bool is_top_frame)
static int layout_activation (methodOop method, int temps, int popframe_args, int monitors, int callee_params, int callee_locals, frame *caller, frame *interpreter_frame, bool is_top_frame)
static bool is_not_reached (methodHandle method, int bci)
static void notice_safepoints ()
static void ignore_safepoints ()
static address slow_signature_handler ()
static address result_handler (BasicType type)
static int BasicType_as_index (BasicType type)
static bool in_native_entry (address pc)
static InterpreterCodeletcodelet_containing (address pc)
static void print ()
static int stackElementWords ()
static int stackElementSize ()
static int logStackElementSize ()
static int value_offset_in_bytes ()
static int tag_offset_in_bytes ()
static int local_offset_in_bytes (int n)
static int local_tag_offset_in_bytes (int n)

Static Protected Attributes

static StubQueue_code = NULL
static address _rethrow_exception_entry = NULL
static address _throw_ArrayIndexOutOfBoundsException_entry = NULL
static address _throw_ArrayStoreException_entry = NULL
static address _throw_ArithmeticException_entry = NULL
static address _throw_ClassCastException_entry = NULL
static address _throw_NullPointerException_entry = NULL
static address _throw_StackOverflowError_entry = NULL
static address _throw_exception_entry = NULL
static address _remove_activation_entry = NULL
static EntryPoint _trace_code
static EntryPoint _return_entry [number_of_return_entries]
static EntryPoint _earlyret_entry
static EntryPoint _deopt_entry [number_of_deopt_entries]
static EntryPoint _continuation_entry
static EntryPoint _safept_entry
static address _return_3_addrs_by_index [number_of_return_addrs]
static address _return_5_addrs_by_index [number_of_return_addrs]
static DispatchTable _active_table
static DispatchTable _normal_table
static DispatchTable _safept_table
static address _wentry_point [DispatchTable::length]
static bool _notice_safepoints = false
static address _native_entry_begin = NULL
static address _native_entry_end = NULL
static address _entry_table [number_of_method_entries]
static address _native_abi_to_tosca [number_of_result_handlers]
static address _slow_signature_handler

Friends

class VMStructs
class Interpreter
class TemplateTable
class AbstractInterpreterGenerator
class InterpreterGenerator
class InterpreterMacroAssembler

Detailed Description

Definition at line 122 of file interpreter.hpp.


Member Enumeration Documentation

Enumerator:
zerolocals 
zerolocals_synchronized 
native 
native_synchronized 
empty 
accessor 
abstract 
java_lang_math_sin 
java_lang_math_cos 
java_lang_math_tan 
java_lang_math_abs 
java_lang_math_sqrt 
java_lang_math_log 
java_lang_math_log10 
number_of_method_entries 
invalid 

Definition at line 126 of file interpreter.hpp.

Enumerator:
number_of_return_entries 
number_of_deopt_entries 
number_of_return_addrs 
number_of_result_handlers 

Definition at line 145 of file interpreter.hpp.


Member Function Documentation

int AbstractInterpreter::BasicType_as_index ( BasicType  type  )  [static]

static StubQueue* AbstractInterpreter.code (  )  [static]

static InterpreterCodelet* AbstractInterpreter.codelet_containing ( address  pc  )  [static]

Definition at line 315 of file interpreter.hpp.

References _code, and StubQueue.stub_containing().

Referenced by ThreadProfiler.record_interpreted_tick().

static bool AbstractInterpreter.contains ( address  pc  )  [static]

static address AbstractInterpreter.continuation ( TosState  state  )  [static]

Definition at line 259 of file interpreter.hpp.

References _continuation_entry.

address AbstractInterpreter::continuation_for ( methodOop  method,
address  bcp,
int  callee_parameters,
bool  is_top_frame,
bool &  use_next_mdp 
) [static]

address AbstractInterpreter::deopt_entry ( TosState  state,
int  length 
) [static]

static address* AbstractInterpreter.dispatch_table (  )  [static]

static address* AbstractInterpreter.dispatch_table ( TosState  state  )  [static]

Definition at line 260 of file interpreter.hpp.

References _active_table.

static int AbstractInterpreter.distance_from_dispatch_table ( TosState  state  )  [static]

Definition at line 262 of file interpreter.hpp.

References _active_table.

Referenced by InterpreterMacroAssembler.dispatch_Lbyte_code().

static address AbstractInterpreter.entry_for_kind ( MethodKind  k  )  [static]

Definition at line 231 of file interpreter.hpp.

References _entry_table, and number_of_method_entries.

Referenced by is_not_reached().

static address AbstractInterpreter.entry_for_method ( methodHandle  m  )  [static]

Definition at line 232 of file interpreter.hpp.

References _entry_table, and method_kind().

Referenced by ciMethod.interpreter_entry(), and methodOopDesc.link_method().

void AbstractInterpreter::ignore_safepoints (  )  [static]

static bool AbstractInterpreter.in_native_entry ( address  pc  )  [static]

Definition at line 313 of file interpreter.hpp.

References _native_entry_begin, and _native_entry_end.

void AbstractInterpreter::initialize (  )  [static]

bool AbstractInterpreter::is_not_reached ( methodHandle  method,
int  bci 
) [static]

Definition at line 829 of file interpreter.cpp.

References entry_for_kind(), zerolocals, and zerolocals_synchronized.

int AbstractInterpreter::layout_activation ( methodOop  method,
int  temps,
int  popframe_args,
int  monitors,
int  callee_params,
int  callee_locals,
frame caller,
frame interpreter_frame,
bool  is_top_frame 
) [static]

static int AbstractInterpreter.local_offset_in_bytes ( int  n  )  [static]

static int AbstractInterpreter.local_tag_offset_in_bytes ( int  n  )  [static]

static int AbstractInterpreter.logStackElementSize (  )  [static]

AbstractInterpreter::MethodKind AbstractInterpreter::method_kind ( methodHandle  m  )  [static]

static address* AbstractInterpreter.normal_table (  )  [static]

static address* AbstractInterpreter.normal_table ( TosState  state  )  [static]

Definition at line 263 of file interpreter.hpp.

References _normal_table.

void AbstractInterpreter::notice_safepoints (  )  [static]

void AbstractInterpreter::print (  )  [static]

void AbstractInterpreter::print_method_kind ( MethodKind  kind  )  [static]

static address AbstractInterpreter.remove_activation_early_entry ( TosState  state  )  [static]

static address AbstractInterpreter.remove_activation_entry (  )  [static]

Definition at line 249 of file interpreter.hpp.

References _remove_activation_entry.

static address AbstractInterpreter.result_handler ( BasicType  type  )  [static]

static address AbstractInterpreter.rethrow_exception_entry (  )  [static]

static address* AbstractInterpreter.return_3_addrs_by_index_table (  )  [static]

Definition at line 267 of file interpreter.hpp.

References _return_3_addrs_by_index.

static address* AbstractInterpreter.return_5_addrs_by_index_table (  )  [static]

Definition at line 268 of file interpreter.hpp.

References _return_5_addrs_by_index.

address AbstractInterpreter::return_entry ( TosState  state,
int  length 
) [static]

int AbstractInterpreter::size_activation ( methodOop  method,
int  temps,
int  popframe_args,
int  monitors,
int  callee_params,
int  callee_locals,
bool  is_top_frame 
) [static]

Definition at line 1712 of file interpreter_amd64.cpp.

References layout_activation().

Referenced by vframeArrayElement.on_stack_size().

int AbstractInterpreter::size_top_interpreter_activation ( methodOop  method  )  [static]

Definition at line 1695 of file interpreter_amd64.cpp.

References stackElementWords().

Referenced by os.stack_shadow_pages_available().

static address AbstractInterpreter.slow_signature_handler (  )  [static]

Definition at line 310 of file interpreter.hpp.

References _slow_signature_handler.

Referenced by SignatureHandlerLibrary.add().

static int AbstractInterpreter.stackElementSize (  )  [static]

static int AbstractInterpreter.stackElementWords (  )  [static]

static int AbstractInterpreter.tag_offset_in_bytes (  )  [static]

static address AbstractInterpreter.throw_ArithmeticException_entry (  )  [static]

static address AbstractInterpreter.throw_exception_entry (  )  [static]

static address AbstractInterpreter.throw_NullPointerException_entry (  )  [static]

static address AbstractInterpreter.throw_StackOverflowError_entry (  )  [static]

int AbstractInterpreter::TosState_as_index ( TosState  state  )  [static]

Definition at line 1029 of file interpreter.cpp.

References number_of_return_addrs.

Referenced by AbstractInterpreterGenerator.generate_all().

static address AbstractInterpreter.trace_code ( TosState  state  )  [static]

Definition at line 257 of file interpreter.hpp.

References _trace_code.

Referenced by AbstractInterpreterGenerator.trace_bytecode().

static int AbstractInterpreter.value_offset_in_bytes (  )  [static]


Friends And Related Function Documentation

friend class AbstractInterpreterGenerator [friend]

Definition at line 212 of file interpreter.hpp.

friend class Interpreter [friend]

Definition at line 124 of file interpreter.hpp.

friend class InterpreterGenerator [friend]

Definition at line 213 of file interpreter.hpp.

friend class InterpreterMacroAssembler [friend]

Definition at line 214 of file interpreter.hpp.

friend class TemplateTable [friend]

Definition at line 211 of file interpreter.hpp.

friend class VMStructs [friend]

Definition at line 123 of file interpreter.hpp.


Field Documentation

DispatchTable AbstractInterpreter::_active_table [static, protected]

StubQueue * AbstractInterpreter::_code = NULL [static, protected]

Definition at line 155 of file interpreter.hpp.

Referenced by code(), codelet_containing(), contains(), initialize(), and print().

EntryPoint AbstractInterpreter::_continuation_entry [static, protected]

Definition at line 179 of file interpreter.hpp.

Referenced by continuation(), and AbstractInterpreterGenerator.generate_all().

EntryPoint AbstractInterpreter::_deopt_entry [static, protected]

Definition at line 178 of file interpreter.hpp.

Referenced by deopt_entry(), and AbstractInterpreterGenerator.generate_all().

EntryPoint AbstractInterpreter::_earlyret_entry [static, protected]

address AbstractInterpreter::_entry_table [static, protected]

Definition at line 197 of file interpreter.hpp.

Referenced by entry_for_kind(), and entry_for_method().

address AbstractInterpreter::_native_abi_to_tosca [static, protected]

Definition at line 198 of file interpreter.hpp.

Referenced by AbstractInterpreterGenerator.generate_all(), and result_handler().

address AbstractInterpreter::_native_entry_begin = NULL [static, protected]

Definition at line 193 of file interpreter.hpp.

Referenced by AbstractInterpreterGenerator.generate_all(), and in_native_entry().

address AbstractInterpreter::_native_entry_end = NULL [static, protected]

Definition at line 194 of file interpreter.hpp.

Referenced by AbstractInterpreterGenerator.generate_all(), and in_native_entry().

DispatchTable AbstractInterpreter::_normal_table [static, protected]

bool AbstractInterpreter::_notice_safepoints = false [static, protected]

Definition at line 191 of file interpreter.hpp.

Referenced by ignore_safepoints(), and notice_safepoints().

address AbstractInterpreter::_remove_activation_entry = NULL [static, protected]

address AbstractInterpreter::_rethrow_exception_entry = NULL [static, protected]

address AbstractInterpreter::_return_3_addrs_by_index [static, protected]

address AbstractInterpreter::_return_5_addrs_by_index [static, protected]

EntryPoint AbstractInterpreter::_return_entry [static, protected]

Definition at line 176 of file interpreter.hpp.

Referenced by AbstractInterpreterGenerator.generate_all(), and return_entry().

EntryPoint AbstractInterpreter::_safept_entry [static, protected]

DispatchTable AbstractInterpreter::_safept_table [static, protected]

address AbstractInterpreter::_slow_signature_handler [static, protected]

address AbstractInterpreter::_throw_ArithmeticException_entry = NULL [static, protected]

address AbstractInterpreter::_throw_ArrayStoreException_entry = NULL [static, protected]

address AbstractInterpreter::_throw_ClassCastException_entry = NULL [static, protected]

address AbstractInterpreter::_throw_exception_entry = NULL [static, protected]

address AbstractInterpreter::_throw_NullPointerException_entry = NULL [static, protected]

address AbstractInterpreter::_throw_StackOverflowError_entry = NULL [static, protected]

EntryPoint AbstractInterpreter::_trace_code [static, protected]

Definition at line 174 of file interpreter.hpp.

Referenced by AbstractInterpreterGenerator.generate_all(), and trace_code().

address AbstractInterpreter::_wentry_point [static, protected]


The documentation for this class was generated from the following files:

Powered by jsecurity.net
Generated by doxygen 1.5.7.1