RFR: 8322996: BoxLockNode creation fails with assert(reg < CHUNK_SIZE) failed: sanity [v5]
Daniel Lundén
dlunden at openjdk.org
Fri Jan 26 09:58:52 UTC 2024
On Fri, 26 Jan 2024 03:14:47 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
> There is call to record_profiled_parameters_for_speculation() after shared_lock() call in do_method_entry(). It does not check failing(). May be add check if (!failing()) when calling it (or inside it).
I've now added a check just after `_synch_lock = shared_lock(lock_obj);`, thanks.
> For do_one_bytecode() case the only question is if IGVN code can handle such bailout. **It is called at the end of method**. If not, we need to add the check.
I cannot see any call to IGVN after `do_monitor_enter()` in `do_one_bytecode()`. Can you elaborate? Maybe related, I also changed to
Node *box = new BoxLockNode(next_monitor());
// Check for bailout after new BoxLockNode
if (failing()) { return; }
box = _gvn.transform(box);
from the previous
Node *box = _gvn.transform(new BoxLockNode(next_monitor()));
// Check for bailout after new BoxLockNode
if (failing()) { return; }
to avoid potential issues with `_gvn.transform` due to the new bailout.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17370#discussion_r1467438125
More information about the hotspot-compiler-dev
mailing list