Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v6]

2025-02-13 Thread Axel Boldt-Christmas
On Wed, 12 Feb 2025 16:28:32 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning [v5]

2024-11-12 Thread Axel Boldt-Christmas
On Tue, 12 Nov 2024 02:59:59 GMT, Patricio Chilano Mateo wrote: >> This is the implementation of JEP 491: Synchronize Virtual Threads without >> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for >> further details. >> >> In order to make the code review easier the change

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning

2024-11-06 Thread Axel Boldt-Christmas
On Tue, 22 Oct 2024 19:04:16 GMT, Patricio Chilano Mateo wrote: >> src/hotspot/share/runtime/continuationFreezeThaw.cpp line 2234: >> >>> 2232: retry_fast_path = true; >>> 2233: } else { >>> 2234: relativize_chunk_concurrently(chunk); >> >> Is the `relativize_chunk_concurrently` solu

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning

2024-11-06 Thread Axel Boldt-Christmas
On Wed, 23 Oct 2024 00:08:54 GMT, Coleen Phillimore wrote: >> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 5341: >> >>> 5339: >>> 5340: void MacroAssembler::inc_held_monitor_count() { >>> 5341: Address dst = Address(rthread, >>> JavaThread::held_monitor_count_offset()); >> >> Sug

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning

2024-11-06 Thread Axel Boldt-Christmas
On Thu, 17 Oct 2024 14:28:30 GMT, Patricio Chilano Mateo wrote: > This is the implementation of JEP 491: Synchronize Virtual Threads without > Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for > further details. > > In order to make the code review easier the changes hav

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning [v32]

2024-11-05 Thread Axel Boldt-Christmas
On Wed, 6 Nov 2024 00:08:16 GMT, Patricio Chilano Mateo wrote: >> This is the implementation of JEP 491: Synchronize Virtual Threads without >> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for >> further details. >> >> In order to make the code review easier the changes

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning [v30]

2024-11-05 Thread Axel Boldt-Christmas
On Tue, 5 Nov 2024 01:40:15 GMT, Patricio Chilano Mateo wrote: >> This is the implementation of JEP 491: Synchronize Virtual Threads without >> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for >> further details. >> >> In order to make the code review easier the changes

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning [v28]

2024-11-03 Thread Axel Boldt-Christmas
On Fri, 1 Nov 2024 19:37:14 GMT, Patricio Chilano Mateo wrote: >> This is the implementation of JEP 491: Synchronize Virtual Threads without >> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for >> further details. >> >> In order to make the code review easier the changes

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning [v25]

2024-11-01 Thread Axel Boldt-Christmas
On Thu, 31 Oct 2024 21:50:50 GMT, Patricio Chilano Mateo wrote: >> This is the implementation of JEP 491: Synchronize Virtual Threads without >> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for >> further details. >> >> In order to make the code review easier the change

Re: RFR: 8341692: Implement JEP 490: ZGC: Remove the Non-Generational Mode [v5]

2024-10-30 Thread Axel Boldt-Christmas
On Fri, 25 Oct 2024 08:25:21 GMT, Axel Boldt-Christmas wrote: >> This is the implementation task for `JEP 490: ZGC: Remove the >> Non-Generational Mode`. See the JEP for details. >> [JDK-8335850](https://bugs.openjdk.org/browse/JDK-8335850) > > Axel Boldt-Christ

Integrated: 8341692: Implement JEP 490: ZGC: Remove the Non-Generational Mode

2024-10-30 Thread Axel Boldt-Christmas
On Tue, 8 Oct 2024 07:20:49 GMT, Axel Boldt-Christmas wrote: > This is the implementation task for `JEP 490: ZGC: Remove the > Non-Generational Mode`. See the JEP for details. > [JDK-8335850](https://bugs.openjdk.org/browse/JDK-8335850) This pull request has now been integrated.

Re: RFR: 8341692: Implement JEP 490: ZGC: Remove the Non-Generational Mode [v5]

2024-10-25 Thread Axel Boldt-Christmas
> This is the implementation task for `JEP 490: ZGC: Remove the > Non-Generational Mode`. See the JEP for details. > [JDK-8335850](https://bugs.openjdk.org/browse/JDK-8335850) Axel Boldt-Christmas has updated the pull request with a new target base due to a merge or a rebase. The pul

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning [v3]

2024-10-22 Thread Axel Boldt-Christmas
On Wed, 23 Oct 2024 00:08:54 GMT, Coleen Phillimore wrote: >> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 5341: >> >>> 5339: >>> 5340: void MacroAssembler::inc_held_monitor_count() { >>> 5341: Address dst = Address(rthread, >>> JavaThread::held_monitor_count_offset()); >> >> Sug

Re: RFR: 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning [v3]

2024-10-22 Thread Axel Boldt-Christmas
On Tue, 22 Oct 2024 19:04:16 GMT, Patricio Chilano Mateo wrote: >> src/hotspot/share/runtime/continuationFreezeThaw.cpp line 2234: >> >>> 2232: retry_fast_path = true; >>> 2233: } else { >>> 2234: relativize_chunk_concurrently(chunk); >> >> Is the `relativize_chunk_concurrently` solu

Re: RFR: 8338383: Implementation of Synchronize Virtual Threads without Pinning [v3]

2024-10-22 Thread Axel Boldt-Christmas
On Tue, 22 Oct 2024 02:14:23 GMT, Patricio Chilano Mateo wrote: >> This is the implementation of JEP 491: Synchronize Virtual Threads without >> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for >> further details. >> >> In order to make the code review easier the change

Re: RFR: 8338383: Implementation of Synchronize Virtual Threads without Pinning [v3]

2024-10-22 Thread Axel Boldt-Christmas
On Tue, 22 Oct 2024 02:14:23 GMT, Patricio Chilano Mateo wrote: >> This is the implementation of JEP 491: Synchronize Virtual Threads without >> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for >> further details. >> >> In order to make the code review easier the change

Re: RFR: 8338383: Implementation of Synchronize Virtual Threads without Pinning [v2]

2024-10-21 Thread Axel Boldt-Christmas
On Mon, 21 Oct 2024 15:45:21 GMT, Patricio Chilano Mateo wrote: >> This is the implementation of JEP 491: Synchronize Virtual Threads without >> Pinning. See [JEP 491](https://bugs.openjdk.org/browse/JDK-8337395) for >> further details. >> >> In order to make the code review easier the change

Re: RFR: 8341692: Implement JEP 490: ZGC: Remove the Non-Generational Mode [v4]

2024-10-17 Thread Axel Boldt-Christmas
> This is the implementation task for `JEP 490: ZGC: Remove the > Non-Generational Mode`. See the JEP for details. > [JDK-8335850](https://bugs.openjdk.org/browse/JDK-8335850) Axel Boldt-Christmas has updated the pull request with a new target base due to a merge or a rebase. The pul

Re: RFR: 8341692: Implement JEP 490: ZGC: Remove the Non-Generational Mode [v3]

2024-10-10 Thread Axel Boldt-Christmas
> This is the implementation task for `JEP 490: ZGC: Remove the > Non-Generational Mode`. See the JEP for details. > [JDK-8335850](https://bugs.openjdk.org/browse/JDK-8335850) Axel Boldt-Christmas has updated the pull request with a new target base due to a merge or a rebase. The in

Re: RFR: 8341819: LightweightSynchronizer::enter_for races with deflation [v2]

2024-10-10 Thread Axel Boldt-Christmas
On Thu, 10 Oct 2024 11:59:24 GMT, Axel Boldt-Christmas wrote: >> This is a regression from >> [JDK-8315884](https://bugs.openjdk.org/browse/JDK-8315884). >> >> When using `+UseObjectMonitorTable` monitors are inflated in a locked state >> effe

Integrated: 8341819: LightweightSynchronizer::enter_for races with deflation

2024-10-10 Thread Axel Boldt-Christmas
On Wed, 9 Oct 2024 11:16:46 GMT, Axel Boldt-Christmas wrote: > This is a regression from > [JDK-8315884](https://bugs.openjdk.org/browse/JDK-8315884). > > When using `+UseObjectMonitorTable` monitors are inflated in a locked state > effectively blockin

Re: RFR: 8341819: LightweightSynchronizer::enter_for races with deflation

2024-10-10 Thread Axel Boldt-Christmas
On Wed, 9 Oct 2024 11:16:46 GMT, Axel Boldt-Christmas wrote: > This is a regression from > [JDK-8315884](https://bugs.openjdk.org/browse/JDK-8315884). > > When using `+UseObjectMonitorTable` monitors are inflated in a locked state > effectively blockin

Re: RFR: 8341819: LightweightSynchronizer::enter_for races with deflation [v2]

2024-10-10 Thread Axel Boldt-Christmas
using > `LightweightSynchronizer::enter_for` is that the object being synchronized > can not have been reached by another JavaThread (except the deflating > thread). So there may never be contention, but there may be deflation. Axel Boldt-Christmas has updated the pull request incremen

Re: RFR: 8341692: Implement JEP 490: ZGC: Remove the Non-Generational Mode [v2]

2024-10-09 Thread Axel Boldt-Christmas
> This is the implementation task for `JEP 490: ZGC: Remove the > Non-Generational Mode`. See the JEP for details. > [JDK-8335850](https://bugs.openjdk.org/browse/JDK-8335850) Axel Boldt-Christmas has updated the pull request incrementally with six additional commits since the last

RFR: 8341692: Implement JEP 490: ZGC: Remove the Non-Generational Mode

2024-10-09 Thread Axel Boldt-Christmas
This is the implementation task for `JEP 490: ZGC: Remove the Non-Generational Mode`. See the JEP for details. [JDK-8335850](https://bugs.openjdk.org/browse/JDK-8335850) - Commit messages: - Remove XCollectedHeap from HSDB - Fix typo in TestZUncommitEvent.java - Add missing probl

RFR: 8341819: LightweightSynchronizer::enter_for races with deflation

2024-10-09 Thread Axel Boldt-Christmas
This is a regression from [JDK-8315884](https://bugs.openjdk.org/browse/JDK-8315884). When using `+UseObjectMonitorTable` monitors are inflated in a locked state effectively blocking out deflation. `LightweightSynchronizer::enter_for` assumed this to be true. But when the `-UseObjectMonitorTabl

Integrated: 8341168: Cleanup dead code after JDK-8322630

2024-10-01 Thread Axel Boldt-Christmas
On Mon, 30 Sep 2024 07:39:11 GMT, Axel Boldt-Christmas wrote: > [JDK-8322630](https://bugs.openjdk.org/browse/JDK-8322630) / #17495 removed > the the concept of ICStubs, InlineCache buffers and related safepoints. > > There are a handfull of references and auxiliary constructs

Re: RFR: 8341168: Cleanup dead code after JDK-8322630 [v2]

2024-10-01 Thread Axel Boldt-Christmas
On Mon, 30 Sep 2024 08:15:51 GMT, Axel Boldt-Christmas wrote: >> [JDK-8322630](https://bugs.openjdk.org/browse/JDK-8322630) / #17495 removed >> the the concept of ICStubs, InlineCache buffers and related safepoints. >> >> There are a handfull of references and auxil

Re: RFR: 8341168: Cleanup dead code after JDK-8322630 [v2]

2024-09-30 Thread Axel Boldt-Christmas
is removes the unused: > * Experimental `InlineCacheBufferSize` option > * `InlineCacheBuffer_lock` mutex > * `Thread::_missed_ic_stub_refill_verifier` field > * `VM_ICBufferFull` VM operation Axel Boldt-Christmas has updated the pull request incrementally with one additional commi

RFR: 8341168: Cleanup dead code after JDK-8322630

2024-09-30 Thread Axel Boldt-Christmas
[JDK-8322630](https://bugs.openjdk.org/browse/JDK-8322630) / #17495 removed the the concept of ICStubs, InlineCache buffers and related safepoints. There are a handfull of references and auxiliary constructs still in the code, I propose we clean these out. This removes the unused: * Experiment

Re: RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v17]

2024-09-16 Thread Axel Boldt-Christmas
On Mon, 16 Sep 2024 13:28:00 GMT, Roman Kennke wrote: >> This is the main body of the JEP 450: Compact Object Headers (Experimental). >> >> It is also a follow-up to #20640, which now also includes (and supersedes) >> #20603 and #20605, plus the Tiny Class-Pointers parts that have been >> prev

Integrated: 8315884: New Object to ObjectMonitor mapping

2024-08-15 Thread Axel Boldt-Christmas
On Mon, 8 Jul 2024 08:18:42 GMT, Axel Boldt-Christmas wrote: > When inflating a monitor the `ObjectMonitor*` is written directly over the > `markWord` and any overwritten data is displaced into a displaced `markWord`. > This is problematic for concurrent GCs which needs extra care

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v20]

2024-08-15 Thread Axel Boldt-Christmas
On Thu, 15 Aug 2024 06:12:22 GMT, Axel Boldt-Christmas wrote: >> When inflating a monitor the `ObjectMonitor*` is written directly over the >> `markWord` and any overwritten data is displaced into a displaced >> `markWord`. This is problematic for concurrent GCs which n

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v20]

2024-08-15 Thread Axel Boldt-Christmas
On Thu, 15 Aug 2024 13:45:11 GMT, Yudi Zheng wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Remove newline > > src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 677: >

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-08-15 Thread Axel Boldt-Christmas
On Fri, 12 Jul 2024 10:12:32 GMT, Roman Kennke wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Update arguments.cpp > > Is there a plan to get rid of the UseObjectMonitorTab

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v19]

2024-08-14 Thread Axel Boldt-Christmas
On Wed, 14 Aug 2024 21:02:47 GMT, Daniel D. Daugherty wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Use jdk.test.lib.Utils.getRandomInstance() > > src/hotspot/share/run

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v20]

2024-08-14 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v15]

2024-08-14 Thread Axel Boldt-Christmas
On Wed, 14 Aug 2024 20:58:24 GMT, Daniel D. Daugherty wrote: >> src/hotspot/share/runtime/lightweightSynchronizer.cpp line 341: >> >>> 339: >>> 340: ObjectMonitor* >>> LightweightSynchronizer::get_or_insert_monitor_from_table(oop object, >>> JavaThread* current, bool* inserted) { >>> 341:

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v16]

2024-08-14 Thread Axel Boldt-Christmas
On Tue, 13 Aug 2024 21:56:29 GMT, Daniel D. Daugherty wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Whitespace and nits > > src/hotspot/share/runtime/vframe.cpp lin

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v19]

2024-08-14 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-08-14 Thread Axel Boldt-Christmas
On Tue, 13 Aug 2024 16:03:16 GMT, Roman Kennke wrote: >> I tried the following (see diff below) and it shows about a 5-10% regression >> in most the `LockUnlock.testInflated*` micros. Also tried with just >> `num_unrolled = 1` saw the same regression. Maybe there was some other >> pattern you

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v16]

2024-08-14 Thread Axel Boldt-Christmas
On Wed, 14 Aug 2024 05:45:27 GMT, David Holmes wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Whitespace and nits > > src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp l

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v18]

2024-08-14 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v16]

2024-08-14 Thread Axel Boldt-Christmas
On Tue, 13 Aug 2024 21:45:57 GMT, Daniel D. Daugherty wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Whitespace and nits > > src/hotspot/share/runtime/synchron

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v15]

2024-08-14 Thread Axel Boldt-Christmas
On Tue, 13 Aug 2024 21:05:29 GMT, Daniel D. Daugherty wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with two >> additional commits since the last revision: >> >> - Remove the last OMWorld references >> - Rename omworldtable_wor

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v15]

2024-08-14 Thread Axel Boldt-Christmas
On Tue, 13 Aug 2024 18:13:30 GMT, Daniel D. Daugherty wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with two >> additional commits since the last revision: >> >> - Remove the last OMWorld references >> - Rename omworldtable_wor

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v15]

2024-08-13 Thread Axel Boldt-Christmas
On Tue, 13 Aug 2024 17:05:38 GMT, Daniel D. Daugherty wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with two >> additional commits since the last revision: >> >> - Remove the last OMWorld references >> - Rename omworldtable_wor

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v15]

2024-08-13 Thread Axel Boldt-Christmas
On Tue, 13 Aug 2024 16:34:17 GMT, Daniel D. Daugherty wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with two >> additional commits since the last revision: >> >> - Remove the last OMWorld references >> - Rename omworldtable_wor

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v11]

2024-08-13 Thread Axel Boldt-Christmas
On Mon, 12 Aug 2024 22:40:06 GMT, Daniel D. Daugherty wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Missing DEBUG_ONLY > > src/hotspot/share/interpreter/zero/bytecodeInter

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v17]

2024-08-13 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v16]

2024-08-13 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v11]

