-
Type:
Enhancement
-
Resolution: Unresolved
-
Priority:
P3
-
Affects Version/s: 23
-
Component/s: hotspot
Profiling showed that during startup of some Java applications, significant time is spent in native code. The reason for that seem to be missing C1 intrinsics for java.lang.Class and jdk.internal.reflect.Reflection:
[0.875s][info][init] JVM_GetCallerClass = 4ms (18137 events)
[0.875s][info][init] JVM_FindClassFromBootLoader = 0ms ( 488 events)
[0.875s][info][init] JVM_FindClassFromCaller = 17ms ( 9883 events)
[0.875s][info][init] JVM_FindClassFromClass = 0ms ( 1 events)
[0.875s][info][init] JVM_InitClassName = 2ms ( 2082 events)
[0.875s][info][init] JVM_GetClassInterfaces = 0ms ( 16 events)
[0.875s][info][init] JVM_IsInterface = 0ms (12484 events)
[0.875s][info][init] JVM_IsArrayClass = 1ms (16368 events)
[0.875s][info][init] JVM_GetClassConstantPool = 1ms (13372 events)
_getCallerClass, _isInterface, _isArray are already intrinsified in C2.
We should identify potential candidates for intrinsification in C1.
[0.875s][info][init] JVM_GetCallerClass = 4ms (18137 events)
[0.875s][info][init] JVM_FindClassFromBootLoader = 0ms ( 488 events)
[0.875s][info][init] JVM_FindClassFromCaller = 17ms ( 9883 events)
[0.875s][info][init] JVM_FindClassFromClass = 0ms ( 1 events)
[0.875s][info][init] JVM_InitClassName = 2ms ( 2082 events)
[0.875s][info][init] JVM_GetClassInterfaces = 0ms ( 16 events)
[0.875s][info][init] JVM_IsInterface = 0ms (12484 events)
[0.875s][info][init] JVM_IsArrayClass = 1ms (16368 events)
[0.875s][info][init] JVM_GetClassConstantPool = 1ms (13372 events)
_getCallerClass, _isInterface, _isArray are already intrinsified in C2.
We should identify potential candidates for intrinsification in C1.