templateInterpreter.hpp revision 710
0N/A//------------------------------------------------------------------------------------------------------------------------
0N/A EntryPoint();
0N/A EntryPoint(address bentry, address centry, address sentry, address aentry, address ientry, address lentry, address fentry, address dentry, address ventry);
0N/A//------------------------------------------------------------------------------------------------------------------------
0N/A enum { length = 1 << BitsPerByte }; // an entry point for each byte value (also for undefined bytecodes)
0N/A friend class InterpreterMacroAssembler;
0N/A friend class TemplateInterpreterGenerator;
0N/A friend class InterpreterGenerator;
0N/A friend class TemplateTable;
0N/A enum MoreConstants {
0N/A static address _remove_activation_entry; // continuation address if an exception is not handled by current frame
0N/A static address _remove_activation_preserving_args_entry; // continuation address when current frame is being popped
0N/A static EntryPoint _return_entry[number_of_return_entries]; // entry points to return to from a call
0N/A static EntryPoint _deopt_entry[number_of_deopt_entries]; // entry points to return to from a deoptimization
0N/A static address _return_3_addrs_by_index[number_of_return_addrs]; // for invokevirtual return entries
0N/A static address _return_5_addrs_by_index[number_of_return_addrs]; // for invokeinterface return entries
0N/A static DispatchTable _active_table; // the active dispatch table (used by the interpreter for dispatch)
0N/A static DispatchTable _normal_table; // the normal dispatch table (used to set the active table in normal mode)
0N/A static DispatchTable _safept_table; // the safepoint dispatch table (used to set the active table for safepoints)
0N/A static address _wentry_point[DispatchTable::length]; // wide instructions only (vtos tosca always)
0N/A static void initialize();
0N/A static address remove_activation_early_entry(TosState state) { return _earlyret_entry.entry(state); }
0N/A static address remove_activation_preserving_args_entry() { return _remove_activation_preserving_args_entry; }
0N/A static address throw_NullPointerException_entry() { return _throw_NullPointerException_entry; }
0N/A static int distance_from_dispatch_table(TosState state){ return _active_table.distance_from(state); }
0N/A static int TosState_as_index(TosState state); // computes index into return_3_entry_by_index table
0N/A int callee_parameters,
0N/A bool is_top_frame,
0N/A bool& use_next_mdp);
0N/A#include "incls/_templateInterpreter_pd.hpp.incl"