2024-08-13 Thread Axel Boldt-Christmas
On Mon, 12 Aug 2024 18:55:41 GMT, Coleen Phillimore wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Missing DEBUG_ONLY > > src/hotspot/share/runtime/lightweightSynchr

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v15]

2024-08-13 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v14]

2024-08-13 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v13]

2024-08-13 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-08-13 Thread Axel Boldt-Christmas
On Tue, 23 Jul 2024 14:27:34 GMT, Coleen Phillimore wrote: >> src/hotspot/share/runtime/lightweightSynchronizer.cpp line 105: >> >>> 103: }; >>> 104: >>> 105: class LookupMonitor : public StackObj { >> >> I'm not understanding why we need this little wrapper class. > > It's a two way looku

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-08-13 Thread Axel Boldt-Christmas
On Tue, 23 Jul 2024 16:36:18 GMT, Coleen Phillimore wrote: >> src/hotspot/share/runtime/lightweightSynchronizer.cpp line 102: >> >>> 100: assert(*value != nullptr, "must be"); >>> 101: return (*value)->object_is_cleared(); >>> 102: } >> >> The `is_dead` functions seem oddly plac

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-08-13 Thread Axel Boldt-Christmas
On Tue, 23 Jul 2024 13:19:02 GMT, Coleen Phillimore wrote: >> src/hotspot/share/runtime/lightweightSynchronizer.cpp line 62: >> >>> 60: class ObjectMonitorWorld : public CHeapObj { >>> 61: struct Config { >>> 62: using Value = ObjectMonitor*; >> >> Does this alias really help? We don't st

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-08-13 Thread Axel Boldt-Christmas
On Tue, 23 Jul 2024 20:21:05 GMT, Coleen Phillimore wrote: >> Only legacy locking uses the displaced header, I believe, which isn't clear >> in this code at all. This seems like a fix. We should probably assert that >> only legacy locking uses this field as a displaced header. > > Update: yes

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-08-13 Thread Axel Boldt-Christmas
On Fri, 12 Jul 2024 15:32:45 GMT, Roman Kennke wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Update arguments.cpp > > src/hotspot/share/runtime/lightweightSynchronizer

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v12]

2024-08-13 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-08-13 Thread Axel Boldt-Christmas
On Tue, 16 Jul 2024 12:36:08 GMT, Roman Kennke wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with 10 >> additional commits since the last revision: >> >> - Remove try_read >> - Add explicit to single parameter constructors >> -

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v11]

