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

C1: Missing side effects of dynamic class loading during constant linkage

XMLWordPrintable

    • b22

      (JDK-8282194 covers the special case of dynamic constants.)

      C1 handles unresolved constants by performing constant resolution at runtime and then putting the constant value into the generated code by patching it. But it treats the not-yet-resolved value as a pure constant without any side effects.

      It's not the case for constants which trigger class loading using custom class loaders. (All non-String constants do that.)

      There are no guarantees that there are no side effects during class loading, so C1 has to be conservative.

            vlivanov Vladimir Ivanov
            vlivanov Vladimir Ivanov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: