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

InterpreterGenerator Class Reference

#include <interpreter_amd64.hpp>

Inheritance diagram for InterpreterGenerator:

AbstractInterpreterGenerator AbstractInterpreterGenerator AbstractInterpreterGenerator

Public Member Functions

 InterpreterGenerator (StubQueue *code)
 InterpreterGenerator (StubQueue *code)
 InterpreterGenerator (StubQueue *code)

Private Member Functions

address generate_asm_interpreter_entry (bool synchronized)
address generate_native_entry (bool synchronized)
address generate_abstract_entry (void)
address generate_math_entry (AbstractInterpreter::MethodKind kind)
address generate_empty_entry (void)
address generate_accessor_entry (void)
void lock_method (void)
void generate_fixed_frame (bool native_call)
void generate_stack_overflow_check (void)
void generate_counter_incr (Label *overflow, Label *profile_method, Label *profile_method_continue)
void generate_counter_overflow (Label *do_continue)
address generate_asm_interpreter_entry (bool synchronized)
address generate_native_entry (bool synchronized)
address generate_abstract_entry (void)
address generate_math_entry (AbstractInterpreter::MethodKind kind)
address generate_empty_entry (void)
address generate_accessor_entry (void)
void lock_method (void)
void generate_fixed_frame (bool native_call)
void generate_stack_overflow_check (void)
void generate_counter_incr (Label *overflow, Label *profile_method, Label *profile_method_continue)
void generate_counter_overflow (Label *do_continue)
address generate_asm_interpreter_entry (bool synchronized)
address generate_native_entry (bool synchronized)
address generate_abstract_entry (void)
address generate_math_entry (AbstractInterpreter::MethodKind kind)
address generate_empty_entry (void)
address generate_accessor_entry (void)
void lock_method (void)
void save_native_result (void)
void restore_native_result (void)
void generate_fixed_frame (bool native_call)
void generate_stack_overflow_check (Register Rframe_size, Register Rscratch, Register Rscratch2)
void generate_counter_incr (Label *overflow, Label *profile_method, Label *profile_method_continue)
void generate_counter_overflow (Label &Lcontinue)

Static Private Attributes

static address frame_manager_return
static address frame_manager_sync_return

Friends

class AbstractInterpreterGenerator

Detailed Description

Definition at line 67 of file interpreter_amd64.hpp.


Constructor & Destructor Documentation

InterpreterGenerator::InterpreterGenerator ( StubQueue code  ) 

InterpreterGenerator.InterpreterGenerator ( StubQueue code  ) 

InterpreterGenerator.InterpreterGenerator ( StubQueue code  ) 


Member Function Documentation

address InterpreterGenerator.generate_abstract_entry ( void   )  [private]

address InterpreterGenerator.generate_abstract_entry ( void   )  [private]

address InterpreterGenerator::generate_abstract_entry ( void   )  [private]

address InterpreterGenerator.generate_accessor_entry ( void   )  [private]

address InterpreterGenerator.generate_accessor_entry ( void   )  [private]

address InterpreterGenerator::generate_accessor_entry ( void   )  [private]

address InterpreterGenerator.generate_asm_interpreter_entry ( bool  synchronized  )  [private]

address InterpreterGenerator.generate_asm_interpreter_entry ( bool  synchronized  )  [private]

address InterpreterGenerator::generate_asm_interpreter_entry ( bool  synchronized  )  [private]

void InterpreterGenerator.generate_counter_incr ( Label *  overflow,
Label *  profile_method,
Label *  profile_method_continue 
) [private]

void InterpreterGenerator.generate_counter_incr ( Label *  overflow,
Label *  profile_method,
Label *  profile_method_continue 
) [private]

void InterpreterGenerator::generate_counter_incr ( Label *  overflow,
Label *  profile_method,
Label *  profile_method_continue 
) [private]

void InterpreterGenerator::generate_counter_overflow ( Label &  Lcontinue  )  [private]

void InterpreterGenerator.generate_counter_overflow ( Label *  do_continue  )  [private]

void InterpreterGenerator::generate_counter_overflow ( Label *  do_continue  )  [private]

address InterpreterGenerator.generate_empty_entry ( void   )  [private]