2024-08-12 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-08-12 Thread Axel Boldt-Christmas
On Tue, 23 Jul 2024 13:20:27 GMT, Coleen Phillimore wrote: >> src/hotspot/share/runtime/lightweightSynchronizer.cpp line 77: >> >>> 75: using ConcurrentTable = ConcurrentHashTable>> MEMFLAGS::mtObjectMonitor>; >>> 76: >>> 77: ConcurrentTable* _table; >> >> So you have a class ObjectMonitor

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-08-12 Thread Axel Boldt-Christmas
On Wed, 17 Jul 2024 06:48:03 GMT, David Holmes wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with 10 >> additional commits since the last revision: >> >> - Remove try_read >> - Add explicit to single parameter constructors >> -

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-08-12 Thread Axel Boldt-Christmas
On Tue, 23 Jul 2024 16:44:06 GMT, Coleen Phillimore wrote: >> I wanted to avoid having to add `NoSafepointVerifier` implementation details >> in the synchroniser code. I guess `ContinuationWrapper` already does this. >> >> Simply creating a `NoSafepointVerifier` when you expect no safepoint is

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v10]

2024-08-12 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-08-12 Thread Axel Boldt-Christmas
On Mon, 15 Jul 2024 00:45:25 GMT, Axel Boldt-Christmas wrote: >> src/hotspot/share/runtime/lightweightSynchronizer.cpp line 477: >> >>> 475: if (obj->mark_acquire().has_monitor()) { >>> 476: if (_length > 0 && _contended_oops[_length-

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-07-14 Thread Axel Boldt-Christmas
On Fri, 12 Jul 2024 11:09:35 GMT, Roman Kennke wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Update arguments.cpp > > src/hotspot/share/oops/instanceKlass.cpp line 1090: >

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v9]

2024-07-14 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-07-12 Thread Axel Boldt-Christmas
On Fri, 12 Jul 2024 12:06:05 GMT, Andrew Haley wrote: >> src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp line 343: >> >>> 341: const Register t3_owner = t3; >>> 342: const ByteSize monitor_tag = in_ByteSize(UseObjectMonitorTable ? 0 >>> : checked_cast(markWord::monitor_value)); >>

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v8]

2024-07-12 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-07-12 Thread Axel Boldt-Christmas
On Fri, 12 Jul 2024 09:53:11 GMT, Roman Kennke wrote: > When you say 'This patch has been evaluated to be performance neutral when > UseObjectMonitorTable is turned off (the default).' - what does the > performance look like with +UOMT? How does it compare to -UOMT? Most benchmarks are unaffec

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-07-12 Thread Axel Boldt-Christmas
On Fri, 12 Jul 2024 09:32:44 GMT, Roman Kennke wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Update arguments.cpp > > src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cp

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v7]

