87 java_util_zip_CRC32C_updateBytes, // implementation of java.util.zip.CRC32C.updateBytes(crc, b[], off, end)
88 java_util_zip_CRC32C_updateDirectByteBuffer, // implementation of java.util.zip.CRC32C.updateDirectByteBuffer(crc, address, off, end)
89 java_lang_Float_intBitsToFloat, // implementation of java.lang.Float.intBitsToFloat()
90 java_lang_Float_floatToRawIntBits, // implementation of java.lang.Float.floatToRawIntBits()
91 java_lang_Double_longBitsToDouble, // implementation of java.lang.Double.longBitsToDouble()
92 java_lang_Double_doubleToRawLongBits, // implementation of java.lang.Double.doubleToRawLongBits()
93 java_lang_Thread_currentThread, // implementation of java.lang.Thread.currentThread()
94 number_of_method_entries,
95 invalid = -1
96 };
97
98 // Conversion from the part of the above enum to vmIntrinsics::_invokeExact, etc.
99 static vmIntrinsics::ID method_handle_intrinsic(MethodKind kind) {
100 if (kind >= method_handle_invoke_FIRST && kind <= method_handle_invoke_LAST)
101 return vmIntrinsics::ID_from(static_cast<int>(vmIntrinsics::FIRST_MH_SIG_POLY) + (kind - method_handle_invoke_FIRST));
102 else
103 return vmIntrinsics::_none;
104 }
105
106 enum SomeConstants {
107 number_of_result_handlers = 10 // number of result handlers for native calls
108 };
109
110 protected:
111 static StubQueue* _code; // the interpreter code (codelets)
112
113 static bool _notice_safepoints; // true if safepoints are activated
114
115 static address _native_entry_begin; // Region for native entry code
116 static address _native_entry_end;
117
118 // method entry points
119 static address _entry_table[number_of_method_entries]; // entry points for a given method
120 static address _native_abi_to_tosca[number_of_result_handlers]; // for native method result handlers
121 static address _slow_signature_handler; // the native method generic (slow) signature handler
122
123 static address _rethrow_exception_entry; // rethrows an activation in previous frame
124
125 friend class AbstractInterpreterGenerator;
126 friend class InterpreterMacroAssembler;
127
|
87 java_util_zip_CRC32C_updateBytes, // implementation of java.util.zip.CRC32C.updateBytes(crc, b[], off, end)
88 java_util_zip_CRC32C_updateDirectByteBuffer, // implementation of java.util.zip.CRC32C.updateDirectByteBuffer(crc, address, off, end)
89 java_lang_Float_intBitsToFloat, // implementation of java.lang.Float.intBitsToFloat()
90 java_lang_Float_floatToRawIntBits, // implementation of java.lang.Float.floatToRawIntBits()
91 java_lang_Double_longBitsToDouble, // implementation of java.lang.Double.longBitsToDouble()
92 java_lang_Double_doubleToRawLongBits, // implementation of java.lang.Double.doubleToRawLongBits()
93 java_lang_Thread_currentThread, // implementation of java.lang.Thread.currentThread()
94 number_of_method_entries,
95 invalid = -1
96 };
97
98 // Conversion from the part of the above enum to vmIntrinsics::_invokeExact, etc.
99 static vmIntrinsics::ID method_handle_intrinsic(MethodKind kind) {
100 if (kind >= method_handle_invoke_FIRST && kind <= method_handle_invoke_LAST)
101 return vmIntrinsics::ID_from(static_cast<int>(vmIntrinsics::FIRST_MH_SIG_POLY) + (kind - method_handle_invoke_FIRST));
102 else
103 return vmIntrinsics::_none;
104 }
105
106 enum SomeConstants {
107 number_of_result_handlers = 11 // number of result handlers for native calls
108 };
109
110 protected:
111 static StubQueue* _code; // the interpreter code (codelets)
112
113 static bool _notice_safepoints; // true if safepoints are activated
114
115 static address _native_entry_begin; // Region for native entry code
116 static address _native_entry_end;
117
118 // method entry points
119 static address _entry_table[number_of_method_entries]; // entry points for a given method
120 static address _native_abi_to_tosca[number_of_result_handlers]; // for native method result handlers
121 static address _slow_signature_handler; // the native method generic (slow) signature handler
122
123 static address _rethrow_exception_entry; // rethrows an activation in previous frame
124
125 friend class AbstractInterpreterGenerator;
126 friend class InterpreterMacroAssembler;
127
|