RFR: 8324050: Issue store-store barrier after re-materializing objects during deoptimization

Vladimir Kozlov kvn at openjdk.org
Fri Jan 19 22:09:45 UTC 2024


Added missing store-store barrier when we re-materialize scalar replaced object during deoptimization.

I also removed redundant `#if COMPILER2_OR_JVMCI` guards which were leftover from [JDK-8312579](https://bugs.openjdk.org/browse/JDK-8312579) changes. It added Vector API support to Graal and changed `#ifdef COMPILER2` to these `#if`. But this code is already under these `ifs`.

Tested tier1-3, scope, stress.

No new regression test.  I think it is "almost" impossible to hit this issue because there is a lot of VM's runtime code between the code which rematerialize scalar-replaced objects during deoptimization and a code in Interpreter which is executed after deoptimization and which may execute a store instruction that makes these objects accessible by other threads.

-------------

Commit messages:
 - 8324050: Issue store-store barrier after re-materializing objects during deoptimization

Changes: https://git.openjdk.org/jdk/pull/17503/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17503&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8324050
  Stats: 11 lines in 1 file changed: 4 ins; 6 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/17503.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17503/head:pull/17503

PR: https://git.openjdk.org/jdk/pull/17503


More information about the hotspot-dev mailing list