On Thu, 7 May 2026 08:31:58 GMT, Stefan Karlsson <[email protected]> wrote:
>> I've been investigating the regression reported in >> [JDK-8382041](https://bugs.openjdk.org/browse/JDK-8382041), which is caused >> by [JDK-8363996](https://bugs.openjdk.org/browse/JDK-8363996): "Obsolete >> UseCompressedClassPointers". While doing that I've found that calls to >> oopDesc::klass() bloat the code and that affects inilining, which cause >> performance regressions in the GC. >> >> A localized fix for >> [JDK-8382041](https://bugs.openjdk.org/browse/JDK-8382041), is to >> deduplicate multiple calls to `klass()` into fewer calls. That fixes the >> imminent performance issue. However, while looking into `klass()` I see that >> there's opportunity to somewhat simplify the implementation, and that seems >> to have almost the same level of performance improvements. I propose that we >> make that change because it both makes the code smaller, cleaner, and faster. >> >> The performance was measured with the >> org.openjdk.bench.vm.gc.systemgc.AllLive.gc microbenchmark + UseZGC. >> >> I will run tier1-tier3 >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Stefan Karlsson has updated the pull request incrementally with 22 additional > commits since the last revision: > > - Merge remote-tracking branch 'upstream/master' into > 8383912_simplify_oopDesc_klass > - 8383910: klass_or_null_acquire asserts on null when using compact object > headers > > Reviewed-by: jsjolen, mdoerr, shade, tschatzl > - 8379630: Add JMH benchmark to measure the overhead of using captured call > state > > Reviewed-by: pminborg, jvernee, liach > - 8383851: TypeInstPtr::get_const_boxed_value is unused since JDK-8149813 > > Reviewed-by: aseoane, thartmann > - 8384042: [BACKOUT] Incorrect handling of Hawaii_Aleutian metazone > > Reviewed-by: jlu, iris > - 8383825: Incorrect handling of Hawaii_Aleutian metazone > > Reviewed-by: jlu, iris > - 8383810: Shenandoah: Simplify native CAS barriers > > Reviewed-by: rkennke, xpeng, kdnilsen > - 8382871: Completion failure during diagnostic formatting > > Reviewed-by: vromero > - 8379667: C2: Deep recursion with cmovP_regNode::bottom_type > > Reviewed-by: aseoane, dlong > - 8383850: Move TestLargeUTF8Length.java to resourcehogs > > Reviewed-by: aboldtch, jsjolen, dholmes, phubner > - ... and 12 more: https://git.openjdk.org/jdk/compare/f32d4eb9...ecbed768 Looks fine after merge. I wonder what is off with your Windows GHA builds. Looks environmental, but persisent? ------------- Marked as reviewed by shade (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/31055#pullrequestreview-4242581152
