[master] RFR: OMWorld: reenable all platforms

Axel Boldt-Christmas aboldtch at openjdk.org
Wed Jun 12 19:17:35 UTC 2024


On Wed, 12 Jun 2024 18:54:47 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> src/hotspot/share/runtime/lightweightSynchronizer.cpp line 1045:
>> 
>>> 1043:   const markWord mark = obj->mark();
>>> 1044: 
>>> 1045:   if (mark.is_unlocked()) {
>> 
>> Was that not needed before? Or why is this added now?
>
> Also wondering this.  We come here if the object is locked via slow path, but can it become unlocked only for the platforms that come don't check the ObjectMonitor and go slow path?

While it is possible that someone has unlocked/deflated by the time we get here. This was really thought as a bandaid for `x86_32`.  Which now skips fast locking due to lack of a thread register in some paths. 

I think the whole `quick_enter` should be reevaluated in case when we get here from C2. @coleenp has been running some experiments where it is removed completely.

I can see a solution where C1 and C2 have two different entry points, where C1 does the `quick_enter` (and only fast_locking on `x86_32`) while the C2 entry point skips it. As it only gets here in a true slow path (except for `arm32`)

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

PR Review Comment: https://git.openjdk.org/lilliput/pull/174#discussion_r1636963527


More information about the lilliput-dev mailing list