address InterpreterGenerator.generate_empty_entry ( void   )  [private]

address InterpreterGenerator::generate_empty_entry ( void   )  [private]

void InterpreterGenerator.generate_fixed_frame ( bool  native_call  )  [private]

void InterpreterGenerator.generate_fixed_frame ( bool  native_call  )  [private]

void InterpreterGenerator::generate_fixed_frame ( bool  native_call  )  [private]

address InterpreterGenerator.generate_math_entry ( AbstractInterpreter::MethodKind  kind  )  [private]

address InterpreterGenerator.generate_math_entry ( AbstractInterpreter::MethodKind  kind  )  [private]

address InterpreterGenerator::generate_math_entry ( AbstractInterpreter::MethodKind  kind  )  [private]

Definition at line 700 of file interpreter_amd64.cpp.

References AbstractInterpreter.java_lang_math_sqrt.

address InterpreterGenerator.generate_native_entry ( bool  synchronized  )  [private]

address InterpreterGenerator.generate_native_entry ( bool  synchronized  )  [private]

address InterpreterGenerator::generate_native_entry ( bool  synchronized  )  [private]

Definition at line 962 of file interpreter_amd64.cpp.

References SafepointSynchronize._not_synchronized, methodOopDesc.access_flags_offset(), Thread.active_handles_offset(), SafepointSynchronize.address_of_state(), AbstractInterpreterGenerator.bang_stack_shadow_pages(), MacroAssembler.call_VM(), JavaThread.check_special_condition_for_native_trans(), constMethodOopDesc.codes_offset(), methodOopDesc.const_offset(), methodOopDesc.constants_offset(), JavaThread.do_not_unlock_if_synchronized_offset(), Assembler.equal, generate_counter_incr(), generate_counter_overflow(), generate_fixed_frame(), os.is_MP(), Klass.java_mirror_offset_in_bytes(), JavaThread.jni_environment_offset(), klassOopDesc.klass_part_offset_in_bytes(), Assembler.LoadLoad, Assembler.LoadStore, lock_method(), AbstractInterpreter.logStackElementSize(), methodOopDesc.native_function_offset(), SharedRuntime.native_method_throw_unsatisfied_link_error_entry(), Assembler.notEqual, InterpreterMacroAssembler.NotifyJVMTI, Assembler.notZero, ThreadShadow.pending_exception_offset(), constantPoolOopDesc.pool_holder_offset_in_bytes(), InterpreterRuntime.prepare_native_call(), SharedRuntime.reguard_yellow_pages(), AbstractInterpreter.result_handler(), methodOopDesc.signature_handler_offset(), methodOopDesc.size_of_parameters_offset(), JavaThread.stack_guard_state_offset(), JavaThread.stack_guard_yellow_disabled, Assembler.StoreLoad, Assembler.StoreStore, JavaThread.suspend_flags_offset(), JavaThread.thread_state_offset(), InterpreterRuntime.throw_illegal_monitor_state_exception(), InterpreterRuntime.throw_pending_exception(), JNIHandleBlock.top_offset_in_bytes(), and Assembler.zero.

void InterpreterGenerator::generate_stack_overflow_check ( Register  Rframe_size,
Register  Rscratch,
Register  Rscratch2 
) [private]

void InterpreterGenerator.generate_stack_overflow_check ( void   )  [private]

void InterpreterGenerator::generate_stack_overflow_check ( void   )  [private]

void InterpreterGenerator.lock_method ( void   )  [private]

void InterpreterGenerator.lock_method ( void   )  [private]

void InterpreterGenerator::lock_method ( void   )  [private]

void InterpreterGenerator::restore_native_result ( void   )  [private]

void InterpreterGenerator::save_native_result ( void   )  [private]


Friends And Related Function Documentation

Definition at line 70 of file interpreter_amd64.hpp.


Field Documentation

static address InterpreterGenerator::frame_manager_return [static, private]

Definition at line 82 of file interpreter_amd64.hpp.

static address InterpreterGenerator::frame_manager_sync_return [static, private]

Definition at line 83 of file interpreter_amd64.hpp.


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

Powered by jsecurity.net
Generated by doxygen 1.5.7.1