2024-07-12 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v6]

2024-07-11 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v5]

2024-07-11 Thread Axel Boldt-Christmas
On Thu, 11 Jul 2024 09:25:52 GMT, Yudi Zheng wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with four >> additional commits since the last revision: >> >> - Add extra comments in LightweightSynchronizer::inflate_fast_locked_object >> -

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v5]

2024-07-10 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v3]

2024-07-10 Thread Axel Boldt-Christmas
On Tue, 9 Jul 2024 20:44:58 GMT, Coleen Phillimore wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with two >> additional commits since the last revision: >> >> - Add JVMCI symbol exports >> - Revert "More graceful JVMCI VM op

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v4]

2024-07-10 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v3]

2024-07-08 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping [v2]

2024-07-08 Thread Axel Boldt-Christmas
owing section as a comment in > the source code > > ## Fast Locking > > CAS on locking bits in markWord. > 0b00 (Fast Locked) <--> 0b01 (Unlocked) > > When locking and 0b00 (Fast Locked) is observed, it may be beneficial to > avoid inflating by spinning

Re: RFR: 8315884: New Object to ObjectMonitor mapping

2024-07-08 Thread Axel Boldt-Christmas
On Mon, 8 Jul 2024 10:58:29 GMT, Thomas Wuerthinger wrote: > OK. Will there be a CSR or JEP for this? There is no plan for this, nor should it be required. It’s an internal implementation. > When do you approximately expect this to land in main line? ASAP. Compatibility for the field name i

