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

aarch64 ICache flush depends on enabling gnu extensions

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 15
    • openjdk8u292, 11, 15
    • hotspot
    • b24
    • aarch64

      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.

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

              Created:
              Updated:
              Resolved: