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