Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8328070

Investigate intrinsifying java.lang.Class and other native methods in C1

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Activity

          People

            dfenacci Damon Fenacci
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: