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