RFR: 8336489: Track scoped accesses in JVMCI compiled code [v4]

Carlo Refice duke at openjdk.org
Fri Jul 26 17:02:33 UTC 2024


> This PR adds JVMCI support to scoped access tracking introduced in #20158.
> 
> In this PR:
> * The `Method::is_scoped` flag is now exposed in JVMCI as `HotSpotResolvedJavaMethod.isScoped()`, and serialized to / deserialized from the JVMCI compiled code stream as a boolean flag.
> * To determine whether a compiled method has a scoped access, we simply check `HotSpotResolvedJavaMethod.isScoped()` returns `true` for the root method or any of the methods that were inlined in the compilation.
> * The above check is implemented as the method `HotSpotCompiledNMethod.hasScopedAccess()`, instead of as an explicit flag set in a the constructor of `HotSpotCompiledNMethod`. This keeps the change isolated to JVMCI, without requiring coordinated changes to the Graal compiler. No other changes in the compiler are necessary to benefit from the optimization.

Carlo Refice has updated the pull request incrementally with 81 additional commits since the last revision:

 - Add test for ResolvedJavaMethod#isScoped()
 - Pull HotSpotResolvedJavaMethod#isScoped() to ResolvedJavaMethod
 - Fix truncation of Method and ConstMethod flags in HotSpotResolvedJavaMethodImpl
 - 8335967: "text-decoration: none" does not work with "A" HTML tags
   
   Reviewed-by: abhiscxk, dmarkov, honkar, prr
 - 8334482: Shenandoah: Deadlock when safepoint is pending during nmethods iteration
   
   Reviewed-by: wkemper, xpeng, rkennke
 - 8336245: AArch64: remove extra register copy when converting from long to pointer
   
   Co-authored-by: Andrew Haley <aph at openjdk.org>
   Reviewed-by: aph, adinn
 - 8337167: StringSize deduplication
   
   Reviewed-by: liach, rriggs
 - 8216471: GTK LnF: Frame is clipped and does not show JTable,Tooltip and JTree demo in SwingSet2 demo
   
   Reviewed-by: psadhukhan, achung
 - 8336879: Always true condition 'img != null' in GTKPainter.paintPopupMenuBackground
   
   Reviewed-by: psadhukhan, tr
 - 8337239: Fix simple -Wzero-as-null-pointer-constant warnings in classfile code
   
   Reviewed-by: dholmes
 - ... and 71 more: https://git.openjdk.org/jdk/compare/9620670b...59c4fa79

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20256/files
  - new: https://git.openjdk.org/jdk/pull/20256/files/9620670b..59c4fa79

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20256&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20256&range=02-03

  Stats: 12407 lines in 334 files changed: 7544 ins; 3562 del; 1301 mod
  Patch: https://git.openjdk.org/jdk/pull/20256.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20256/head:pull/20256

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


More information about the hotspot-compiler-dev mailing list