Re: RFR: 8315884: New Object to ObjectMonitor mapping

2024-07-08 Thread Axel Boldt-Christmas
On Mon, 8 Jul 2024 09:39:32 GMT, Thomas Wuerthinger wrote: > Is this change expected to require JVMCI and/or Graal JIT changes? Support for `UseObjectMonitorTable` would require changes to Graal JIT. (`UseObjectMonitorTable` is off by default). Minimal support would be to call into the VM for

RFR: 8315884: New Object to ObjectMonitor mapping

2024-07-08 Thread Axel Boldt-Christmas
When inflating a monitor the `ObjectMonitor*` is written directly over the `markWord` and any overwritten data is displaced into a displaced `markWord`. This is problematic for concurrent GCs which needs extra care or looser semantics to use this displaced data. In Lilliput this data also contai

[jdk23] Integrated: 8326820: Metadata artificially kept alive

2024-07-01 Thread Axel Boldt-Christmas
On Thu, 27 Jun 2024 14:30:43 GMT, Axel Boldt-Christmas wrote: > Hi all, > > This pull request contains a backport of commit > [5909d541](https://github.com/openjdk/jdk/commit/5909d54147355dd7da5786ff39ead4c15816705c) > from the [openjdk/jdk](https://git.openjdk.org/jdk) repos

Re: [jdk23] RFR: 8326820: Metadata artificially kept alive

2024-07-01 Thread Axel Boldt-Christmas
On Thu, 27 Jun 2024 14:30:43 GMT, Axel Boldt-Christmas wrote: > Hi all, > > This pull request contains a backport of commit > [5909d541](https://github.com/openjdk/jdk/commit/5909d54147355dd7da5786ff39ead4c15816705c) > from the [openjdk/jdk](https://git.openjdk.org/jdk) repos

[jdk23] RFR: 8326820: Metadata artificially kept alive

2024-06-27 Thread Axel Boldt-Christmas
Hi all, This pull request contains a backport of commit [5909d541](https://github.com/openjdk/jdk/commit/5909d54147355dd7da5786ff39ead4c15816705c) from the [openjdk/jdk](https://git.openjdk.org/jdk) repository. The commit being backported was authored by Axel Boldt-Christmas on 27 Jun 2024

Integrated: 8326820: Metadata artificially kept alive

2024-06-27 Thread Axel Boldt-Christmas
On Tue, 18 Jun 2024 12:25:36 GMT, Axel Boldt-Christmas wrote: > ClassLoaderDataGraph provides APIs for walking different metadata. All the > iterators which are not designed to be used by the GC also keep the holder of > the CLDs alive and by extensions keeps all metadata alive

Re: RFR: 8326820: Metadata artificially kept alive [v5]

2024-06-27 Thread Axel Boldt-Christmas
On Thu, 27 Jun 2024 13:38:22 GMT, Axel Boldt-Christmas wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metad

Re: RFR: 8326820: Metadata artificially kept alive [v5]

2024-06-27 Thread Axel Boldt-Christmas
JDK-8326005) consistently > within a few hours. And after this patch it does not. > > Currently running tier1-tier8 testing. Axel Boldt-Christmas has updated the pull request incrementally with one additional commit since the last revision: Cleanup soon - Chang

Re: RFR: 8326820: Metadata artificially kept alive [v4]

2024-06-27 Thread Axel Boldt-Christmas
JDK-8326005) consistently > within a few hours. And after this patch it does not. > > Currently running tier1-tier8 testing. Axel Boldt-Christmas has updated the pull request incrementally with five additional commits since the last revision: - Rename iterator - Add SystemDicti

Re: RFR: 8326820: Metadata artificially kept alive [v3]

2024-06-19 Thread Axel Boldt-Christmas
JDK-8326005) consistently > within a few hours. And after this patch it does not. > > Currently running tier1-tier8 testing. Axel Boldt-Christmas has updated the pull request incrementally with one additional commit since the last revision: Rename and comment SystemDictionary::metho

