abstractInterpreter.hpp revision 900
0N/A// abstractInterpreter.hpp: generic description of the interpreter.
0N/A//------------------------------------------------------------------------------------------------------------------------
0N/A friend class Interpreter;
0N/A friend class CppInterpreterGenerator;
0N/A enum MethodKind {
0N/A enum SomeConstants {
0N/A static address _native_abi_to_tosca[number_of_result_handlers]; // for native method result handlers
0N/A friend class AbstractInterpreterGenerator;
0N/A friend class InterpreterGenerator;
0N/A friend class InterpreterMacroAssembler;
0N/A static void initialize();
0N/A static address entry_for_kind(MethodKind k) { assert(0 <= k && k < number_of_method_entries, "illegal kind"); return _entry_table[k]; }
0N/A static address return_entry (TosState state, int length) { ShouldNotReachHere(); return NULL; }
900N/A int callee_parameters,
900N/A bool is_top_frame);
0N/A int popframe_args,
0N/A int callee_params,
0N/A int callee_locals,
0N/A bool is_top_frame);
0N/A int popframe_args,
0N/A int callee_params,
0N/A int callee_locals,
0N/A bool is_top_frame);
0N/A static void notice_safepoints() { ShouldNotReachHere(); } // stops the thread when reaching a safepoint
0N/A static address result_handler(BasicType type) { return _native_abi_to_tosca[BasicType_as_index(type)]; }
0N/A static int BasicType_as_index(BasicType type); // computes index into result_handler_by_index table
0N/A static bool in_native_entry(address pc) { return _native_entry_begin <= pc && pc < _native_entry_end; }
0N/A static int logStackElementSize() { return
0N/A static int value_offset_in_bytes() {
0N/A return TaggedStackInterpreter ?
0N/A static int tag_offset_in_bytes() {
0N/A static int local_offset_in_bytes(int n) {
0N/A static int local_tag_offset_in_bytes(int n) {
726N/A } else if (!TaggedStackInterpreter) {
726N/A } else if (!TaggedStackInterpreter) {
726N/A default: ShouldNotReachHere();
726N/A default: ShouldNotReachHere();
0N/A//------------------------------------------------------------------------------------------------------------------------
0N/A void generate_all();