RFR: C2 changes to support Java Object Monitors with Interpreter

Dean Long dlong at openjdk.org
Fri Oct 13 21:35:05 UTC 2023

On Thu, 12 Oct 2023 15:46:29 GMT, Ahmed Muhsin <duke at openjdk.org> wrote:

> Only known issue is with the ProfileInterpreter on however, we implemented a work around: 9bca6603204e94ffac4be450b73610cbaf9eed0f 
> Testing:
> Compared jtreg results from jom-master to our PR with ProfileInterpreter off and with ProfileInterpreter on with the work around. Note that with ProfileInterpreter on and no work around jtreg errors out (so that configuration is not included in the test tables below).
> See test results in comments.

src/hotspot/share/opto/graphKit.cpp line 3517:

> 3515:     // before we call add_safepoint_edges.
> 3516:     if (!dead_locals_are_killed()) {
> 3517:       kill_dead_locals();

It's because some callers of shared_unlock() are not calling kill_dead_locals() first.  Instead of calling shared_unlock() directly, callers could push the object and then call do_monitor_entery() instead.


PR Review Comment: https://git.openjdk.org/loom/pull/206#discussion_r1358857159

More information about the loom-dev mailing list