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

2024-11-19 Thread Andrew Haley
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-18 Thread Quan Anh Mai
On Mon, 18 Nov 2024 14:36:17 GMT, Emanuel Peter wrote: >> @eme64 Tbh I don't see how `AlignVector` can mitigate the issue if strict >> alignment is required unless the object base is guaranteed to be aligned at >> least as much as the vector length. > > @merykitty the object base is always at l

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

2024-11-18 Thread Roman Kennke
On Mon, 18 Nov 2024 15:00:51 GMT, Roman Kennke wrote: >>> @rkennke It just will (silently) not vectorize, thus running slower but >>> still correct. >> >> Ok, I think we can live with that for now. >> >> As said elsewhere, we are currently working on 4-byte-headers, which would >> make that p

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

2024-11-18 Thread Roman Kennke
On Mon, 18 Nov 2024 15:30:14 GMT, Magnus Ihse Bursie wrote: >> test/hotspot/jtreg/gtest/MetaspaceUtilsGtests.java line 1: >> >> >> This file was reduced to empty but not actually deleted. Can you fix it >> please. > > @rkennke Just making sure this is not being missed. Can you please open a JB

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 15:20:17 GMT, Quan Anh Mai wrote: >> @merykitty I guess we can always use >> [vmovdqu](https://www.felixcloutier.com/x86/movdqu:vmovdqu8:vmovdqu16:vmovdqu32:vmovdqu64). >> >> And in fact that is exactly what we do: >> >> public class Test { >> static int RANGE = 1024*10

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 15:00:51 GMT, Roman Kennke wrote: >>> @rkennke It just will (silently) not vectorize, thus running slower but >>> still correct. >> >> Ok, I think we can live with that for now. >> >> As said elsewhere, we are currently working on 4-byte-headers, which would >> make that p

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

2024-11-18 Thread Emanuel Peter
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 14:23:24 GMT, Roman Kennke wrote: >>> @rkennke How important is the 4-byte saving on `byte, char, short, int, >>> float` arrays? I'd assume they are not generally that small, at least a few >>> elements? So could we make an exception, and have a `16-byte` offset to the >>>

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

2024-11-18 Thread Magnus Ihse Bursie
On Fri, 15 Nov 2024 04:49:51 GMT, David Holmes wrote: >> Roman Kennke has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 107 commits: >> >> - Merge branch 'master' into JDK-8305895-v4 >> - Merge tag 'jdk-25+23' into JDK-8305895-v4

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

2024-11-18 Thread Quan Anh Mai
On Mon, 18 Nov 2024 15:01:09 GMT, Emanuel Peter wrote: >> @eme64 If you load a 32-byte (256-bit) vector, then the load is aligned if >> the address is divisible by 32, otherwise the load is misaligned. That's why >> [`vmovdqua`](https://www.felixcloutier.com/x86/movdqa:vmovdqa32:vmovdqa64) >>

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 14:34:13 GMT, Quan Anh Mai wrote: >> @rkennke >>> BTW, this problem is not specific to UseCompactObjectHeaders - I think the >>> same problem would happen with -UseCompressedClassPointers. With >>> uncompressed class-pointers, byte[] would start at offset 20, while long[] >

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 14:43:48 GMT, Quan Anh Mai wrote: >> @merykitty >>> Please correct me if I'm wrong but the issue is you need the base to be >>> aligned at 32 bytes on AVX2 machines for any alignment for vector >>> instruction to be meaningful, so I don't see the value of vector alignment

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

2024-11-18 Thread Roman Kennke
On Mon, 18 Nov 2024 14:35:41 GMT, Roman Kennke wrote: >>> @rkennke Ok, fair enough. As far as I know, we at Oracle do not super care >>> about strict alignment `AlignVector`. But maybe other people care, and have >>> to make that tradeoff between vectorization and small object headers. >> >> B

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 14:50:51 GMT, Quan Anh Mai wrote: >> @merykitty In `AlignmentSolver::solve` / >> `src/hotspot/share/opto/vectorization.cpp` you can see how I compute if >> vectors can be aligned. > > @eme64 If you load a 32-byte (256-bit) vector, then the load is aligned if > the address i

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 14:35:41 GMT, Roman Kennke wrote: >>> @rkennke Ok, fair enough. As far as I know, we at Oracle do not super care >>> about strict alignment `AlignVector`. But maybe other people care, and have >>> to make that tradeoff between vectorization and small object headers. >> >> B

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

2024-11-18 Thread Quan Anh Mai
On Mon, 18 Nov 2024 14:48:22 GMT, Emanuel Peter wrote: >> @eme64 You will need the alignment for the whole vector (which means 32 >> bytes for a `ymm` load), not alignment only on its elements. Vector element >> is the artefact of ALU units, not the load/store units that actually care >> about

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

2024-11-18 Thread Quan Anh Mai
On Mon, 18 Nov 2024 14:41:25 GMT, Emanuel Peter wrote: >> @eme64 Please correct me if I'm wrong but the issue is you need the base to >> be aligned at 32 bytes on AVX2 machines for any alignment for vector >> instruction to be meaningful, so I don't see the value of vector alignment >> at all.

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

2024-11-18 Thread Roman Kennke
On Mon, 18 Nov 2024 14:23:24 GMT, Roman Kennke wrote: >>> @rkennke How important is the 4-byte saving on `byte, char, short, int, >>> float` arrays? I'd assume they are not generally that small, at least a few >>> elements? So could we make an exception, and have a `16-byte` offset to the >>>

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 14:38:20 GMT, Quan Anh Mai wrote: >> @merykitty the object base is always at least `8-byte` aligned, see >> `ObjectAlignmentInBytes` - this also holds for all arrays. But the issue is >> the offset from the object base to the array payload. >> >> @rkennke yes, working on fi

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

2024-11-18 Thread Quan Anh Mai
On Mon, 18 Nov 2024 14:31:52 GMT, Emanuel Peter wrote: >>> @rkennke Ok, fair enough. As far as I know, we at Oracle do not super care >>> about strict alignment `AlignVector`. But maybe other people care, and have >>> to make that tradeoff between vectorization and small object headers. >> >>

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 14:23:24 GMT, Roman Kennke wrote: >>> @rkennke How important is the 4-byte saving on `byte, char, short, int, >>> float` arrays? I'd assume they are not generally that small, at least a few >>> elements? So could we make an exception, and have a `16-byte` offset to the >>>

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

2024-11-18 Thread Roman Kennke
On Mon, 18 Nov 2024 14:13:17 GMT, Roman Kennke wrote: >> @mur47x111 it's now intergrated in jdk24. do your magic in Graal ;-) > >> @rkennke How important is the 4-byte saving on `byte, char, short, int, >> float` arrays? I'd assume they are not generally that small, at least a few >> elements?

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

2024-11-18 Thread Emanuel Peter
On Mon, 18 Nov 2024 14:13:17 GMT, Roman Kennke wrote: >> @mur47x111 it's now intergrated in jdk24. do your magic in Graal ;-) > >> @rkennke How important is the 4-byte saving on `byte, char, short, int, >> float` arrays? I'd assume they are not generally that small, at least a few >> elements?

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

2024-11-18 Thread Roman Kennke
On Fri, 8 Nov 2024 17:42:24 GMT, Roman Kennke wrote: >> Could you please cherry pick >> https://github.com/mur47x111/jdk/commit/c45ebc2a89d0b25a3dd8cc46386e37a635ff9af2 >> for the JVMCI support? > > @mur47x111 it's now intergrated in jdk24. do your magic in Graal ;-) > @rkennke How important i

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

2024-11-18 Thread Emanuel Peter
On Fri, 8 Nov 2024 17:42:24 GMT, Roman Kennke wrote: >> Could you please cherry pick >> https://github.com/mur47x111/jdk/commit/c45ebc2a89d0b25a3dd8cc46386e37a635ff9af2 >> for the JVMCI support? > > @mur47x111 it's now intergrated in jdk24. do your magic in Graal ;-) @rkennke How important is

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

2024-11-18 Thread Emanuel Peter
On Fri, 8 Nov 2024 17:42:24 GMT, Roman Kennke wrote: >> Could you please cherry pick >> https://github.com/mur47x111/jdk/commit/c45ebc2a89d0b25a3dd8cc46386e37a635ff9af2 >> for the JVMCI support? > > @mur47x111 it's now intergrated in jdk24. do your magic in Graal ;-) @rkennke I have now looked

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

2024-11-15 Thread Magnus Ihse Bursie
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-14 Thread David Holmes
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-08 Thread Roman Kennke
On Wed, 18 Sep 2024 12:22:34 GMT, Yudi Zheng wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - CompressedKlassPointers::is_encodable shall be callable with -UseCCP >> - Johan review feedback > > Could you please c

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

2024-11-08 Thread Yudi Zheng
On Fri, 8 Nov 2024 17:42:24 GMT, Roman Kennke wrote: >> Could you please cherry pick >> https://github.com/mur47x111/jdk/commit/c45ebc2a89d0b25a3dd8cc46386e37a635ff9af2 >> for the JVMCI support? > > @mur47x111 it's now intergrated in jdk24. do your magic in Graal ;-) @rkennke It is in the merg

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

2024-11-08 Thread Coleen Phillimore
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-08 Thread Stefan Karlsson
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-08 Thread Paul Hohensee
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-08 Thread Thomas Stuefe
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-07 Thread Thomas Stuefe
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-07 Thread Roman Kennke
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-07 Thread Stefan Karlsson
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-07 Thread Coleen Phillimore
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-07 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-11-07 Thread Roman Kennke
On Thu, 7 Nov 2024 17:25:40 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 >> previ

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

2024-11-07 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-11-06 Thread Thomas Stuefe
On Tue, 5 Nov 2024 16:43:35 GMT, Roman Kennke wrote: >> @egahlin / @mgronlun could you please review the JFR parts of this PR? One >> change is for getting the right prototype header, the other is for avoiding >> an endless loop/assert in a corner case. > >> @rkennke can you include this small

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

2024-11-06 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-11-05 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-11-05 Thread Amit Kumar
On Tue, 5 Nov 2024 16:43:35 GMT, Roman Kennke wrote: >Hi Amit, sorry I only now get to reply to this, I have been traveling. What does the change do? Is it critical? Would it be possible to fix it after I intergrated the JEP? Because any change that I do now invalidates existing reviews, and m

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

2024-11-05 Thread Roman Kennke
On Tue, 22 Oct 2024 16:22:20 GMT, Roman Kennke wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Update copyright >> - Avoid assert/endless-loop in JFR code > > @egahlin / @mgronlun could you please review the JFR

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

2024-11-05 Thread Thomas Stuefe
On Thu, 24 Oct 2024 21:04:51 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

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

2024-10-29 Thread Amit Kumar
On Tue, 22 Oct 2024 16:22:20 GMT, Roman Kennke wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Update copyright >> - Avoid assert/endless-loop in JFR code > > @egahlin / @mgronlun could you please review the JFR

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

2024-10-29 Thread Stefan Karlsson
On Thu, 24 Oct 2024 21:04:51 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

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

2024-10-25 Thread Hamlin Li
On Thu, 24 Oct 2024 14:05:40 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

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

2024-10-24 Thread Roman Kennke
On Thu, 24 Oct 2024 18:58:03 GMT, Hamlin Li wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Conditionalize platform specific parts of >> CompressedClassPointersEncodingScheme test > > test/hotspot/jtreg/runtime/Co

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

2024-10-24 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-24 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-24 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-24 Thread Amit Kumar
On Tue, 22 Oct 2024 16:22:20 GMT, Roman Kennke wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Update copyright >> - Avoid assert/endless-loop in JFR code > > @egahlin / @mgronlun could you please review the JFR

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

2024-10-24 Thread Thomas Stuefe
On Thu, 24 Oct 2024 09:54:05 GMT, Martin Doerr wrote: > As I understand the comment, it says alignment <= cache line size. But the > implementation makes alignment >= cache line size. "hyper alignment" means > alignment > cache line size? Correct. since encoding range must cover the full klass

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

2024-10-24 Thread Martin Doerr
On Thu, 24 Oct 2024 09:28:13 GMT, Amit Kumar wrote: >>> But then, what exactly is the error? If it's just the test assuming that >>> cache line size is log 6, then the test should be fixed for ppc, not >>> hotspot. >> >> that is the problem, test assumes log2 of 6 for chacheline size > > PPC l

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

2024-10-24 Thread Amit Kumar
On Thu, 24 Oct 2024 09:22:34 GMT, Thomas Stuefe wrote: >>> This code causes test errors in >>> `CompressedClassPointersEncodingScheme.java` on s390 and PPC64. It forces >>> the shift to `log_cacheline` which is 7 on PPC64 and 9 on s390. The test >>> passes when we remove "s > log_cacheline &&

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

2024-10-24 Thread Thomas Stuefe
On Thu, 24 Oct 2024 09:12:34 GMT, Thomas Stuefe wrote: > But then, what exactly is the error? If it's just the test assuming that > cache line size is log 6, then the test should be fixed for ppc, not hotspot. that is the problem, test assumes log2 of 6 for chacheline size - PR Re

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

2024-10-24 Thread Thomas Stuefe
On Wed, 23 Oct 2024 18:14:50 GMT, Martin Doerr wrote: > This code causes test errors in `CompressedClassPointersEncodingScheme.java` > on s390 and PPC64. It forces the shift to `log_cacheline` which is 7 on PPC64 > and 9 on s390. The test passes when we remove "s > log_cacheline && " from > th

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

2024-10-23 Thread Leonid Mesnik
On Fri, 30 Aug 2024 07:37:35 GMT, Thomas Stuefe wrote: >> make/Images.gmk line 135: >> >>> 133: # >>> 134: # Param1 - VM variant (e.g., server, client, zero, ...) >>> 135: # Param2 - _nocoops, _coh, _nocoops_coh, or empty >> >> The -XX:+UseCompactObjectHeaders ssems to incompatible withe zero v

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

2024-10-23 Thread Leonid Mesnik
On Tue, 22 Oct 2024 16:19:24 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

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

2024-10-23 Thread Erik Gahlin
On Tue, 22 Oct 2024 16:22:20 GMT, Roman Kennke wrote: > @egahlin / @mgronlun could you please review the JFR parts of this PR? One > change is for getting the right prototype header, the other is for avoiding > an endless loop/assert in a corner case. JFR changes look reasonable.

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

2024-10-23 Thread Erik Gahlin
On Tue, 22 Oct 2024 16:19:24 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

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

2024-10-23 Thread Martin Doerr
On Tue, 22 Oct 2024 13:53:03 GMT, Thomas Stuefe wrote: >> I will do some benchmarks > > I did SpecJBB runs with shift of 6, 8 and 10, respectively, which amounts to > Klass alignment of 64, 256 and 1K. Benchmark scores did not show a > significant pattern. I did not measure CPU stats though. >

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

2024-10-23 Thread Stefan Karlsson
On Tue, 22 Oct 2024 16:19:24 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

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

2024-10-22 Thread Stefan Karlsson
On Tue, 22 Oct 2024 16:19:24 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

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

2024-10-22 Thread Roman Kennke
On Tue, 22 Oct 2024 16:19:24 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

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

2024-10-22 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-22 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-22 Thread Thomas Stuefe
On Thu, 19 Sep 2024 13:34:47 GMT, Thomas Stuefe wrote: >> Do you seen any effects of this in anything other than special-crafted micro >> benchmarks? I wonder if it would be good enough to hard-code this to be 10 >> for the first integration of Lilliput. > > I will do some benchmarks I did Spe

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

2024-10-22 Thread Stefan Karlsson
On Tue, 22 Oct 2024 11:19:19 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

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

2024-10-22 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-22 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-21 Thread Volodymyr Paprotski
On Mon, 21 Oct 2024 20:31:28 GMT, Roman Kennke wrote: >>> @rkennke Could you post the full command you used please? And perhaps also >>> the seed that gets printed.. having trouble getting it to fail.. >>> >>> So far I added a few options and perrmitations of: >>> `./build/linux-x86_64-server-

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

2024-10-21 Thread Roman Kennke
On Mon, 21 Oct 2024 18:00:14 GMT, Roman Kennke wrote: >>> I've managed to reproduce the ECoreIndexOf crash locally by running with >>> -XX:+UseSerialGC -XX:+UnlockExperimentalVMOptions >>> -XX:+UseCompactObjectHeaders. The crash happens on line 773 when reading >>> past the needle. >>> >>> ``

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

2024-10-21 Thread Sandhya Viswanathan
On Mon, 21 Oct 2024 18:52:46 GMT, Volodymyr Paprotski wrote: > Thanks @rkennke able to reproduce now.. Sandhya will have a patch soon and I > will re-verify @rkennke @vpaprotsk Please find attached the patch which should fix the problem. [smallneedlefix.patch](https://github.com/user-attachmen

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

2024-10-21 Thread Volodymyr Paprotski
On Mon, 21 Oct 2024 18:00:14 GMT, Roman Kennke wrote: >>> I've managed to reproduce the ECoreIndexOf crash locally by running with >>> -XX:+UseSerialGC -XX:+UnlockExperimentalVMOptions >>> -XX:+UseCompactObjectHeaders. The crash happens on line 773 when reading >>> past the needle. >>> >>> ``

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

2024-10-21 Thread Roman Kennke
On Mon, 21 Oct 2024 13:53:58 GMT, Roman Kennke wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Compact header riscv (#3) >> >> Implement compact headers on RISCV >> - >> >> Co-authored-by: hamli

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

2024-10-21 Thread Volodymyr Paprotski
On Mon, 21 Oct 2024 13:53:58 GMT, Roman Kennke wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Compact header riscv (#3) >> >> Implement compact headers on RISCV >> - >> >> Co-authored-by: hamli

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

2024-10-21 Thread Volodymyr Paprotski
On Mon, 21 Oct 2024 13:53:58 GMT, Roman Kennke wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Compact header riscv (#3) >> >> Implement compact headers on RISCV >> - >> >> Co-authored-by: hamli

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

2024-10-21 Thread Roman Kennke
On Thu, 17 Oct 2024 10:57:24 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

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

2024-10-21 Thread Coleen Phillimore
On Thu, 17 Oct 2024 10:57:24 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

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

2024-10-21 Thread Stefan Karlsson
On Thu, 17 Oct 2024 10:57:24 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

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

2024-10-21 Thread Magnus Ihse Bursie
On Thu, 17 Oct 2024 10:57:24 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

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

2024-10-21 Thread Thomas Stuefe
On Wed, 16 Oct 2024 15:37:59 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Problem-list SharedBaseAddress tests on aarch64 > > src/hotspot/share/oops/compressedKlass.cpp line 185: > >> 183

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

2024-10-21 Thread Thomas Stuefe
On Fri, 20 Sep 2024 17:46:21 GMT, Coleen Phillimore wrote: >> Roman Kennke has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Merge remote-tracking branch 'lilliput/JEP-450-temporary-fix-branch-2' >> into JDK-8305895-v4 >> - review feed

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

2024-10-21 Thread Stefan Karlsson
On Thu, 17 Oct 2024 10:57:24 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

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

2024-10-17 Thread Yudi Zheng
On Thu, 17 Oct 2024 10:57:24 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

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

2024-10-17 Thread Thomas Schatzl
On Thu, 17 Oct 2024 10:57:24 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

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

2024-10-17 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-17 Thread Hamlin Li
On Wed, 16 Oct 2024 13:42:42 GMT, Roman Kennke wrote: >> We're seeing failures in our nightly testing for tests >> runtime/cds/appcds/SharedBaseAddress.java and >> runtime/cds/SharedBaseAddress.java which I'm tracking in this bug >> [JDK-8340212](https://bugs.openjdk.org/browse/JDK-8340212) >>

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

2024-10-16 Thread Volodymyr Paprotski
On Wed, 16 Oct 2024 16:04:21 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

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

2024-10-16 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-16 Thread Coleen Phillimore
On Wed, 16 Oct 2024 13:46:24 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

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

2024-10-16 Thread Coleen Phillimore
On Wed, 16 Oct 2024 13:46:24 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

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

2024-10-16 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

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

2024-10-16 Thread Roman Kennke
On Wed, 16 Oct 2024 12:13:32 GMT, Coleen Phillimore wrote: > We're seeing failures in our nightly testing for tests > runtime/cds/appcds/SharedBaseAddress.java and > runtime/cds/SharedBaseAddress.java which I'm tracking in this bug > [JDK-8340212](https://bugs.openjdk.org/browse/JDK-8340212) >

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

2024-10-16 Thread Coleen Phillimore
On Wed, 16 Oct 2024 09:31:12 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

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

2024-10-16 Thread Roman Kennke
> 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 > previously missing. > > Main changes: > - Introduction of the (

  1   2   3   4   >