63 native_synchronized, // native method & is synchronized
64 empty, // empty method (code: _return)
65 accessor, // accessor method (code: _aload_0, _getfield, _(a|i)return)
66 abstract, // abstract method (throws an AbstractMethodException)
67 method_handle_invoke_FIRST, // java.lang.invoke.MethodHandles::invokeExact, etc.
68 method_handle_invoke_LAST = (method_handle_invoke_FIRST
69 + (vmIntrinsics::LAST_MH_SIG_POLY
70 - vmIntrinsics::FIRST_MH_SIG_POLY)),
71 java_lang_math_sin, // implementation of java.lang.Math.sin (x)
72 java_lang_math_cos, // implementation of java.lang.Math.cos (x)
73 java_lang_math_tan, // implementation of java.lang.Math.tan (x)
74 java_lang_math_abs, // implementation of java.lang.Math.abs (x)
75 java_lang_math_sqrt, // implementation of java.lang.Math.sqrt (x)
76 java_lang_math_log, // implementation of java.lang.Math.log (x)
77 java_lang_math_log10, // implementation of java.lang.Math.log10 (x)
78 java_lang_math_pow, // implementation of java.lang.Math.pow (x,y)
79 java_lang_math_exp, // implementation of java.lang.Math.exp (x)
80 java_lang_math_fmaF, // implementation of java.lang.Math.fma (x, y, z)
81 java_lang_math_fmaD, // implementation of java.lang.Math.fma (x, y, z)
82 java_lang_ref_reference_get, // implementation of java.lang.ref.Reference.get()
83 java_util_zip_CRC32_update, // implementation of java.util.zip.CRC32.update()
84 java_util_zip_CRC32_updateBytes, // implementation of java.util.zip.CRC32.updateBytes()
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 }
|
63 native_synchronized, // native method & is synchronized
64 empty, // empty method (code: _return)
65 accessor, // accessor method (code: _aload_0, _getfield, _(a|i)return)
66 abstract, // abstract method (throws an AbstractMethodException)
67 method_handle_invoke_FIRST, // java.lang.invoke.MethodHandles::invokeExact, etc.
68 method_handle_invoke_LAST = (method_handle_invoke_FIRST
69 + (vmIntrinsics::LAST_MH_SIG_POLY
70 - vmIntrinsics::FIRST_MH_SIG_POLY)),
71 java_lang_math_sin, // implementation of java.lang.Math.sin (x)
72 java_lang_math_cos, // implementation of java.lang.Math.cos (x)
73 java_lang_math_tan, // implementation of java.lang.Math.tan (x)
74 java_lang_math_abs, // implementation of java.lang.Math.abs (x)
75 java_lang_math_sqrt, // implementation of java.lang.Math.sqrt (x)
76 java_lang_math_log, // implementation of java.lang.Math.log (x)
77 java_lang_math_log10, // implementation of java.lang.Math.log10 (x)
78 java_lang_math_pow, // implementation of java.lang.Math.pow (x,y)
79 java_lang_math_exp, // implementation of java.lang.Math.exp (x)
80 java_lang_math_fmaF, // implementation of java.lang.Math.fma (x, y, z)
81 java_lang_math_fmaD, // implementation of java.lang.Math.fma (x, y, z)
82 java_lang_ref_reference_get, // implementation of java.lang.ref.Reference.get()
83 java_lang_continuation_getSP, // implementation of java.lang.Continuation.getSP()
84 java_lang_continuation_getFP, // implementation of java.lang.Continuation.getFP()
85 java_lang_continuation_getPC, // implementation of java.lang.Continuation.getPC()
86 java_lang_continuation_doContinue, // implementation of java.lang.Continuation.doContinue()
87 java_lang_continuation_doYield, // implementation of java.lang.Continuation.doYield()
88 java_lang_continuation_runLevel, // implementation of java.lang.Continuation.runLevel()
89 java_util_zip_CRC32_update, // implementation of java.util.zip.CRC32.update()
90 java_util_zip_CRC32_updateBytes, // implementation of java.util.zip.CRC32.updateBytes()
91 java_util_zip_CRC32_updateByteBuffer, // implementation of java.util.zip.CRC32.updateByteBuffer()
92 java_util_zip_CRC32C_updateBytes, // implementation of java.util.zip.CRC32C.updateBytes(crc, b[], off, end)
93 java_util_zip_CRC32C_updateDirectByteBuffer, // implementation of java.util.zip.CRC32C.updateDirectByteBuffer(crc, address, off, end)
94 java_lang_Float_intBitsToFloat, // implementation of java.lang.Float.intBitsToFloat()
95 java_lang_Float_floatToRawIntBits, // implementation of java.lang.Float.floatToRawIntBits()
96 java_lang_Double_longBitsToDouble, // implementation of java.lang.Double.longBitsToDouble()
97 java_lang_Double_doubleToRawLongBits, // implementation of java.lang.Double.doubleToRawLongBits()
98 number_of_method_entries,
99 invalid = -1
100 };
101
102 // Conversion from the part of the above enum to vmIntrinsics::_invokeExact, etc.
103 static vmIntrinsics::ID method_handle_intrinsic(MethodKind kind) {
104 if (kind >= method_handle_invoke_FIRST && kind <= method_handle_invoke_LAST)
105 return (vmIntrinsics::ID)( vmIntrinsics::FIRST_MH_SIG_POLY + (kind - method_handle_invoke_FIRST) );
106 else
107 return vmIntrinsics::_none;
108 }
|