I make tools for understanding the Java Virtual Machine. Please support my work by sponsoring me on GitHub. Thank you!

VM Intrinsics Explorer - HotSpot Intrinsics for OpenJDK6

From src/hotspot/share/classfile/vmIntrinsics.hpp
// There are two types of intrinsic methods: (1) Library intrinsics and (2) bytecode intrinsics.
//
// (1) A library intrinsic method may be replaced with hand-crafted assembly code,
// with hand-crafted compiler IR, or with a combination of the two. The semantics
// of the replacement code may differ from the semantics of the replaced code.
//
// (2) Bytecode intrinsic methods are not replaced by special code, but they are
// treated in some other special way by the compiler. For example, the compiler
// may delay inlining for some String-related intrinsic methods (e.g., some methods
// defined in the StringBuilder and StringBuffer classes, see
// Compile::should_delay_string_inlining() for more details).
Explanation of Flags
F_R,                        // !static ?native !synchronized (R="regular")
F_S,                        //  static ?native !synchronized
F_Y,                        // !static ?native  synchronized
F_RN,                       // !static  native !synchronized
F_SN,                       //  static  native !synchronized
F_RNY,                      // !static  native  synchronized
View intrinsics for OpenJDK HotSpot:  JDK6  JDK7  JDK8  JDK9  JDK10  JDK11  JDK12  JDK13  JDK14  JDK15  JDK16  JDK17  JDK18  JDK19

