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

aarch64 ICache flush depends on enabling gnu extensions

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: openjdk8u292, 11, 15
    • Fix Version/s: 15
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b24
    • CPU:
      aarch64

      Description

      For aarch64, ICache::invalidate_word/range contain calls to the undeclared function __clear_cache. This works when using -std=gnu++<whatever>, but not when using -std=c++<whatever>.

      This works today because we are using -std=gnu++98. However, when providing C++14 support (JDK-8208089) the plan is to use -std=c++14 and not enable gnu extensions. That call to __clear_cache is the only place that currently requires gnu extensions. It would be undesirable to enable gnu extensions in shared code just to allow this one use platform-specific code.

      This can be solved by using __builtin___clear_cache instead of calling __clear_cache directly.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              kbarrett Kim Barrett
              Reporter:
              kbarrett Kim Barrett
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: