Re: RFR: 8338526: Don't store abstract and interface Klasses in class metaspace

2024-10-08 Thread Roman Kennke
On Tue, 3 Sep 2024 15:50:13 GMT, Thomas Stuefe wrote: >>> > I don't think the costs for two address comparisons matter, not with the >>> > comparatively few deallocations that happen (few hundreds or few >>> > thousand). If deallocate is hot, we are using metaspace wrong. >>> >>> MethodData do

Re: RFR: 8338526: Don't store abstract and interface Klasses in class metaspace

2024-08-22 Thread Roman Kennke
On Thu, 9 May 2024 13:51:09 GMT, Coleen Phillimore wrote: > This change stores InstanceKlass for interface and abstract classes in the > non-class metaspace, since class metaspace will have limits on number of > classes that can be represented when Lilliput changes go in. Classes that > have

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

2024-08-15 Thread Roman Kennke
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 needs extra care or >> l

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

2024-08-13 Thread Roman Kennke
On Tue, 13 Aug 2024 12:57:23 GMT, Axel Boldt-Christmas wrote: >> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 674: >> >>> 672: >>> 673: // Search for obj in cache. >>> 674: bind(loop); >> >> Same loop transformation would be possible here. > > I tried the following (see diff

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

2024-07-18 Thread Roman Kennke
On Mon, 15 Jul 2024 00:50:30 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 or >> l

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

2024-07-16 Thread Roman Kennke
On Tue, 16 Jul 2024 12:37:43 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 [v9]

2024-07-16 Thread Roman Kennke
On Mon, 15 Jul 2024 00:50:30 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 or >> l

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

2024-07-12 Thread Roman Kennke
On Tue, 9 Jul 2024 20:43:06 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 option interaction" >> >>This rever

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

2024-07-12 Thread Roman Kennke
On Fri, 12 Jul 2024 15:56:59 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/synchronizer.cpp line 390: &

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

2024-07-12 Thread Roman Kennke
On Fri, 12 Jul 2024 05:57:30 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 or >> l

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

2024-07-12 Thread Roman Kennke
On Fri, 12 Jul 2024 05:57:30 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 or >> l

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

2024-07-12 Thread Roman Kennke
On Fri, 12 Jul 2024 05:57:30 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 or >> l

Re: RFR: 8305895: Implementation: JEP 450: Compact Object Headers (Experimental)

2023-05-12 Thread Roman Kennke
On Fri, 12 May 2023 18:03:13 GMT, Coleen Phillimore wrote: >> This is the main body of the JEP 450: Compact Object Headers (Experimental). >> >> Main changes: >> - Introduction of the (experimental) flag UseCompactObjectHeaders. All >> changes in this PR are protected by this flag. >> - The c

RFR: 8305895: Implementation: JEP 450: Compact Object Headers (Experimental)

2023-05-12 Thread Roman Kennke
This is the main body of the JEP 450: Compact Object Headers (Experimental). Main changes: - Introduction of the (experimental) flag UseCompactObjectHeaders. All changes in this PR are protected by this flag. - The compressed Klass* can now be stored in the mark-word of objects. In order to be

Re: RFR: 8294696 - BufferedInputStream.transferTo should drain buffer when mark set

2022-10-17 Thread Roman Kennke
On Sat, 15 Oct 2022 14:38:04 GMT, Alan Bateman wrote: > > @AlanBateman WDYT? Is such a test mandatory to include this rather simple > > PR? > > I think it means checking that > test/jdk/java/io/BufferedInputStream/TransferTo.java exercises this code > path, I expect it should. > > It might s

Re: RFR: 8294696 - BufferedInputStream.transferTo should drain buffer when mark set [v2]

2022-10-17 Thread Roman Kennke
On Sat, 15 Oct 2022 13:17:27 GMT, Markus KARG wrote: > Isn't a test needed here which fails without but passes with the proposed > change? If you are saying, that a test should verify that, e.g. the wrapped OS receives the buffer upon calling BIS.transferTo() under certain circumstances, then

Re: RFR: 8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs [v2]

2022-08-03 Thread Roman Kennke
On Wed, 3 Aug 2022 06:24:16 GMT, Peter Levart wrote: >> This is a continuation of effort from >> https://github.com/openjdk/jdk/pull/9533 to fix the ObjectStreamClassCaching >> test which is failing with various GCs != G1. The test class contains 2 test >> methods: >> - test2CacheReleaseUnderM

Re: RFR: 8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs

2022-08-02 Thread Roman Kennke
On Fri, 29 Jul 2022 09:05:53 GMT, Peter Levart wrote: > This is a continuation of effort from > https://github.com/openjdk/jdk/pull/9533 to fix the ObjectStreamClassCaching > test which is failing with various GCs != G1. The test class contains 2 test > methods: > - test2CacheReleaseUnderMemor

Re: RFR: 8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs

2022-07-22 Thread Roman Kennke
On Mon, 18 Jul 2022 07:40:53 GMT, Aleksey Shipilev wrote: > Test appears to pass fine with G1. But it fails with other GCs, for example > Parallel, Shenandoah, etc, it fails: > > > $ CONF=linux-x86_64-server-fastdebug make test > TEST=java/io/ObjectStreamClass/ObjectStreamClassCaching.java >

Re: RFR: 8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs

2022-07-22 Thread Roman Kennke
On Mon, 18 Jul 2022 07:40:53 GMT, Aleksey Shipilev wrote: > Test appears to pass fine with G1. But it fails with other GCs, for example > Parallel, Shenandoah, etc, it fails: > > > $ CONF=linux-x86_64-server-fastdebug make test > TEST=java/io/ObjectStreamClass/ObjectStreamClassCaching.java >

Re: RFR: 8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs

2022-07-22 Thread Roman Kennke
On Mon, 18 Jul 2022 07:40:53 GMT, Aleksey Shipilev wrote: > Test appears to pass fine with G1. But it fails with other GCs, for example > Parallel, Shenandoah, etc, it fails: > > > $ CONF=linux-x86_64-server-fastdebug make test > TEST=java/io/ObjectStreamClass/ObjectStreamClassCaching.java >