IdSinceClassNameSignatureTypeFlags
SinceClassType
_hashCodeOpenJDK6java.lang.ObjecthashCode()ILibraryF_R
_getClassOpenJDK6java.lang.ObjectgetClass()Ljava/lang/Class;LibraryF_R
_cloneOpenJDK6java.lang.Objectclone()Ljava/lang/Object;LibraryF_R
_dabsOpenJDK6java.lang.Mathabs(D)DLibraryF_S
_dsinOpenJDK6java.lang.Mathsin(D)DLibraryF_S
_dcosOpenJDK6java.lang.Mathcos(D)DLibraryF_S
_dtanOpenJDK6java.lang.Mathtan(D)DLibraryF_S
_datan2OpenJDK6java.lang.Mathatan2(DD)DLibraryF_S
_dsqrtOpenJDK6java.lang.Mathsqrt(D)DLibraryF_S
_dlogOpenJDK6java.lang.Mathlog(D)DLibraryF_S
_dlog10OpenJDK6java.lang.Mathlog10(D)DLibraryF_S
_dpowOpenJDK6java.lang.Mathpow(DD)DLibraryF_S
_dexpOpenJDK6java.lang.Mathexp(D)DLibraryF_S
_minOpenJDK6java.lang.Mathmin(II)ILibraryF_S
_maxOpenJDK6java.lang.Mathmax(II)ILibraryF_S
_floatToRawIntBitsOpenJDK6java.lang.FloatfloatToRawIntBits(F)ILibraryF_S
_floatToIntBitsOpenJDK6java.lang.FloatfloatToIntBits(F)ILibraryF_S
_intBitsToFloatOpenJDK6java.lang.FloatintBitsToFloat(I)FLibraryF_S
_doubleToRawLongBitsOpenJDK6java.lang.DoubledoubleToRawLongBits(D)JLibraryF_S
_doubleToLongBitsOpenJDK6java.lang.DoubledoubleToLongBits(D)JLibraryF_S
_longBitsToDoubleOpenJDK6java.lang.DoublelongBitsToDouble(J)DLibraryF_S
_numberOfLeadingZeros_iOpenJDK6java.lang.IntegernumberOfLeadingZeros(I)ILibraryF_S
_numberOfLeadingZeros_lOpenJDK6java.lang.LongnumberOfLeadingZeros(J)ILibraryF_S
_numberOfTrailingZeros_iOpenJDK6java.lang.IntegernumberOfTrailingZeros(I)ILibraryF_S
_numberOfTrailingZeros_lOpenJDK6java.lang.LongnumberOfTrailingZeros(J)ILibraryF_S
_bitCount_iOpenJDK6java.lang.IntegerbitCount(I)ILibraryF_S
_bitCount_lOpenJDK6java.lang.LongbitCount(J)ILibraryF_S
_reverseBytes_iOpenJDK6java.lang.IntegerreverseBytes(I)ILibraryF_S
_reverseBytes_lOpenJDK6java.lang.LongreverseBytes(J)JLibraryF_S
_reverseBytes_cOpenJDK6java.lang.CharacterreverseBytes(C)CLibraryF_S
_reverseBytes_sOpenJDK6java.lang.ShortreverseBytes(S)SLibraryF_S
_identityHashCodeOpenJDK6java.lang.SystemidentityHashCode(Ljava/lang/Object;)ILibraryF_S
_currentTimeMillisOpenJDK6java.lang.SystemcurrentTimeMillis()JLibraryF_S
_nanoTimeOpenJDK6java.lang.SystemnanoTime()JLibraryF_S
_arraycopyOpenJDK6java.lang.Systemarraycopy(Ljava/lang/Object;ILjava/lang/Object;II)VLibraryF_S
_isInterruptedOpenJDK6java.lang.ThreadisInterrupted(Z)ZLibraryF_R
_currentThreadOpenJDK6java.lang.ThreadcurrentThread()Ljava/lang/Thread;LibraryF_S
_isAssignableFromOpenJDK6java.lang.ClassisAssignableFrom(Ljava/lang/Class;)ZLibraryF_RN
_isInstanceOpenJDK6java.lang.ClassisInstance(Ljava/lang/Object;)ZLibraryF_RN
_getModifiersOpenJDK6java.lang.ClassgetModifiers()ILibraryF_RN
_isInterfaceOpenJDK6java.lang.ClassisInterface()ZLibraryF_RN
_isArrayOpenJDK6java.lang.ClassisArray()ZLibraryF_RN
_isPrimitiveOpenJDK6java.lang.ClassisPrimitive()ZLibraryF_RN
_getSuperclassOpenJDK6java.lang.ClassgetSuperclass()Ljava/lang/Class;LibraryF_RN
_getComponentTypeOpenJDK6java.lang.ClassgetComponentType()Ljava/lang/Class;LibraryF_RN
_getClassAccessFlagsOpenJDK6sun.reflect.ReflectiongetClassAccessFlags(Ljava/lang/Class;)ILibraryF_SN
_getLengthOpenJDK6java.lang.reflect.ArraygetLength(Ljava/lang/Object;)ILibraryF_SN
_getCallerClassOpenJDK6sun.reflect.ReflectiongetCallerClass(I)Ljava/lang/Class;LibraryF_SN
_newArrayOpenJDK6java.lang.reflect.ArraynewArray(Ljava/lang/Class;I)Ljava/lang/Object;LibraryF_SN
_copyOfOpenJDK6java.util.ArrayscopyOf([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;LibraryF_S
_copyOfRangeOpenJDK6java.util.ArrayscopyOfRange([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;LibraryF_S
_equalsCOpenJDK6java.util.Arraysequals([C[C)ZLibraryF_S
_compareToOpenJDK6java.lang.StringcompareTo(Ljava/lang/String;)ILibraryF_R
_indexOfOpenJDK6java.lang.StringindexOf(Ljava/lang/String;)ILibraryF_R
_equalsOpenJDK6java.lang.Stringequals(Ljava/lang/Object;)ZLibraryF_R
_checkIndexOpenJDK6java.nio.BuffercheckIndex(I)ILibraryF_R
_Reference_getOpenJDK6java.lang.ref.Referenceget()Ljava/lang/Object;LibraryF_R
_get_AtomicLongOpenJDK6sun.misc.AtomicLongCSImplget()JLibraryF_R
_attemptUpdateOpenJDK6sun.misc.AtomicLongCSImplattemptUpdate(JJ)ZLibraryF_R
_allocateInstanceOpenJDK6sun.misc.UnsafeallocateInstance(Ljava/lang/Class;)Ljava/lang/Object;LibraryF_RN
_copyMemoryOpenJDK6sun.misc.UnsafecopyMemory(Ljava/lang/Object;JLjava/lang/Object;JJ)VLibraryF_RN
_parkOpenJDK6sun.misc.Unsafepark(ZJ)VLibraryF_RN
_unparkOpenJDK6sun.misc.Unsafeunpark(Ljava/lang/Object;)VLibraryF_RN
_getObjectOpenJDK6sun.misc.UnsafegetObject(Ljava/lang/Object;J)Ljava/lang/Object;LibraryF_RN
_getBooleanOpenJDK6sun.misc.UnsafegetBoolean(Ljava/lang/Object;J)ZLibraryF_RN
_getByteOpenJDK6sun.misc.UnsafegetByte(Ljava/lang/Object;J)BLibraryF_RN
_getShortOpenJDK6sun.misc.UnsafegetShort(Ljava/lang/Object;J)SLibraryF_RN
_getCharOpenJDK6sun.misc.UnsafegetChar(Ljava/lang/Object;J)CLibraryF_RN
_getIntOpenJDK6sun.misc.UnsafegetInt(Ljava/lang/Object;J)ILibraryF_RN
_getLongOpenJDK6sun.misc.UnsafegetLong(Ljava/lang/Object;J)JLibraryF_RN
_getFloatOpenJDK6sun.misc.UnsafegetFloat(Ljava/lang/Object;J)FLibraryF_RN
_getDoubleOpenJDK6sun.misc.UnsafegetDouble(Ljava/lang/Object;J)DLibraryF_RN
_putObjectOpenJDK6sun.misc.UnsafeputObject(Ljava/lang/Object;JLjava/lang/Object;)VLibraryF_RN
_putBooleanOpenJDK6sun.misc.UnsafeputBoolean(Ljava/lang/Object;JZ)VLibraryF_RN
_putByteOpenJDK6sun.misc.UnsafeputByte(Ljava/lang/Object;JB)VLibraryF_RN
_putShortOpenJDK6sun.misc.UnsafeputShort(Ljava/lang/Object;JS)VLibraryF_RN
_putCharOpenJDK6sun.misc.UnsafeputChar(Ljava/lang/Object;JC)VLibraryF_RN
_putIntOpenJDK6sun.misc.UnsafeputInt(Ljava/lang/Object;JI)VLibraryF_RN
_putLongOpenJDK6sun.misc.UnsafeputLong(Ljava/lang/Object;JJ)VLibraryF_RN
_putFloatOpenJDK6sun.misc.UnsafeputFloat(Ljava/lang/Object;JF)VLibraryF_RN
_putDoubleOpenJDK6sun.misc.UnsafeputDouble(Ljava/lang/Object;JD)VLibraryF_RN
_getObjectVolatileOpenJDK6sun.misc.UnsafegetObjectVolatile(Ljava/lang/Object;J)Ljava/lang/Object;LibraryF_RN
_getBooleanVolatileOpenJDK6sun.misc.UnsafegetBooleanVolatile(Ljava/lang/Object;J)ZLibraryF_RN
_getByteVolatileOpenJDK6sun.misc.UnsafegetByteVolatile(Ljava/lang/Object;J)BLibraryF_RN
_getShortVolatileOpenJDK6sun.misc.UnsafegetShortVolatile(Ljava/lang/Object;J)SLibraryF_RN
_getCharVolatileOpenJDK6sun.misc.UnsafegetCharVolatile(Ljava/lang/Object;J)CLibraryF_RN
_getIntVolatileOpenJDK6sun.misc.UnsafegetIntVolatile(Ljava/lang/Object;J)ILibraryF_RN
_getLongVolatileOpenJDK6sun.misc.UnsafegetLongVolatile(Ljava/lang/Object;J)JLibraryF_RN
_getFloatVolatileOpenJDK6sun.misc.UnsafegetFloatVolatile(Ljava/lang/Object;J)FLibraryF_RN
_getDoubleVolatileOpenJDK6sun.misc.UnsafegetDoubleVolatile(Ljava/lang/Object;J)DLibraryF_RN
_putObjectVolatileOpenJDK6sun.misc.UnsafeputObjectVolatile(Ljava/lang/Object;JLjava/lang/Object;)VLibraryF_RN
_putBooleanVolatileOpenJDK6sun.misc.UnsafeputBooleanVolatile(Ljava/lang/Object;JZ)VLibraryF_RN
_putByteVolatileOpenJDK6sun.misc.UnsafeputByteVolatile(Ljava/lang/Object;JB)VLibraryF_RN
_putShortVolatileOpenJDK6sun.misc.UnsafeputShortVolatile(Ljava/lang/Object;JS)VLibraryF_RN
_putCharVolatileOpenJDK6sun.misc.UnsafeputCharVolatile(Ljava/lang/Object;JC)VLibraryF_RN
_putIntVolatileOpenJDK6sun.misc.UnsafeputIntVolatile(Ljava/lang/Object;JI)VLibraryF_RN
_putLongVolatileOpenJDK6sun.misc.UnsafeputLongVolatile(Ljava/lang/Object;JJ)VLibraryF_RN
_putFloatVolatileOpenJDK6sun.misc.UnsafeputFloatVolatile(Ljava/lang/Object;JF)VLibraryF_RN
_putDoubleVolatileOpenJDK6sun.misc.UnsafeputDoubleVolatile(Ljava/lang/Object;JD)VLibraryF_RN
_getByte_rawOpenJDK6sun.misc.UnsafegetByte(J)BLibraryF_RN
_getShort_rawOpenJDK6sun.misc.UnsafegetShort(J)SLibraryF_RN
_getChar_rawOpenJDK6sun.misc.UnsafegetChar(J)CLibraryF_RN
_getInt_rawOpenJDK6sun.misc.UnsafegetInt(J)ILibraryF_RN
_getLong_rawOpenJDK6sun.misc.UnsafegetLong(J)JLibraryF_RN
_getFloat_rawOpenJDK6sun.misc.UnsafegetFloat(J)FLibraryF_RN
_getDouble_rawOpenJDK6sun.misc.UnsafegetDouble(J)DLibraryF_RN
_getAddress_rawOpenJDK6sun.misc.UnsafegetAddress(J)JLibraryF_RN
_putByte_rawOpenJDK6sun.misc.UnsafeputByte(JB)VLibraryF_RN
_putShort_rawOpenJDK6sun.misc.UnsafeputShort(JS)VLibraryF_RN
_putChar_rawOpenJDK6sun.misc.UnsafeputChar(JC)VLibraryF_RN
_putInt_rawOpenJDK6sun.misc.UnsafeputInt(JI)VLibraryF_RN
_putLong_rawOpenJDK6sun.misc.UnsafeputLong(JJ)VLibraryF_RN
_putFloat_rawOpenJDK6sun.misc.UnsafeputFloat(JF)VLibraryF_RN
_putDouble_rawOpenJDK6sun.misc.UnsafeputDouble(JD)VLibraryF_RN
_putAddress_rawOpenJDK6sun.misc.UnsafeputAddress(JJ)VLibraryF_RN
_compareAndSwapObjectOpenJDK6sun.misc.UnsafecompareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)ZLibraryF_RN
_compareAndSwapLongOpenJDK6sun.misc.UnsafecompareAndSwapLong(Ljava/lang/Object;JJJ)ZLibraryF_RN
_compareAndSwapIntOpenJDK6sun.misc.UnsafecompareAndSwapInt(Ljava/lang/Object;JII)ZLibraryF_RN
_putOrderedObjectOpenJDK6sun.misc.UnsafeputOrderedObject(Ljava/lang/Object;JLjava/lang/Object;)VLibraryF_RN
_putOrderedLongOpenJDK6sun.misc.UnsafeputOrderedLong(Ljava/lang/Object;JJ)VLibraryF_RN
_putOrderedIntOpenJDK6sun.misc.UnsafeputOrderedInt(Ljava/lang/Object;JI)VLibraryF_RN
_prefetchReadOpenJDK6sun.misc.UnsafeprefetchRead(Ljava/lang/Object;J)VLibraryF_RN
_prefetchWriteOpenJDK6sun.misc.UnsafeprefetchWrite(Ljava/lang/Object;J)VLibraryF_RN
_prefetchReadStaticOpenJDK6sun.misc.UnsafeprefetchReadStatic(Ljava/lang/Object;J)VLibraryF_SN
_prefetchWriteStaticOpenJDK6sun.misc.UnsafeprefetchWriteStatic(Ljava/lang/Object;J)VLibraryF_SN
_fillInStackTraceOpenJDK6java.lang.ThrowablefillInStackTrace()Ljava/lang/Throwable;LibraryF_RNY
_StringBuilder_voidOpenJDK6java.lang.StringBuilder<init>()VLibraryF_R
_StringBuilder_intOpenJDK6java.lang.StringBuilder<init>(I)VLibraryF_R
_StringBuilder_StringOpenJDK6java.lang.StringBuilder<init>(Ljava/lang/String;)VLibraryF_R
_StringBuilder_append_charOpenJDK6java.lang.StringBuilderappend(C)Ljava/lang/StringBuilder;LibraryF_R
_StringBuilder_append_intOpenJDK6java.lang.StringBuilderappend(I)Ljava/lang/StringBuilder;LibraryF_R
_StringBuilder_append_StringOpenJDK6java.lang.StringBuilderappend(Ljava/lang/String;)Ljava/lang/StringBuilder;LibraryF_R
_StringBuilder_toStringOpenJDK6java.lang.StringBuildertoString()Ljava/lang/String;LibraryF_R
_StringBuffer_voidOpenJDK6java.lang.StringBuffer<init>()VLibraryF_R
_StringBuffer_intOpenJDK6java.lang.StringBuffer<init>(I)VLibraryF_R
_StringBuffer_StringOpenJDK6java.lang.StringBuffer<init>(Ljava/lang/String;)VLibraryF_R
_StringBuffer_append_charOpenJDK6java.lang.StringBufferappend(C)Ljava/lang/StringBuffer;LibraryF_Y
_StringBuffer_append_intOpenJDK6java.lang.StringBufferappend(I)Ljava/lang/StringBuffer;LibraryF_Y
_StringBuffer_append_StringOpenJDK6java.lang.StringBufferappend(Ljava/lang/String;)Ljava/lang/StringBuffer;LibraryF_Y
_StringBuffer_toStringOpenJDK6java.lang.StringBuffertoString()Ljava/lang/String;LibraryF_Y
_Integer_toStringOpenJDK6java.lang.IntegertoString(I)Ljava/lang/String;LibraryF_S
_String_StringOpenJDK6java.lang.String<init>(Ljava/lang/String;)VLibraryF_R
_Object_initOpenJDK6java.lang.Object<init>()VLibraryF_R
_invokeOpenJDK6java.lang.reflect.Methodinvoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;LibraryF_R
_checkSpreadArgumentOpenJDK6java.lang.invoke.MethodHandleNativescheckSpreadArgument(Ljava/lang/Object;I)VLibraryF_S
_invokeExactOpenJDK6java.lang.invoke.MethodHandleinvokeExact([Ljava/lang/Object;)Ljava/lang/Object;LibraryF_RN
_invokeGenericOpenJDK6java.lang.invoke.MethodHandleinvokeGeneric([Ljava/lang/Object;)Ljava/lang/Object;LibraryF_RN
_invokeVarargsOpenJDK6java.lang.invoke.MethodHandleinvokeVarargs([Ljava/lang/Object;)Ljava/lang/Object;LibraryF_R
_invokeDynamicOpenJDK6java.lang.invoke.InvokeDynamic*([Ljava/lang/Object;)Ljava/lang/Object;LibraryF_SN
_selectAlternativeOpenJDK6java.lang.invoke.MethodHandleImplselectAlternative(ZLjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;LibraryF_S
_booleanValueOpenJDK6java.lang.BooleanbooleanValue()ZLibraryF_R
_byteValueOpenJDK6java.lang.BytebyteValue()BLibraryF_R
_charValueOpenJDK6java.lang.CharactercharValue()CLibraryF_R
_shortValueOpenJDK6java.lang.ShortshortValue()SLibraryF_R
_intValueOpenJDK6java.lang.IntegerintValue()ILibraryF_R
_longValueOpenJDK6java.lang.LonglongValue()JLibraryF_R
_floatValueOpenJDK6java.lang.FloatfloatValue()FLibraryF_R
_doubleValueOpenJDK6java.lang.DoubledoubleValue()DLibraryF_R
_Boolean_valueOfOpenJDK6java.lang.BooleanvalueOf(Z)Ljava/lang/Boolean;LibraryF_S
_Byte_valueOfOpenJDK6java.lang.BytevalueOf(B)Ljava/lang/Byte;LibraryF_S
_Character_valueOfOpenJDK6java.lang.CharactervalueOf(C)Ljava/lang/Character;LibraryF_S
_Short_valueOfOpenJDK6java.lang.ShortvalueOf(S)Ljava/lang/Short;LibraryF_S
_Integer_valueOfOpenJDK6java.lang.IntegervalueOf(I)Ljava/lang/Integer;LibraryF_S
_Long_valueOfOpenJDK6java.lang.LongvalueOf(J)Ljava/lang/Long;LibraryF_S
_Float_valueOfOpenJDK6java.lang.FloatvalueOf(F)Ljava/lang/Float;LibraryF_S
_Double_valueOfOpenJDK6java.lang.DoublevalueOf(D)Ljava/lang/Double;LibraryF_S