Full list of intrinsic functions in HotSpot in JDK 7, 8, 9 and 10
HotSpot implements several hundred intrinsics(their number is growing from release to release). A description of all intrinsic functions can be found in the OpenJDK sources in the file
vmSymbols.hpp. Below are the complete lists of intrinsics for JDK 7 ( vmSymbols.hpp ), JDK 8 ( vmSymbols.hpp ), JDK 9 ( vmSymbols.hpp ) and JDK 10 ( vmSymbols.hpp ). The description is as follows:
<Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠ°> .<Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ°> Intrinsic Functions in JDK 7
java.lang.Object
_hashCode java.lang.Object.hashCode()
_getClass java.lang.Object.getClass()
_clone java.lang.Object.clone()
_Object_init java.lang.Object()java.lang.Math
_dabs java.lang.Math.abs(double)
_dsin java.lang.Math.sin(double)
_dcos java.lang.Math.cos(double)
_dtan java.lang.Math.tan(double)
_datan2 java.lang.Math.atan2(double, double)
_dsqrt java.lang.Math.sqrt(double)
_dlog java.lang.Math.log(double)
_dlog10 java.lang.Math.log10(double)
_dpow java.lang.Math.pow(double, double)
_dexp java.lang.Math.exp(double)
_min java.lang.Math.min(int, int)
_max java.lang.Math.max(int, int)Double Float
_floatToRawIntBits java.lang.Float.floatToRawIntBits(float)
_floatToIntBits java.lang.Float.floatToIntBits(float)
_intBitsToFloat java.lang.Float.intBitsToFloat(int)
_doubleToRawLongBits java.lang.Double.doubleToRawLongBits(double)
_doubleToLongBits java.lang.Double.doubleToLongBits(double)
_longBitsToDouble java.lang.Double.longBitsToDouble(long)Integer, Long, Character, Short
_numberOfLeadingZeros_i java.lang.Integer.numberOfLeadingZeros(int)
_numberOfLeadingZeros_l java.lang.Long.numberOfLeadingZeros(long)
_numberOfTrailingZeros_i java.lang.Integer.numberOfTrailingZeros(int)
_numberOfTrailingZeros_l java.lang.Long.numberOfTrailingZeros(long)
_bitCount_i java.lang.Integer.bitCount(int)
_bitCount_l java.lang.Long.bitCount(long)
_reverseBytes_i java.lang.Integer.reverseBytes(int)
_reverseBytes_l java.lang.Long.reverseBytes(long)
_reverseBytes_c java.lang.Character.reverseBytes(char)
_reverseBytes_s java.lang.Short.reverseBytes(short)
_Integer_toString java.lang.Integer.toString(int)java.lang.System
_identityHashCode java.lang.System.identityHashCode(Object)
_currentTimeMillis java.lang.System.currentTimeMillis()
_nanoTime java.lang.System.nanoTime()
_arraycopy java.lang.System.arraycopy(Object, int, Object, int, int)java.lang.Thread
_isInterrupted java.lang.Thread.isInterrupted(boolean)
_currentThread java.lang.Thread.currentThread()java.lang.Class
_isAssignableFrom java.lang.Class.isAssignableFrom(Class)
_isInstance java.lang.Class.isInstance(Object)
_getModifiers java.lang.Class.getModifiers()
_isInterface java.lang.Class.isInterface()
_isArray java.lang.Class.isArray()
_isPrimitive java.lang.Class.isPrimitive()
_getSuperclass java.lang.Class.getSuperclass()
_getComponentType java.lang.Class.getComponentType()Reflection
_getClassAccessFlags sun.reflect.Reflection.getClassAccessFlags(Class)
_getCallerClass sun.reflect.Reflection.getCallerClass(int)
_getLength java.lang.reflect.Array.getLength(Object)
_newArray java.lang.reflect.Array.newArray(Class, int)
_invoke java.lang.reflect.Method.invoke(Object, Object...)java.util.Arrays
_copyOf java.util.Arrays.copyOf(Object[], int, Class)
_copyOfRange java.util.Arrays.copyOfRange(Object[], int, int, Class)
_equalsC java.util.Arrays.equals(char[], char[])java.lang.String
_compareTo java.lang.String.compareTo(String)
_indexOf java.lang.String.indexOf(String)
_equals java.lang.String.equals(Object)
_String_String java.lang.String(String)java.nio.Buffer
_checkIndex java.nio.Buffer.checkIndex(int)java.lang.ref.Reference
_Reference_get java.lang.ref.Reference.get()Cryptography
_aescrypt_encryptBlock com.sun.crypto.provider.AESCrypt.encryptBlock(byte[], in, byte[], int)
_aescrypt_decryptBlock com.sun.crypto.provider.AESCrypt.decryptBlock(byte[], in, byte[], int)
_cipherBlockChaining_encryptAESCrypt com.sun.crypto.provider.CipherBlockChaining.encrypt(byte[], int, int, byte[], int)
_cipherBlockChaining_decryptAESCrypt com.sun.crypto.provider.CipherBlockChaining.decrypt(byte[], int, int, byte[], int)sun.misc.Unsafe
_allocateInstance sun.misc.Unsafe.allocateInstance(Class)
_copyMemory sun.misc.Unsafe.copyMemory(Object, long, Object, long, long)
_park sun.misc.Unsafe.park(boolean, long)
_unpark sun.misc.Unsafe.unpark(Object)
_getObject sun.misc.Unsafe.getObject(Object, long)
_getBoolean sun.misc.Unsafe.getBoolean(Object, long)
_getByte sun.misc.Unsafe.getByte(Object, long)
_getShort sun.misc.Unsafe.getShort(Object, long)
_getChar sun.misc.Unsafe.getChar(Object, long)
_getInt sun.misc.Unsafe.getInt(Object, long)
_getLong sun.misc.Unsafe.getLong(Object, long)
_getFloat sun.misc.Unsafe.getFloat(Object, long)
_getDouble sun.misc.Unsafe.getDouble(Object, long)
_putObject sun.misc.Unsafe.putObject(Object, long, Object)
_putBoolean sun.misc.Unsafe.putBoolean(Object, long, boolean)
_putByte sun.misc.Unsafe.putByte(Object, long, byte)
_putShort sun.misc.Unsafe.putShort(Object, long, short)
_putChar sun.misc.Unsafe.putChar(Object, long, char)
_putInt sun.misc.Unsafe.putInt(Object, long, int)
_putLong sun.misc.Unsafe.putLong(Object, long, long)
_putFloat sun.misc.Unsafe.putFloat(Object, long, float)
_putDouble sun.misc.Unsafe.putDouble(Object, long, double)
_getObjectVolatile sun.misc.Unsafe.getObjectVolatile(Object, long)
_getBooleanVolatile sun.misc.Unsafe.getBooleanVolatile(Object, long)
_getByteVolatile sun.misc.Unsafe.getByteVolatile(Object, long)
_getShortVolatile sun.misc.Unsafe.getShortVolatile(Object, long)
_getCharVolatile sun.misc.Unsafe.getCharVolatile(Object, long)
_getIntVolatile sun.misc.Unsafe.getIntVolatile(Object, long)
_getLongVolatile sun.misc.Unsafe.getLongVolatile(Object, long)
_getFloatVolatile sun.misc.Unsafe.getFloatVolatile(Object, long)
_getDoubleVolatile sun.misc.Unsafe.getDoubleVolatile(Object, long)
_putObjectVolatile sun.misc.Unsafe.putObjectVolatile(Object, long, Object)
_putBooleanVolatile sun.misc.Unsafe.putBooleanVolatile(Object, long, boolean)
_putByteVolatile sun.misc.Unsafe.putByteVolatile(Object, long, byte)
_putShortVolatile sun.misc.Unsafe.putShortVolatile(Object, long, short)
_putCharVolatile sun.misc.Unsafe.putCharVolatile(Object, long, char)
_putIntVolatile sun.misc.Unsafe.putIntVolatile(Object, long, int)
_putLongVolatile sun.misc.Unsafe.putLongVolatile(Object, long, long)
_putFloatVolatile sun.misc.Unsafe.putFloatVolatile(Object, long, float)
_putDoubleVolatile sun.misc.Unsafe.putDoubleVolatile(Object, long, double)
_getByte_raw sun.misc.Unsafe.getByte(long)
_getShort_raw sun.misc.Unsafe.getShort(long)
_getChar_raw sun.misc.Unsafe.getChar(long)
_getInt_raw sun.misc.Unsafe.getInt(long)
_getLong_raw sun.misc.Unsafe.getLong(long)
_getFloat_raw sun.misc.Unsafe.getFloat(long)
_getDouble_raw sun.misc.Unsafe.getDouble(long)
_getAddress_raw sun.misc.Unsafe.getAddress(long)
_putByte_raw sun.misc.Unsafe.putByte(long, byte)
_putShort_raw sun.misc.Unsafe.putShort(long, short)
_putChar_raw sun.misc.Unsafe.putChar(long, char)
_putInt_raw sun.misc.Unsafe.putInt(long, int)
_putLong_raw sun.misc.Unsafe.putLong(long, long)
_putFloat_raw sun.misc.Unsafe.putFloat(long, float)
_putDouble_raw sun.misc.Unsafe.putDouble(long, double)
_putAddress_raw sun.misc.Unsafe.putAddress(long, long)
_compareAndSwapObject sun.misc.Unsafe.compareAndSwapObject(Object, long, Object, Object)
_compareAndSwapLong sun.misc.Unsafe.compareAndSwapLong(Object, long, long, long)
_compareAndSwapInt sun.misc.Unsafe.compareAndSwapInt(Object, long, int, int)
_putOrderedObject sun.misc.Unsafe.putOrderedObject(Object, long, Object)
_putOrderedLong sun.misc.Unsafe.putOrderedLong(Object, long, long)
_putOrderedInt sun.misc.Unsafe.putOrderedInt(Object, long, int)
_getAndAddInt sun.misc.Unsafe.getAndAddInt(Object, long, int)
_getAndAddLong sun.misc.Unsafe.getAndAddLong(Object, long, long)
_getAndSetInt sun.misc.Unsafe.getAndSet(Object, long, int)
_getAndSetLong sun.misc.Unsafe.getAndSet(Object, long, long)
_getAndSetObject sun.misc.Unsafe.getAndSet(Object, long, Object)
_prefetchRead sun.misc.Unsafe.prefetchRead(Object, long)
_prefetchWrite sun.misc.Unsafe.prefetchWrite(Object, long)
_prefetchReadStatic sun.misc.Unsafe.prefetchReadStatic(Object, long)
_prefetchWriteStatic sun.misc.Unsafe.prefetchWriteStatic(Object, long)lava.lang.Throwable
_fillInStackTrace java.lang.Throwable.fillInStackTrace()java.lang.StringBuilder
_StringBuilder_void java.lang.StringBuilder()
_StringBuilder_int java.lang.StringBuilder(int)
_StringBuilder_String java.lang.StringBuilder(String)
_StringBuilder_append_char java.lang.StringBuilder.append(char)
_StringBuilder_append_int java.lang.StringBuilder.append(int)
_StringBuilder_append_String java.lang.StringBuilder.append(String)
_StringBuilder_toString java.lang.StringBuilder.toString()java.lang.StringBuffer
_StringBuffer_void java.lang.StringBuffer()
_StringBuffer_int java.lang.StringBuffer(int)
_StringBuffer_String java.lang.StringBuffer(String)
_StringBuffer_append_char java.lang.StringBuffer.append(char)
_StringBuffer_append_int java.lang.StringBuffer.append(int)
_StringBuffer_append_String java.lang.StringBuffer.append(String)
_StringBuffer_toString java.lang.StringBuffer.toString()java.lang.invoke.MethodHandle
_invokeGeneric java.lang.invoke.MethodHandle.invoke*
_invokeBasic java.lang.invoke.MethodHandle.invokeBasic*
_linkToVirtual java.lang.invoke.MethodHandle.linkToVirtual*
_linkToStatic java.lang.invoke.MethodHandle.linkToStatic*
_linkToSpecial java.lang.invoke.MethodHandle.linkToSpecial*
_linkToInterface java.lang.invoke.MethodHandle.linkToInterface*
_compiledLambdaForm java.lang.invoke.MethodHandle.* Boxing and Unboxing
_booleanValue java.lang.Boolean.booleanValue()
_byteValue java.lang.Byte.byteValue()
_charValue java.lang.Character.charValue()
_shortValue java.lang.Short.shortValue()
_intValue java.lang.Integer.intValue()
_longValue java.lang.Long.longValue()
_floatValue java.lang.Float.floatValue()
_doubleValue java.lang.Double.doubleValue()
_Boolean_valueOf java.lang.Boolean.valueOf(boolean)
_Byte_valueOf java.lang.Byte.valueOf(byte)
_Character_valueOf java.lang.Character.valueOf(char)
_Short_valueOf java.lang.Short.valueOf(short)
_Integer_valueOf java.lang.Integer.valueOf(int)
_Long_valueOf java.lang.Long.valueOf(long)
_Float_valueOf java.lang.Float.valueOf(float)
_Double_valueOf java.lang.Double.valueOf(double)Intrinsic Functions in JDK 8
java.lang.Object
_hashCode java.lang.Object.hashCode()
_getClass java.lang.Object.getClass()
_clone java.lang.Object.clone()
_Object_init java.lang.Object()java.lang.Math
_dabs java.lang.Math.abs(double)
_dsin java.lang.Math.sin(double)
_dcos java.lang.Math.cos(double)
_dtan java.lang.Math.tan(double)
_datan2 java.lang.Math.atan2(double, double)
_dsqrt java.lang.Math.sqrt(double)
_dlog java.lang.Math.log(double)
_dlog10 java.lang.Math.log10(double)
_dpow java.lang.Math.pow(double, double)
_dexp java.lang.Math.exp(double)
_min java.lang.Math.min(int, int)
_max java.lang.Math.max(int, int)
_addExactI java.lang.Math.addExact(int, int)
_addExactL java.lang.Math.addExact(long, long)
_decrementExactI java.lang.Math.decrementExact(int)
_decrementExactL java.lang.Math.decrementExact(long)
_incrementExactI java.lang.Math.incrementExact(int)
_incrementExactL java.lang.Math.incrementExact(long)
_multiplyExactI java.lang.Math.multiplyExact(int, int)
_multiplyExactL java.lang.Math.multiplyExact(long, long)
_negateExactI java.lang.Math.negateExact(int)
_negateExactL java.lang.Math.negateExact(long)
_subtractExactI java.lang.Math.subtractExact(int, int)
_subtractExactL java.lang.Math.subtractExact(long, long)Π JDK 8 Π² ΠΊΠ»Π°ΡΡ
java.lang.Math Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ Π΄Π»Ρ Π½ΠΈΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ intrinsic-ΡΡΠ½ΠΊΡΠΈΠΈ.Double, Float
_floatToRawIntBits java.lang.Float.floatToRawIntBits(float)
_floatToIntBits java.lang.Float.floatToIntBits(float)
_intBitsToFloat java.lang.Float.intBitsToFloat(int)
_doubleToRawLongBits java.lang.Double.doubleToRawLongBits(double)
_doubleToLongBits java.lang.Double.doubleToLongBits(double)
_longBitsToDouble java.lang.Double.longBitsToDouble(long)Integer, Long, Character, Short
_numberOfLeadingZeros_i java.lang.Integer.numberOfLeadingZeros(int)
_numberOfLeadingZeros_l java.lang.Long.numberOfLeadingZeros(long)
_numberOfTrailingZeros_i java.lang.Integer.numberOfTrailingZeros(int)
_numberOfTrailingZeros_l java.lang.Long.numberOfTrailingZeros(long)
_bitCount_i java.lang.Integer.bitCount(int)
_bitCount_l java.lang.Long.bitCount(long)
_reverseBytes_i java.lang.Integer.reverseBytes(int)
_reverseBytes_l java.lang.Long.reverseBytes(long)
_reverseBytes_c java.lang.Character.reverseBytes(char)
_reverseBytes_s java.lang.Short.reverseBytes(short)
_Integer_toString java.lang.Integer.toString(int)java.lang.System
_identityHashCode java.lang.System.identityHashCode(Object)
_currentTimeMillis java.lang.System.currentTimeMillis()
_nanoTime java.lang.System.nanoTime()
_arraycopy java.lang.System.arraycopy(Object, int, Object, int, int)java.lang.Thread
_isInterrupted java.lang.Thread.isInterrupted(boolean)
_currentThread java.lang.Thread.currentThread()java.lang.Class
_isAssignableFrom java.lang.Class.isAssignableFrom(Class)
_isInstance java.lang.Class.isInstance(Object)
_getModifiers java.lang.Class.getModifiers()
_isInterface java.lang.Class.isInterface()
_isArray java.lang.Class.isArray()
_isPrimitive java.lang.Class.isPrimitive()
_getSuperclass java.lang.Class.getSuperclass()
_getComponentType java.lang.Class.getComponentType()Reflection
_getClassAccessFlags sun.reflect.Reflection.getClassAccessFlags(Class)
_getCallerClass sun.reflect.Reflection.getCallerClass()
_getLength java.lang.reflect.Array.getLength(Object)
_newArray java.lang.reflect.Array.newArray(Class, int)
_invoke java.lang.reflect.Method.invoke(Object, Object...)Π JDK 8 ΠΌΠ΅ΡΠΎΠ΄
sun.reflect.reflection.getCallerClass(int) ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ @Deprecated, Π²ΠΌΠ΅cΡΠΎ Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ sun.reflect.Reflection.getCallerClass().java.util.Arrays
_copyOf java.util.Arrays.copyOf(Object[], int, Class)
_copyOfRange java.util.Arrays.copyOfRange(Object[], int, int, Class)
_equalsC java.util.Arrays.equals(char[], char[])java.lang.String
_compareTo java.lang.String.compareTo(String)
_indexOf java.lang.String.indexOf(String)
_equals java.lang.String.equals(Object)
_String_String java.lang.String(String)java.nio.Buffer
_checkIndex java.nio.Buffer.checkIndex(int)sun.nio.cs.ISO_8859_1$Encoder
_encodeISOArray sun.nio.cs.ISO_8859_1.Encoder.encodeISOArray(char[], int, byte[], int, int)Π ΠΊΠ»Π°ΡΡ
sun.nio.cs.ISO_8859_1$Encoder Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ encodeISOArray.java.math.BigInteger
_multiplyToLen java.math.BigInteger.multiplyToLen(int[], int, int[], int, int[])
_squareToLen java.math.BigInteger.squareToLen(int[], int, int[], int)
_mulAdd java.math.BigInteger.mulAdd(int[], int[], int, int, int)
_montgomeryMultiply java.math.BigInteger.montgomeryMultiply(int[], int[], int[], int, long, int[])
_montgomerySquare java.math.BigInteger.montgomerySquare(int[], int[], int, long, int[])ΠΠ»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
java.math.BigInteger Π² JDK 8 ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠΈ.java.lang.ref.Reference
_Reference_get java.lang.ref.Reference.get()Cryptography
_aescrypt_encryptBlock com.sun.crypto.provider.AESCrypt.encryptBlock(byte[], in, byte[], int)
_aescrypt_decryptBlock com.sun.crypto.provider.AESCrypt.decryptBlock(byte[], in, byte[], int)
_cipherBlockChaining_encryptAESCrypt com.sun.crypto.provider.CipherBlockChaining.encrypt(byte[], int, int, byte[], int)
_cipherBlockChaining_decryptAESCrypt com.sun.crypto.provider.CipherBlockChaining.decrypt(byte[], int, int, byte[], int)sun.security.provider.*
_sha_implCompress sun.security.provider.SHA.implCompress(byte[], int)
_sha2_implCompress sun.security.provider.SHA2.implCompress(byte[], int)
_sha5_implCompress sun.security.provider.SHA5.implCompress(byte[], int)
_digestBase_implCompressMB sun.security.provider.Digestbase.implCompressMultiBlock(byte[], int, int)Π’ΠΎΠ»ΡΠΊΠΎ Π² JDK 8 ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠΈ Π΄Π»Ρ
implCompress(). ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ sun.security.provider.DigestBase.implCompressMultiBlock().java.util.zip.CRC32
_updateCRC32 java.util.zip.CRC32.update(int, int)
_updateBytesCRC32 java.util.zip.CRC32.updateBytes(int, byte[], int, int)
_updateByteBufferCRC32 java.util.zip.CRC32.updateByteBuffer(int, long, int, int)ΠΠ²Π° ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠ°Π½Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°
update ΠΈ updateBytes. ΠΠ΅ΡΠΎΠ΄ updateByteBuffer ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² JDK 8.sun.misc.Unsafe
_allocateInstance sun.misc.Unsafe.allocateInstance(Class)
_copyMemory sun.misc.Unsafe.copyMemory(Object, long, Object, long, long)
_park sun.misc.Unsafe.park(boolean, long)
_unpark sun.misc.Unsafe.unpark(Object)
_loadFence sun.misc.Unsafe.loadFence()
_storeFence sun.misc.Unsafe.storeFence()
_fullFence sun.misc.Unsafe.fullFence()
_getObject sun.misc.Unsafe.getObject(Object, long)
_getBoolean sun.misc.Unsafe.getBoolean(Object, long)
_getByte sun.misc.Unsafe.getByte(Object, long)
_getShort sun.misc.Unsafe.getShort(Object, long)
_getChar sun.misc.Unsafe.getChar(Object, long)
_getInt sun.misc.Unsafe.getInt(Object, long)
_getLong sun.misc.Unsafe.getLong(Object, long)
_getFloat sun.misc.Unsafe.getFloat(Object, long)
_getDouble sun.misc.Unsafe.getDouble(Object, long)
_putObject sun.misc.Unsafe.putObject(Object, long, Object)
_putBoolean sun.misc.Unsafe.putBoolean(Object, long, boolean)
_putByte sun.misc.Unsafe.putByte(Object, long, byte)
_putShort sun.misc.Unsafe.putShort(Object, long, short)
_putChar sun.misc.Unsafe.putChar(Object, long, char)
_putInt sun.misc.Unsafe.putInt(Object, long, int)
_putLong sun.misc.Unsafe.putLong(Object, long, long)
_putFloat sun.misc.Unsafe.putFloat(Object, long, float)
_putDouble sun.misc.Unsafe.putDouble(Object, long, double)
_getObjectVolatile sun.misc.Unsafe.getObjectVolatile(Object, long)
_getBooleanVolatile sun.misc.Unsafe.getBooleanVolatile(Object, long)
_getByteVolatile sun.misc.Unsafe.getByteVolatile(Object, long)
_getShortVolatile sun.misc.Unsafe.getShortVolatile(Object, long)
_getCharVolatile sun.misc.Unsafe.getCharVolatile(Object, long)
_getIntVolatile sun.misc.Unsafe.getIntVolatile(Object, long)
_getLongVolatile sun.misc.Unsafe.getLongVolatile(Object, long)
_getFloatVolatile sun.misc.Unsafe.getFloatVolatile(Object, long)
_getDoubleVolatile sun.misc.Unsafe.getDoubleVolatile(Object, long)
_putObjectVolatile sun.misc.Unsafe.putObjectVolatile(Object, long, Object)
_putBooleanVolatile sun.misc.Unsafe.putBooleanVolatile(Object, long, boolean)
_putByteVolatile sun.misc.Unsafe.putByteVolatile(Object, long, byte)
_putShortVolatile sun.misc.Unsafe.putShortVolatile(Object, long, short)
_putCharVolatile sun.misc.Unsafe.putCharVolatile(Object, long, char)
_putIntVolatile sun.misc.Unsafe.putIntVolatile(Object, long, int)
_putLongVolatile sun.misc.Unsafe.putLongVolatile(Object, long, long)
_putFloatVolatile sun.misc.Unsafe.putFloatVolatile(Object, long, float)
_putDoubleVolatile sun.misc.Unsafe.putDoubleVolatile(Object, long, double)
_getByte_raw sun.misc.Unsafe.getByte(long)
_getShort_raw sun.misc.Unsafe.getShort(long)
_getChar_raw sun.misc.Unsafe.getChar(long)
_getInt_raw sun.misc.Unsafe.getInt(long)
_getLong_raw sun.misc.Unsafe.getLong(long)
_getFloat_raw sun.misc.Unsafe.getFloat(long)
_getDouble_raw sun.misc.Unsafe.getDouble(long)
_getAddress_raw sun.misc.Unsafe.getAddress(long)
_putByte_raw sun.misc.Unsafe.putByte(long, byte)
_putShort_raw sun.misc.Unsafe.putShort(long, short)
_putChar_raw sun.misc.Unsafe.putChar(long, char)
_putInt_raw sun.misc.Unsafe.putInt(long, int)
_putLong_raw sun.misc.Unsafe.putLong(long, long)
_putFloat_raw sun.misc.Unsafe.putFloat(long, float)
_putDouble_raw sun.misc.Unsafe.putDouble(long, double)
_putAddress_raw sun.misc.Unsafe.putAddress(long, long)
_compareAndSwapObject sun.misc.Unsafe.compareAndSwapObject(Object, long, Object, Object)
_compareAndSwapLong sun.misc.Unsafe.compareAndSwapLong(Object, long, long, long)
_compareAndSwapInt sun.misc.Unsafe.compareAndSwapInt(Object, long, int, int)
_putOrderedObject sun.misc.Unsafe.putOrderedObject(Object, long, Object)
_putOrderedLong sun.misc.Unsafe.putOrderedLong(Object, long, long)
_putOrderedInt sun.misc.Unsafe.putOrderedInt(Object, long, int)
_getAndAddInt sun.misc.Unsafe.getAndAddInt(Object, long, int)
_getAndAddLong sun.misc.Unsafe.getAndAddLong(Object, long, long)
_getAndSetInt sun.misc.Unsafe.getAndSet(Object, long, int)
_getAndSetLong sun.misc.Unsafe.getAndSet(Object, long, long)
_getAndSetObject sun.misc.Unsafe.getAndSet(Object, long, Object)
_prefetchRead sun.misc.Unsafe.prefetchRead(Object, long)
_prefetchWrite sun.misc.Unsafe.prefetchWrite(Object, long)
_prefetchReadStatic sun.misc.Unsafe.prefetchReadStatic(Object, long)
_prefetchWriteStatic sun.misc.Unsafe.prefetchWriteStatic(Object, long)Π’ΡΠΈ Π½ΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°
sun.misc.Unsafe.*fence() (memory barriers).lava.lang.Throwable
_fillInStackTrace java.lang.Throwable.fillInStackTrace()java.lang.StringBuilder
_StringBuilder_void java.lang.StringBuilder()
_StringBuilder_int java.lang.StringBuilder(int)
_StringBuilder_String java.lang.StringBuilder(String)
_StringBuilder_append_char java.lang.StringBuilder.append(char)
_StringBuilder_append_int java.lang.StringBuilder.append(int)
_StringBuilder_append_String java.lang.StringBuilder.append(String)
_StringBuilder_toString java.lang.StringBuilder.toString()java.lang.StringBuffer
_StringBuffer_void java.lang.StringBuffer()
_StringBuffer_int java.lang.StringBuffer(int)
_StringBuffer_String java.lang.StringBuffer(String)
_StringBuffer_append_char java.lang.StringBuffer.append(char)
_StringBuffer_append_int java.lang.StringBuffer.append(int)
_StringBuffer_append_String java.lang.StringBuffer.append(String)
_StringBuffer_toString java.lang.StringBuffer.toString()java.lang.invoke.MethodHandle
_invokeGeneric java.lang.invoke.MethodHandle.invoke*
_invokeBasic java.lang.invoke.MethodHandle.invokeBasic*
_linkToVirtual java.lang.invoke.MethodHandle.linkToVirtual*
_linkToStatic java.lang.invoke.MethodHandle.linkToStatic*
_linkToSpecial java.lang.invoke.MethodHandle.linkToSpecial*
_linkToInterface java.lang.invoke.MethodHandle.linkToInterface*
_compiledLambdaForm java.lang.invoke.MethodHandle.*
_profileBoolean java.lang.invoke.MethodHandleImpl.profileBoolean(boolean, int[]) ΠΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄
java.lang.invoke.MethodHandleImpl.profileBoolean(). ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π°Π΄ ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ: Intrinsified by C2. Counters are used during parsing to calculate branch frequencies..Boxing ΠΈ Unboxing
_booleanValue java.lang.Boolean.booleanValue()
_byteValue java.lang.Byte.byteValue()
_charValue java.lang.Character.charValue()
_shortValue java.lang.Short.shortValue()
_intValue java.lang.Integer.intValue()
_longValue java.lang.Long.longValue()
_floatValue java.lang.Float.floatValue()
_doubleValue java.lang.Double.doubleValue()
_Boolean_valueOf java.lang.Boolean.valueOf(boolean)
_Byte_valueOf java.lang.Byte.valueOf(byte)
_Character_valueOf java.lang.Character.valueOf(char)
_Short_valueOf java.lang.Short.valueOf(short)
_Integer_valueOf java.lang.Integer.valueOf(int)
_Long_valueOf java.lang.Long.valueOf(long)
_Float_valueOf java.lang.Float.valueOf(float)
_Double_valueOf java.lang.Double.valueOf(double)Intrinsic-ΡΡΠ½ΠΊΡΠΈΠΈ Π² JDK 9
Abstract was added in JDK 9
jdk.internal.HotSpotIntrinsicCandidate, which represents that method call marked @HotSpotIntrinsicCandidate, it can be replaced intrinsikom . βMaybeβ in this context means that having an intrinsic function for the corresponding method does not guarantee that the JIT compiler will use the intrinsic . I will add that a bug was launched with a proposal to rename the annotation to
@IntrinsicCandidateand not produce VM-specific entities, as it was with sun.misc.java.lang.Object
_hashCode java.lang.Object.hashCode()
_getClass java.lang.Object.getClass()
_clone java.lang.Object.clone()
_notify java.lang.Object.notify()
_notifyAll java.lang.Object.notifyAll()
_Object_init java.lang.Object()In JDK 9, for
Objectadded a couple of intrinsic functions : _notifyand _notifyAll.java.lang.Math
_dabs java.lang.Math.abs(double)
_dsin java.lang.Math.sin(double)
_dcos java.lang.Math.cos(double)
_dtan java.lang.Math.tan(double)
_datan2 java.lang.Math.atan2(double, double)
_dsqrt java.lang.Math.sqrt(double)
_dlog java.lang.Math.log(double)
_dlog10 java.lang.Math.log10(double)
_dpow java.lang.Math.pow(double, double)
_dexp java.lang.Math.exp(double)
_min java.lang.Math.min(int, int)
_max java.lang.Math.max(int, int)
_addExactI java.lang.Math.addExact(int, int)
_addExactL java.lang.Math.addExact(long, long)
_decrementExactI java.lang.Math.decrementExact(int)
_decrementExactL java.lang.Math.decrementExact(long)
_incrementExactI java.lang.Math.incrementExact(int)
_incrementExactL java.lang.Math.incrementExact(long)
_multiplyExactI java.lang.Math.multiplyExact(int, int)
_multiplyExactL java.lang.Math.multiplyExact(long, long)
_negateExactI java.lang.Math.negateExact(int)
_negateExactL java.lang.Math.negateExact(long)
_subtractExactI java.lang.Math.subtractExact(int, int)
_subtractExactL java.lang.Math.subtractExact(long, long)
_fmaD java.lang.Math.fma(double, double, double)
_fmaF java.lang.Math.fma(float, float, float)Π JDK 9 Π² ΠΊΠ»Π°ΡΡ
java.lang.Math Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² fma (~ a * b + c) ΠΈ Π΄Π»Ρ Π½ΠΈΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ intrinsic-ΡΡΠ½ΠΊΡΠΈΠΈ.Double, Float
_floatToRawIntBits java.lang.Float.floatToRawIntBits(float)
_floatToIntBits java.lang.Float.floatToIntBits(float)
_intBitsToFloat java.lang.Float.intBitsToFloat(int)
_doubleToRawLongBits java.lang.Double.doubleToRawLongBits(double)
_doubleToLongBits java.lang.Double.doubleToLongBits(double)
_longBitsToDouble java.lang.Double.longBitsToDouble(long)Integer, Long, Character, Short
_numberOfLeadingZeros_i java.lang.Integer.numberOfLeadingZeros(int)
_numberOfLeadingZeros_l java.lang.Long.numberOfLeadingZeros(long)
_numberOfTrailingZeros_i java.lang.Integer.numberOfTrailingZeros(int)
_numberOfTrailingZeros_l java.lang.Long.numberOfTrailingZeros(long)
_bitCount_i java.lang.Integer.bitCount(int)
_bitCount_l java.lang.Long.bitCount(long)
_reverseBytes_i java.lang.Integer.reverseBytes(int)
_reverseBytes_l java.lang.Long.reverseBytes(long)
_reverseBytes_c java.lang.Character.reverseBytes(char)
_reverseBytes_s java.lang.Short.reverseBytes(short)
_Integer_toString java.lang.Integer.toString(int)java.lang.System
_identityHashCode java.lang.System.identityHashCode(Object)
_currentTimeMillis java.lang.System.currentTimeMillis()
_nanoTime java.lang.System.nanoTime()
_arraycopy java.lang.System.arraycopy(Object, int, Object, int, int)java.lang.Thread
_isInterrupted java.lang.Thread.isInterrupted(boolean)
_currentThread java.lang.Thread.currentThread()
_onSpinWait java.lang.Thread.onSpinWait()Π JDK 9 ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄
onSpinWait β ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ busy waiting.java.lang.Class
_isAssignableFrom java.lang.Class.isAssignableFrom(Class)
_isInstance java.lang.Class.isInstance(Object)
_getModifiers java.lang.Class.getModifiers()
_isInterface java.lang.Class.isInterface()
_isArray java.lang.Class.isArray()
_isPrimitive java.lang.Class.isPrimitive()
_getSuperclass java.lang.Class.getSuperclass()
_Class_cast java.lang.Class.cast(Object)Π£Π΄Π°Π»Π΅Π½Π° intrinsic-ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ
java.lang.Class.getComponentType() (getComponentType ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» Π±ΡΡΡ native-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ).Π JDK 9 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π°
cast.Reflection
_getClassAccessFlags sun.reflect.Reflection.getClassAccessFlags(Class)
_getCallerClass sun.reflect.Reflection.getCallerClass()
_getLength java.lang.reflect.Array.getLength(Object)
_newArray java.lang.reflect.Array.newArray(Class, int)
_invoke java.lang.reflect.Method.invoke(Object, Object...)java.util.Arrays
_copyOf java.util.Arrays.copyOf(Object[], int, Class)
_copyOfRange java.util.Arrays.copyOfRange(Object[], int, int, Class)
_equalsC java.util.Arrays.equals(char[], char[])
_equalsB java.util.Arrays.equals(boolean[], boolean[])Π JDK 9 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ intrinsic Π΄Π»Ρ
java.util.Arrays.equals(boolean[], boolean[]).StringUTF16 ΠΈ StringLatin1
_compressStringC java.lang.StringUTF16.compress(char[], int, byte[], int, int)
_compressStringB java.lang.StringUTF16.compress(byte[], int, byte[], int, int)
_inflateStringC java.lang.StringLatin1.inflate(byte[], int, char[], int, int)
_inflateStringB java.lang.StringLatin1.inflate(byte[], int, byte[], int, int)
_toBytesStringU java.lang.StringUTF16.toBytes(char[], int, int)
_getCharsStringU java.lang.StringUTF16.getChars(byte[], int, int, char[], int)
_getCharStringU java.lang.StringUTF16.getChar(byte[], int)
_putCharStringU java.lang.StringUTF16.putChar(byte[] int, int)
_compareToL java.lang.StringLatin1.compareTo(byte[], byte[])
_compareToU java.lang.StringUTF16.compareTo(byte[], byte[])
_compareToLU java.lang.StringLatin1.compareToUTF16(byte[], byte[])
_compareToUL java.lang.StringUTF16.compareToLatin1(byte[], byte[])
_indexOfL java.lang.StringLatin1.indexOf(byte[], byte[])
_indexOfU java.lang.StringUTF16.indexOf(byte[], byte[])
_indexOfUL java.lang.StringUTF16.indexOfLatin1(byte[], byte[])
_indexOfIL java.lang.StringLatin1.indexOf(byte[], int, byte[], int, int)
_indexOfIU java.lang.StringUTF16.indexOf(byte[], int, byte[], int, int)
_indexOfIUL java.lang.StringUTF16.indexOfLatin1(byte[], int, byte[], int, int)
_indexOfU_char java.lang.StringUTF16.indexOfChar(byte[], int, int, int)
_equalsL java.lang.StringLatin1.equals(byte[], byte[])
_equalsU java.lang.StringUTF16.equals(byte[], byte[])Π ΡΠ²ΡΠ·ΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅
String Π² JDK 9 β JEP-254, ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π΄Π²Π° Π½ΠΎΠ²ΡΡ
ΠΊΠ»Π°ΡΡΠ° StringUTF16 ΠΈ StringLatin1.jdk.internal.util.Preconditions
_Preconditions_checkIndex jdk.internal.util.Preconditions.checkIndex(int, int, java.util.function.BiFunction)ΠΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π² JDK 9 Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ. ΠΠ½ΡΡΠΈΠ½ΡΠΈΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π³ΡΠ°Π½ΠΈΡΡ.
java.lang.StringCoding
_hasNegatives java.lang.StringCoding.hasNegatives(byte[], int, int)
_encodeByteISOArray java.lang.StringCoding.encodeISOArray(byte[], int, byte[], int, int)ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π² JDK 9.
java.lang.String
_String_String java.lang.String(String)Π£Π΄Π°Π»Π΅Π½Ρ ΠΏΡΠΎΡΠΈΠ΅ intrinsic-ΡΡΠ½ΠΊΡΠΈΠΈ (
_compareTo, _equals, _indexOf), Ρ.ΠΊ. ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠ»Π° ΠΊ ΠΊΠ»Π°ΡΡΠ°ΠΌ StringUTF16 ΠΈ StringLatin1. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
Π² ΠΊΠ»Π°ΡΡΠ΅ String Π² JEP-254.java.nio.Buffer
_checkIndex java.nio.Buffer.checkIndex(int)sun.nio.cs.ISO_8859_1$Encoder
_encodeISOArray sun.nio.cs.ISO_8859_1.Encoder.encodeISOArray(char[], int, byte[], int, int)Π JDK 9 ΠΏΠΎΠ΄Π²Π΅ΡΠ³ΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Ρ ΠΊΠ»Π°ΡΡ
sun.nio.cs.ISO_8859_1$Encoder: Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ implEncodeISOArray, ΡΡΠ°ΡΡΠΉ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ.java.math.BigInteger
_multiplyToLen java.math.BigInteger.multiplyToLen(int[], int, int[], int, int[])
_squareToLen java.math.BigInteger.squareToLen(int[], int, int[], int)
_mulAdd java.math.BigInteger.mulAdd(int[], int[], int, int, int)
_montgomeryMultiply java.math.BigInteger.montgomeryMultiply(int[], int[], int[], int, long, int[])
_montgomerySquare java.math.BigInteger.montgomerySquare(int[], int[], int, long, int[])java.util.ArraysSupport
_vectorizedMismatch java.util.ArraysSupport.vectorizedMismatch(Object, long, Object, long, int, int)ΠΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π² JDK 9.
java.lang.ref.Reference
_Reference_get java.lang.ref.Reference.get()Cryptography
_aescrypt_encryptBlock com.sun.crypto.provider.AESCrypt.encryptBlock(byte[], in, byte[], int)
_aescrypt_decryptBlock com.sun.crypto.provider.AESCrypt.decryptBlock(byte[], in, byte[], int)
_cipherBlockChaining_encryptAESCrypt com.sun.crypto.provider.CipherBlockChaining.encrypt(byte[], int, int, byte[], int)
_cipherBlockChaining_decryptAESCrypt com.sun.crypto.provider.CipherBlockChaining.decrypt(byte[], int, int, byte[], int)
_counterMode_AESCrypt com.sun.crypto.provider.CounterMode.implCrypt(byte[], int, int, byte[], int)
_ghash_processBlocks com.sun.crypto.provider.GHASH.processBlocks(byte[], int, int, long[], long[])Π JDK 9 ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°
CounterMode.crypt() Π²ΡΠ½Π΅ΡΠ΅Π½Π° Π² ΠΌΠ΅ΡΠΎΠ΄ implCrypt Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠ°. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΡΠ΅ΡΠ°ΠΊΡΠΎΡΠ΅Π½ GHASH.sun.security.provider.*
_sha_implCompress sun.security.provider.SHA.implCompress(byte[], int)
_sha2_implCompress sun.security.provider.SHA2.implCompress(byte[], int)
_sha5_implCompress sun.security.provider.SHA5.implCompress(byte[], int)
_digestBase_implCompressMB sun.security.provider.DigestBase.implCompressMultiBlock0(byte[], int, int)Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³
DigestBase Π² JDK 9.java.util.zip.CRC32 ΠΈ java.util.zip.CRC32C
_updateCRC32 java.util.zip.CRC32.update(int2_int_signature)
_updateBytesCRC32 java.util.zip.CRC32.updateBytes0(updateBytes_signature)
_updateByteBufferCRC32 java.util.zip.CRC32.updateByteBuffer0(updateByteBuffer_signature)
_updateBytesCRC32C java.util.zip.CRC32C.updateBytes(int, byte[], int, int)
_updateDirectByteBufferCRC32C java.util.zip.CRC32C.updateDirectByteBuffer(int, long, int, int)
_updateBytesAdler32 java.util.zip.Adler32.updateBytes(int, byte[], int, int)
_updateByteBufferAdler32 java.util.zip.Adler32.updateByteBuffer(int, long, int, int)ΠΡΡ ΠΊΠΎΠ΄, ΠΏΠΎΠ΄Π²Π΅ΡΠ³ΡΠΈΠΉΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Ρ Π² JDK 9.
ΠΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ
java.util.zip.CRC32C.jdk.internal.misc.Unsafe
_allocateInstance jdk.internal.misc.Unsafe.allocateInstance(Class)
_allocateUninitializedArray jdk.internal.misc.Unsafe.allocateUninitializedArray0(Class, int)
_copyMemory jdk.internal.misc.Unsafe.copyMemory0(Object, long, Object, long, long)
_park jdk.internal.misc.Unsafe.park(boolean, long)
_unpark jdk.internal.misc.Unsafe.unpark(Object)
_loadFence jdk.internal.misc.Unsafe.loadFence()
_storeFence jdk.internal.misc.Unsafe.storeFence()
_fullFence jdk.internal.misc.Unsafe.fullFence()
_getObject jdk.internal.misc.Unsafe.getObject(Object, long)
_getBoolean jdk.internal.misc.Unsafe.getBoolean(Object, long)
_getByte jdk.internal.misc.Unsafe.getByte(Object, long)
_getShort jdk.internal.misc.Unsafe.getShort(Object, long)
_getChar jdk.internal.misc.Unsafe.getChar(Object, long)
_getInt jdk.internal.misc.Unsafe.getInt(Object, long)
_getLong jdk.internal.misc.Unsafe.getLong(Object, long)
_getFloat jdk.internal.misc.Unsafe.getFloat(Object, long)
_getDouble jdk.internal.misc.Unsafe.getDouble(Object, long)
_putObject jdk.internal.misc.Unsafe.putObject(Object, long, Object)
_putBoolean jdk.internal.misc.Unsafe.putBoolean(Object, long, boolean)
_putByte jdk.internal.misc.Unsafe.putByte(Object, long, byte)
_putShort jdk.internal.misc.Unsafe.putShort(Object, long, short)
_putChar jdk.internal.misc.Unsafe.putChar(Object, long, char)
_putInt jdk.internal.misc.Unsafe.putInt(Object, long, int)
_putLong jdk.internal.misc.Unsafe.putLong(Object, long, long)
_putFloat jdk.internal.misc.Unsafe.putFloat(Object, long, float)
_putDouble jdk.internal.misc.Unsafe.putDouble(Object, long, double)
_getObjectVolatile jdk.internal.misc.Unsafe.getObjectVolatile(Object, long)
_getBooleanVolatile jdk.internal.misc.Unsafe.getBooleanVolatile(Object, long)
_getByteVolatile jdk.internal.misc.Unsafe.getByteVolatile(Object, long)
_getShortVolatile jdk.internal.misc.Unsafe.getShortVolatile(Object, long)
_getCharVolatile jdk.internal.misc.Unsafe.getCharVolatile(Object, long)
_getIntVolatile jdk.internal.misc.Unsafe.getIntVolatile(Object, long)
_getLongVolatile jdk.internal.misc.Unsafe.getLongVolatile(Object, long)
_getFloatVolatile jdk.internal.misc.Unsafe.getFloatVolatile(Object, long)
_getDoubleVolatile jdk.internal.misc.Unsafe.getDoubleVolatile(Object, long)
_putObjectVolatile jdk.internal.misc.Unsafe.putObjectVolatile(Object, long, Object)
_putBooleanVolatile jdk.internal.misc.Unsafe.putBooleanVolatile(Object, long, boolean)
_putByteVolatile jdk.internal.misc.Unsafe.putByteVolatile(Object, long, byte)
_putShortVolatile jdk.internal.misc.Unsafe.putShortVolatile(Object, long, short)
_putCharVolatile jdk.internal.misc.Unsafe.putCharVolatile(Object, long, char)
_putIntVolatile jdk.internal.misc.Unsafe.putIntVolatile(Object, long, int)
_putLongVolatile jdk.internal.misc.Unsafe.putLongVolatile(Object, long, long)
_putFloatVolatile jdk.internal.misc.Unsafe.putFloatVolatile(Object, long, float)
_putDoubleVolatile jdk.internal.misc.Unsafe.putDoubleVolatile(Object, long, double)
_getObjectOpaque jdk.internal.misc.Unsafe.getObjectOpaque(Object, long)
_getBooleanOpaque jdk.internal.misc.Unsafe.getBooleanOpaque(Object, long)
_getByteOpaque jdk.internal.misc.Unsafe.getByteOpaque(Object, long)
_getShortOpaque jdk.internal.misc.Unsafe.getShortOpaque(Object, long)
_getCharOpaque jdk.internal.misc.Unsafe.getCharOpaque(Object, long)
_getIntOpaque jdk.internal.misc.Unsafe.getIntOpaque(Object, long)
_getLongOpaque jdk.internal.misc.Unsafe.getLongOpaque(Object, long)
_getFloatOpaque jdk.internal.misc.Unsafe.getFloatOpaque(Object, long)
_getDoubleOpaque jdk.internal.misc.Unsafe.getDoubleOpaque(Object, long)
_putObjectOpaque jdk.internal.misc.Unsafe.putObjectOpaque(Object, long, Object)
_putBooleanOpaque jdk.internal.misc.Unsafe.putBooleanOpaque(Object, long, boolean)
_putByteOpaque jdk.internal.misc.Unsafe.putByteOpaque(Object, long, byte)
_putShortOpaque jdk.internal.misc.Unsafe.putShortOpaque(Object, long, short)
_putCharOpaque jdk.internal.misc.Unsafe.putCharOpaque(Object, long, char)
_putIntOpaque jdk.internal.misc.Unsafe.putIntOpaque(Object, long, int)
_putLongOpaque jdk.internal.misc.Unsafe.putLongOpaque(Object, long, long)
_putFloatOpaque jdk.internal.misc.Unsafe.putFloatOpaque(Object, long, float)
_putDoubleOpaque jdk.internal.misc.Unsafe.putDoubleOpaque(Object, long, double)
_getObjectAcquire jdk.internal.misc.Unsafe.getObjectAcquire(Object, long)
_getBooleanAcquire jdk.internal.misc.Unsafe.getBooleanAcquire(Object, long)
_getByteAcquire jdk.internal.misc.Unsafe.getByteAcquire(Object, long)
_getShortAcquire jdk.internal.misc.Unsafe.getShortAcquire(Object, long)
_getCharAcquire jdk.internal.misc.Unsafe.getCharAcquire(Object, long)
_getIntAcquire jdk.internal.misc.Unsafe.getIntAcquire(Object, long)
_getLongAcquire jdk.internal.misc.Unsafe.getLongAcquire(Object, long)
_getFloatAcquire jdk.internal.misc.Unsafe.getFloatAcquire(Object, long)
_getDoubleAcquire jdk.internal.misc.Unsafe.getDoubleAcquire(Object, long)
_putObjectAcquire jdk.internal.misc.Unsafe.putObjectAcquire(Object, long, Object)
_putBooleanAcquire jdk.internal.misc.Unsafe.putBooleanAcquire(Object, long, boolean)
_putByteAcquire jdk.internal.misc.Unsafe.putByteAcquire(Object, long, byte)
_putShortAcquire jdk.internal.misc.Unsafe.putShortAcquire(Object, long, short)
_putCharAcquire jdk.internal.misc.Unsafe.putCharAcquire(Object, long, char)
_putIntAcquire jdk.internal.misc.Unsafe.putIntAcquire(Object, long, int)
_putLongAcquire jdk.internal.misc.Unsafe.putLongAcquire(Object, long, long)
_putFloatAcquire jdk.internal.misc.Unsafe.putFloatAcquire(Object, long, float)
_putDoubleAcquire jdk.internal.misc.Unsafe.putDoubleAcquire(Object, long, double)
_getShortUnaligned jdk.internal.misc.Unsafe.getShortUnaligned(Object, long)
_getCharUnaligned jdk.internal.misc.Unsafe.getCharUnaligned(Object, long)
_getIntUnaligned jdk.internal.misc.Unsafe.getIntUnaligned(Object, long)
_getLongUnaligned jdk.internal.misc.Unsafe.getLongUnaligned(Object, long)
_putShortUnaligned jdk.internal.misc.Unsafe.putShortUnaligned(Object, long, short)
_putCharUnaligned jdk.internal.misc.Unsafe.putCharUnaligned(Object, long, char)
_putIntUnaligned jdk.internal.misc.Unsafe.putIntUnaligned(Object, long, int)
_putLongUnaligned jdk.internal.misc.Unsafe.putLongUnaligned(Object, long, long)
_compareAndSetObject jdk.internal.misc.Unsafe.compareAndSetObject(Object, long, Object, Object)
_compareAndExchangeObject jdk.internal.misc.Unsafe.compareAndExchangeObject(Object, long, Object, Object)
_compareAndExchangeObjectAcquire jdk.internal.misc.Unsafe.compareAndExchangeObjectAcquire(Object, long, Object, Object)
_compareAndExchangeObjectRelease jdk.internal.misc.Unsafe.compareAndExchangeObjectRelease(Object, long, Object, Object)
_compareAndSetLong jdk.internal.misc.Unsafe.compareAndSetLong(Object, long, long, long)
_compareAndExchangeLong jdk.internal.misc.Unsafe.compareAndExchangeLong(Object, long, long, long)
_compareAndExchangeLongAcquire jdk.internal.misc.Unsafe.compareAndExchangeLongAcquire(Object, long, long, long)
_compareAndExchangeLongRelease jdk.internal.misc.Unsafe.compareAndExchangeLongRelease(Object, long, long, long)
_compareAndSetInt jdk.internal.misc.Unsafe.compareAndSetInt(Object, long, int, int)
_compareAndExchangeInt jdk.internal.misc.Unsafe.compareAndExchangeInt(Object, long, int, int)
_compareAndExchangeIntAcquire jdk.internal.misc.Unsafe.compareAndExchangeIntAcquire(Object, long, int, int)
_compareAndExchangeIntRelease jdk.internal.misc.Unsafe.compareAndExchangeIntRelease(Object, long, int, int)
_compareAndSetByte jdk.internal.misc.Unsafe.compareAndSetByte(Object, long, byte, byte)
_compareAndExchangeByte jdk.internal.misc.Unsafe.compareAndExchangeByte(Object, long, byte, byte)
_compareAndExchangeByteAcquire jdk.internal.misc.Unsafe.compareAndExchangeByteAcquire(Object, long, byte, byte)
_compareAndExchangeByteRelease jdk.internal.misc.Unsafe.compareAndExchangeByteRelease(Object, long, byte, byte)
_compareAndSetShort jdk.internal.misc.Unsafe.compareAndSetShort(Object, long, short, short)
_compareAndExchangeShort jdk.internal.misc.Unsafe.compareAndExchangeShort(Object, long, short, short)
_compareAndExchangeShortAcquire jdk.internal.misc.Unsafe.compareAndExchangeShortAcquire(Object, long, short, short)
_compareAndExchangeShortRelease jdk.internal.misc.Unsafe.compareAndExchangeShortRelease(Object, long, short, short)
_weakCompareAndSetObjectPlain jdk.internal.misc.Unsafe.weakCompareAndSetObjectPlain(Object, long, Object, Object)
_weakCompareAndSetObjectAcquire jdk.internal.misc.Unsafe.weakCompareAndSetObjectAcquire(Object, long, Object, Object)
_weakCompareAndSetObjectRelease jdk.internal.misc.Unsafe.weakCompareAndSetObjectRelease(Object, long, Object, Object)
_weakCompareAndSetObject jdk.internal.misc.Unsafe.weakCompareAndSetObject(Object, long, Object, Object)
_weakCompareAndSetLongPlain jdk.internal.misc.Unsafe.weakCompareAndSetLongPlain(Object, long, long, long)
_weakCompareAndSetLongAcquire jdk.internal.misc.Unsafe.weakCompareAndSetLongAcquire(Object, long, long, long)
_weakCompareAndSetLongRelease jdk.internal.misc.Unsafe.weakCompareAndSetLongRelease(Object, long, long, long)
_weakCompareAndSetLong jdk.internal.misc.Unsafe.weakCompareAndSetLong(Object, long, long, long)
_weakCompareAndSetIntPlain jdk.internal.misc.Unsafe.weakCompareAndSetIntPlain(Object, long, int, int)
_weakCompareAndSetIntAcquire jdk.internal.misc.Unsafe.weakCompareAndSetIntAcquire(Object, long, int, int)
_weakCompareAndSetIntRelease jdk.internal.misc.Unsafe.weakCompareAndSetIntRelease(Object, long, int, int)
_weakCompareAndSetInt jdk.internal.misc.Unsafe.weakCompareAndSetInt(Object, long, int, int)
_weakCompareAndSetBytePlain jdk.internal.misc.Unsafe.weakCompareAndSetBytePlain(Object, long, byte, byte)
_weakCompareAndSetByteAcquire jdk.internal.misc.Unsafe.weakCompareAndSetByteAcquire(Object, long, byte, byte)
_weakCompareAndSetByteRelease jdk.internal.misc.Unsafe.weakCompareAndSetByteRelease(Object, long, byte, byte)
_weakCompareAndSetByte jdk.internal.misc.Unsafe.weakCompareAndSetByte(Object, long, byte, byte)
_weakCompareAndSetShortPlain jdk.internal.misc.Unsafe.weakCompareAndSetShortPlain(Object, long, short, short)
_weakCompareAndSetShortAcquire jdk.internal.misc.Unsafe.weakCompareAndSetShortAcquire(Object, long, short, short)
_weakCompareAndSetShortRelease jdk.internal.misc.Unsafe.weakCompareAndSetShortRelease(Object, long, short, short)
_weakCompareAndSetShort jdk.internal.misc.Unsafe.weakCompareAndSetShort(Object, long, short, short)
_getAndAddInt jdk.internal.misc.Unsafe.getAndAddInt(Object, long, int)
_getAndAddLong jdk.internal.misc.Unsafe.getAndAddLong(Object, long, long)
_getAndAddByte jdk.internal.misc.Unsafe.getAndAddByte(Object, long, byte)
_getAndAddShort jdk.internal.misc.Unsafe.getAndAddShort(Object, long, short)
_getAndSetInt jdk.internal.misc.Unsafe.getAndSetInt(Object, long, int)
_getAndSetLong jdk.internal.misc.Unsafe.getAndSetLong(Object, long, int)
_getAndSetByte jdk.internal.misc.Unsafe.getAndSetByte(Object, long, byte)
_getAndSetShort jdk.internal.misc.Unsafe.getAndSetShort(Object, long, short)
_getAndSetObject jdk.internal.misc.Unsafe.getAndSetObject(Object, long, Object)ΠΠ»Π°ΡΡ
sun.misc.Unsafe ΠΏΠ΅ΡΠ΅Π΅Ρ
Π°Π» Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ β jdk.internal.misc.Unsafe, ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ» ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠΎΠ².lava.lang.Throwable
ΠΠ· JDK 9 ΡΠ΄Π°Π»Π΅Π½Π° intrinsic-ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ
Throwable.fillInStackTrace().java.lang.StringBuilder
_StringBuilder_void java.lang.StringBuilder()
_StringBuilder_int java.lang.StringBuilder(int)
_StringBuilder_String java.lang.StringBuilder(String)
_StringBuilder_append_char java.lang.StringBuilder.append(char)
_StringBuilder_append_int java.lang.StringBuilder.append(int)
_StringBuilder_append_String java.lang.StringBuilder.append(String)
_StringBuilder_toString java.lang.StringBuilder.toString()java.lang.StringBuffer
_StringBuffer_void java.lang.StringBuffer()
_StringBuffer_int java.lang.StringBuffer(int)
_StringBuffer_String java.lang.StringBuffer(String)
_StringBuffer_append_char java.lang.StringBuffer.append(char)
_StringBuffer_append_int java.lang.StringBuffer.append(int)
_StringBuffer_append_String java.lang.StringBuffer.append(String)
_StringBuffer_toString java.lang.StringBuffer.toString()java.lang.invoke.MethodHandle
_invokeGeneric java.lang.invoke.MethodHandle.invoke*
_invokeBasic java.lang.invoke.MethodHandle.invokeBasic*
_linkToVirtual java.lang.invoke.MethodHandle.linkToVirtual*
_linkToStatic java.lang.invoke.MethodHandle.linkToStatic*
_linkToSpecial java.lang.invoke.MethodHandle.linkToSpecial*
_linkToInterface java.lang.invoke.MethodHandle.linkToInterface*
_compiledLambdaForm java.lang.invoke.MethodHandle.*
_profileBoolean java.lang.invoke.MethodHandleImpl.profileBoolean(boolean, int[])
_isCompileConstant java.lang.invoke.MethodHandleImpl.isCompileConstant(Object)
ΠΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄
java.lang.invoke.MethodHandleImpl.isCompileConstant().Boxing ΠΈ Unboxing
_booleanValue java.lang.Boolean.booleanValue()
_byteValue java.lang.Byte.byteValue()
_charValue java.lang.Character.charValue()
_shortValue java.lang.Short.shortValue()
_intValue java.lang.Integer.intValue()
_longValue java.lang.Long.longValue()
_floatValue java.lang.Float.floatValue()
_doubleValue java.lang.Double.doubleValue()
_Boolean_valueOf java.lang.Boolean.valueOf(boolean)
_Byte_valueOf java.lang.Byte.valueOf(byte)
_Character_valueOf java.lang.Character.valueOf(char)
_Short_valueOf java.lang.Short.valueOf(short)
_Integer_valueOf java.lang.Integer.valueOf(int)
_Long_valueOf java.lang.Long.valueOf(long)
_Float_valueOf java.lang.Float.valueOf(float)
_Double_valueOf java.lang.Double.valueOf(double)java.util.stream.StreamsRangeIntSpliterator
_forEachRemaining java_util_stream_StreamsRangeIntSpliterator.forEachRemaining(java.util.function.IntConsumer)
Intrinsic for the method appeared in JDK 9
StreamRangeIntSpliterator.forEachRemaining.Intrinsic Functions in JDK 10
In JDK 10, the number of intrinsics has not changed and completely coincides with JDK 9.
java.lang.Object
_hashCode java.lang.Object.hashCode()
_getClass java.lang.Object.getClass()
_clone java.lang.Object.clone()
_notify java.lang.Object.notify()
_notifyAll java.lang.Object.notifyAll()
_Object_init java.lang.Object()java.lang.Math
_dabs java.lang.Math.abs(double)
_dsin java.lang.Math.sin(double)
_dcos java.lang.Math.cos(double)
_dtan java.lang.Math.tan(double)
_datan2 java.lang.Math.atan2(double, double)
_dsqrt java.lang.Math.sqrt(double)
_dlog java.lang.Math.log(double)
_dlog10 java.lang.Math.log10(double)
_dpow java.lang.Math.pow(double, double)
_dexp java.lang.Math.exp(double)
_min java.lang.Math.min(int, int)
_max java.lang.Math.max(int, int)
_addExactI java.lang.Math.addExact(int, int)
_addExactL java.lang.Math.addExact(long, long)
_decrementExactI java.lang.Math.decrementExact(int)
_decrementExactL java.lang.Math.decrementExact(long)
_incrementExactI java.lang.Math.incrementExact(int)
_incrementExactL java.lang.Math.incrementExact(long)
_multiplyExactI java.lang.Math.multiplyExact(int, int)
_multiplyExactL java.lang.Math.multiplyExact(long, long)
_negateExactI java.lang.Math.negateExact(int)
_negateExactL java.lang.Math.negateExact(long)
_subtractExactI java.lang.Math.subtractExact(int, int)
_subtractExactL java.lang.Math.subtractExact(long, long)
_fmaD java.lang.Math.fma(double, double, double)
_fmaF java.lang.Math.fma(float, float, float)Double Float
_floatToRawIntBits java.lang.Float.floatToRawIntBits(float)
_floatToIntBits java.lang.Float.floatToIntBits(float)
_intBitsToFloat java.lang.Float.intBitsToFloat(int)
_doubleToRawLongBits java.lang.Double.doubleToRawLongBits(double)
_doubleToLongBits java.lang.Double.doubleToLongBits(double)
_longBitsToDouble java.lang.Double.longBitsToDouble(long)Integer, Long, Character, Short
_numberOfLeadingZeros_i java.lang.Integer.numberOfLeadingZeros(int)
_numberOfLeadingZeros_l java.lang.Long.numberOfLeadingZeros(long)
_numberOfTrailingZeros_i java.lang.Integer.numberOfTrailingZeros(int)
_numberOfTrailingZeros_l java.lang.Long.numberOfTrailingZeros(long)
_bitCount_i java.lang.Integer.bitCount(int)
_bitCount_l java.lang.Long.bitCount(long)
_reverseBytes_i java.lang.Integer.reverseBytes(int)
_reverseBytes_l java.lang.Long.reverseBytes(long)
_reverseBytes_c java.lang.Character.reverseBytes(char)
_reverseBytes_s java.lang.Short.reverseBytes(short)
_Integer_toString java.lang.Integer.toString(int)java.lang.System
_identityHashCode java.lang.System.identityHashCode(Object)
_currentTimeMillis java.lang.System.currentTimeMillis()
_nanoTime java.lang.System.nanoTime()
_arraycopy java.lang.System.arraycopy(Object, int, Object, int, int)java.lang.Thread
_isInterrupted java.lang.Thread.isInterrupted(boolean)
_currentThread java.lang.Thread.currentThread()
_onSpinWait java.lang.Thread.onSpinWait()java.lang.Class
_isAssignableFrom java.lang.Class.isAssignableFrom(Class)
_isInstance java.lang.Class.isInstance(Object)
_getModifiers java.lang.Class.getModifiers()
_isInterface java.lang.Class.isInterface()
_isArray java.lang.Class.isArray()
_isPrimitive java.lang.Class.isPrimitive()
_getSuperclass java.lang.Class.getSuperclass()
_Class_cast java.lang.Class.cast(Object)Reflection
_getClassAccessFlags sun.reflect.Reflection.getClassAccessFlags(Class)
_getCallerClass sun.reflect.Reflection.getCallerClass()
_getLength java.lang.reflect.Array.getLength(Object)
_newArray java.lang.reflect.Array.newArray(Class, int)
_invoke java.lang.reflect.Method.invoke(Object, Object...)java.util.Arrays
_copyOf java.util.Arrays.copyOf(Object[], int, Class)
_copyOfRange java.util.Arrays.copyOfRange(Object[], int, int, Class)
_equalsC java.util.Arrays.equals(char[], char[])
_equalsB java.util.Arrays.equals(boolean[], boolean[])StringUTF16 and StringLatin1
_compressStringC java.lang.StringUTF16.compress(char[], int, byte[], int, int)
_compressStringB java.lang.StringUTF16.compress(byte[], int, byte[], int, int)
_inflateStringC java.lang.StringLatin1.inflate(byte[], int, char[], int, int)
_inflateStringB java.lang.StringLatin1.inflate(byte[], int, byte[], int, int)
_toBytesStringU java.lang.StringUTF16.toBytes(char[], int, int)
_getCharsStringU java.lang.StringUTF16.getChars(byte[], int, int, char[], int)
_getCharStringU java.lang.StringUTF16.getChar(byte[], int)
_putCharStringU java.lang.StringUTF16.putChar(byte[] int, int)
_compareToL java.lang.StringLatin1.compareTo(byte[], byte[])
_compareToU java.lang.StringUTF16.compareTo(byte[], byte[])
_compareToLU java.lang.StringLatin1.compareToUTF16(byte[], byte[])
_compareToUL java.lang.StringUTF16.compareToLatin1(byte[], byte[])
_indexOfL java.lang.StringLatin1.indexOf(byte[], byte[])
_indexOfU java.lang.StringUTF16.indexOf(byte[], byte[])
_indexOfUL java.lang.StringUTF16.indexOfLatin1(byte[], byte[])
_indexOfIL java.lang.StringLatin1.indexOf(byte[], int, byte[], int, int)
_indexOfIU java.lang.StringUTF16.indexOf(byte[], int, byte[], int, int)
_indexOfIUL java.lang.StringUTF16.indexOfLatin1(byte[], int, byte[], int, int)
_indexOfU_char java.lang.StringUTF16.indexOfChar(byte[], int, int, int)
_equalsL java.lang.StringLatin1.equals(byte[], byte[])
_equalsU java.lang.StringUTF16.equals(byte[], byte[])jdk.internal.util.Preconditions
_Preconditions_checkIndex jdk.internal.util.Preconditions.checkIndex(int, int, java.util.function.BiFunction)java.lang.StringCoding
_hasNegatives java.lang.StringCoding.hasNegatives(byte[], int, int)
_encodeByteISOArray java.lang.StringCoding.encodeISOArray(byte[], int, byte[], int, int)java.lang.String
_String_String java.lang.String(String)java.nio.Buffer
_checkIndex java.nio.Buffer.checkIndex(int)sun.nio.cs.ISO_8859_1 $ Encoder
_encodeISOArray sun.nio.cs.ISO_8859_1.Encoder.encodeISOArray(char[], int, byte[], int, int)java.math.BigInteger
_multiplyToLen java.math.BigInteger.multiplyToLen(int[], int, int[], int, int[])
_squareToLen java.math.BigInteger.squareToLen(int[], int, int[], int)
_mulAdd java.math.BigInteger.mulAdd(int[], int[], int, int, int)
_montgomeryMultiply java.math.BigInteger.montgomeryMultiply(int[], int[], int[], int, long, int[])
_montgomerySquare java.math.BigInteger.montgomerySquare(int[], int[], int, long, int[])java.util.ArraysSupport
_vectorizedMismatch java.util.ArraysSupport.vectorizedMismatch(Object, long, Object, long, int, int)java.lang.ref.Reference
_Reference_get java.lang.ref.Reference.get()Cryptography
_aescrypt_encryptBlock com.sun.crypto.provider.AESCrypt.encryptBlock(byte[], in, byte[], int)
_aescrypt_decryptBlock com.sun.crypto.provider.AESCrypt.decryptBlock(byte[], in, byte[], int)
_cipherBlockChaining_encryptAESCrypt com.sun.crypto.provider.CipherBlockChaining.encrypt(byte[], int, int, byte[], int)
_cipherBlockChaining_decryptAESCrypt com.sun.crypto.provider.CipherBlockChaining.decrypt(byte[], int, int, byte[], int)
_counterMode_AESCrypt com.sun.crypto.provider.CounterMode.implCrypt(byte[], int, int, byte[], int)
_ghash_processBlocks com.sun.crypto.provider.GHASH.processBlocks(byte[], int, int, long[], long[])sun.security.provider. *
_sha_implCompress sun.security.provider.SHA.implCompress(byte[], int)
_sha2_implCompress sun.security.provider.SHA2.implCompress(byte[], int)
_sha5_implCompress sun.security.provider.SHA5.implCompress(byte[], int)
_digestBase_implCompressMB sun.security.provider.DigestBase.implCompressMultiBlock0(byte[], int, int)java.util.zip.CRC32 and java.util.zip.CRC32C
_updateCRC32 java.util.zip.CRC32.update(int2_int_signature)
_updateBytesCRC32 java.util.zip.CRC32.updateBytes0(updateBytes_signature)
_updateByteBufferCRC32 java.util.zip.CRC32.updateByteBuffer0(updateByteBuffer_signature)
_updateBytesCRC32C java.util.zip.CRC32C.updateBytes(int, byte[], int, int)
_updateDirectByteBufferCRC32C java.util.zip.CRC32C.updateDirectByteBuffer(int, long, int, int)
_updateBytesAdler32 java.util.zip.Adler32.updateBytes(int, byte[], int, int)
_updateByteBufferAdler32 java.util.zip.Adler32.updateByteBuffer(int, long, int, int)jdk.internal.misc.Unsafe
_allocateInstance jdk.internal.misc.Unsafe.allocateInstance(Class)
_allocateUninitializedArray jdk.internal.misc.Unsafe.allocateUninitializedArray0(Class, int)
_copyMemory jdk.internal.misc.Unsafe.copyMemory0(Object, long, Object, long, long)
_park jdk.internal.misc.Unsafe.park(boolean, long)
_unpark jdk.internal.misc.Unsafe.unpark(Object)
_loadFence jdk.internal.misc.Unsafe.loadFence()
_storeFence jdk.internal.misc.Unsafe.storeFence()
_fullFence jdk.internal.misc.Unsafe.fullFence()
_getObject jdk.internal.misc.Unsafe.getObject(Object, long)
_getBoolean jdk.internal.misc.Unsafe.getBoolean(Object, long)
_getByte jdk.internal.misc.Unsafe.getByte(Object, long)
_getShort jdk.internal.misc.Unsafe.getShort(Object, long)
_getChar jdk.internal.misc.Unsafe.getChar(Object, long)
_getInt jdk.internal.misc.Unsafe.getInt(Object, long)
_getLong jdk.internal.misc.Unsafe.getLong(Object, long)
_getFloat jdk.internal.misc.Unsafe.getFloat(Object, long)
_getDouble jdk.internal.misc.Unsafe.getDouble(Object, long)
_putObject jdk.internal.misc.Unsafe.putObject(Object, long, Object)
_putBoolean jdk.internal.misc.Unsafe.putBoolean(Object, long, boolean)
_putByte jdk.internal.misc.Unsafe.putByte(Object, long, byte)
_putShort jdk.internal.misc.Unsafe.putShort(Object, long, short)
_putChar jdk.internal.misc.Unsafe.putChar(Object, long, char)
_putInt jdk.internal.misc.Unsafe.putInt(Object, long, int)
_putLong jdk.internal.misc.Unsafe.putLong(Object, long, long)
_putFloat jdk.internal.misc.Unsafe.putFloat(Object, long, float)
_putDouble jdk.internal.misc.Unsafe.putDouble(Object, long, double)
_getObjectVolatile jdk.internal.misc.Unsafe.getObjectVolatile(Object, long)
_getBooleanVolatile jdk.internal.misc.Unsafe.getBooleanVolatile(Object, long)
_getByteVolatile jdk.internal.misc.Unsafe.getByteVolatile(Object, long)
_getShortVolatile jdk.internal.misc.Unsafe.getShortVolatile(Object, long)
_getCharVolatile jdk.internal.misc.Unsafe.getCharVolatile(Object, long)
_getIntVolatile jdk.internal.misc.Unsafe.getIntVolatile(Object, long)
_getLongVolatile jdk.internal.misc.Unsafe.getLongVolatile(Object, long)
_getFloatVolatile jdk.internal.misc.Unsafe.getFloatVolatile(Object, long)
_getDoubleVolatile jdk.internal.misc.Unsafe.getDoubleVolatile(Object, long)
_putObjectVolatile jdk.internal.misc.Unsafe.putObjectVolatile(Object, long, Object)
_putBooleanVolatile jdk.internal.misc.Unsafe.putBooleanVolatile(Object, long, boolean)
_putByteVolatile jdk.internal.misc.Unsafe.putByteVolatile(Object, long, byte)
_putShortVolatile jdk.internal.misc.Unsafe.putShortVolatile(Object, long, short)
_putCharVolatile jdk.internal.misc.Unsafe.putCharVolatile(Object, long, char)
_putIntVolatile jdk.internal.misc.Unsafe.putIntVolatile(Object, long, int)
_putLongVolatile jdk.internal.misc.Unsafe.putLongVolatile(Object, long, long)
_putFloatVolatile jdk.internal.misc.Unsafe.putFloatVolatile(Object, long, float)
_putDoubleVolatile jdk.internal.misc.Unsafe.putDoubleVolatile(Object, long, double)
_getObjectOpaque jdk.internal.misc.Unsafe.getObjectOpaque(Object, long)
_getBooleanOpaque jdk.internal.misc.Unsafe.getBooleanOpaque(Object, long)
_getByteOpaque jdk.internal.misc.Unsafe.getByteOpaque(Object, long)
_getShortOpaque jdk.internal.misc.Unsafe.getShortOpaque(Object, long)
_getCharOpaque jdk.internal.misc.Unsafe.getCharOpaque(Object, long)
_getIntOpaque jdk.internal.misc.Unsafe.getIntOpaque(Object, long)
_getLongOpaque jdk.internal.misc.Unsafe.getLongOpaque(Object, long)
_getFloatOpaque jdk.internal.misc.Unsafe.getFloatOpaque(Object, long)
_getDoubleOpaque jdk.internal.misc.Unsafe.getDoubleOpaque(Object, long)
_putObjectOpaque jdk.internal.misc.Unsafe.putObjectOpaque(Object, long, Object)
_putBooleanOpaque jdk.internal.misc.Unsafe.putBooleanOpaque(Object, long, boolean)
_putByteOpaque jdk.internal.misc.Unsafe.putByteOpaque(Object, long, byte)
_putShortOpaque jdk.internal.misc.Unsafe.putShortOpaque(Object, long, short)
_putCharOpaque jdk.internal.misc.Unsafe.putCharOpaque(Object, long, char)
_putIntOpaque jdk.internal.misc.Unsafe.putIntOpaque(Object, long, int)
_putLongOpaque jdk.internal.misc.Unsafe.putLongOpaque(Object, long, long)
_putFloatOpaque jdk.internal.misc.Unsafe.putFloatOpaque(Object, long, float)
_putDoubleOpaque jdk.internal.misc.Unsafe.putDoubleOpaque(Object, long, double)
_getObjectAcquire jdk.internal.misc.Unsafe.getObjectAcquire(Object, long)
_getBooleanAcquire jdk.internal.misc.Unsafe.getBooleanAcquire(Object, long)
_getByteAcquire jdk.internal.misc.Unsafe.getByteAcquire(Object, long)
_getShortAcquire jdk.internal.misc.Unsafe.getShortAcquire(Object, long)
_getCharAcquire jdk.internal.misc.Unsafe.getCharAcquire(Object, long)
_getIntAcquire jdk.internal.misc.Unsafe.getIntAcquire(Object, long)
_getLongAcquire jdk.internal.misc.Unsafe.getLongAcquire(Object, long)
_getFloatAcquire jdk.internal.misc.Unsafe.getFloatAcquire(Object, long)
_getDoubleAcquire jdk.internal.misc.Unsafe.getDoubleAcquire(Object, long)
_putObjectAcquire jdk.internal.misc.Unsafe.putObjectAcquire(Object, long, Object)
_putBooleanAcquire jdk.internal.misc.Unsafe.putBooleanAcquire(Object, long, boolean)
_putByteAcquire jdk.internal.misc.Unsafe.putByteAcquire(Object, long, byte)
_putShortAcquire jdk.internal.misc.Unsafe.putShortAcquire(Object, long, short)
_putCharAcquire jdk.internal.misc.Unsafe.putCharAcquire(Object, long, char)
_putIntAcquire jdk.internal.misc.Unsafe.putIntAcquire(Object, long, int)
_putLongAcquire jdk.internal.misc.Unsafe.putLongAcquire(Object, long, long)
_putFloatAcquire jdk.internal.misc.Unsafe.putFloatAcquire(Object, long, float)
_putDoubleAcquire jdk.internal.misc.Unsafe.putDoubleAcquire(Object, long, double)
_getShortUnaligned jdk.internal.misc.Unsafe.getShortUnaligned(Object, long)
_getCharUnaligned jdk.internal.misc.Unsafe.getCharUnaligned(Object, long)
_getIntUnaligned jdk.internal.misc.Unsafe.getIntUnaligned(Object, long)
_getLongUnaligned jdk.internal.misc.Unsafe.getLongUnaligned(Object, long)
_putShortUnaligned jdk.internal.misc.Unsafe.putShortUnaligned(Object, long, short)
_putCharUnaligned jdk.internal.misc.Unsafe.putCharUnaligned(Object, long, char)
_putIntUnaligned jdk.internal.misc.Unsafe.putIntUnaligned(Object, long, int)
_putLongUnaligned jdk.internal.misc.Unsafe.putLongUnaligned(Object, long, long)
_compareAndSetObject jdk.internal.misc.Unsafe.compareAndSetObject(Object, long, Object, Object)
_compareAndExchangeObject jdk.internal.misc.Unsafe.compareAndExchangeObject(Object, long, Object, Object)
_compareAndExchangeObjectAcquire jdk.internal.misc.Unsafe.compareAndExchangeObjectAcquire(Object, long, Object, Object)
_compareAndExchangeObjectRelease jdk.internal.misc.Unsafe.compareAndExchangeObjectRelease(Object, long, Object, Object)
_compareAndSetLong jdk.internal.misc.Unsafe.compareAndSetLong(Object, long, long, long)
_compareAndExchangeLong jdk.internal.misc.Unsafe.compareAndExchangeLong(Object, long, long, long)
_compareAndExchangeLongAcquire jdk.internal.misc.Unsafe.compareAndExchangeLongAcquire(Object, long, long, long)
_compareAndExchangeLongRelease jdk.internal.misc.Unsafe.compareAndExchangeLongRelease(Object, long, long, long)
_compareAndSetInt jdk.internal.misc.Unsafe.compareAndSetInt(Object, long, int, int)
_compareAndExchangeInt jdk.internal.misc.Unsafe.compareAndExchangeInt(Object, long, int, int)
_compareAndExchangeIntAcquire jdk.internal.misc.Unsafe.compareAndExchangeIntAcquire(Object, long, int, int)
_compareAndExchangeIntRelease jdk.internal.misc.Unsafe.compareAndExchangeIntRelease(Object, long, int, int)
_compareAndSetByte jdk.internal.misc.Unsafe.compareAndSetByte(Object, long, byte, byte)
_compareAndExchangeByte jdk.internal.misc.Unsafe.compareAndExchangeByte(Object, long, byte, byte)
_compareAndExchangeByteAcquire jdk.internal.misc.Unsafe.compareAndExchangeByteAcquire(Object, long, byte, byte)
_compareAndExchangeByteRelease jdk.internal.misc.Unsafe.compareAndExchangeByteRelease(Object, long, byte, byte)
_compareAndSetShort jdk.internal.misc.Unsafe.compareAndSetShort(Object, long, short, short)
_compareAndExchangeShort jdk.internal.misc.Unsafe.compareAndExchangeShort(Object, long, short, short)
_compareAndExchangeShortAcquire jdk.internal.misc.Unsafe.compareAndExchangeShortAcquire(Object, long, short, short)
_compareAndExchangeShortRelease jdk.internal.misc.Unsafe.compareAndExchangeShortRelease(Object, long, short, short)
_weakCompareAndSetObjectPlain jdk.internal.misc.Unsafe.weakCompareAndSetObjectPlain(Object, long, Object, Object)
_weakCompareAndSetObjectAcquire jdk.internal.misc.Unsafe.weakCompareAndSetObjectAcquire(Object, long, Object, Object)
_weakCompareAndSetObjectRelease jdk.internal.misc.Unsafe.weakCompareAndSetObjectRelease(Object, long, Object, Object)
_weakCompareAndSetObject jdk.internal.misc.Unsafe.weakCompareAndSetObject(Object, long, Object, Object)
_weakCompareAndSetLongPlain jdk.internal.misc.Unsafe.weakCompareAndSetLongPlain(Object, long, long, long)
_weakCompareAndSetLongAcquire jdk.internal.misc.Unsafe.weakCompareAndSetLongAcquire(Object, long, long, long)
_weakCompareAndSetLongRelease jdk.internal.misc.Unsafe.weakCompareAndSetLongRelease(Object, long, long, long)
_weakCompareAndSetLong jdk.internal.misc.Unsafe.weakCompareAndSetLong(Object, long, long, long)
_weakCompareAndSetIntPlain jdk.internal.misc.Unsafe.weakCompareAndSetIntPlain(Object, long, int, int)
_weakCompareAndSetIntAcquire jdk.internal.misc.Unsafe.weakCompareAndSetIntAcquire(Object, long, int, int)
_weakCompareAndSetIntRelease jdk.internal.misc.Unsafe.weakCompareAndSetIntRelease(Object, long, int, int)
_weakCompareAndSetInt jdk.internal.misc.Unsafe.weakCompareAndSetInt(Object, long, int, int)
_weakCompareAndSetBytePlain jdk.internal.misc.Unsafe.weakCompareAndSetBytePlain(Object, long, byte, byte)
_weakCompareAndSetByteAcquire jdk.internal.misc.Unsafe.weakCompareAndSetByteAcquire(Object, long, byte, byte)
_weakCompareAndSetByteRelease jdk.internal.misc.Unsafe.weakCompareAndSetByteRelease(Object, long, byte, byte)
_weakCompareAndSetByte jdk.internal.misc.Unsafe.weakCompareAndSetByte(Object, long, byte, byte)
_weakCompareAndSetShortPlain jdk.internal.misc.Unsafe.weakCompareAndSetShortPlain(Object, long, short, short)
_weakCompareAndSetShortAcquire jdk.internal.misc.Unsafe.weakCompareAndSetShortAcquire(Object, long, short, short)
_weakCompareAndSetShortRelease jdk.internal.misc.Unsafe.weakCompareAndSetShortRelease(Object, long, short, short)
_weakCompareAndSetShort jdk.internal.misc.Unsafe.weakCompareAndSetShort(Object, long, short, short)
_getAndAddInt jdk.internal.misc.Unsafe.getAndAddInt(Object, long, int)
_getAndAddLong jdk.internal.misc.Unsafe.getAndAddLong(Object, long, long)
_getAndAddByte jdk.internal.misc.Unsafe.getAndAddByte(Object, long, byte)
_getAndAddShort jdk.internal.misc.Unsafe.getAndAddShort(Object, long, short)
_getAndSetInt jdk.internal.misc.Unsafe.getAndSetInt(Object, long, int)
_getAndSetLong jdk.internal.misc.Unsafe.getAndSetLong(Object, long, int)
_getAndSetByte jdk.internal.misc.Unsafe.getAndSetByte(Object, long, byte)
_getAndSetShort jdk.internal.misc.Unsafe.getAndSetShort(Object, long, short)
_getAndSetObject jdk.internal.misc.Unsafe.getAndSetObject(Object, long, Object)java.lang.StringBuilder
_StringBuilder_void java.lang.StringBuilder()
_StringBuilder_int java.lang.StringBuilder(int)
_StringBuilder_String java.lang.StringBuilder(String)
_StringBuilder_append_char java.lang.StringBuilder.append(char)
_StringBuilder_append_int java.lang.StringBuilder.append(int)
_StringBuilder_append_String java.lang.StringBuilder.append(String)
_StringBuilder_toString java.lang.StringBuilder.toString()java.lang.StringBuffer
_StringBuffer_void java.lang.StringBuffer()
_StringBuffer_int java.lang.StringBuffer(int)
_StringBuffer_String java.lang.StringBuffer(String)
_StringBuffer_append_char java.lang.StringBuffer.append(char)
_StringBuffer_append_int java.lang.StringBuffer.append(int)
_StringBuffer_append_String java.lang.StringBuffer.append(String)
_StringBuffer_toString java.lang.StringBuffer.toString()java.lang.invoke.MethodHandle
_invokeGeneric java.lang.invoke.MethodHandle.invoke*
_invokeBasic java.lang.invoke.MethodHandle.invokeBasic*
_linkToVirtual java.lang.invoke.MethodHandle.linkToVirtual*
_linkToStatic java.lang.invoke.MethodHandle.linkToStatic*
_linkToSpecial java.lang.invoke.MethodHandle.linkToSpecial*
_linkToInterface java.lang.invoke.MethodHandle.linkToInterface*
_compiledLambdaForm java.lang.invoke.MethodHandle.*
_profileBoolean java.lang.invoke.MethodHandleImpl.profileBoolean(boolean, int[])
_isCompileConstant java.lang.invoke.MethodHandleImpl.isCompileConstant(Object)
Boxing and Unboxing
_booleanValue java.lang.Boolean.booleanValue()
_byteValue java.lang.Byte.byteValue()
_charValue java.lang.Character.charValue()
_shortValue java.lang.Short.shortValue()
_intValue java.lang.Integer.intValue()
_longValue java.lang.Long.longValue()
_floatValue java.lang.Float.floatValue()
_doubleValue java.lang.Double.doubleValue()
_Boolean_valueOf java.lang.Boolean.valueOf(boolean)
_Byte_valueOf java.lang.Byte.valueOf(byte)
_Character_valueOf java.lang.Character.valueOf(char)
_Short_valueOf java.lang.Short.valueOf(short)
_Integer_valueOf java.lang.Integer.valueOf(int)
_Long_valueOf java.lang.Long.valueOf(long)
_Float_valueOf java.lang.Float.valueOf(float)
_Double_valueOf java.lang.Double.valueOf(double)java.util.stream.StreamsRangeIntSpliterator
_forEachRemaining java_util_stream_StreamsRangeIntSpliterator.forEachRemaining(java.util.function.IntConsumer)Benefits of Intrinsic Functions
ΠΠ½ΡΡΠΈΠ½ΡΠΈΠΊ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ Java-ΠΊΠΎΠ΄Π° Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ Π΄Π²ΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ: Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°Ρ (ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° null, Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ ΠΏΡΠΎΡΠ΅Π΅), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ RuntimeException, Π²ΠΎ-Π²ΡΠΎΡΡΡ , Π² intrinsic-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ
platform-specific ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ JNI-Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ (Π² native ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ) ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΎΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° Java-ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π² native-ΠΊΠΎΠ΄Π΅.
ΠΠΎΠ½ΡΡΠΎΠ»Ρ
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠΈ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ
-XX:+PrintIntrinsics:-XX:+UnlockDiagnosticVMOptions
-XX:+PrintIntrinsicsTo make sure that intrification is possible (using intrinsic functions ) only in JIT compilation mode, you can run it together with the option
-Xint(JVM runs only in interpreter mode). To disable the use of a specific intrinsic function , you can use the option
-XX:DisableIntrinsic:-XX:+UnlockDiagnosticVMOptions
-XX:DisableIntrinsic=<Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠ°>[,<Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠΈΠ½ΡΠΈΠΊΠ°>]Notes
Important note from apangin :
It should be noted that not all of these methods are intrinsics in the literal sense, that is, it is not at all necessary that JIT substitutes a special code for the call. Some are compiled as regular Java methods, and their mention invmSymbols.hppdue to the need to distinguish them in runtime for another reason.
For example, it isMethod.invokemarked in order not to take it into account in security check when traversing the stack. AvailabilityThrowable.fillInStackTraceserves as a hint for Escape Analysys,Unsafe.park/unparkand is completely in vain marked.
At the same time, with JDK 9, the method is
Throwable.fillInStackTracegenerally removed from the list of intrinsics .