Re: RFR: 8326820: Metadata artificially kept alive [v2]

2024-06-19 Thread Axel Boldt-Christmas
On Wed, 19 Jun 2024 08:53:33 GMT, Stefan Karlsson wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Document the iterator and functions > > src/hotspot/share/classfile/

Re: RFR: 8326820: Metadata artificially kept alive [v2]

2024-06-18 Thread Axel Boldt-Christmas
JDK-8326005) consistently > within a few hours. And after this patch it does not. > > Currently running tier1-tier8 testing. Axel Boldt-Christmas has updated the pull request incrementally with one additional commit since the last revision: Document the iterator and functions -

Re: RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Axel Boldt-Christmas
On Tue, 18 Jun 2024 13:33:55 GMT, Erik Österlund wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >> proble

Re: RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Axel Boldt-Christmas
On Tue, 18 Jun 2024 13:41:05 GMT, Erik Österlund wrote: >> src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp line 108: >> >>> 106: // and collect them using the LoadedClassesClosure >>> 107: MutexLocker mcld(ClassLoaderDataGraph_lock); >>> 108: ClassLoaderDataGraph::loaded_classes_do

Re: RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Axel Boldt-Christmas
On Tue, 18 Jun 2024 13:42:24 GMT, Erik Österlund wrote: >> ClassLoaderDataGraph provides APIs for walking different metadata. All the >> iterators which are not designed to be used by the GC also keep the holder >> of the CLDs alive and by extensions keeps all metadata alive. This is >> proble

RFR: 8326820: Metadata artificially kept alive

2024-06-18 Thread Axel Boldt-Christmas
ClassLoaderDataGraph provides APIs for walking different metadata. All the iterators which are not designed to be used by the GC also keep the holder of the CLDs alive and by extensions keeps all metadata alive. This is problematic for concurrent GC as it keeps otherwise unreachable classes from

Re: RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v3]

2024-04-03 Thread Axel Boldt-Christmas
On Thu, 4 Apr 2024 00:05:20 GMT, Vladimir Kozlov wrote: >> Revert [JDK-8152664](https://bugs.openjdk.org/browse/JDK-8152664) RFE >> [changes](https://github.com/openjdk/jdk/commit/b853eb7f5ca24eeeda18acbb14287f706499c365) >> which was used for AOT [JEP 295](https://openjdk.org/jeps/295) >> imp

  1   2   >