From thartmann at openjdk.org Mon Jul 1 06:20:34 2024 From: thartmann at openjdk.org (Tobias Hartmann) Date: Mon, 1 Jul 2024 06:20:34 GMT Subject: [lworld] RFR: 8282106: [lworld] IdentityException should identify the value class [v3] In-Reply-To: References: Message-ID: <18iYtpTzjB32ZjPpDkGuGbBMm3wwP9rtL7IzsRTHDXg=.ed5c3be2-3375-43b1-ab62-6491ab4348f9@github.com> On Fri, 28 Jun 2024 15:06:29 GMT, Frederic Parain wrote: >> Improve the message of IdentityException by including the class of the instance that triggered the exception. > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Fix test Looks good to me. ------------- Marked as reviewed by thartmann (Committer). PR Review: https://git.openjdk.org/valhalla/pull/1150#pullrequestreview-2150508174 From fparain at openjdk.org Mon Jul 1 10:50:36 2024 From: fparain at openjdk.org (Frederic Parain) Date: Mon, 1 Jul 2024 10:50:36 GMT Subject: [lworld] RFR: 8282106: [lworld] IdentityException should identify the value class [v3] In-Reply-To: References: Message-ID: On Fri, 28 Jun 2024 15:06:29 GMT, Frederic Parain wrote: >> Improve the message of IdentityException by including the class of the instance that triggered the exception. > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Fix test Thank you for the reviews. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1150#issuecomment-2199819885 From fparain at openjdk.org Mon Jul 1 10:50:37 2024 From: fparain at openjdk.org (Frederic Parain) Date: Mon, 1 Jul 2024 10:50:37 GMT Subject: [lworld] Integrated: 8282106: [lworld] IdentityException should identify the value class In-Reply-To: References: Message-ID: On Thu, 27 Jun 2024 20:58:11 GMT, Frederic Parain wrote: > Improve the message of IdentityException by including the class of the instance that triggered the exception. This pull request has now been integrated. Changeset: 9b1aee9e Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/9b1aee9e3be4521fb86734d5202c9aa5e5512ed4 Stats: 121 lines in 13 files changed: 109 ins; 0 del; 12 mod 8282106: [lworld] IdentityException should identify the value class Reviewed-by: thartmann ------------- PR: https://git.openjdk.org/valhalla/pull/1150 From vromero at openjdk.org Mon Jul 1 21:04:56 2024 From: vromero at openjdk.org (Vicente Romero) Date: Mon, 1 Jul 2024 21:04:56 GMT Subject: [lworld] Integrated: 8335280: [lworld] adding more tests to improve code coverage plus fixing minor bugs Message-ID: <2rl3JdIvxaeUT1_Jksia8WEw7iUhZxih5ciy2ksgSYI=.e5314e7c-9715-4a4a-99b1-0b87b587e7e7@github.com> improving test coverage, plus fixing some bugs ------------- Commit messages: - removing whitespace - 8335280: [lworld] adding more tests to improve code coverage plus fixing minor bugs Changes: https://git.openjdk.org/valhalla/pull/1152/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1152&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335280 Stats: 487 lines in 6 files changed: 223 ins; 106 del; 158 mod Patch: https://git.openjdk.org/valhalla/pull/1152.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1152/head:pull/1152 PR: https://git.openjdk.org/valhalla/pull/1152 From vromero at openjdk.org Mon Jul 1 21:04:56 2024 From: vromero at openjdk.org (Vicente Romero) Date: Mon, 1 Jul 2024 21:04:56 GMT Subject: [lworld] Integrated: 8335280: [lworld] adding more tests to improve code coverage plus fixing minor bugs In-Reply-To: <2rl3JdIvxaeUT1_Jksia8WEw7iUhZxih5ciy2ksgSYI=.e5314e7c-9715-4a4a-99b1-0b87b587e7e7@github.com> References: <2rl3JdIvxaeUT1_Jksia8WEw7iUhZxih5ciy2ksgSYI=.e5314e7c-9715-4a4a-99b1-0b87b587e7e7@github.com> Message-ID: On Mon, 1 Jul 2024 20:57:23 GMT, Vicente Romero wrote: > improving test coverage, plus fixing some bugs This pull request has now been integrated. Changeset: 9b67f081 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/9b67f0814a181083413e4e33915a27f5ee60c703 Stats: 487 lines in 6 files changed: 223 ins; 106 del; 158 mod 8335280: [lworld] adding more tests to improve code coverage plus fixing minor bugs ------------- PR: https://git.openjdk.org/valhalla/pull/1152 From vromero at openjdk.org Tue Jul 2 02:05:48 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 2 Jul 2024 02:05:48 GMT Subject: [lworld] RFR: 8335483: [lworld] identity class extending Number should not get the new serialization related warning Message-ID: no serialization warning for identity classes extending Number ------------- Commit messages: - 8335483: [lworld] identity class extending Number should not get the new serialization related warning Changes: https://git.openjdk.org/valhalla/pull/1153/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1153&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335483 Stats: 22 lines in 3 files changed: 19 ins; 0 del; 3 mod Patch: https://git.openjdk.org/valhalla/pull/1153.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1153/head:pull/1153 PR: https://git.openjdk.org/valhalla/pull/1153 From vromero at openjdk.org Tue Jul 2 02:17:31 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 2 Jul 2024 02:17:31 GMT Subject: [lworld] Integrated: 8335483: [lworld] identity class extending Number should not get the new serialization related warning In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 02:01:49 GMT, Vicente Romero wrote: > no serialization warning for identity classes extending Number This pull request has now been integrated. Changeset: 0ac28aae Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/0ac28aaee6d65f575cba9cbefd4d378cf2074f53 Stats: 22 lines in 3 files changed: 19 ins; 0 del; 3 mod 8335483: [lworld] identity class extending Number should not get the new serialization related warning ------------- PR: https://git.openjdk.org/valhalla/pull/1153 From jbhateja at openjdk.org Tue Jul 2 11:56:08 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Tue, 2 Jul 2024 11:56:08 GMT Subject: [lworld+fp16] RFR: 8333852: Allow flat array layout for value based classes. Message-ID: Patch enables flat runtime layout for value based classes decorated with following annotations. 1. @NullRestrictedArray: Newly added annotation, ensures flat array elements are never assigned a null value during the lifetime of array, a violation to this rule results into a NullPointerException. 2. @ImplicitylConstructible: Ensures default value assignment to flat array element at the time of new allocation. 3. @LooselyConsistentValue: Relaxes strict atomic update constraint of value objects. In addition, all primitive box classes when annotated with #1 and #2 assume atomic update since they wrap around primitive type fields. With this patch, an array of Float16 type has flay runtime layout which enables auto-vectorization of FP16 operations. Best Regards, Jatin ------------- Commit messages: - Test null assignment to flat arrays - 8333852: Allow flat array layout for value based classes. Changes: https://git.openjdk.org/valhalla/pull/1154/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1154&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8333852 Stats: 271 lines in 17 files changed: 260 ins; 2 del; 9 mod Patch: https://git.openjdk.org/valhalla/pull/1154.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1154/head:pull/1154 PR: https://git.openjdk.org/valhalla/pull/1154 From bkilambi at openjdk.org Wed Jul 3 11:54:32 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Wed, 3 Jul 2024 11:54:32 GMT Subject: [lworld+fp16] RFR: 8333852: Allow flat array layout for value based classes. In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 11:50:39 GMT, Jatin Bhateja wrote: > Patch enables flat runtime layout for value based classes decorated with following annotations. > 1. @NullRestrictedArray: Newly added annotation, ensures flat array elements are never assigned a null value during the lifetime of array, a violation to this rule results into a NullPointerException. > 2. @ImplicitylConstructible: Ensures default value assignment to flat array element at the time of new allocation. > 3. @LooselyConsistentValue: Relaxes strict atomic update constraint of value objects. > > In addition, all primitive box classes when annotated with #1 and #2 assume atomic update since they wrap around primitive type fields. > > With this patch, an array of Float16 type has flat runtime layout which enables auto-vectorization of FP16 operations. > > Best Regards, > Jatin test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorSum.java line 46: > 44: > 45: public static void main(String args[]) { > 46: TestFramework.runWithFlags("--enable-preview", "-XX:-TieredCompilation", "-Xbatch"); Hi Jatin, thanks for this patch. May I ask, why `-XX:-TieredCompilation` option is passed? It's one of the whitelisted flags and must be already applied when compiling the test isn't it? ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1154#discussion_r1664065690 From jbhateja at openjdk.org Wed Jul 3 15:00:32 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Wed, 3 Jul 2024 15:00:32 GMT Subject: [lworld+fp16] RFR: 8333852: Allow flat array layout for value based classes. In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 11:51:56 GMT, Bhavana Kilambi wrote: >> Patch enables flat runtime layout for value based classes decorated with following annotations. >> 1. @NullRestrictedArray: Newly added annotation, ensures flat array elements are never assigned a null value during the lifetime of array, a violation to this rule results into a NullPointerException. >> 2. @ImplicitylConstructible: Ensures default value assignment to flat array element at the time of new allocation. >> 3. @LooselyConsistentValue: Relaxes strict atomic update constraint of value objects. >> >> In addition, all primitive box classes when annotated with #1 and #2 assume atomic update since they wrap around primitive type fields. >> >> With this patch, an array of Float16 type has flat runtime layout which enables auto-vectorization of FP16 operations. >> >> Best Regards, >> Jatin > > test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorSum.java line 46: > >> 44: >> 45: public static void main(String args[]) { >> 46: TestFramework.runWithFlags("--enable-preview", "-XX:-TieredCompilation", "-Xbatch"); > > Hi Jatin, thanks for this patch. May I ask, why `-XX:-TieredCompilation` option is passed? It's one of the whitelisted flags and must be already applied when compiling the test isn't it? Does this test works for you ? I faced some failure with this test despite of passing --enable-preview, this works in the standalone (non-jtreg) mode though. Somehow --enable-preview option is not being passed while loading one of the test harness class (OutputBuffer) which has preview specific minor version. This could be gap in IR framework, but I need to confirm it. On your query, white listing filters out passing any non-whitelisted option to IR framework. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1154#discussion_r1664342468 From bkilambi at openjdk.org Wed Jul 3 16:02:34 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Wed, 3 Jul 2024 16:02:34 GMT Subject: [lworld+fp16] RFR: 8333852: Allow flat array layout for value based classes. In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 14:58:03 GMT, Jatin Bhateja wrote: >> test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorSum.java line 46: >> >>> 44: >>> 45: public static void main(String args[]) { >>> 46: TestFramework.runWithFlags("--enable-preview", "-XX:-TieredCompilation", "-Xbatch"); >> >> Hi Jatin, thanks for this patch. May I ask, why `-XX:-TieredCompilation` option is passed? It's one of the whitelisted flags and must be already applied when compiling the test isn't it? > > Does this test works for you ? > I faced some failure with this test despite of passing --enable-preview, this works in the standalone (non-jtreg) mode though. Somehow --enable-preview option is not being passed while loading one of the test harness class (OutputBuffer) which has preview specific minor version. This could be gap in IR framework, but I need to confirm it. > > On your query, white listing filters out passing any non-whitelisted option to IR framework. Yes, I also get the same error as you. Somehow the test passes when the `@enablePreview` flag is removed from line #28. I am not sure why though. I can see FP16 vectorized code on aarch64 as well. Thanks. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1154#discussion_r1664430219 From vromero at openjdk.org Wed Jul 3 20:25:49 2024 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 3 Jul 2024 20:25:49 GMT Subject: [lworld] RFR: 8335641: [lworld] add the MigratedValueClass annotation to some classes missing it, some bug fixes Message-ID: adding the MigratedValueClass annotation so some classes missing it, plus minor bug fix ------------- Commit messages: - 8335641: [lworld] add the MigratedValueClass to some classes missing it, some bug fixes Changes: https://git.openjdk.org/valhalla/pull/1155/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1155&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335641 Stats: 23 lines in 21 files changed: 20 ins; 0 del; 3 mod Patch: https://git.openjdk.org/valhalla/pull/1155.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1155/head:pull/1155 PR: https://git.openjdk.org/valhalla/pull/1155 From vromero at openjdk.org Wed Jul 3 20:41:44 2024 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 3 Jul 2024 20:41:44 GMT Subject: [lworld] RFR: 8335641: [lworld] add the MigratedValueClass annotation to some classes missing it, some bug fixes [v2] In-Reply-To: References: Message-ID: > adding the MigratedValueClass annotation so some classes missing it, plus minor bug fix Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: test changes ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1155/files - new: https://git.openjdk.org/valhalla/pull/1155/files/0397d4d6..ad300ccb Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1155&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1155&range=00-01 Stats: 99 lines in 1 file changed: 53 ins; 46 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1155.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1155/head:pull/1155 PR: https://git.openjdk.org/valhalla/pull/1155 From vromero at openjdk.org Wed Jul 3 20:41:44 2024 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 3 Jul 2024 20:41:44 GMT Subject: [lworld] Integrated: 8335641: [lworld] add the MigratedValueClass annotation to some classes missing it, some bug fixes In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 20:20:29 GMT, Vicente Romero wrote: > adding the MigratedValueClass annotation so some classes missing it, plus minor bug fix This pull request has now been integrated. Changeset: b963fb94 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/b963fb94dbb4d979defec7061199451f32501123 Stats: 122 lines in 22 files changed: 73 ins; 46 del; 3 mod 8335641: [lworld] add the MigratedValueClass annotation to some classes missing it, some bug fixes ------------- PR: https://git.openjdk.org/valhalla/pull/1155 From jbhateja at openjdk.org Thu Jul 4 06:30:00 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Thu, 4 Jul 2024 06:30:00 GMT Subject: [lworld+fp16] RFR: 8333852: Allow flat array layout for value based classes. [v2] In-Reply-To: References: Message-ID: > Patch enables flat runtime layout for value based classes decorated with following annotations. > 1. @NullRestrictedArray: Newly added annotation, ensures flat array elements are never assigned a null value during the lifetime of array, a violation to this rule results into a NullPointerException. > 2. @ImplicitylConstructible: Ensures default value assignment to flat array element at the time of new allocation. > 3. @LooselyConsistentValue: Relaxes strict atomic update constraint of value objects. > > In addition, all primitive box classes when annotated with #1 and #2 assume atomic update since they wrap around primitive type fields. > > With this patch, an array of Float16 type has flat runtime layout which enables auto-vectorization of FP16 operations. > > Best Regards, > Jatin Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision: Removing redundant @enablePreview setting ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1154/files - new: https://git.openjdk.org/valhalla/pull/1154/files/af4d8beb..41f82f4a Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1154&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1154&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1154.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1154/head:pull/1154 PR: https://git.openjdk.org/valhalla/pull/1154 From jbhateja at openjdk.org Thu Jul 4 06:49:32 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Thu, 4 Jul 2024 06:49:32 GMT Subject: [lworld+fp16] RFR: 8333852: Allow flat array layout for value based classes. [v2] In-Reply-To: References: Message-ID: <302MvNjeuumgF12Y779YcI-_O7_J_iX_kMjYYVfbMts=.c2bf8e47-13c3-4504-956a-b13257117a07@github.com> On Thu, 4 Jul 2024 06:30:00 GMT, Jatin Bhateja wrote: >> Patch enables flat runtime layout for value based classes decorated with following annotations. >> 1. @NullRestrictedArray: Newly added annotation, ensures flat array elements are never assigned a null value during the lifetime of array, a violation to this rule results into a NullPointerException. >> 2. @ImplicitylConstructible: Ensures default value assignment to flat array element at the time of new allocation. >> 3. @LooselyConsistentValue: Relaxes strict atomic update constraint of value objects. >> >> In addition, all primitive box classes when annotated with #1 and #2 assume atomic update since they wrap around primitive type fields. >> >> With this patch, an array of Float16 type has flat runtime layout which enables auto-vectorization of FP16 operations. >> >> Best Regards, >> Jatin > > Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision: > > Removing redundant @enablePreview setting Hi @Bhavana-Kilambi , May I request you for a cursory approval, since you have already confirmed auto-vectorization for FP16 on aarch64. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1154#issuecomment-2208237947 From jbhateja at openjdk.org Thu Jul 4 06:49:32 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Thu, 4 Jul 2024 06:49:32 GMT Subject: [lworld+fp16] RFR: 8333852: Allow flat array layout for value based classes. [v2] In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 15:59:26 GMT, Bhavana Kilambi wrote: >> Does this test works for you ? >> I faced some failure with this test despite of passing --enable-preview, this works in the standalone (non-jtreg) mode though. Somehow --enable-preview option is not being passed while loading one of the test harness class (OutputBuffer) which has preview specific minor version. This could be gap in IR framework, but I need to confirm it. >> >> On your query, white listing filters out passing any non-whitelisted option to IR framework. > > Yes, I also get the same error as you. Somehow the test passes when the `@enablePreview` flag is removed from line #28. I am not sure why though. I can see FP16 vectorized code on aarch64 as well. Thanks. For now @enablePreview can be removed, since test codes does not contain any feature necessitating --enable-preview during compilation. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1154#discussion_r1665209301 From bkilambi at openjdk.org Thu Jul 4 07:43:32 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Thu, 4 Jul 2024 07:43:32 GMT Subject: [lworld+fp16] RFR: 8333852: Allow flat array layout for value based classes. [v2] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 06:30:00 GMT, Jatin Bhateja wrote: >> Patch enables flat runtime layout for value based classes decorated with following annotations. >> 1. @NullRestrictedArray: Newly added annotation, ensures flat array elements are never assigned a null value during the lifetime of array, a violation to this rule results into a NullPointerException. >> 2. @ImplicitylConstructible: Ensures default value assignment to flat array element at the time of new allocation. >> 3. @LooselyConsistentValue: Relaxes strict atomic update constraint of value objects. >> >> In addition, all primitive box classes when annotated with #1 and #2 assume atomic update since they wrap around primitive type fields. >> >> With this patch, an array of Float16 type has flat runtime layout which enables auto-vectorization of FP16 operations. >> >> Best Regards, >> Jatin > > Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision: > > Removing redundant @enablePreview setting Looks good to me. Tested on FP16 supporting aarch64 machine and can see FP16 add operation getting auto-vectorized now. Thanks for this patch. ------------- Marked as reviewed by bkilambi (no project role). PR Review: https://git.openjdk.org/valhalla/pull/1154#pullrequestreview-2158208590 From jbhateja at openjdk.org Thu Jul 4 08:04:41 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Thu, 4 Jul 2024 08:04:41 GMT Subject: [lworld+fp16] Integrated: 8333852: Allow flat array layout for value based classes. In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 11:50:39 GMT, Jatin Bhateja wrote: > Patch enables flat runtime layout for value based classes decorated with following annotations. > 1. @NullRestrictedArray: Newly added annotation, ensures flat array elements are never assigned a null value during the lifetime of array, a violation to this rule results into a NullPointerException. > 2. @ImplicitylConstructible: Ensures default value assignment to flat array element at the time of new allocation. > 3. @LooselyConsistentValue: Relaxes strict atomic update constraint of value objects. > > In addition, all primitive box classes when annotated with #1 and #2 assume atomic update since they wrap around primitive type fields. > > With this patch, an array of Float16 type has flat runtime layout which enables auto-vectorization of FP16 operations. > > Best Regards, > Jatin This pull request has now been integrated. Changeset: 779d77f0 Author: Jatin Bhateja URL: https://git.openjdk.org/valhalla/commit/779d77f04810c137bb6a3374608b80cbe5cc9ef3 Stats: 270 lines in 17 files changed: 259 ins; 2 del; 9 mod 8333852: Allow flat array layout for value based classes. Reviewed-by: bkilambi ------------- PR: https://git.openjdk.org/valhalla/pull/1154 From bkilambi at openjdk.org Thu Jul 4 15:46:05 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Thu, 4 Jul 2024 15:46:05 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: > This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. > > [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: - Merge branch 'lworld+fp16' - Remove couple of IR testcases + add --enable-preview flag to tests - Merge branch 'lworld+fp16' - Add a missing return statement in the ad file - 8330021: AArch64: Add backend support for FP16 add operation This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad ------------- Changes: https://git.openjdk.org/valhalla/pull/1096/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1096&range=03 Stats: 873 lines in 19 files changed: 176 ins; 6 del; 691 mod Patch: https://git.openjdk.org/valhalla/pull/1096.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1096/head:pull/1096 PR: https://git.openjdk.org/valhalla/pull/1096 From bkilambi at openjdk.org Thu Jul 4 15:50:33 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Thu, 4 Jul 2024 15:50:33 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v3] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> <4k-ObapFtD75jAXColXX1lu-LTtkPPZPAdbgkMZqv40=.b3673ca3-1755-4be6-9c68-1786768f670e@github.com> Message-ID: On Fri, 21 Jun 2024 06:09:54 GMT, Jatin Bhateja wrote: >> Hello @jatin-bhateja , I noticed that the vector test - `test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorSum.java` fails on aarch64/x86 machines that support the Float16 feature. Have you noticed this on any of your `avx512_fp16` supporting machines too? I suspect this failure does not show up on github actions for this PR or others because they might be running the tests on non-fp16 supporting hardware. >> >> I digged a bit deeper and found out that the Float16 `add` operation was not getting unrolled in the first place because of which it doesn't get vectorized eventually. I have an internal implementation for other binary FP16 operations (like subtract, multiply, divide, min and max) and none of these operations get vectorized either. After some debugging, I noticed that the inner loop body -> `_body` at this point of code execution - `https://github.com/openjdk/valhalla/blob/404a4fae6fc099cd93cc73d57e29b08b5418adb9/src/hotspot/share/opto/loopTransform.cpp#L1069` contains 188 nodes for Half float add compared to 29 nodes for Float32 add and 31 nodes for FP16 add before the merge on June 9th. I think due to so many nodes in the loop, the unrolling policy decides not to unroll it. >> I printed the extra nodes that the loop (for FP16 add operation) contains and I can see nodes like - `DecodeNKlass`, `DecodeN`, `LoadNKlass`, `LoadN`, `CmpP`, `StoreP`, `StoreCM`, `MergeMem`, `EncodeP`, `CastPP` and other pointer related IR nodes and maybe some nodes related to decoding compressed class pointers. Although none of these exist in the FP32 code or the FP16 code before the merge. Do you have any idea about this failure or the extra nodes in the loop? > >> Hello @jatin-bhateja , I noticed that the vector test - `test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorSum.java` fails on aarch64/x86 machines that support the Float16 feature. Have you noticed this on any of your `avx512_fp16` supporting machines too? I suspect this failure does not show up on github actions for this PR or others because they might be running the tests on non-fp16 supporting hardware. >> >> I digged a bit deeper and found out that the Float16 `add` operation was not getting unrolled in the first place because of which it doesn't get vectorized eventually. I have an internal implementation for other binary FP16 operations (like subtract, multiply, divide, min and max) and none of these operations get vectorized either. After some debugging, I noticed that the inner loop body -> `_body` at this point of code execution - `https://github.com/openjdk/valhalla/blob/404a4fae6fc099cd93cc73d57e29b08b5418adb9/src/hotspot/share/opto/loopTransform.cpp#L1069` contains 188 nodes for Half float add compared to 29 nodes for Float32 add and 31 nodes for FP16 add before the merge on June 9th. I think due to so many nodes in the loop, the unrolling policy decides not to unroll it. I printed the extra nodes that the loop (for FP16 add operation) contains and I can see nodes like - `DecodeNKlass`, `DecodeN`, `LoadNKlass`, `LoadN`, `CmpP`, `StoreP`, `StoreCM`, `MergeMem`, `EncodeP`, `Cast PP` and other pointer related IR nodes and maybe some nodes related to decoding compressed class pointers. Although none of these exist in the FP32 code or the FP16 code before the merge. Do you have any idea about this failure or the extra nodes in the loop? > > Hi @Bhavana-Kilambi , > > Flat array layout is currently broken, it used to work when Float16 was a primitive value class, please refer following link for more details. > https://github.com/openjdk/valhalla/pull/1117#issuecomment-2161269886 > > I have already created a RFE for it https://bugs.openjdk.org/browse/JDK-8333852 and working on the same. > > Best Regards, > Jatin Hi @jatin-bhateja , I have rebased my patch to include your latest merge regarding flat array layout for FP16 operations. Could you please help review this patch? I can then post the patch that implements support for some more FP16 binary operations which is stalled until this patch is merged. Thanks! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1096#issuecomment-2209266329 From jbhateja at openjdk.org Fri Jul 5 10:54:41 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 5 Jul 2024 10:54:41 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Thu, 4 Jul 2024 15:46:05 GMT, Bhavana Kilambi wrote: >> This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: > > - Merge branch 'lworld+fp16' > - Remove couple of IR testcases + add --enable-preview flag to tests > - Merge branch 'lworld+fp16' > - Add a missing return statement in the ad file > - 8330021: AArch64: Add backend support for FP16 add operation > > This commit [1] adds initial support for FP16 operations and adds > backend support for FP16 add operation for X86. This task adds backend > support for scalar and vector FP16 add operation on aarch64. > > [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad Hi @Bhavana-Kilambi , I have few comments on non-AARCH64 specific code changes. src/hotspot/share/opto/vectornode.cpp line 595: > 593: case Op_ConvF2HF: > 594: case Op_ReinterpretS2HF: > 595: case Op_ReinterpretHF2S: ReinterpretHF2S carry a short type, does not qualify as float16 node. test/hotspot/jtreg/compiler/intrinsics/float16/TestFP16ScalarAdd.java line 58: > 56: @Test > 57: @IR(applyIfCPUFeature = {"avx512_fp16", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) > 58: @IR(applyIfCPUFeatureAnd = {"fphp", "true", "asimdhp", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) Please have one IR rules with unified feature list for x86 and aarach64. Not sure, but asimdhp is only needed for SIMD instructions I guess. test/hotspot/jtreg/compiler/intrinsics/float16/TestFP16ScalarAdd.java line 69: > 67: @Test > 68: @IR(applyIfCPUFeature = {"avx512_fp16", "true"}, failOn = {IRNode.ADD_HF, IRNode.REINTERPRET_S2HF, IRNode.REINTERPRET_HF2S}) > 69: @IR(applyIfCPUFeatureAnd = {"fphp", "true", "asimdhp", "true"}, failOn = {IRNode.ADD_HF, IRNode.REINTERPRET_S2HF, IRNode.REINTERPRET_HF2S}) Same as above. test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorSum.java line 60: > 58: @Warmup(10000) > 59: @IR(applyIfCPUFeatureOr = {"avx512_fp16" , "true", "sve", "true"}, counts = {IRNode.ADD_VHF, " >= 1"}) > 60: @IR(applyIfCPUFeatureAnd = {"fphp", "true", "asimdhp", "true"}, counts = {IRNode.ADD_VHF, " >= 1"}) Same as above, multiple IR rules are enforced in cascaded fashion. ------------- PR Review: https://git.openjdk.org/valhalla/pull/1096#pullrequestreview-2160289697 PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666545356 PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666630243 PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666630433 PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666611673 From bkilambi at openjdk.org Fri Jul 5 11:03:33 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Fri, 5 Jul 2024 11:03:33 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Fri, 5 Jul 2024 10:18:36 GMT, Jatin Bhateja wrote: >> Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'lworld+fp16' >> - Remove couple of IR testcases + add --enable-preview flag to tests >> - Merge branch 'lworld+fp16' >> - Add a missing return statement in the ad file >> - 8330021: AArch64: Add backend support for FP16 add operation >> >> This commit [1] adds initial support for FP16 operations and adds >> backend support for FP16 add operation for X86. This task adds backend >> support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > test/hotspot/jtreg/compiler/intrinsics/float16/TestFP16ScalarAdd.java line 58: > >> 56: @Test >> 57: @IR(applyIfCPUFeature = {"avx512_fp16", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) >> 58: @IR(applyIfCPUFeatureAnd = {"fphp", "true", "asimdhp", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) > > Please have one IR rules with unified feature list for x86 and aarach64. > Not sure, but asimdhp is only needed for SIMD instructions I guess. Thanks @jatin-bhateja for your comments. On Neon (non-SVE) machines or when we are testing scalar FP16 operations, Float16 is supported only if both `fphp` and `asimdhp` features are supported. So if we have to write it as a single rule, it needs to be something like - `avx512_fp16 == true || (fphp == true && asimdhp == true)` and I wasn't sure if this can be done in single IR rule here. Where ever I could write it as a single rule, I have done that for ex. clubbing `avx512_fp16` and `sve` in the same IR rule for `TestFloat16VectorSum.java`. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666669442 From jbhateja at openjdk.org Fri Jul 5 12:05:26 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 5 Jul 2024 12:05:26 GMT Subject: [lworld+fp16] RFR: 8334432: Refine Float16.fma In-Reply-To: References: Message-ID: On Fri, 21 Jun 2024 04:36:52 GMT, Joe Darcy wrote: > Adding comments and test cases for Float16.fma. Hi @jddarcy , Some queries / comments. src/java.base/share/classes/java/lang/Float16.java line 728: > 726: * > 727: * https://www.arithmazium.org/classroom/lib/Lecture_08_notes_slides.pdf > 728: * https://www.arithmazium.org/classroom/lib/Lecture_09_notes_slides.pdf ? ? src/java.base/share/classes/java/lang/Float16.java line 903: > 901: * positions representable in the intermediate > 902: * product-sum. For a Float16 value, the bit positions > 903: * representable in the format range from 2^(-14), MIN_VALUE, Suggestion: * representable in the format range from MIN_SUB_NORMAL (2^-14), MIN_VALUE, test/jdk/java/lang/Float16/BasicFloat16ArithTests.java line 555: > 553: > 554: {0x1.0p-24f, 0x1.0p-24f, 0x1.0p14f, > 555: 0x1.0p14f}, Your tests only covers overflow conditions, a few going below minimum sub-normal value (0x0.004P-14) and minimum normal value (0x1.000P-14) will also be useful. ------------- PR Review: https://git.openjdk.org/valhalla/pull/1143#pullrequestreview-2160489574 PR Review Comment: https://git.openjdk.org/valhalla/pull/1143#discussion_r1666669207 PR Review Comment: https://git.openjdk.org/valhalla/pull/1143#discussion_r1666691420 PR Review Comment: https://git.openjdk.org/valhalla/pull/1143#discussion_r1666724768 From jbhateja at openjdk.org Fri Jul 5 12:19:33 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 5 Jul 2024 12:19:33 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Fri, 5 Jul 2024 10:59:44 GMT, Bhavana Kilambi wrote: >> test/hotspot/jtreg/compiler/intrinsics/float16/TestFP16ScalarAdd.java line 58: >> >>> 56: @Test >>> 57: @IR(applyIfCPUFeature = {"avx512_fp16", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) >>> 58: @IR(applyIfCPUFeatureAnd = {"fphp", "true", "asimdhp", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) >> >> Please have one IR rules with unified feature list for x86 and aarach64. >> Not sure, but asimdhp is only needed for SIMD instructions I guess. > > Thanks @jatin-bhateja for your comments. > On Neon (non-SVE) machines or when we are testing scalar FP16 operations, Float16 is supported only if both `fphp` and `asimdhp` features are supported. So if we have to write it as a single rule, it needs to be something like - `avx512_fp16 == true || (fphp == true && asimdhp == true)` and I wasn't sure if this can be done in single IR rule here. Where ever I could write it as a single rule, I have done that for ex. clubbing `avx512_fp16` and `sve` in the same IR rule for `TestFloat16VectorSum.java`. I see, only way i can think of circumventing it currently is by creating a different test for AARCH64 as done for [some other tests](https://github.com/openjdk/jdk/tree/master/test/hotspot/jtreg/compiler/vectorapi/reshape) * @requires vm.cpu.features ~= ".*avx512bw.*" * @requires vm.cpu.features ~= ".*sve.*" ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666736666 From jbhateja at openjdk.org Fri Jul 5 12:36:26 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 5 Jul 2024 12:36:26 GMT Subject: [lworld+fp16] RFR: 8334432: Refine Float16.fma In-Reply-To: References: Message-ID: On Fri, 5 Jul 2024 12:02:31 GMT, Jatin Bhateja wrote: >> Adding comments and test cases for Float16.fma. > > test/jdk/java/lang/Float16/BasicFloat16ArithTests.java line 555: > >> 553: >> 554: {0x1.0p-24f, 0x1.0p-24f, 0x1.0p14f, >> 555: 0x1.0p14f}, > > Your tests only covers overflow conditions, a few going below minimum sub-normal value (0x0.004P-14) will be useful. My query was in following context, citing excerpt from JVM Specification 22 section 2.11.3. "The Java Virtual Machine does not indicate overflow or underflow during operations on floating-point data types. That is, floating-point instructions never cause the Java Virtual Machine to throw a run-time exception (not to be confused with an IEEE 754 floating-point exception). **An operation that overflows produces a signed infinity; an operation that underflows produces a subnormal value or a signed zero;** an operation that has no unique mathematically defined result produces NaN. All numeric operations with NaN as an operand produce NaN as a result" ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1143#discussion_r1666754196 From jbhateja at openjdk.org Fri Jul 5 13:30:36 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 5 Jul 2024 13:30:36 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Thu, 4 Jul 2024 15:46:05 GMT, Bhavana Kilambi wrote: >> This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: > > - Merge branch 'lworld+fp16' > - Remove couple of IR testcases + add --enable-preview flag to tests > - Merge branch 'lworld+fp16' > - Add a missing return statement in the ad file > - 8330021: AArch64: Add backend support for FP16 add operation > > This commit [1] adds initial support for FP16 operations and adds > backend support for FP16 add operation for X86. This task adds backend > support for scalar and vector FP16 add operation on aarch64. > > [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad Non target specific part looks ok to me. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1096#issuecomment-2210880462 From jbhateja at openjdk.org Fri Jul 5 13:30:36 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 5 Jul 2024 13:30:36 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Fri, 5 Jul 2024 10:59:44 GMT, Bhavana Kilambi wrote: >> Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'lworld+fp16' >> - Remove couple of IR testcases + add --enable-preview flag to tests >> - Merge branch 'lworld+fp16' >> - Add a missing return statement in the ad file >> - 8330021: AArch64: Add backend support for FP16 add operation >> >> This commit [1] adds initial support for FP16 operations and adds >> backend support for FP16 add operation for X86. This task adds backend >> support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > test/hotspot/jtreg/compiler/intrinsics/float16/TestFP16ScalarAdd.java line 58: > >> 56: @Test >> 57: @IR(applyIfCPUFeature = {"avx512_fp16", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) >> 58: @IR(applyIfCPUFeatureAnd = {"fphp", "true", "asimdhp", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) > > Thanks @jatin-bhateja for your comments. > On Neon (non-SVE) machines or when we are testing scalar FP16 operations, Float16 is supported only if both `fphp` and `asimdhp` features are supported. So if we have to write it as a single rule, it needs to be something like - `avx512_fp16 == true || (fphp == true && asimdhp == true)` and I wasn't sure if this can be done in single IR rule here. Where ever I could write it as a single rule, I have done that for ex. clubbing `avx512_fp16` and `sve` in the same IR rule for `TestFloat16VectorSum.java`. Current rules looks ok to me, I just wrongly interpreted the results on x86 where one of the IR rules failed, and that is bound to happene since these features are AARCH64 specific. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666808474 From bkilambi at openjdk.org Fri Jul 5 13:36:35 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Fri, 5 Jul 2024 13:36:35 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: <-H1f3mA6MpVaNTSxNZz2knP87ZTzrGT0E9JHt7cKfhY=.eb41e3ae-abdf-4508-a808-729c2ac2f89a@github.com> On Fri, 5 Jul 2024 13:26:22 GMT, Jatin Bhateja wrote: >> test/hotspot/jtreg/compiler/intrinsics/float16/TestFP16ScalarAdd.java line 58: >> >>> 56: @Test >>> 57: @IR(applyIfCPUFeature = {"avx512_fp16", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) >>> 58: @IR(applyIfCPUFeatureAnd = {"fphp", "true", "asimdhp", "true"}, counts = {IRNode.ADD_HF, "> 0", IRNode.REINTERPRET_S2HF, "> 0", IRNode.REINTERPRET_HF2S, "> 0"}) >> >> Thanks @jatin-bhateja for your comments. >> On Neon (non-SVE) machines or when we are testing scalar FP16 operations, Float16 is supported only if both `fphp` and `asimdhp` features are supported. So if we have to write it as a single rule, it needs to be something like - `avx512_fp16 == true || (fphp == true && asimdhp == true)` and I wasn't sure if this can be done in single IR rule here. Where ever I could write it as a single rule, I have done that for ex. clubbing `avx512_fp16` and `sve` in the same IR rule for `TestFloat16VectorSum.java`. > > Current rules looks ok to me, I just wrongly interpreted the results on x86 where one of the two IR rules failed, and that is bound to happene since these features are AARCH64 specific. By "IR rules failed" you mean IR rule was not applied due to "feature constraints not met" right (for the second IR rule)? Hope the test did not fail. It should not ideally. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666816517 From jbhateja at openjdk.org Fri Jul 5 13:50:28 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 5 Jul 2024 13:50:28 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: <-H1f3mA6MpVaNTSxNZz2knP87ZTzrGT0E9JHt7cKfhY=.eb41e3ae-abdf-4508-a808-729c2ac2f89a@github.com> References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> <-H1f3mA6MpVaNTSxNZz2knP87ZTzrGT0E9JHt7cKfhY=.eb41e3ae-abdf-4508-a808-729c2ac2f89a@github.com> Message-ID: On Fri, 5 Jul 2024 13:33:32 GMT, Bhavana Kilambi wrote: >> Current rules looks ok to me, I just wrongly interpreted the results on x86 where one of the two IR rules failed, and that is bound to happene since these features are AARCH64 specific. > > By "IR rules failed" you mean IR rule was not applied due to "feature constraints not met" right (for the second IR rule)? Hope the test did not fail. It should not ideally. Some rules were not enforced and showed up in debug log, Test passed ? ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666831219 From bkilambi at openjdk.org Fri Jul 5 14:13:27 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Fri, 5 Jul 2024 14:13:27 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Fri, 5 Jul 2024 09:01:45 GMT, Jatin Bhateja wrote: >> Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'lworld+fp16' >> - Remove couple of IR testcases + add --enable-preview flag to tests >> - Merge branch 'lworld+fp16' >> - Add a missing return statement in the ad file >> - 8330021: AArch64: Add backend support for FP16 add operation >> >> This commit [1] adds initial support for FP16 operations and adds >> backend support for FP16 add operation for X86. This task adds backend >> support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > src/hotspot/share/opto/vectornode.cpp line 595: > >> 593: case Op_ConvF2HF: >> 594: case Op_ReinterpretS2HF: >> 595: case Op_ReinterpretHF2S: > > ReinterpretHF2S carry a short type, does not qualify as float16 node. > > Follwing codes should handle it. > > https://github.com/openjdk/valhalla/blob/779d77f04810c137bb6a3374608b80cbe5cc9ef3/src/hotspot/share/opto/superword.cpp#L3172 I actually stumbled upon a test failure when I was testing this pattern - `dst (ConvHF2F (ReinterpretHF2S src))` using this test case - ``` // fin[] -> Float16 array // flout[] -> Float array public static void fp16Add() { for (int i = 0; i < SIZE; i++) { flout[i] = Float16.sum(fin[i], fin[i]).floatValue(); } and with a debug build the test fails with the following error - # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/home/bhakil01/valhalla_gerrit/valhalla/src/hotspot/share/opto/vectornode.cpp:1423), pid=2559308, tid=2559322 # Error: assert(bt == T_SHORT) failed # # JRE version: OpenJDK Runtime Environment (23.0) (fastdebug build 23-internal-adhoc.bhakil01.valhalla) # Java VM: OpenJDK 64-Bit Server VM (fastdebug 23-internal-adhoc.bhakil01.valhalla, mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-aarch64) # Problematic frame: # V [libjvm.so+0x18d00d8] VectorCastNode::opcode(int, BasicType, bool)+0xf4 # This happens because during auto-vectorization, the container type of `ReinterpretHF2S` is computed as `T_INT` and not `T_SHORT` while the input to ConvHF2F is supposed to be T_SHORT which is why the assertion fails here - https://github.com/openjdk/valhalla/blob/779d77f04810c137bb6a3374608b80cbe5cc9ef3/src/hotspot/share/opto/vectornode.cpp#L1422 The container type for `ReinterpretHF2S` is computed as `TypeInt::INT` here - https://github.com/openjdk/valhalla/blob/779d77f04810c137bb6a3374608b80cbe5cc9ef3/src/hotspot/share/opto/superword.cpp#L3352 which is propagating down to the VectorCastNode and leading to the assertion failure. So I have included this node in `is_float16_node()` to return `TypeInt::SHORT` for `ReinterpretHF2S`. If you feel this is not the right place for this node, maybe I can do something like - if (VectorNode::is_float16_node(n->Opcode()) || Op_ReinterpretHF2S) { return TypeInt::SHORT; } ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1666844923 From coleenp at openjdk.org Fri Jul 5 15:33:14 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Fri, 5 Jul 2024 15:33:14 GMT Subject: [lworld] RFR: 8310655: [lworld] ShouldNotReachHere() error in ObjectSynchronizer::FastHashCode Message-ID: This change uses the klass as the hashcode for inline objects. It might have some negative performance impact if there are a lot of objects of the same type in the heap walk but it's better than crashing. Tested with vmTestbase/nsk/jvmti tests locally. ------------- Commit messages: - 8310655: [lworld] ShouldNotReachHere() error in ObjectSynchronizer::FastHashCode Changes: https://git.openjdk.org/valhalla/pull/1156/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1156&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8310655 Stats: 27 lines in 2 files changed: 17 ins; 4 del; 6 mod Patch: https://git.openjdk.org/valhalla/pull/1156.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1156/head:pull/1156 PR: https://git.openjdk.org/valhalla/pull/1156 From jbhateja at openjdk.org Fri Jul 5 17:08:55 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 5 Jul 2024 17:08:55 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Fri, 5 Jul 2024 13:58:52 GMT, Bhavana Kilambi wrote: >> src/hotspot/share/opto/vectornode.cpp line 595: >> >>> 593: case Op_ConvF2HF: >>> 594: case Op_ReinterpretS2HF: >>> 595: case Op_ReinterpretHF2S: >> >> ReinterpretHF2S carry a short type, does not qualify as float16 node. > > I actually stumbled upon a test failure when I was testing this pattern - `dst (ConvHF2F (ReinterpretHF2S src))` using this test case - > ``` > // fin[] -> Float16 array > // flout[] -> Float array > public static void fp16Add() { > for (int i = 0; i < SIZE; i++) { > flout[i] = Float16.sum(fin[i], fin[i]).floatValue(); > } > > > and with a debug build the test fails with the following error - > > > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error (/home/bhakil01/valhalla_gerrit/valhalla/src/hotspot/share/opto/vectornode.cpp:1423), pid=2559308, tid=2559322 > # Error: assert(bt == T_SHORT) failed > # > # JRE version: OpenJDK Runtime Environment (23.0) (fastdebug build 23-internal-adhoc.bhakil01.valhalla) > # Java VM: OpenJDK 64-Bit Server VM (fastdebug 23-internal-adhoc.bhakil01.valhalla, mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-aarch64) > # Problematic frame: > # V [libjvm.so+0x18d00d8] VectorCastNode::opcode(int, BasicType, bool)+0xf4 > # > > > This happens because during auto-vectorization, the container type of `ReinterpretHF2S` is computed as `T_INT` and not `T_SHORT` while the input to ConvHF2F is supposed to be T_SHORT which is why the assertion fails here - https://github.com/openjdk/valhalla/blob/779d77f04810c137bb6a3374608b80cbe5cc9ef3/src/hotspot/share/opto/vectornode.cpp#L1422 > > The container type for `ReinterpretHF2S` is computed as `TypeInt::INT` here - https://github.com/openjdk/valhalla/blob/779d77f04810c137bb6a3374608b80cbe5cc9ef3/src/hotspot/share/opto/superword.cpp#L3352 which is propagating down to the VectorCastNode and leading to the assertion failure. > > So I have included this node in `is_float16_node()` to return `TypeInt::SHORT` for `ReinterpretHF2S`. > > If you feel this is not the right place for this node, maybe I can do something like - > > > if (VectorNode::is_float16_node(n->Opcode()) || Op_ReinterpretHF2S) { > return TypeInt::SHORT; > } Thanks for the explanation, we hit similar issue earlier and [JDK-8333890](https://bugs.openjdk.org/browse/JDK-8333890?filter=-3) tracks it. I agree with above fix to move ReinterpretHF2S out of is_float16_node for the time being. Kindly add a test for the same. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1667001698 From vromero at openjdk.org Fri Jul 5 17:22:06 2024 From: vromero at openjdk.org (Vicente Romero) Date: Fri, 5 Jul 2024 17:22:06 GMT Subject: [lworld] Integrated: 8335770: [lworld] improve javap code coverage Message-ID: adding tests to improve javap code coverage for value classes ------------- Commit messages: - 8335770: [lworld] improve javap code coverage Changes: https://git.openjdk.org/valhalla/pull/1157/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1157&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335770 Stats: 131 lines in 3 files changed: 125 ins; 0 del; 6 mod Patch: https://git.openjdk.org/valhalla/pull/1157.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1157/head:pull/1157 PR: https://git.openjdk.org/valhalla/pull/1157 From vromero at openjdk.org Fri Jul 5 17:22:07 2024 From: vromero at openjdk.org (Vicente Romero) Date: Fri, 5 Jul 2024 17:22:07 GMT Subject: [lworld] Integrated: 8335770: [lworld] improve javap code coverage In-Reply-To: References: Message-ID: On Fri, 5 Jul 2024 17:15:08 GMT, Vicente Romero wrote: > adding tests to improve javap code coverage for value classes This pull request has now been integrated. Changeset: d0133cd1 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/d0133cd146a3b8d0d767710af8452f31a63787d4 Stats: 131 lines in 3 files changed: 125 ins; 0 del; 6 mod 8335770: [lworld] improve javap code coverage ------------- PR: https://git.openjdk.org/valhalla/pull/1157 From darcy at openjdk.org Sat Jul 6 19:42:47 2024 From: darcy at openjdk.org (Joe Darcy) Date: Sat, 6 Jul 2024 19:42:47 GMT Subject: [lworld+fp16] RFR: 8334432: Refine Float16.fma In-Reply-To: References: Message-ID: On Fri, 5 Jul 2024 12:33:29 GMT, Jatin Bhateja wrote: > My query was in following context, citing excerpt from JVM Specification 22 section 2.11.3. > > "The Java Virtual Machine does not indicate overflow or underflow during operations on floating-point data types. That is, floating-point instructions never cause the Java Virtual Machine to throw a run-time exception (not to be confused with an IEEE 754 floating-point exception). **An operation that overflows produces a signed infinity; an operation that underflows produces a subnormal value or a signed zero;** an operation that has no unique mathematically defined result produces NaN. All numeric operations with NaN as an operand produce NaN as a result" Sure; that is reasonable. The correctness of the Float16.fma method relies on the correctness of the double to Float16 conversion. As part of a larger test update, I was planned on expanding the double to Float16 testing. In particular, a test methodology like: For each finite Float16 value, test the double values around the half-way point to make sure the rounding is correct in those cases. Since there are so few Float16 values, I expect this test to run quickly. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1143#discussion_r1667420329 From coleenp at openjdk.org Sat Jul 6 20:41:52 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Sat, 6 Jul 2024 20:41:52 GMT Subject: [lworld] RFR: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla Message-ID: I don't see anything missing for implementing the test for inline types for lightweight locking. The only thing broken seems to be JNI monitorenter should throw IdentityException. I added some comments and asserts when I figured out the interpreter and c1/c2 don't get to ObjectSynchronizer::enter. Tested with tier1 with LM_LIGHTWEIGHT as the default. ------------- Commit messages: - Add some comments and asserts. - Shouldn't JNI enter throw IdentityException too? - 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla Changes: https://git.openjdk.org/valhalla/pull/1158/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1158&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8310023 Stats: 29 lines in 3 files changed: 15 ins; 4 del; 10 mod Patch: https://git.openjdk.org/valhalla/pull/1158.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1158/head:pull/1158 PR: https://git.openjdk.org/valhalla/pull/1158 From jbhateja at openjdk.org Mon Jul 8 06:18:55 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Mon, 8 Jul 2024 06:18:55 GMT Subject: [lworld+fp16] RFR: 8334432: Refine Float16.fma In-Reply-To: References: Message-ID: On Fri, 21 Jun 2024 04:36:52 GMT, Joe Darcy wrote: > Adding comments and test cases for Float16.fma. Marked as reviewed by jbhateja (Committer). ------------- PR Review: https://git.openjdk.org/valhalla/pull/1143#pullrequestreview-2162354399 From jbhateja at openjdk.org Mon Jul 8 06:18:55 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Mon, 8 Jul 2024 06:18:55 GMT Subject: [lworld+fp16] RFR: 8334432: Refine Float16.fma In-Reply-To: References: Message-ID: On Sat, 6 Jul 2024 19:40:16 GMT, Joe Darcy wrote: >> test/jdk/java/lang/Float16/BasicFloat16ArithTests.java line 555: >> >>> 553: >>> 554: {0x1.0p-24f, 0x1.0p-24f, 0x1.0p14f, >>> 555: 0x1.0p14f}, >> >> My query was in following context, citing excerpt from JVM Specification 22 section 2.11.3. >> >> "The Java Virtual Machine does not indicate overflow or underflow during >> operations on floating-point data types. That is, floating-point instructions never >> cause the Java Virtual Machine to throw a run-time exception (not to be confused >> with an IEEE 754 floating-point exception). **An operation that overflows produces >> a signed infinity; an operation that underflows produces a subnormal value or a >> signed zero;** an operation that has no unique mathematically defined result produces >> NaN. All numeric operations with NaN as an operand produce NaN as a result" > >> My query was in following context, citing excerpt from JVM Specification 22 section 2.11.3. >> >> "The Java Virtual Machine does not indicate overflow or underflow during operations on floating-point data types. That is, floating-point instructions never cause the Java Virtual Machine to throw a run-time exception (not to be confused with an IEEE 754 floating-point exception). **An operation that overflows produces a signed infinity; an operation that underflows produces a subnormal value or a signed zero;** an operation that has no unique mathematically defined result produces NaN. All numeric operations with NaN as an operand produce NaN as a result" > > Sure; that is reasonable. > > The correctness of the Float16.fma method relies on the correctness of the double to Float16 conversion. As part of a larger test update, I was planned on expanding the double to Float16 testing. In particular, a test methodology like: > > For each finite Float16 value, test the double values around the half-way point to make sure the rounding is correct in those cases. Since there are so few Float16 values, I expect this test to run quickly. Thanks again for explanation. sounds good to me. Yes full range of value are indeed covered in above exhaustive test including lowest sub-normal value (0x1.000P-24 == 0x0.004P-14 == 5.960464477539063E-8 ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1143#discussion_r1668048039 From fparain at openjdk.org Tue Jul 9 13:47:11 2024 From: fparain at openjdk.org (Frederic Parain) Date: Tue, 9 Jul 2024 13:47:11 GMT Subject: [lworld] RFR: 8335439: [lworld] ValueFieldInheritanceTest.java fails with -XX:-UseCompressedClassPointers Message-ID: Fix an assert invalid when class pointers are not compressed, extend testing to cover this case systematically. ------------- Commit messages: - Fix assert for uncompressed class pointer cases Changes: https://git.openjdk.org/valhalla/pull/1159/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1159&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335439 Stats: 48 lines in 3 files changed: 43 ins; 0 del; 5 mod Patch: https://git.openjdk.org/valhalla/pull/1159.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1159/head:pull/1159 PR: https://git.openjdk.org/valhalla/pull/1159 From fparain at openjdk.org Tue Jul 9 14:22:12 2024 From: fparain at openjdk.org (Frederic Parain) Date: Tue, 9 Jul 2024 14:22:12 GMT Subject: [lworld] RFR: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception Message-ID: Fix JNI's MonitorEnter to throw IdentityException instead of IllegalMonitorStateException. ------------- Commit messages: - Fix exception thrown by MonitorEnter Changes: https://git.openjdk.org/valhalla/pull/1160/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1160&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335545 Stats: 48 lines in 2 files changed: 25 ins; 12 del; 11 mod Patch: https://git.openjdk.org/valhalla/pull/1160.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1160/head:pull/1160 PR: https://git.openjdk.org/valhalla/pull/1160 From coleenp at openjdk.org Tue Jul 9 16:11:28 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 16:11:28 GMT Subject: [lworld] RFR: 8310655: [lworld] ShouldNotReachHere() error in ObjectSynchronizer::FastHashCode [v2] In-Reply-To: References: Message-ID: > This change uses the klass as the hashcode for inline objects. It might have some negative performance impact if there are a lot of objects of the same type in the heap walk but it's better than crashing. > Tested with vmTestbase/nsk/jvmti tests locally. Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: Improve comment. ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1156/files - new: https://git.openjdk.org/valhalla/pull/1156/files/163eff30..86f00c4b Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1156&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1156&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1156.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1156/head:pull/1156 PR: https://git.openjdk.org/valhalla/pull/1156 From vromero at openjdk.org Tue Jul 9 17:32:54 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 9 Jul 2024 17:32:54 GMT Subject: [lworld] RFR: 8335796: [lworld] several refactorins and bug fixes Message-ID: <_VTLComUkq92u12TQQHZmCoFXThmJ_mrDuuEXs-a6U8=.9ba563ab-2a43-453e-a936-0d4b31a5e29d@github.com> fixing several bugs cleanups and refactorings ------------- Commit messages: - 8335796: [lworld] several small changes and refactorings Changes: https://git.openjdk.org/valhalla/pull/1161/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1161&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335796 Stats: 34 lines in 7 files changed: 6 ins; 9 del; 19 mod Patch: https://git.openjdk.org/valhalla/pull/1161.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1161/head:pull/1161 PR: https://git.openjdk.org/valhalla/pull/1161 From vromero at openjdk.org Tue Jul 9 17:52:52 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 9 Jul 2024 17:52:52 GMT Subject: [lworld] RFR: 8335796: [lworld] several refactorins and bug fixes [v2] In-Reply-To: <_VTLComUkq92u12TQQHZmCoFXThmJ_mrDuuEXs-a6U8=.9ba563ab-2a43-453e-a936-0d4b31a5e29d@github.com> References: <_VTLComUkq92u12TQQHZmCoFXThmJ_mrDuuEXs-a6U8=.9ba563ab-2a43-453e-a936-0d4b31a5e29d@github.com> Message-ID: <1NAKsZjUeAy9XXH_QLnx7ztlsDF4UV3k1vHVTU2sCPE=.a055f51a-27d0-4fa6-88fc-606d427bd6ef@github.com> > fixing several bugs > cleanups and refactorings Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: adding test ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1161/files - new: https://git.openjdk.org/valhalla/pull/1161/files/2b5db5e0..d41c5c90 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1161&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1161&range=00-01 Stats: 83 lines in 1 file changed: 82 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1161.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1161/head:pull/1161 PR: https://git.openjdk.org/valhalla/pull/1161 From vromero at openjdk.org Tue Jul 9 18:01:26 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 9 Jul 2024 18:01:26 GMT Subject: [lworld] Integrated: 8335796: [lworld] several refactorins and bug fixes In-Reply-To: <_VTLComUkq92u12TQQHZmCoFXThmJ_mrDuuEXs-a6U8=.9ba563ab-2a43-453e-a936-0d4b31a5e29d@github.com> References: <_VTLComUkq92u12TQQHZmCoFXThmJ_mrDuuEXs-a6U8=.9ba563ab-2a43-453e-a936-0d4b31a5e29d@github.com> Message-ID: On Tue, 9 Jul 2024 17:19:56 GMT, Vicente Romero wrote: > fixing several bugs > cleanups and refactorings > adding more tests to improve coverage This pull request has now been integrated. Changeset: 555a3ff8 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/555a3ff8b5b478a1692d5549fcdc073dfde54180 Stats: 117 lines in 8 files changed: 88 ins; 9 del; 20 mod 8335796: [lworld] several refactorins and bug fixes ------------- PR: https://git.openjdk.org/valhalla/pull/1161 From fparain at openjdk.org Tue Jul 9 19:04:27 2024 From: fparain at openjdk.org (Frederic Parain) Date: Tue, 9 Jul 2024 19:04:27 GMT Subject: [lworld] RFR: 8310655: [lworld] ShouldNotReachHere() error in ObjectSynchronizer::FastHashCode [v2] In-Reply-To: References: Message-ID: <7TGqqUtDlHPM9IGWF2WU4L5bT51OgJt55xJvnhLqoGc=.4b02905d-43c2-4f7f-900f-c1cdfdfe3fb1@github.com> On Tue, 9 Jul 2024 16:11:28 GMT, Coleen Phillimore wrote: >> This change uses the klass as the hashcode for inline objects. It might have some negative performance impact if there are a lot of objects of the same type in the heap walk but it's better than crashing. >> Tested with vmTestbase/nsk/jvmti tests locally. > > Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: > > Improve comment. Looks good to prevent the crash. As put in the comment, we'll need more data in the future to know if it creates a performance issue. ------------- Marked as reviewed by fparain (Committer). PR Review: https://git.openjdk.org/valhalla/pull/1156#pullrequestreview-2167132216 From coleenp at openjdk.org Tue Jul 9 19:33:57 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 19:33:57 GMT Subject: [lworld] RFR: 8310655: [lworld] ShouldNotReachHere() error in ObjectSynchronizer::FastHashCode [v2] In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 16:11:28 GMT, Coleen Phillimore wrote: >> This change uses the klass as the hashcode for inline objects. It might have some negative performance impact if there are a lot of objects of the same type in the heap walk but it's better than crashing. >> Tested with vmTestbase/nsk/jvmti tests locally. > > Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: > > Improve comment. Thanks, Fred. I think I need a sponsor. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1156#issuecomment-2218483961 From duke at openjdk.org Tue Jul 9 19:33:57 2024 From: duke at openjdk.org (duke) Date: Tue, 9 Jul 2024 19:33:57 GMT Subject: [lworld] RFR: 8310655: [lworld] ShouldNotReachHere() error in ObjectSynchronizer::FastHashCode [v2] In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 16:11:28 GMT, Coleen Phillimore wrote: >> This change uses the klass as the hashcode for inline objects. It might have some negative performance impact if there are a lot of objects of the same type in the heap walk but it's better than crashing. >> Tested with vmTestbase/nsk/jvmti tests locally. > > Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: > > Improve comment. @coleenp Your change (at version 86f00c4b99c58cf48c6c465756fa644320baa42f) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1156#issuecomment-2218484940 From coleenp at openjdk.org Tue Jul 9 19:36:25 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 19:36:25 GMT Subject: [lworld] Integrated: 8310655: [lworld] ShouldNotReachHere() error in ObjectSynchronizer::FastHashCode In-Reply-To: References: Message-ID: On Fri, 5 Jul 2024 15:28:29 GMT, Coleen Phillimore wrote: > This change uses the klass as the hashcode for inline objects. It might have some negative performance impact if there are a lot of objects of the same type in the heap walk but it's better than crashing. > Tested with vmTestbase/nsk/jvmti tests locally. This pull request has now been integrated. Changeset: 9e829b8f Author: Coleen Phillimore Committer: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/9e829b8f0eabee24592368af165203b365cffdd8 Stats: 27 lines in 2 files changed: 17 ins; 4 del; 6 mod 8310655: [lworld] ShouldNotReachHere() error in ObjectSynchronizer::FastHashCode Reviewed-by: fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1156 From vromero at openjdk.org Tue Jul 9 19:46:35 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 9 Jul 2024 19:46:35 GMT Subject: [lworld] RFR: 8335772: [lworld] fix for JDK-8335641 should have added some classes to GensrcValueClasses.gmk Message-ID: simple fix modifying GensrcValueClasses.gmk so that we can generate the following classes as value classes: java.time.chrono.ChronoLocalDateImpl java.time.chrono.MinguoDate java.time.chrono.HijrahDate java.time.chrono.JapaneseDate java.time.chrono.ThaiBuddhistDate TIA ------------- Commit messages: - fixing bug - Merge branch 'lworld' into JDK-8335772 - 8335772: [lworld] fix for JDK-8335641 should have added some classes to GensrcValueClasses.gmk Changes: https://git.openjdk.org/valhalla/pull/1162/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1162&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335772 Stats: 7 lines in 1 file changed: 6 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1162.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1162/head:pull/1162 PR: https://git.openjdk.org/valhalla/pull/1162 From rriggs at openjdk.org Tue Jul 9 19:50:25 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 9 Jul 2024 19:50:25 GMT Subject: [lworld] RFR: 8335772: [lworld] fix for JDK-8335641 should have added some classes to GensrcValueClasses.gmk In-Reply-To: References: Message-ID: <51qKJHV-pvCsvQ2LkkkurGvy0avSxOeYwWYftTApIuI=.40224248-84b4-4258-8f16-914ebb3c20c6@github.com> On Tue, 9 Jul 2024 19:40:56 GMT, Vicente Romero wrote: > simple fix modifying GensrcValueClasses.gmk so that we can generate the following classes as value classes: > > java.time.chrono.ChronoLocalDateImpl > java.time.chrono.MinguoDate > java.time.chrono.HijrahDate > java.time.chrono.JapaneseDate > java.time.chrono.ThaiBuddhistDate > > TIA Marked as reviewed by rriggs (Committer). ------------- PR Review: https://git.openjdk.org/valhalla/pull/1162#pullrequestreview-2167314944 From fparain at openjdk.org Tue Jul 9 20:01:34 2024 From: fparain at openjdk.org (Frederic Parain) Date: Tue, 9 Jul 2024 20:01:34 GMT Subject: [lworld] RFR: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla In-Reply-To: References: Message-ID: On Sat, 6 Jul 2024 20:37:56 GMT, Coleen Phillimore wrote: > I don't see anything missing for implementing the test for inline types for lightweight locking. The only thing broken seems to be JNI monitorenter should throw IdentityException. I added some comments and asserts when I figured out the interpreter and c1/c2 don't get to ObjectSynchronizer::enter. > Tested with tier1 with LM_LIGHTWEIGHT as the default. JNI's MonitorEnter issue has a proposed fixed in https://github.com/openjdk/valhalla/pull/1160 ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1158#issuecomment-2218587521 From coleenp at openjdk.org Tue Jul 9 20:13:28 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 20:13:28 GMT Subject: [lworld] RFR: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 14:17:19 GMT, Frederic Parain wrote: > Fix JNI's MonitorEnter to throw IdentityException instead of IllegalMonitorStateException. I had a similar change, which I'll remove this part. src/hotspot/share/runtime/synchronizer.cpp line 315: > 313: const char* className = obj->klass()->external_name(); \ > 314: size_t msglen = strlen(desc) + strlen(className) + 1; \ > 315: char* message = NEW_RESOURCE_ARRAY(char, msglen); \ If NEW_RESOURCE_ARRAY fails, it will call vm_exit_out_of_memory, so no need to check for nullptr. src/hotspot/share/runtime/synchronizer.cpp line 324: > 322: } > 323: > 324: #define CHECK_THROW_NOSYNC_IMSE(obj) \ I added a short comment why this is needed. like: // These checks are required for wait, notify and exit to avoid inflating the monitor to // find out this inline type object cannot be locked. src/hotspot/share/runtime/synchronizer.cpp line 561: > 559: // JITed code should never have locked an instance of a value class > 560: ShouldNotReachHere(); > 561: } You could make this an assert instead. assert(!EnableValhalla || !obj->klass()->is_inline_klass(), "^ above comment"); Then it's self documenting. Better than ShouldNotReachHere. src/hotspot/share/runtime/synchronizer.cpp line 581: > 579: assert(current == Thread::current(), "must be"); > 580: JavaThread* THREAD = current; > 581: CHECK_THROW_NOSYNC_IE(obj); We never get here. The c1 slow path and interpreter code check for inline types before calling this. I added an assert. ------------- Changes requested by coleenp (no project role). PR Review: https://git.openjdk.org/valhalla/pull/1160#pullrequestreview-2167391006 PR Review Comment: https://git.openjdk.org/valhalla/pull/1160#discussion_r1671170297 PR Review Comment: https://git.openjdk.org/valhalla/pull/1160#discussion_r1671178652 PR Review Comment: https://git.openjdk.org/valhalla/pull/1160#discussion_r1671173868 PR Review Comment: https://git.openjdk.org/valhalla/pull/1160#discussion_r1671168488 From coleenp at openjdk.org Tue Jul 9 20:13:29 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 20:13:29 GMT Subject: [lworld] RFR: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 20:05:23 GMT, Coleen Phillimore wrote: >> Fix JNI's MonitorEnter to throw IdentityException instead of IllegalMonitorStateException. > > src/hotspot/share/runtime/synchronizer.cpp line 315: > >> 313: const char* className = obj->klass()->external_name(); \ >> 314: size_t msglen = strlen(desc) + strlen(className) + 1; \ >> 315: char* message = NEW_RESOURCE_ARRAY(char, msglen); \ > > If NEW_RESOURCE_ARRAY fails, it will call vm_exit_out_of_memory, so no need to check for nullptr. Do you need EnableValhalla ? ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1160#discussion_r1671174445 From vromero at openjdk.org Tue Jul 9 20:13:58 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 9 Jul 2024 20:13:58 GMT Subject: [lworld] RFR: 8335772: [lworld] fix for JDK-8335641 should have added some classes to GensrcValueClasses.gmk [v2] In-Reply-To: References: Message-ID: > simple fix modifying GensrcValueClasses.gmk so that we can generate the following classes as value classes: > > java.time.chrono.ChronoLocalDateImpl > java.time.chrono.MinguoDate > java.time.chrono.HijrahDate > java.time.chrono.JapaneseDate > java.time.chrono.ThaiBuddhistDate > > TIA Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: review comment ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1162/files - new: https://git.openjdk.org/valhalla/pull/1162/files/6b58a2a6..5e82afc9 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1162&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1162&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1162.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1162/head:pull/1162 PR: https://git.openjdk.org/valhalla/pull/1162 From vromero at openjdk.org Tue Jul 9 20:20:23 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 9 Jul 2024 20:20:23 GMT Subject: [lworld] RFR: 8335772: [lworld] fix for JDK-8335641 should have added some classes to GensrcValueClasses.gmk [v2] In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 20:13:58 GMT, Vicente Romero wrote: >> simple fix modifying GensrcValueClasses.gmk so that we can generate the following classes as value classes: >> >> java.time.chrono.ChronoLocalDateImpl >> java.time.chrono.MinguoDate >> java.time.chrono.HijrahDate >> java.time.chrono.JapaneseDate >> java.time.chrono.ThaiBuddhistDate >> >> TIA > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > review comment thanks for the comments and the review ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1162#issuecomment-2218655071 From vromero at openjdk.org Tue Jul 9 20:20:24 2024 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 9 Jul 2024 20:20:24 GMT Subject: [lworld] Integrated: 8335772: [lworld] fix for JDK-8335641 should have added some classes to GensrcValueClasses.gmk In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 19:40:56 GMT, Vicente Romero wrote: > simple fix modifying GensrcValueClasses.gmk so that we can generate the following classes as value classes: > > java.time.chrono.ChronoLocalDateImpl > java.time.chrono.MinguoDate > java.time.chrono.HijrahDate > java.time.chrono.JapaneseDate > java.time.chrono.ThaiBuddhistDate > > TIA This pull request has now been integrated. Changeset: 817c24ad Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/817c24ad7cb97428c659464c8e7f42c2b8219a90 Stats: 7 lines in 1 file changed: 6 ins; 0 del; 1 mod 8335772: [lworld] fix for JDK-8335641 should have added some classes to GensrcValueClasses.gmk Reviewed-by: rriggs ------------- PR: https://git.openjdk.org/valhalla/pull/1162 From coleenp at openjdk.org Tue Jul 9 20:20:44 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 20:20:44 GMT Subject: [lworld] RFR: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla [v2] In-Reply-To: References: Message-ID: > I don't see anything missing for implementing the test for inline types for lightweight locking. The only thing broken seems to be JNI monitorenter should throw IdentityException. I added some comments and asserts when I figured out the interpreter and c1/c2 don't get to ObjectSynchronizer::enter. > Tested with tier1 with LM_LIGHTWEIGHT as the default. Coleen Phillimore has refreshed the contents of this pull request, and previous commits have been removed. Incremental views are not available. The pull request now contains one commit: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1158/files - new: https://git.openjdk.org/valhalla/pull/1158/files/93e487e7..c889826e Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1158&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1158&range=00-01 Stats: 25 lines in 2 files changed: 0 ins; 15 del; 10 mod Patch: https://git.openjdk.org/valhalla/pull/1158.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1158/head:pull/1158 PR: https://git.openjdk.org/valhalla/pull/1158 From fparain at openjdk.org Tue Jul 9 20:20:44 2024 From: fparain at openjdk.org (Frederic Parain) Date: Tue, 9 Jul 2024 20:20:44 GMT Subject: [lworld] RFR: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla [v2] In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 20:15:56 GMT, Coleen Phillimore wrote: >> I don't see anything missing for implementing the test for inline types for lightweight locking. The only thing broken seems to be JNI monitorenter should throw IdentityException. I added some comments and asserts when I figured out the interpreter and c1/c2 don't get to ObjectSynchronizer::enter. >> Tested with tier1 with LM_LIGHTWEIGHT as the default. > > Coleen Phillimore has refreshed the contents of this pull request, and previous commits have been removed. Incremental views are not available. The pull request now contains one commit: > > 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla Marked as reviewed by fparain (Committer). ------------- PR Review: https://git.openjdk.org/valhalla/pull/1158#pullrequestreview-2167416364 From coleenp at openjdk.org Tue Jul 9 20:20:44 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 20:20:44 GMT Subject: [lworld] RFR: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla In-Reply-To: References: Message-ID: On Sat, 6 Jul 2024 20:37:56 GMT, Coleen Phillimore wrote: > I don't see anything missing for implementing the test for inline types for lightweight locking. The only thing broken seems to be JNI monitorenter should throw IdentityException. I added some comments and asserts when I figured out the interpreter and c1/c2 don't get to ObjectSynchronizer::enter. > Tested with tier1 with LM_LIGHTWEIGHT as the default. Thanks for pointing out your PR. I don't get notification for these. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1158#issuecomment-2218650771 From coleenp at openjdk.org Tue Jul 9 20:23:23 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 20:23:23 GMT Subject: [lworld] RFR: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla In-Reply-To: References: Message-ID: On Sat, 6 Jul 2024 20:37:56 GMT, Coleen Phillimore wrote: > I don't see anything missing for implementing the test for inline types for lightweight locking. The only thing broken seems to be JNI monitorenter should throw IdentityException. I added some comments and asserts when I figured out the interpreter and c1/c2 don't get to ObjectSynchronizer::enter. > Tested with tier1 with LM_LIGHTWEIGHT as the default. Thanks for reviewing, Fred. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1158#issuecomment-2218659631 From duke at openjdk.org Tue Jul 9 20:23:24 2024 From: duke at openjdk.org (duke) Date: Tue, 9 Jul 2024 20:23:24 GMT Subject: [lworld] RFR: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla [v2] In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 20:20:44 GMT, Coleen Phillimore wrote: >> I don't see anything missing for implementing the test for inline types for lightweight locking. The only thing broken seems to be JNI monitorenter should throw IdentityException. I added some comments and asserts when I figured out the interpreter and c1/c2 don't get to ObjectSynchronizer::enter. >> Tested with tier1 with LM_LIGHTWEIGHT as the default. > > Coleen Phillimore has refreshed the contents of this pull request, and previous commits have been removed. Incremental views are not available. The pull request now contains one commit: > > 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla @coleenp Your change (at version c889826e781d6eaedf3bc7cca070dd0a360b4547) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1158#issuecomment-2218661622 From coleenp at openjdk.org Tue Jul 9 20:35:38 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 20:35:38 GMT Subject: [lworld] Integrated: 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla In-Reply-To: References: Message-ID: On Sat, 6 Jul 2024 20:37:56 GMT, Coleen Phillimore wrote: > I don't see anything missing for implementing the test for inline types for lightweight locking. The only thing broken seems to be JNI monitorenter should throw IdentityException. I added some comments and asserts when I figured out the interpreter and c1/c2 don't get to ObjectSynchronizer::enter. > Tested with tier1 with LM_LIGHTWEIGHT as the default. This pull request has now been integrated. Changeset: ad13f8d4 Author: Coleen Phillimore Committer: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/ad13f8d44ee1ccbf5d8e536829e522cadbf69ce4 Stats: 4 lines in 1 file changed: 0 ins; 4 del; 0 mod 8310023: [lworld] Implement alternative fast-locking scheme in Valhalla Reviewed-by: fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1158 From rriggs at openjdk.org Tue Jul 9 21:04:40 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 9 Jul 2024 21:04:40 GMT Subject: [lworld] RFR: 8336029: [lworld] Rename Objects.isIdentity() to hasIdentity() Message-ID: Rename Objects.isIdentity() to hasIdentity() Remove java.util.Objects.isValueObject and replace its use with !hasIdentity(). Align the WeakHashMap WeakValuePolicy default with that of java.lang.Reference. Namely, throw IdentityException unless the WeakHashMap is created with a different policy. WeakHashMapPolicy is a unsupported experimental API. ------------- Commit messages: - 8336029: [lworld] Rename Objects.isIdentity() to hasIdentity() Changes: https://git.openjdk.org/valhalla/pull/1163/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1163&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336029 Stats: 39 lines in 7 files changed: 0 ins; 17 del; 22 mod Patch: https://git.openjdk.org/valhalla/pull/1163.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1163/head:pull/1163 PR: https://git.openjdk.org/valhalla/pull/1163 From fparain at openjdk.org Tue Jul 9 21:07:37 2024 From: fparain at openjdk.org (Frederic Parain) Date: Tue, 9 Jul 2024 21:07:37 GMT Subject: [lworld] RFR: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception [v2] In-Reply-To: References: Message-ID: <-m4SefNEna8-Vleq5dkNZv0LxLFSdSwDaFBN_pxt4vk=.b379bf0a-5b2b-4ac8-a175-39e2ec9aaf2c@github.com> > Fix JNI's MonitorEnter to throw IdentityException instead of IllegalMonitorStateException. Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: Changes suggested by Coleen ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1160/files - new: https://git.openjdk.org/valhalla/pull/1160/files/a40efc3b..18d72953 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1160&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1160&range=00-01 Stats: 29 lines in 1 file changed: 8 ins; 16 del; 5 mod Patch: https://git.openjdk.org/valhalla/pull/1160.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1160/head:pull/1160 PR: https://git.openjdk.org/valhalla/pull/1160 From rriggs at openjdk.org Tue Jul 9 21:14:38 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 9 Jul 2024 21:14:38 GMT Subject: [lworld] RFR: 8336028: [lworld] Serialization should throw exceptions for non-migrated value classes Message-ID: <__TEK6sLAJx6KrJ2gV9PgUYZIRo9uDPswcUKDvbgX-U=.e5bb3c31-e11b-4264-b473-c1c25d32d152@github.com> The java.base classes being migrated to value classes when using --enable-preview use a temporary adhoc unsafe mechanism to be serialized and deserialized. Only classes that are annotated with `jdk.internal.MigratedValueClass` can be serialized and deserialized. All other value classes can not be serialized or deserialized and the respective APIs throw exceptions. Subsequent Valhalla work will provide the missing support. ------------- Commit messages: - 8336028: [lworld] Serialization should throw exceptions for non-migrated value classes Changes: https://git.openjdk.org/valhalla/pull/1164/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1164&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336028 Stats: 25 lines in 5 files changed: 16 ins; 3 del; 6 mod Patch: https://git.openjdk.org/valhalla/pull/1164.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1164/head:pull/1164 PR: https://git.openjdk.org/valhalla/pull/1164 From coleenp at openjdk.org Tue Jul 9 21:22:37 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Tue, 9 Jul 2024 21:22:37 GMT Subject: [lworld] RFR: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception [v2] In-Reply-To: <-m4SefNEna8-Vleq5dkNZv0LxLFSdSwDaFBN_pxt4vk=.b379bf0a-5b2b-4ac8-a175-39e2ec9aaf2c@github.com> References: <-m4SefNEna8-Vleq5dkNZv0LxLFSdSwDaFBN_pxt4vk=.b379bf0a-5b2b-4ac8-a175-39e2ec9aaf2c@github.com> Message-ID: On Tue, 9 Jul 2024 21:07:37 GMT, Frederic Parain wrote: >> Fix JNI's MonitorEnter to throw IdentityException instead of IllegalMonitorStateException. > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Changes suggested by Coleen This looks good. One small line change. src/hotspot/share/runtime/synchronizer.cpp line 564: > 562: void ObjectSynchronizer::enter(Handle obj, BasicLock* lock, JavaThread* current) { > 563: assert(current == Thread::current(), "must be"); > 564: JavaThread* THREAD = current; You don't need the THREAD line anymore. ------------- Marked as reviewed by coleenp (no project role). PR Review: https://git.openjdk.org/valhalla/pull/1160#pullrequestreview-2167519366 PR Review Comment: https://git.openjdk.org/valhalla/pull/1160#discussion_r1671252280 From bkilambi at openjdk.org Wed Jul 10 08:22:13 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Wed, 10 Jul 2024 08:22:13 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v5] In-Reply-To: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: > This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. > > [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision: Address review comments ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1096/files - new: https://git.openjdk.org/valhalla/pull/1096/files/c867114e..6ec5a084 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1096&range=04 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1096&range=03-04 Stats: 92 lines in 4 files changed: 89 ins; 1 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/1096.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1096/head:pull/1096 PR: https://git.openjdk.org/valhalla/pull/1096 From bkilambi at openjdk.org Wed Jul 10 08:22:15 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Wed, 10 Jul 2024 08:22:15 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Fri, 5 Jul 2024 13:28:02 GMT, Jatin Bhateja wrote: >> Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'lworld+fp16' >> - Remove couple of IR testcases + add --enable-preview flag to tests >> - Merge branch 'lworld+fp16' >> - Add a missing return statement in the ad file >> - 8330021: AArch64: Add backend support for FP16 add operation >> >> This commit [1] adds initial support for FP16 operations and adds >> backend support for FP16 add operation for X86. This task adds backend >> support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > Non target specific part looks ok to me. Hi @jatin-bhateja , I have uploaded a new patch addressing your comments. Can you please review? Thanks! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1096#issuecomment-2219854037 From fparain at openjdk.org Wed Jul 10 20:26:46 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 10 Jul 2024 20:26:46 GMT Subject: [lworld] Integrated: 8335439: [lworld] ValueFieldInheritanceTest.java fails with -XX:-UseCompressedClassPointers In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 13:42:06 GMT, Frederic Parain wrote: > Fix an assert invalid when class pointers are not compressed, extend testing to cover this case systematically. This pull request has now been integrated. Changeset: 98c1ed5d Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/98c1ed5d9e49170aa3154c1ac14cc97ff7e3b632 Stats: 48 lines in 3 files changed: 43 ins; 0 del; 5 mod 8335439: [lworld] ValueFieldInheritanceTest.java fails with -XX:-UseCompressedClassPointers ------------- PR: https://git.openjdk.org/valhalla/pull/1159 From jbhateja at openjdk.org Wed Jul 10 20:27:38 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Wed, 10 Jul 2024 20:27:38 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v5] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Wed, 10 Jul 2024 08:22:13 GMT, Bhavana Kilambi wrote: >> This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision: > > Address review comments Overall non-architecture part looks good to me adding some minor comments. test/hotspot/jtreg/compiler/vectorization/TestFP16VectorReinterpretConv.java line 1: > 1: /* We have another test in the same directory with TestFloat16* nomenclature, I think we should pick one naming scheme. test/hotspot/jtreg/compiler/vectorization/TestFP16VectorReinterpretConv.java line 2: > 1: /* > 2: * Copyright (c) 2022, 2024, Arm Limited. All rights reserved. Suggestion: * Copyright (c) 2024, Arm Limited. All rights reserved. test/hotspot/jtreg/compiler/vectorization/TestFP16VectorReinterpretConv.java line 75: > 73: } > 74: > 75: public void checkResult() { Suggestion: } @Check(test="test") public void checkResult() { Should suffice since fin and flout are fields and accessible to all instance methods. We can also lift this limitation from https://github.com/openjdk/valhalla/pull/1096/files#diff-a4b825d43ecb78aad4d8f04965592dfdb9b56ac3da88de6d4117f39c74efc2ae ------------- PR Review: https://git.openjdk.org/valhalla/pull/1096#pullrequestreview-2168654025 PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1672016850 PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1672003762 PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1672025350 From bkilambi at openjdk.org Wed Jul 10 20:27:45 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Wed, 10 Jul 2024 20:27:45 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v5] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Wed, 10 Jul 2024 10:21:25 GMT, Jatin Bhateja wrote: >> Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision: >> >> Address review comments > > test/hotspot/jtreg/compiler/vectorization/TestFP16VectorReinterpretConv.java line 1: > >> 1: /* > > We have another test in the same directory with TestFloat16* nomenclature, I think we should pick one naming scheme. I thought so too but was just trying to use a test name as small as possible as it was already geting bigger. But I don't mind replacing it with *Float16*. Will do that. thanks ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1096#discussion_r1672030822 From fparain at openjdk.org Wed Jul 10 20:28:24 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 10 Jul 2024 20:28:24 GMT Subject: [lworld] RFR: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception [v3] In-Reply-To: References: Message-ID: <2iSImRUNQuY-PC8Ctk5KgGqpmMdFta8M0HFMhlFSYzo=.9787f1f6-21b2-43f7-8004-1cd3b4b06648@github.com> > Fix JNI's MonitorEnter to throw IdentityException instead of IllegalMonitorStateException. Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: Removed useless statement ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1160/files - new: https://git.openjdk.org/valhalla/pull/1160/files/18d72953..b67b2d61 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1160&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1160&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1160.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1160/head:pull/1160 PR: https://git.openjdk.org/valhalla/pull/1160 From fparain at openjdk.org Wed Jul 10 20:28:46 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 10 Jul 2024 20:28:46 GMT Subject: [lworld] RFR: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception [v2] In-Reply-To: <-m4SefNEna8-Vleq5dkNZv0LxLFSdSwDaFBN_pxt4vk=.b379bf0a-5b2b-4ac8-a175-39e2ec9aaf2c@github.com> References: <-m4SefNEna8-Vleq5dkNZv0LxLFSdSwDaFBN_pxt4vk=.b379bf0a-5b2b-4ac8-a175-39e2ec9aaf2c@github.com> Message-ID: On Tue, 9 Jul 2024 21:07:37 GMT, Frederic Parain wrote: >> Fix JNI's MonitorEnter to throw IdentityException instead of IllegalMonitorStateException. > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Changes suggested by Coleen Coleen, Thank you for the suggestions and the review. Fred ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1160#issuecomment-2220240542 From fparain at openjdk.org Wed Jul 10 20:28:56 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 10 Jul 2024 20:28:56 GMT Subject: [lworld] RFR: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception [v2] In-Reply-To: References: <-m4SefNEna8-Vleq5dkNZv0LxLFSdSwDaFBN_pxt4vk=.b379bf0a-5b2b-4ac8-a175-39e2ec9aaf2c@github.com> Message-ID: On Tue, 9 Jul 2024 21:18:38 GMT, Coleen Phillimore wrote: >> Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: >> >> Changes suggested by Coleen > > src/hotspot/share/runtime/synchronizer.cpp line 564: > >> 562: void ObjectSynchronizer::enter(Handle obj, BasicLock* lock, JavaThread* current) { >> 563: assert(current == Thread::current(), "must be"); >> 564: JavaThread* THREAD = current; > > You don't need the THREAD line anymore. Line removed. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1160#discussion_r1672085414 From fparain at openjdk.org Wed Jul 10 20:28:59 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 10 Jul 2024 20:28:59 GMT Subject: [lworld] Integrated: 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 14:17:19 GMT, Frederic Parain wrote: > Fix JNI's MonitorEnter to throw IdentityException instead of IllegalMonitorStateException. This pull request has now been integrated. Changeset: c72b743c Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/c72b743ceb550626bcd823b6208d9af65d6efca9 Stats: 40 lines in 2 files changed: 17 ins; 13 del; 10 mod 8335545: [lworld] JNI MonitorEnter doesn't throw the right exception Reviewed-by: coleenp ------------- PR: https://git.openjdk.org/valhalla/pull/1160 From fparain at openjdk.org Wed Jul 10 20:55:25 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 10 Jul 2024 20:55:25 GMT Subject: [lworld] RFR: 8336141: [lworld] Remove remains of java.lang.NonTearable support Message-ID: Code cleanup, and test upgrade to work with the JEP 401 model. ------------- Commit messages: - j.l.NonTearable cleanup Changes: https://git.openjdk.org/valhalla/pull/1165/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1165&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336141 Stats: 28 lines in 2 files changed: 14 ins; 4 del; 10 mod Patch: https://git.openjdk.org/valhalla/pull/1165.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1165/head:pull/1165 PR: https://git.openjdk.org/valhalla/pull/1165 From bkilambi at openjdk.org Thu Jul 11 08:35:51 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Thu, 11 Jul 2024 08:35:51 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v6] In-Reply-To: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: <0sDSgSw_660wtNdFdE2M5OlAbRNOYx2bFBcTo73JZks=.ee09627e-9782-4a5d-ac69-40725e4ecb29@github.com> > This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. > > [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision: Addressed some more review comments + some cleanup ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1096/files - new: https://git.openjdk.org/valhalla/pull/1096/files/6ec5a084..bd0e41b4 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1096&range=05 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1096&range=04-05 Stats: 172 lines in 3 files changed: 86 ins; 84 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/1096.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1096/head:pull/1096 PR: https://git.openjdk.org/valhalla/pull/1096 From bkilambi at openjdk.org Thu Jul 11 08:35:53 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Thu, 11 Jul 2024 08:35:53 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Fri, 5 Jul 2024 13:28:02 GMT, Jatin Bhateja wrote: >> Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'lworld+fp16' >> - Remove couple of IR testcases + add --enable-preview flag to tests >> - Merge branch 'lworld+fp16' >> - Add a missing return statement in the ad file >> - 8330021: AArch64: Add backend support for FP16 add operation >> >> This commit [1] adds initial support for FP16 operations and adds >> backend support for FP16 add operation for X86. This task adds backend >> support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > Non target specific part looks ok to me. Hi @jatin-bhateja , I have addressed your review comments. Please take a look. Thanks! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1096#issuecomment-2222344491 From fparain at openjdk.org Thu Jul 11 12:30:49 2024 From: fparain at openjdk.org (Frederic Parain) Date: Thu, 11 Jul 2024 12:30:49 GMT Subject: [lworld] RFR: 8336141: [lworld] Remove remains of java.lang.NonTearable support [v2] In-Reply-To: References: Message-ID: > Code cleanup, and test upgrade to work with the JEP 401 model. Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: Fix comment ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1165/files - new: https://git.openjdk.org/valhalla/pull/1165/files/6676a45c..3d6ef5e4 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1165&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1165&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1165.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1165/head:pull/1165 PR: https://git.openjdk.org/valhalla/pull/1165 From fparain at openjdk.org Thu Jul 11 12:30:50 2024 From: fparain at openjdk.org (Frederic Parain) Date: Thu, 11 Jul 2024 12:30:50 GMT Subject: [lworld] Integrated: 8336141: [lworld] Remove remains of java.lang.NonTearable support In-Reply-To: References: Message-ID: On Wed, 10 Jul 2024 20:49:10 GMT, Frederic Parain wrote: > Code cleanup, and test upgrade to work with the JEP 401 model. This pull request has now been integrated. Changeset: dea5303f Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/dea5303f11dc066ed39fe044d356cb17ae81e6e8 Stats: 29 lines in 2 files changed: 14 ins; 4 del; 11 mod 8336141: [lworld] Remove remains of java.lang.NonTearable support ------------- PR: https://git.openjdk.org/valhalla/pull/1165 From fparain at openjdk.org Thu Jul 11 12:59:18 2024 From: fparain at openjdk.org (Frederic Parain) Date: Thu, 11 Jul 2024 12:59:18 GMT Subject: [lworld] Integrated: 8328162: [lworld] ClassAccessFlagsRawTest "expected 0x1, got 0x21 for class SUPERnotset" Message-ID: The issue has already been fixed. Re-enabling the test. ------------- Commit messages: - Re-enabling test Changes: https://git.openjdk.org/valhalla/pull/1166/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1166&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8328162 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1166.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1166/head:pull/1166 PR: https://git.openjdk.org/valhalla/pull/1166 From fparain at openjdk.org Thu Jul 11 12:59:18 2024 From: fparain at openjdk.org (Frederic Parain) Date: Thu, 11 Jul 2024 12:59:18 GMT Subject: [lworld] Integrated: 8328162: [lworld] ClassAccessFlagsRawTest "expected 0x1, got 0x21 for class SUPERnotset" In-Reply-To: References: Message-ID: On Thu, 11 Jul 2024 12:53:42 GMT, Frederic Parain wrote: > The issue has already been fixed. > Re-enabling the test. This pull request has now been integrated. Changeset: 253f010c Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/253f010cc8b6a98e710f19f63064aa5e90ce3396 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod 8328162: [lworld] ClassAccessFlagsRawTest "expected 0x1, got 0x21 for class SUPERnotset" ------------- PR: https://git.openjdk.org/valhalla/pull/1166 From jbhateja at openjdk.org Fri Jul 12 00:13:09 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Fri, 12 Jul 2024 00:13:09 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v6] In-Reply-To: <0sDSgSw_660wtNdFdE2M5OlAbRNOYx2bFBcTo73JZks=.ee09627e-9782-4a5d-ac69-40725e4ecb29@github.com> References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> <0sDSgSw_660wtNdFdE2M5OlAbRNOYx2bFBcTo73JZks=.ee09627e-9782-4a5d-ac69-40725e4ecb29@github.com> Message-ID: On Thu, 11 Jul 2024 08:35:51 GMT, Bhavana Kilambi wrote: >> This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision: > > Addressed some more review comments + some cleanup Looks good to me. Thanks for also fixing the vectorization issue along with the patch. ------------- Marked as reviewed by jbhateja (Committer). PR Review: https://git.openjdk.org/valhalla/pull/1096#pullrequestreview-2173366514 From bkilambi at openjdk.org Fri Jul 12 08:28:16 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Fri, 12 Jul 2024 08:28:16 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v4] In-Reply-To: References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: <5wlNb2r_8CMVcPet_5x9aCvOISTYnW_Ns6lXzR8-Chk=.d3982200-2ac6-4e38-b02d-f5829319547f@github.com> On Fri, 5 Jul 2024 13:28:02 GMT, Jatin Bhateja wrote: >> Bhavana Kilambi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: >> >> - Merge branch 'lworld+fp16' >> - Remove couple of IR testcases + add --enable-preview flag to tests >> - Merge branch 'lworld+fp16' >> - Add a missing return statement in the ad file >> - 8330021: AArch64: Add backend support for FP16 add operation >> >> This commit [1] adds initial support for FP16 operations and adds >> backend support for FP16 add operation for X86. This task adds backend >> support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > Non target specific part looks ok to me. @jatin-bhateja thank you. Hope it's ok for me to integrate? The aarch64 part should be ok as it's gone through internal code review in Arm anyway. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1096#issuecomment-2225078237 From duke at openjdk.org Fri Jul 12 08:28:16 2024 From: duke at openjdk.org (duke) Date: Fri, 12 Jul 2024 08:28:16 GMT Subject: [lworld+fp16] RFR: 8330021: AArch64: Add backend support for FP16 add operation [v6] In-Reply-To: <0sDSgSw_660wtNdFdE2M5OlAbRNOYx2bFBcTo73JZks=.ee09627e-9782-4a5d-ac69-40725e4ecb29@github.com> References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> <0sDSgSw_660wtNdFdE2M5OlAbRNOYx2bFBcTo73JZks=.ee09627e-9782-4a5d-ac69-40725e4ecb29@github.com> Message-ID: On Thu, 11 Jul 2024 08:35:51 GMT, Bhavana Kilambi wrote: >> This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. >> >> [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad > > Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision: > > Addressed some more review comments + some cleanup @Bhavana-Kilambi Your change (at version bd0e41b46049b10f5cb812c54162268e3e64698d) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1096#issuecomment-2225078625 From bkilambi at openjdk.org Fri Jul 12 17:20:12 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Fri, 12 Jul 2024 17:20:12 GMT Subject: [lworld+fp16] Integrated: 8330021: AArch64: Add backend support for FP16 add operation In-Reply-To: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> References: <-sLrODPBVflosNEfVE5yzNdbC2l2AhJ3E-tfyLc3OTc=.606995b7-bdef-4d04-bf84-75ecdc3668fb@github.com> Message-ID: On Mon, 6 May 2024 18:28:31 GMT, Bhavana Kilambi wrote: > This commit [1] adds initial support for FP16 operations and adds backend support for FP16 add operation for X86. This task adds backend support for scalar and vector FP16 add operation on aarch64. > > [1] https://github.com/openjdk/valhalla/commit/f03fb4e4ee4d59ed692d0c26ddce260511f544e7#diff-a799ce8da7f3062bb3699beb65aae504840c649942032e325c2a50f88a2869ad This pull request has now been integrated. Changeset: 9005a9a3 Author: Bhavana Kilambi Committer: Jatin Bhateja URL: https://git.openjdk.org/valhalla/commit/9005a9a309e615780e87e49673ca9f9ea4831137 Stats: 966 lines in 21 files changed: 267 ins; 7 del; 692 mod 8330021: AArch64: Add backend support for FP16 add operation Reviewed-by: jbhateja ------------- PR: https://git.openjdk.org/valhalla/pull/1096 From fparain at openjdk.org Fri Jul 12 18:49:37 2024 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 12 Jul 2024 18:49:37 GMT Subject: [lworld] RFR: 8336328: [lworld] Remove obsolete runtime tests Message-ID: Removing obsolete tests. ------------- Commit messages: - Remove obsolete tests Changes: https://git.openjdk.org/valhalla/pull/1167/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1167&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336328 Stats: 4100 lines in 30 files changed: 0 ins; 4100 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1167.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1167/head:pull/1167 PR: https://git.openjdk.org/valhalla/pull/1167 From fparain at openjdk.org Fri Jul 12 19:01:58 2024 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 12 Jul 2024 19:01:58 GMT Subject: [lworld] Integrated: 8336328: [lworld] Remove obsolete runtime tests In-Reply-To: References: Message-ID: On Fri, 12 Jul 2024 18:43:38 GMT, Frederic Parain wrote: > Removing obsolete tests. This pull request has now been integrated. Changeset: 64940dd8 Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/64940dd83c2c00eb4ea2a80869ea50e7ed3a7c38 Stats: 4100 lines in 30 files changed: 0 ins; 4100 del; 0 mod 8336328: [lworld] Remove obsolete runtime tests ------------- PR: https://git.openjdk.org/valhalla/pull/1167 From fparain at openjdk.org Fri Jul 12 19:24:25 2024 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 12 Jul 2024 19:24:25 GMT Subject: [lworld] RFR: 8328438: [lworld] Reimplement VTAssignability for JEP401 Message-ID: Update test. ------------- Commit messages: - Update assignability test Changes: https://git.openjdk.org/valhalla/pull/1168/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1168&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8328438 Stats: 13 lines in 1 file changed: 9 ins; 1 del; 3 mod Patch: https://git.openjdk.org/valhalla/pull/1168.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1168/head:pull/1168 PR: https://git.openjdk.org/valhalla/pull/1168 From rriggs at openjdk.org Mon Jul 15 13:57:12 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 15 Jul 2024 13:57:12 GMT Subject: [lworld] Integrated: 8336029: [lworld] Rename Objects.isIdentity() to hasIdentity() In-Reply-To: References: Message-ID: On Tue, 9 Jul 2024 20:59:09 GMT, Roger Riggs wrote: > Rename Objects.isIdentity() to hasIdentity() > Remove java.util.Objects.isValueObject and replace its use with !hasIdentity(). > Align the WeakHashMap WeakValuePolicy default with that of java.lang.Reference. > Namely, throw IdentityException unless the WeakHashMap is created with a different policy. > WeakHashMapPolicy is a unsupported experimental API. This pull request has now been integrated. Changeset: 75c86694 Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/75c866941409aa9304009b58da73b08b17e2c1cb Stats: 39 lines in 7 files changed: 0 ins; 17 del; 22 mod 8336029: [lworld] Rename Objects.isIdentity() to hasIdentity() ------------- PR: https://git.openjdk.org/valhalla/pull/1163 From fparain at openjdk.org Mon Jul 15 14:00:12 2024 From: fparain at openjdk.org (Frederic Parain) Date: Mon, 15 Jul 2024 14:00:12 GMT Subject: [lworld] Integrated: 8328438: [lworld] Reimplement VTAssignability for JEP401 In-Reply-To: References: Message-ID: <-tL1ya0Jmp2ZoaD1jaQiYDCYPi8sm8L1k7FTb_wfpD8=.484e398e-db93-4ed5-bd99-4bae275497e5@github.com> On Fri, 12 Jul 2024 19:19:01 GMT, Frederic Parain wrote: > Update test. This pull request has now been integrated. Changeset: 8228d7e0 Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/8228d7e0fed3a460d98f3ea0e26af307ccdda116 Stats: 13 lines in 1 file changed: 9 ins; 1 del; 3 mod 8328438: [lworld] Reimplement VTAssignability for JEP401 ------------- PR: https://git.openjdk.org/valhalla/pull/1168 From rriggs at openjdk.org Mon Jul 15 14:00:15 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 15 Jul 2024 14:00:15 GMT Subject: [lworld] Integrated: 8336028: [lworld] Serialization should throw exceptions for non-migrated value classes In-Reply-To: <__TEK6sLAJx6KrJ2gV9PgUYZIRo9uDPswcUKDvbgX-U=.e5bb3c31-e11b-4264-b473-c1c25d32d152@github.com> References: <__TEK6sLAJx6KrJ2gV9PgUYZIRo9uDPswcUKDvbgX-U=.e5bb3c31-e11b-4264-b473-c1c25d32d152@github.com> Message-ID: On Tue, 9 Jul 2024 21:10:23 GMT, Roger Riggs wrote: > The java.base classes being migrated to value classes when using --enable-preview use a temporary adhoc unsafe mechanism to be serialized and deserialized. Only classes that are annotated with `jdk.internal.MigratedValueClass` can be serialized and deserialized. All other value classes can not be serialized or deserialized and the respective APIs throw exceptions. Subsequent Valhalla work will provide the missing support. This pull request has now been integrated. Changeset: e935bad9 Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/e935bad90148f11b64ed255fbfe4d0eb41345943 Stats: 25 lines in 5 files changed: 16 ins; 3 del; 6 mod 8336028: [lworld] Serialization should throw exceptions for non-migrated value classes ------------- PR: https://git.openjdk.org/valhalla/pull/1164 From fparain at openjdk.org Mon Jul 15 15:31:41 2024 From: fparain at openjdk.org (Frederic Parain) Date: Mon, 15 Jul 2024 15:31:41 GMT Subject: [lworld] Integrated: 8336312: [lworld] compiler/c1/Test8267042.java crashes with --enable-preview Message-ID: <4wjvw_7p4t-4xRra0OjQ2d3nIBFyySzzfnb9bjvcapY=.8b70c69c-4952-4154-8243-c9379dd5326a@github.com> Ensure class java/lang/runtime/ValueObjectMethods is initialize before calling its static method isSubstitutable(). ------------- Commit messages: - Ensure ValueObjectMethods is initialized before calling isSubstitutable Changes: https://git.openjdk.org/valhalla/pull/1169/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1169&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336312 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1169.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1169/head:pull/1169 PR: https://git.openjdk.org/valhalla/pull/1169 From fparain at openjdk.org Mon Jul 15 15:31:41 2024 From: fparain at openjdk.org (Frederic Parain) Date: Mon, 15 Jul 2024 15:31:41 GMT Subject: [lworld] Integrated: 8336312: [lworld] compiler/c1/Test8267042.java crashes with --enable-preview In-Reply-To: <4wjvw_7p4t-4xRra0OjQ2d3nIBFyySzzfnb9bjvcapY=.8b70c69c-4952-4154-8243-c9379dd5326a@github.com> References: <4wjvw_7p4t-4xRra0OjQ2d3nIBFyySzzfnb9bjvcapY=.8b70c69c-4952-4154-8243-c9379dd5326a@github.com> Message-ID: On Mon, 15 Jul 2024 15:25:14 GMT, Frederic Parain wrote: > Ensure class java/lang/runtime/ValueObjectMethods is initialize before calling its static method isSubstitutable(). This pull request has now been integrated. Changeset: a175f04a Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/a175f04afcc1eb96dbeccd94cc029a15326b6798 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod 8336312: [lworld] compiler/c1/Test8267042.java crashes with --enable-preview ------------- PR: https://git.openjdk.org/valhalla/pull/1169 From matsaave at openjdk.org Tue Jul 16 18:11:13 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Tue, 16 Jul 2024 18:11:13 GMT Subject: [lworld] RFR: 8314993: [lworld] Add support for runtime/cds/CDSMapTest.java Message-ID: CDSMapTest.java was previously problem listed due to differences in the output generated by `fieldDescriptor::print_on_for()`. This change partially reverts the change to that method to match the output from mainline and removes the test from the problem list. Verified with tier1-5 tests and CDSMapTest.java passes on tested platforms. ------------- Commit messages: - 8314993: [lworld] Add support for runtime/cds/CDSMapTest.java Changes: https://git.openjdk.org/valhalla/pull/1170/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1170&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8314993 Stats: 2 lines in 2 files changed: 0 ins; 2 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1170.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1170/head:pull/1170 PR: https://git.openjdk.org/valhalla/pull/1170 From fparain at openjdk.org Tue Jul 16 18:20:11 2024 From: fparain at openjdk.org (Frederic Parain) Date: Tue, 16 Jul 2024 18:20:11 GMT Subject: [lworld] RFR: 8314993: [lworld] Add support for runtime/cds/CDSMapTest.java In-Reply-To: References: Message-ID: On Tue, 16 Jul 2024 16:23:34 GMT, Matias Saavedra Silva wrote: > CDSMapTest.java was previously problem listed due to differences in the output generated by `fieldDescriptor::print_on_for()`. This change partially reverts the change to that method to match the output from mainline and removes the test from the problem list. Verified with tier1-5 tests and CDSMapTest.java passes on tested platforms. Marked as reviewed by fparain (Committer). ------------- PR Review: https://git.openjdk.org/valhalla/pull/1170#pullrequestreview-2180973752 From matsaave at openjdk.org Wed Jul 17 15:15:09 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Wed, 17 Jul 2024 15:15:09 GMT Subject: [lworld] RFR: 8314993: [lworld] Add support for runtime/cds/CDSMapTest.java In-Reply-To: References: Message-ID: On Tue, 16 Jul 2024 18:17:48 GMT, Frederic Parain wrote: >> CDSMapTest.java was previously problem listed due to differences in the output generated by `fieldDescriptor::print_on_for()`. This change partially reverts the change to that method to match the output from mainline and removes the test from the problem list. Verified with tier1-5 tests and CDSMapTest.java passes on tested platforms. > > Marked as reviewed by fparain (Committer). Thank you for the review @fparain ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1170#issuecomment-2233556334 From duke at openjdk.org Wed Jul 17 15:15:10 2024 From: duke at openjdk.org (duke) Date: Wed, 17 Jul 2024 15:15:10 GMT Subject: [lworld] RFR: 8314993: [lworld] Add support for runtime/cds/CDSMapTest.java In-Reply-To: References: Message-ID: On Tue, 16 Jul 2024 16:23:34 GMT, Matias Saavedra Silva wrote: > CDSMapTest.java was previously problem listed due to differences in the output generated by `fieldDescriptor::print_on_for()`. This change partially reverts the change to that method to match the output from mainline and removes the test from the problem list. Verified with tier1-5 tests and CDSMapTest.java passes on tested platforms. @matias9927 Your change (at version 40c99a8698f0142fae1fd358cc8c814fd5135727) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1170#issuecomment-2233560571 From matsaave at openjdk.org Wed Jul 17 15:15:10 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Wed, 17 Jul 2024 15:15:10 GMT Subject: [lworld] Integrated: 8314993: [lworld] Add support for runtime/cds/CDSMapTest.java In-Reply-To: References: Message-ID: On Tue, 16 Jul 2024 16:23:34 GMT, Matias Saavedra Silva wrote: > CDSMapTest.java was previously problem listed due to differences in the output generated by `fieldDescriptor::print_on_for()`. This change partially reverts the change to that method to match the output from mainline and removes the test from the problem list. Verified with tier1-5 tests and CDSMapTest.java passes on tested platforms. This pull request has now been integrated. Changeset: 14fea703 Author: Matias Saavedra Silva Committer: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/14fea703da91fa7aa9c92fe4960545747d563161 Stats: 2 lines in 2 files changed: 0 ins; 2 del; 0 mod 8314993: [lworld] Add support for runtime/cds/CDSMapTest.java Reviewed-by: fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1170 From rriggs at openjdk.org Thu Jul 18 21:35:26 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 18 Jul 2024 21:35:26 GMT Subject: [lworld] RFR: 8336671: [lworld] Test java/lang/ref/ReferenceEnqueuePending.java fails when run with migrated classes Message-ID: Integer is no longer a suitable Identity object, starting with --enable-preview in Valhalla. Use a record instead of Integer to hold the number. Integer is not an identity class and can't be used with WeakReference. ------------- Commit messages: - 8336671: [lworld] Test java/lang/ref/ReferenceEnqueuePending.java fails when run with migrated classes Changes: https://git.openjdk.org/valhalla/pull/1171/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1171&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336671 Stats: 38 lines in 1 file changed: 4 ins; 17 del; 17 mod Patch: https://git.openjdk.org/valhalla/pull/1171.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1171/head:pull/1171 PR: https://git.openjdk.org/valhalla/pull/1171 From coleenp at openjdk.org Fri Jul 19 12:17:19 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Fri, 19 Jul 2024 12:17:19 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes Message-ID: The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how. ------------- Commit messages: - 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes Changes: https://git.openjdk.org/valhalla/pull/1172/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1172&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336682 Stats: 45 lines in 4 files changed: 32 ins; 0 del; 13 mod Patch: https://git.openjdk.org/valhalla/pull/1172.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1172/head:pull/1172 PR: https://git.openjdk.org/valhalla/pull/1172 From fparain at openjdk.org Fri Jul 19 14:26:50 2024 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 19 Jul 2024 14:26:50 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes In-Reply-To: References: Message-ID: On Fri, 19 Jul 2024 12:12:29 GMT, Coleen Phillimore wrote: > The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. Hi Coleen, Thank you for the fix in ClassFileReconstituter, the handling of the LoadableDescriptors attribute was clearly missing. However, I'm wondering if class redefinition should reject redefined classes with a missing or different LoadableDescriptors attribute. This attribute helps the VM optimizing this class, but it is not supposed to impact the semantic of the class. Fred ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1172#issuecomment-2239300930 From coleenp at openjdk.org Fri Jul 19 15:00:50 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Fri, 19 Jul 2024 15:00:50 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes In-Reply-To: References: Message-ID: On Fri, 19 Jul 2024 12:12:29 GMT, Coleen Phillimore wrote: > The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. That's a good question. Maybe this attribute shouldn't be matched in the redefined class. Although potentially different LoadableDescriptors might change the behavior of the redefined class by preloading a different class? And maybe we don't want that. So maybe missing is okay, but different is bad? ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1172#issuecomment-2239407247 From heidinga at openjdk.org Fri Jul 19 16:14:48 2024 From: heidinga at openjdk.org (Dan Heidinga) Date: Fri, 19 Jul 2024 16:14:48 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes In-Reply-To: References: Message-ID: On Fri, 19 Jul 2024 14:24:21 GMT, Frederic Parain wrote: > However, I'm wondering if class redefinition should reject redefined classes with a missing or different LoadableDescriptors attribute. This attribute helps the VM optimizing this class, but it is not supposed to impact the semantic of the class. I don't think we need to reject classes with missing or different LD attributes. The attribute provides the VM an option to load classes earlier than it otherwise would but doesn't enforce a requirement. I see this as being similar to redefining the `` method: perfectly valid to do but will have no effect if the class has already been initialized. Changing the LD attribute may give the VM permission to preload different classes but doesn't affect decisions already made (like changing `) and doesn't impact the integrity of the VM (like changing NestMates). So I don't think it should be validated. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1172#issuecomment-2239530053 From coleenp at openjdk.org Fri Jul 19 16:32:00 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Fri, 19 Jul 2024 16:32:00 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes [v2] In-Reply-To: References: Message-ID: > The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: Remove check for LoadableDescriptors for redefinition. ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1172/files - new: https://git.openjdk.org/valhalla/pull/1172/files/9e198bd6..7343a17d Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1172&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1172&range=00-01 Stats: 28 lines in 2 files changed: 0 ins; 23 del; 5 mod Patch: https://git.openjdk.org/valhalla/pull/1172.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1172/head:pull/1172 PR: https://git.openjdk.org/valhalla/pull/1172 From coleenp at openjdk.org Fri Jul 19 16:48:54 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Fri, 19 Jul 2024 16:48:54 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes [v3] In-Reply-To: References: Message-ID: > The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: Add back the oxford comma. ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1172/files - new: https://git.openjdk.org/valhalla/pull/1172/files/7343a17d..7665d5b3 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1172&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1172&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1172.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1172/head:pull/1172 PR: https://git.openjdk.org/valhalla/pull/1172 From coleenp at openjdk.org Fri Jul 19 16:48:54 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Fri, 19 Jul 2024 16:48:54 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes [v2] In-Reply-To: References: Message-ID: On Fri, 19 Jul 2024 16:32:00 GMT, Coleen Phillimore wrote: >> The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. > > Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: > > Remove check for LoadableDescriptors for redefinition. Okay, I've removed the check in redefinition. Test still passes. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1172#issuecomment-2239621934 From heidinga at openjdk.org Fri Jul 19 17:28:41 2024 From: heidinga at openjdk.org (Dan Heidinga) Date: Fri, 19 Jul 2024 17:28:41 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes [v3] In-Reply-To: References: Message-ID: On Fri, 19 Jul 2024 16:48:54 GMT, Coleen Phillimore wrote: >> The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. > > Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: > > Add back the oxford comma. lgtm ------------- Marked as reviewed by heidinga (no project role). PR Review: https://git.openjdk.org/valhalla/pull/1172#pullrequestreview-2188764412 From fparain at openjdk.org Fri Jul 19 20:05:39 2024 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 19 Jul 2024 20:05:39 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes [v3] In-Reply-To: References: Message-ID: On Fri, 19 Jul 2024 16:48:54 GMT, Coleen Phillimore wrote: >> The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. > > Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: > > Add back the oxford comma. LGTM ------------- Marked as reviewed by fparain (Committer). PR Review: https://git.openjdk.org/valhalla/pull/1172#pullrequestreview-2189107403 From coleenp at openjdk.org Fri Jul 19 20:40:48 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Fri, 19 Jul 2024 20:40:48 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes [v3] In-Reply-To: References: Message-ID: On Fri, 19 Jul 2024 16:48:54 GMT, Coleen Phillimore wrote: >> The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. > > Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: > > Add back the oxford comma. Thanks Fred and Dan. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1172#issuecomment-2240069297 From duke at openjdk.org Fri Jul 19 20:40:48 2024 From: duke at openjdk.org (duke) Date: Fri, 19 Jul 2024 20:40:48 GMT Subject: [lworld] RFR: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes [v3] In-Reply-To: References: Message-ID: On Fri, 19 Jul 2024 16:48:54 GMT, Coleen Phillimore wrote: >> The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. > > Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision: > > Add back the oxford comma. @coleenp Your change (at version 7665d5b3a5f11d1d96dc966b01a7bc1eebbf7ef7) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1172#issuecomment-2240070499 From coleenp at openjdk.org Fri Jul 19 20:43:48 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Fri, 19 Jul 2024 20:43:48 GMT Subject: [lworld] Integrated: 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes In-Reply-To: References: Message-ID: <9mNFBl7xdfeRaTjen1pTq9EKJAbA7mg3A4wafQ3Iws0=.f0794d17-bfa9-4175-ac55-798c47f29646@github.com> On Fri, 19 Jul 2024 12:12:29 GMT, Coleen Phillimore wrote: > The test uses the class file reconstituter to provide the redefined bytecodes, leaving out the LoadableDescriptors. Adding them to the reconsistituted class file makes the test pass, also fix the verification code since these descriptors are utf8s now. Tested with java/lang/instrument with --enable-preview. Should write a test but I don't know how, and the code is already tested with permitted subclasses and other attributes. This pull request has now been integrated. Changeset: 82f977fd Author: Coleen Phillimore Committer: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/82f977fd7317892caaf960c9e4b41f11be9316f8 Stats: 47 lines in 3 files changed: 27 ins; 18 del; 2 mod 8336682: [lworld] java/lang/instrument/IsModifiableClassAgent.java test fails when run with migrates classes Reviewed-by: heidinga, fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1172 From jbhateja at openjdk.org Sat Jul 20 11:07:45 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Sat, 20 Jul 2024 11:07:45 GMT Subject: [lworld+vector] Integrated: Merge lworld Message-ID: Merge latest lworld code into lworld+vector. Validation Status:- - All Valhalla jtreg tests are passing with and w/o -XX:+DeoptimizeALot. - All VectorAPI jtreg tests are passing at different AVX level with default options. - There are few failures with -XX:+DoptimizeALot which will be addressed in subsequent commit. Best Regards, Jatin ------------- Commit messages: - Whitespace fix for jcheck - Merge branch 'lworld' of http://github.com/openjdk/valhalla into merge_lworld - Merge lworld - JDK 8327435: [lworld+vector] Align existing Vector API support with JEP 401 - Merge lworld - 8319945: [lworld+vector] Fix vector api jtreg crash with "-XX:-EnableVectorSupport" - 8319972: [lworld+vector] Enable intrinsification of Unsafe.finishPrivateBuffer. - 8319971: [lworld+vector] Fallback implementation cleanups. - 8311675: [lworld+vector] Max Species support. - 8317699: [lworld+vector] Fix Vector API tests crash with "assert(vbox->is_Phi()) failed: should be phi" - ... and 12 more: https://git.openjdk.org/valhalla/compare/14fea703...b2b6a210 The merge commit only contains trivial merges, so no merge-specific webrevs have been generated. Changes: https://git.openjdk.org/valhalla/pull/1173/files Stats: 12001 lines in 267 files changed: 4611 ins; 2658 del; 4732 mod Patch: https://git.openjdk.org/valhalla/pull/1173.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1173/head:pull/1173 PR: https://git.openjdk.org/valhalla/pull/1173 From jbhateja at openjdk.org Sat Jul 20 11:07:48 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Sat, 20 Jul 2024 11:07:48 GMT Subject: [lworld+vector] Integrated: Merge lworld In-Reply-To: References: Message-ID: On Sat, 20 Jul 2024 10:59:09 GMT, Jatin Bhateja wrote: > Merge latest lworld code into lworld+vector. > > Validation Status:- > - All Valhalla jtreg tests are passing with and w/o -XX:+DeoptimizeALot. > - All VectorAPI jtreg tests are passing at different AVX level with default options. > - There are few failures with -XX:+DoptimizeALot which will be addressed in subsequent commit. > > Best Regards, > Jatin This pull request has now been integrated. Changeset: 80154fe4 Author: Jatin Bhateja URL: https://git.openjdk.org/valhalla/commit/80154fe4ad20dae470b5c51bdfa6abf7ef606b20 Stats: 260969 lines in 5862 files changed: 137040 ins; 92073 del; 31856 mod Merge lworld ------------- PR: https://git.openjdk.org/valhalla/pull/1173 From rriggs at openjdk.org Mon Jul 22 15:52:44 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 22 Jul 2024 15:52:44 GMT Subject: [lworld] Integrated: 8336671: [lworld] Test java/lang/ref/ReferenceEnqueuePending.java fails when run with migrated classes In-Reply-To: References: Message-ID: On Thu, 18 Jul 2024 21:29:46 GMT, Roger Riggs wrote: > Integer is no longer a suitable Identity object, starting with --enable-preview in Valhalla. > > Use a record instead of Integer to hold the number. > Integer is not an identity class and can't be used with WeakReference. This pull request has now been integrated. Changeset: ca99443a Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/ca99443a289c26e4b34d31387f25f7e2ba4c7037 Stats: 38 lines in 1 file changed: 4 ins; 17 del; 17 mod 8336671: [lworld] Test java/lang/ref/ReferenceEnqueuePending.java fails when run with migrated classes ------------- PR: https://git.openjdk.org/valhalla/pull/1171 From coleenp at openjdk.org Mon Jul 22 15:58:17 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Mon, 22 Jul 2024 15:58:17 GMT Subject: [lworld] RFR: 8336829: [lworld] serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java gets Metaspace OOM Message-ID: Run all versions of this test with -Xmx23m so that if CDS is off, the InMemoryCompiler will load without a Metaspace OOM. Also add a test to verify that new metadata created by inline/value classes are reclaimed, which I verified in gdb. Zeroed deallocated fields to help with manual verification. Tested with jtreg/serviceability/jvmti/RedefineClasses tests. ------------- Commit messages: - 8336829: [lworld] serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java gets Metaspace OOM Changes: https://git.openjdk.org/valhalla/pull/1174/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1174&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336829 Stats: 95 lines in 4 files changed: 78 ins; 14 del; 3 mod Patch: https://git.openjdk.org/valhalla/pull/1174.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1174/head:pull/1174 PR: https://git.openjdk.org/valhalla/pull/1174 From fparain at openjdk.org Mon Jul 22 18:30:44 2024 From: fparain at openjdk.org (Frederic Parain) Date: Mon, 22 Jul 2024 18:30:44 GMT Subject: [lworld] RFR: 8336829: [lworld] serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java gets Metaspace OOM In-Reply-To: References: Message-ID: On Mon, 22 Jul 2024 15:52:56 GMT, Coleen Phillimore wrote: > Run all versions of this test with -Xmx23m so that if CDS is off, the InMemoryCompiler will load without a Metaspace OOM. Also add a test to verify that new metadata created by inline/value classes are reclaimed, which I verified in gdb. Zeroed deallocated fields to help with manual verification. > Tested with jtreg/serviceability/jvmti/RedefineClasses tests. Marked as reviewed by fparain (Committer). ------------- PR Review: https://git.openjdk.org/valhalla/pull/1174#pullrequestreview-2192278938 From coleenp at openjdk.org Mon Jul 22 19:44:42 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Mon, 22 Jul 2024 19:44:42 GMT Subject: [lworld] RFR: 8336829: [lworld] serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java gets Metaspace OOM In-Reply-To: References: Message-ID: On Mon, 22 Jul 2024 15:52:56 GMT, Coleen Phillimore wrote: > Run all versions of this test with -Xmx23m so that if CDS is off, the InMemoryCompiler will load without a Metaspace OOM. Also add a test to verify that new metadata created by inline/value classes are reclaimed, which I verified in gdb. Zeroed deallocated fields to help with manual verification. > Tested with jtreg/serviceability/jvmti/RedefineClasses tests. Thanks Fred. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1174#issuecomment-2243682128 From duke at openjdk.org Mon Jul 22 19:44:43 2024 From: duke at openjdk.org (duke) Date: Mon, 22 Jul 2024 19:44:43 GMT Subject: [lworld] RFR: 8336829: [lworld] serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java gets Metaspace OOM In-Reply-To: References: Message-ID: On Mon, 22 Jul 2024 15:52:56 GMT, Coleen Phillimore wrote: > Run all versions of this test with -Xmx23m so that if CDS is off, the InMemoryCompiler will load without a Metaspace OOM. Also add a test to verify that new metadata created by inline/value classes are reclaimed, which I verified in gdb. Zeroed deallocated fields to help with manual verification. > Tested with jtreg/serviceability/jvmti/RedefineClasses tests. @coleenp Your change (at version 1259ffa3926de929745d2e007d234b5918542862) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1174#issuecomment-2243684000 From coleenp at openjdk.org Mon Jul 22 19:44:43 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Mon, 22 Jul 2024 19:44:43 GMT Subject: [lworld] Integrated: 8336829: [lworld] serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java gets Metaspace OOM In-Reply-To: References: Message-ID: On Mon, 22 Jul 2024 15:52:56 GMT, Coleen Phillimore wrote: > Run all versions of this test with -Xmx23m so that if CDS is off, the InMemoryCompiler will load without a Metaspace OOM. Also add a test to verify that new metadata created by inline/value classes are reclaimed, which I verified in gdb. Zeroed deallocated fields to help with manual verification. > Tested with jtreg/serviceability/jvmti/RedefineClasses tests. This pull request has now been integrated. Changeset: c462c91d Author: Coleen Phillimore Committer: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/c462c91d8567ff8eaf6904d0ad068b675f2cdd4c Stats: 95 lines in 4 files changed: 78 ins; 14 del; 3 mod 8336829: [lworld] serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java gets Metaspace OOM Reviewed-by: fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1174 From bkilambi at openjdk.org Tue Jul 23 13:44:25 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Tue, 23 Jul 2024 13:44:25 GMT Subject: [lworld+fp16] RFR: 8336406: Add support for FP16 binary operations Message-ID: This patch adds middle end support in C2 for a few FP16 binary operations, namely - subtract, multiply, divide, min and max. It also adds aarch64 backend support for these operations. Tested JTREG tests - hotspot/jtreg/compiler/vectorization/TestFloat16VectorOps.java, hotspot/jtreg/compiler/vectorization/TestFloat16VectorReinterpretConv.java, hotspot/jtreg/compiler/intrinsics/float16 and test/jdk/java/lang/Float16 and they successfully pass on aarch64 and x86 machines. ------------- Commit messages: - 8336406: Add support for FP16 binary operations Changes: https://git.openjdk.org/valhalla/pull/1175/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1175&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336406 Stats: 1146 lines in 27 files changed: 870 ins; 175 del; 101 mod Patch: https://git.openjdk.org/valhalla/pull/1175.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1175/head:pull/1175 PR: https://git.openjdk.org/valhalla/pull/1175 From rriggs at openjdk.org Tue Jul 23 19:15:20 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 23 Jul 2024 19:15:20 GMT Subject: [lworld] RFR: 8337048: [lworld] ProblemList BasicLayerTest until jtreg LIBARY.properties is supported Message-ID: ProblemList intermittent tests until test library compile is made more stable. test/jdk/java/lang/ModuleLayer/BasicLayerTest.java test/jdk/java/lang/ModuleLayer/LayerControllerTest.java ------------- Commit messages: - 8337048: [lworld] ProblemList BasicLayerTest until jtreg LIBARY.properties is supported Changes: https://git.openjdk.org/valhalla/pull/1176/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1176&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8337048 Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1176.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1176/head:pull/1176 PR: https://git.openjdk.org/valhalla/pull/1176 From rriggs at openjdk.org Tue Jul 23 19:17:54 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 23 Jul 2024 19:17:54 GMT Subject: [lworld] RFR: 8336390: [lworld] jdk/internal/util/ReferencedKeyTest.java fails with --enable-preview Message-ID: ReferencedKeyTest uses Long to test the key maps. However, with --enable-preview Long is a value class and cannot be used with Weak or Soft references. Replace use of Long with String (an Identity class) ------------- Commit messages: - 8336390: [lworld] jdk/internal/util/ReferencedKeyTest.java fails with --enable-preview Changes: https://git.openjdk.org/valhalla/pull/1177/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1177&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336390 Stats: 46 lines in 2 files changed: 5 ins; 0 del; 41 mod Patch: https://git.openjdk.org/valhalla/pull/1177.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1177/head:pull/1177 PR: https://git.openjdk.org/valhalla/pull/1177 From roger.riggs at oracle.com Wed Jul 24 13:44:24 2024 From: roger.riggs at oracle.com (Roger Riggs) Date: Wed, 24 Jul 2024 09:44:24 -0400 Subject: CFV: New Valhalla Committer: Coleen Phillimore Message-ID: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> I hereby nominate Coleen Phillimore [3] to Valhalla Committer. Coleen is a member of the HotSpot Runtime Team at Oracle, a JDK Reviewer, and committer to numerous projects including Loom, Lilliput, and Galahad. Since 2000, she has contributed over 1.2k changes to the JDK project [2] Votes are due by August 9th, 2024, 00:00 UTC. Only current Valhalla Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [4]. Roger Riggs [1]https://openjdk.org/census#valhalla [2]https://github.com/search?q=committer-name%3A%22Coleen+Phillimore%22+repo%3Aopenjdk%2Fjdk&type=commits [3]https://openjdk.org/census#coleenp [4]https://openjdk.org/projects/#committer-vote -------------- next part -------------- An HTML attachment was scrubbed... URL: From frederic.parain at oracle.com Wed Jul 24 13:45:28 2024 From: frederic.parain at oracle.com (Frederic Parain) Date: Wed, 24 Jul 2024 09:45:28 -0400 Subject: CFV: New Valhalla Committer: Coleen Phillimore In-Reply-To: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> References: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> Message-ID: <488c6fe4-0811-4345-93d7-c0ce7ced8497@oracle.com> Yes Fred On 7/24/24 09:44, Roger Riggs wrote: > I hereby nominate Coleen Phillimore [3] to Valhalla Committer. > > Coleen is a member of the HotSpot Runtime Team at Oracle, a JDK Reviewer, and committer to numerous projects including Loom, Lilliput, and Galahad. > > Since 2000, she has contributed over 1.2k changes to the JDK project [2] > > Votes are due by August 9th, 2024, 00:00 UTC. > > Only current Valhalla Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Roger Riggs > > [1]https://openjdk.org/census#valhalla > [2]https://github.com/search?q=committer-name%3A%22Coleen+Phillimore%22+repo%3Aopenjdk%2Fjdk&type=commits > [3]https://openjdk.org/census#coleenp > [4]https://openjdk.org/projects/#committer-vote From lois.foltan at oracle.com Wed Jul 24 13:47:01 2024 From: lois.foltan at oracle.com (Lois Foltan) Date: Wed, 24 Jul 2024 13:47:01 +0000 Subject: CFV: New Valhalla Committer: Coleen Phillimore In-Reply-To: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> References: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> Message-ID: Vote: yes Lois From: valhalla-dev on behalf of Roger Riggs Date: Wednesday, July 24, 2024 at 9:44?AM To: valhalla-dev Subject: CFV: New Valhalla Committer: Coleen Phillimore I hereby nominate Coleen Phillimore [3] to Valhalla Committer. Coleen is a member of the HotSpot Runtime Team at Oracle, a JDK Reviewer, and committer to numerous projects including Loom, Lilliput, and Galahad. Since 2000, she has contributed over 1.2k changes to the JDK project [2] Votes are due by August 9th, 2024, 00:00 UTC. Only current Valhalla Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [4]. Roger Riggs [1] https://openjdk.org/census#valhalla [2] https://github.com/search?q=committer-name%3A%22Coleen+Phillimore%22+repo%3Aopenjdk%2Fjdk&type=commits [3] https://openjdk.org/census#coleenp [4] https://openjdk.org/projects/#committer-vote -------------- next part -------------- An HTML attachment was scrubbed... URL: From rriggs at openjdk.org Wed Jul 24 13:50:46 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 24 Jul 2024 13:50:46 GMT Subject: [lworld] Integrated: 8336390: [lworld] jdk/internal/util/ReferencedKeyTest.java fails with --enable-preview In-Reply-To: References: Message-ID: On Tue, 23 Jul 2024 19:13:25 GMT, Roger Riggs wrote: > ReferencedKeyTest uses Long to test the key maps. > However, with --enable-preview Long is a value class and cannot be used with Weak or Soft references. > > Replace use of Long with String (an Identity class) This pull request has now been integrated. Changeset: b883585b Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/b883585b0be167b4da9bc4c31f73d8233d4f6e75 Stats: 46 lines in 2 files changed: 5 ins; 0 del; 41 mod 8336390: [lworld] jdk/internal/util/ReferencedKeyTest.java fails with --enable-preview ------------- PR: https://git.openjdk.org/valhalla/pull/1177 From rriggs at openjdk.org Wed Jul 24 13:51:45 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 24 Jul 2024 13:51:45 GMT Subject: [lworld] Integrated: 8337048: [lworld] ProblemList BasicLayerTest until jtreg LIBARY.properties is supported In-Reply-To: References: Message-ID: On Tue, 23 Jul 2024 19:09:24 GMT, Roger Riggs wrote: > ProblemList intermittent tests until test library compile is made more stable. > test/jdk/java/lang/ModuleLayer/BasicLayerTest.java > test/jdk/java/lang/ModuleLayer/LayerControllerTest.java This pull request has now been integrated. Changeset: 74778d3a Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/74778d3a22c7d2fe64e7b6b0ef9eaa295c5ce768 Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod 8337048: [lworld] ProblemList BasicLayerTest until jtreg LIBARY.properties is supported ------------- PR: https://git.openjdk.org/valhalla/pull/1176 From rriggs at openjdk.org Wed Jul 24 14:03:49 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 24 Jul 2024 14:03:49 GMT Subject: [lworld] RFR: 8336672: [lworld] Tests of spliterators and streams fail when value objects are used with WeakHashmap Message-ID: Update stream and spliterator tests of WeakHashmap that use Integer, a value class, as test data. The Integers are replaced with Strings as test data in most tests. In others, the intersection of Collections with value classes (Integer) are disabled when running with --enable-preview. ------------- Commit messages: - 8336672-stream-weakhashmap Changes: https://git.openjdk.org/valhalla/pull/1178/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1178&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336672 Stats: 109 lines in 6 files changed: 19 ins; 4 del; 86 mod Patch: https://git.openjdk.org/valhalla/pull/1178.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1178/head:pull/1178 PR: https://git.openjdk.org/valhalla/pull/1178 From roger.riggs at oracle.com Wed Jul 24 14:04:51 2024 From: roger.riggs at oracle.com (Roger Riggs) Date: Wed, 24 Jul 2024 10:04:51 -0400 Subject: CFV: New Valhalla Committer: Coleen Phillimore In-Reply-To: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> References: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> Message-ID: <1f583ef3-1e92-42bb-b61f-9e33a157309c@oracle.com> Vote: Yes On 7/24/24 9:44 AM, Roger Riggs wrote: > I hereby nominate Coleen Phillimore [3] to Valhalla Committer. From vicente.romero at oracle.com Wed Jul 24 14:07:53 2024 From: vicente.romero at oracle.com (Vicente Romero) Date: Wed, 24 Jul 2024 10:07:53 -0400 Subject: CFV: New Valhalla Committer: Coleen Phillimore In-Reply-To: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> References: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> Message-ID: <531b6bce-4783-488b-b1c3-216b0a89c8b2@oracle.com> vote: yes On 7/24/24 09:44, Roger Riggs wrote: > I hereby nominate Coleen Phillimore [3] to Valhalla Committer. > > Coleen is a member of the HotSpot Runtime Team at Oracle, a JDK Reviewer, and committer to numerous projects including Loom, Lilliput, and Galahad. > > Since 2000, she has contributed over 1.2k changes to the JDK project [2] > > Votes are due by August 9th, 2024, 00:00 UTC. > > Only current Valhalla Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Roger Riggs > > [1]https://openjdk.org/census#valhalla > [2]https://github.com/search?q=committer-name%3A%22Coleen+Phillimore%22+repo%3Aopenjdk%2Fjdk&type=commits > [3]https://openjdk.org/census#coleenp > [4]https://openjdk.org/projects/#committer-vote -------------- next part -------------- An HTML attachment was scrubbed... URL: From fparain at openjdk.org Wed Jul 24 19:49:54 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 24 Jul 2024 19:49:54 GMT Subject: [lworld] RFR: 8337148: [lworld] Not all references to Preload attribute have been renamed Message-ID: More renaming of the Preload attribute into LoadableDescriptors attribute. ------------- Commit messages: - More renaming of Preload attribute into LoadableDescriptors Changes: https://git.openjdk.org/valhalla/pull/1179/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1179&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8337148 Stats: 11 lines in 5 files changed: 0 ins; 0 del; 11 mod Patch: https://git.openjdk.org/valhalla/pull/1179.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1179/head:pull/1179 PR: https://git.openjdk.org/valhalla/pull/1179 From coleenp at openjdk.org Wed Jul 24 19:59:40 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Wed, 24 Jul 2024 19:59:40 GMT Subject: [lworld] RFR: 8337148: [lworld] Not all references to Preload attribute have been renamed In-Reply-To: References: Message-ID: On Wed, 24 Jul 2024 19:44:57 GMT, Frederic Parain wrote: > More renaming of the Preload attribute into LoadableDescriptors attribute. Looks good to me. Does my review count? edit: guess so! ------------- Marked as reviewed by coleenp (no project role). PR Review: https://git.openjdk.org/valhalla/pull/1179#pullrequestreview-2197647946 PR Comment: https://git.openjdk.org/valhalla/pull/1179#issuecomment-2248791709 From fparain at openjdk.org Wed Jul 24 19:59:40 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 24 Jul 2024 19:59:40 GMT Subject: [lworld] RFR: 8337148: [lworld] Not all references to Preload attribute have been renamed In-Reply-To: References: Message-ID: On Wed, 24 Jul 2024 19:44:57 GMT, Frederic Parain wrote: > More renaming of the Preload attribute into LoadableDescriptors attribute. Thank you for the review. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1179#issuecomment-2248791196 From fparain at openjdk.org Wed Jul 24 19:59:40 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 24 Jul 2024 19:59:40 GMT Subject: [lworld] Integrated: 8337148: [lworld] Not all references to Preload attribute have been renamed In-Reply-To: References: Message-ID: On Wed, 24 Jul 2024 19:44:57 GMT, Frederic Parain wrote: > More renaming of the Preload attribute into LoadableDescriptors attribute. This pull request has now been integrated. Changeset: 9f9059c9 Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/9f9059c97468612d354579d14958e597ba80bf41 Stats: 11 lines in 5 files changed: 0 ins; 0 del; 11 mod 8337148: [lworld] Not all references to Preload attribute have been renamed Reviewed-by: coleenp ------------- PR: https://git.openjdk.org/valhalla/pull/1179 From matsaave at openjdk.org Wed Jul 24 21:19:48 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Wed, 24 Jul 2024 21:19:48 GMT Subject: [lworld] RFR: 8329108: [lworld] valhalla/valuetypes/ObjectMethods.java fails with default CDS archive Message-ID: When this test was run after `java -Xshare:dump --enable-preview`, the test would crash due to a null signature calling convention. This occurred because `has_scalarized_args`, a flag whose value should be determined at runtime when regenerating the method adapter, was stored in ConstMethod and then archived. The resulting mismatch in a subsequent run meant the wrong `sig_cc` would be used. This change moves the flags in question into `method.hpp` and avoids dumping them so they can be properly regenerated at runtime. The test was verified locally and the changes were further verified with tier 1-5 tests. ------------- Commit messages: - Moved static method - 8329108: [lworld] valhalla/valuetypes/ObjectMethods.java fails with default CDS archive Changes: https://git.openjdk.org/valhalla/pull/1180/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1180&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8329108 Stats: 19 lines in 7 files changed: 6 ins; 11 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/1180.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1180/head:pull/1180 PR: https://git.openjdk.org/valhalla/pull/1180 From david.holmes at oracle.com Thu Jul 25 00:28:59 2024 From: david.holmes at oracle.com (David Holmes) Date: Thu, 25 Jul 2024 10:28:59 +1000 Subject: CFV: New Valhalla Committer: Coleen Phillimore In-Reply-To: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> References: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> Message-ID: Vote: yes David On 24/07/2024 11:44 pm, Roger Riggs wrote: > I hereby nominate Coleen Phillimore [3] to Valhalla Committer. > > Coleen is a member of the HotSpot Runtime Team at Oracle, a JDK Reviewer, and committer to numerous projects including Loom, Lilliput, and Galahad. > > Since 2000, she has contributed over 1.2k changes to the JDK project [2] > > Votes are due by August 9th, 2024, 00:00 UTC. > > Only current Valhalla Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Roger Riggs > > [1]https://openjdk.org/census#valhalla > [2]https://github.com/search?q=committer-name%3A%22Coleen+Phillimore%22+repo%3Aopenjdk%2Fjdk&type=commits > [3]https://openjdk.org/census#coleenp > [4]https://openjdk.org/projects/#committer-vote > From rriggs at openjdk.org Thu Jul 25 11:35:13 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 25 Jul 2024 11:35:13 GMT Subject: [lworld] RFR: 8336669: [lworld] Some Collection tests fail when run with migrated classes because they assume wrapper classes instances have identity Message-ID: Updated tests not not assume Integer has identity. modified: test/jdk/java/util/Collection/IteratorAtEnd.java modified: test/jdk/java/util/Collections/CheckedIdentityMap.java modified: test/jdk/java/util/Collections/CheckedListBash.java modified: test/jdk/java/util/HashMap/ToArray.java modified: test/jdk/java/util/Map/Get.java modified: test/jdk/java/util/Map/LockStep.java modified: test/jdk/java/util/Map/ToArray.java ------------- Commit messages: - 8336669: [lworld] Some Collection tests fail when run with migrated classes because they assume wrapper classes instances have identity Changes: https://git.openjdk.org/valhalla/pull/1181/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1181&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336669 Stats: 115 lines in 7 files changed: 50 ins; 5 del; 60 mod Patch: https://git.openjdk.org/valhalla/pull/1181.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1181/head:pull/1181 PR: https://git.openjdk.org/valhalla/pull/1181 From forax at openjdk.org Thu Jul 25 12:13:43 2024 From: forax at openjdk.org (=?UTF-8?B?UsOpbWk=?= Forax) Date: Thu, 25 Jul 2024 12:13:43 GMT Subject: [lworld] RFR: 8336669: [lworld] Some Collection tests fail when run with migrated classes because they assume wrapper classes instances have identity In-Reply-To: References: Message-ID: <0VJDjIPuk18bgHM0JxsGI7cIdUOWUS3c099dLREb9r4=.0b12fe8a-68e6-40ab-9d15-c72eb5588419@github.com> On Thu, 25 Jul 2024 11:29:21 GMT, Roger Riggs wrote: > Updated tests not not assume Integer has identity. > > modified: test/jdk/java/util/Collection/IteratorAtEnd.java > modified: test/jdk/java/util/Collections/CheckedIdentityMap.java > modified: test/jdk/java/util/Collections/CheckedListBash.java > modified: test/jdk/java/util/HashMap/ToArray.java > modified: test/jdk/java/util/Map/Get.java > modified: test/jdk/java/util/Map/LockStep.java > modified: test/jdk/java/util/Map/ToArray.java test/jdk/java/util/HashMap/ToArray.java line 46: > 44: @Override > 45: public int compareTo(Int o) { > 46: if (!(o instanceof Int other)) { `o` is already an `Int` test/jdk/java/util/Map/Get.java line 50: > 48: @Override > 49: public int compareTo(Char ch) { > 50: if (!(ch instanceof Char other)) { same as above test/jdk/java/util/Map/LockStep.java line 56: > 54: // identity for WeakHashMap > 55: private record Int(int intValue) implements Comparable { > 56: private static Map interned = new HashMap<>(100); should be `final` too ? test/jdk/java/util/Map/LockStep.java line 65: > 63: @Override > 64: public int compareTo(Int o) { > 65: if (!(o instanceof Int other)) { same ... test/jdk/java/util/Map/ToArray.java line 46: > 44: > 45: private static void realMain(String[] args) throws Throwable { > 46: Map[] maps = (Map[]) new Map[]{ should be `new Map[] {` ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1181#discussion_r1691332906 PR Review Comment: https://git.openjdk.org/valhalla/pull/1181#discussion_r1691333448 PR Review Comment: https://git.openjdk.org/valhalla/pull/1181#discussion_r1691334782 PR Review Comment: https://git.openjdk.org/valhalla/pull/1181#discussion_r1691335090 PR Review Comment: https://git.openjdk.org/valhalla/pull/1181#discussion_r1691336766 From thartmann at openjdk.org Thu Jul 25 13:29:14 2024 From: thartmann at openjdk.org (Tobias Hartmann) Date: Thu, 25 Jul 2024 13:29:14 GMT Subject: [lworld] RFR: 8337210: [lworld] Incorrect IC check leads to continuous cache misses Message-ID: Fixes an incorrect merge of [JDK-8322630](https://bugs.openjdk.org/browse/JDK-8322630) into Valhalla, breaking IC miss resolution and leading to continuous re-resolution of IC calls. Incorrect IC check: 0x7f9184adfd04: mov 0x8(%rsi),%r10d 0x7f9184adfd08: cmp %r10,%rax 0x7f9184adfd0b: jne 0x7f918465b520 Correct IC check: 0x7f2b90ae1d04: mov 0x8(%rsi),%r10d 0x7f2b90ae1d08: cmp 0x8(%rax),%r10d 0x7f2b90ae1d0c: jne 0x00007f2b9065a820 I intentionally left out the test that reproduces this because it's a very specific issue and the test would require parsing the output of `-XX:+TraceCallFixup` which is error prone (stress flags might trigger resolution unexpectedly). Thanks to @chhagedorn for helping to narrow this down! Thanks, Tobias ------------- Commit messages: - 8335578 Changes: https://git.openjdk.org/valhalla/pull/1182/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1182&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8337210 Stats: 20 lines in 3 files changed: 0 ins; 18 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/1182.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1182/head:pull/1182 PR: https://git.openjdk.org/valhalla/pull/1182 From rriggs at openjdk.org Thu Jul 25 14:44:41 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 25 Jul 2024 14:44:41 GMT Subject: [lworld] Integrated: 8336672: [lworld] Tests of spliterators and streams fail when value objects are used with WeakHashmap In-Reply-To: References: Message-ID: On Wed, 24 Jul 2024 13:59:12 GMT, Roger Riggs wrote: > Update stream and spliterator tests of WeakHashmap that use Integer, a value class, as test data. > > The Integers are replaced with Strings as test data in most tests. > In others, the intersection of Collections with value classes (Integer) are disabled when running with --enable-preview. This pull request has now been integrated. Changeset: 8ec0cb56 Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/8ec0cb56a4d04794ae4ee970fd0a20766ee29392 Stats: 109 lines in 6 files changed: 19 ins; 4 del; 86 mod 8336672: [lworld] Tests of spliterators and streams fail when value objects are used with WeakHashmap ------------- PR: https://git.openjdk.org/valhalla/pull/1178 From dsimms at openjdk.org Thu Jul 25 17:22:45 2024 From: dsimms at openjdk.org (David Simms) Date: Thu, 25 Jul 2024 17:22:45 GMT Subject: [lworld] RFR: 8329108: [lworld] valhalla/valuetypes/ObjectMethods.java fails with default CDS archive In-Reply-To: References: Message-ID: <1TyuwzeazE4aoBHdFgHAINuoza0q_kj6Kzgm-rIESxQ=.61fed2c1-abd8-4b44-87e0-e90ff95ea4c6@github.com> On Wed, 24 Jul 2024 21:14:14 GMT, Matias Saavedra Silva wrote: > When this test was run after `java -Xshare:dump --enable-preview`, the test would crash due to a null signature calling convention. This occurred because `has_scalarized_args`, a flag whose value should be determined at runtime when regenerating the method adapter, was stored in ConstMethod and then archived. The resulting mismatch in a subsequent run meant the wrong `sig_cc` would be used. This change moves the flags in question into `method.hpp` and avoids dumping them so they can be properly regenerated at runtime. The test was verified locally and the changes were further verified with tier 1-5 tests. LGTM ------------- Marked as reviewed by dsimms (Committer). PR Review: https://git.openjdk.org/valhalla/pull/1180#pullrequestreview-2199939308 From fparain at openjdk.org Thu Jul 25 17:31:44 2024 From: fparain at openjdk.org (Frederic Parain) Date: Thu, 25 Jul 2024 17:31:44 GMT Subject: [lworld] RFR: 8329108: [lworld] valhalla/valuetypes/ObjectMethods.java fails with default CDS archive In-Reply-To: References: Message-ID: <5PpAo0GBXhFynJWrEg7wrg3Yf8Bjs1mLZ1w6WDnlVfc=.b8ba5dd1-98ec-4f0b-b18e-bd5eba350de5@github.com> On Wed, 24 Jul 2024 21:14:14 GMT, Matias Saavedra Silva wrote: > When this test was run after `java -Xshare:dump --enable-preview`, the test would crash due to a null signature calling convention. This occurred because `has_scalarized_args`, a flag whose value should be determined at runtime when regenerating the method adapter, was stored in ConstMethod and then archived. The resulting mismatch in a subsequent run meant the wrong `sig_cc` would be used. This change moves the flags in question into `method.hpp` and avoids dumping them so they can be properly regenerated at runtime. The test was verified locally and the changes were further verified with tier 1-5 tests. LGTM Thank you for the investigation you did on this bug. ------------- Marked as reviewed by fparain (Committer). PR Review: https://git.openjdk.org/valhalla/pull/1180#pullrequestreview-2199955557 From matsaave at openjdk.org Thu Jul 25 17:39:00 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Thu, 25 Jul 2024 17:39:00 GMT Subject: [lworld] RFR: 8329108: [lworld] valhalla/valuetypes/ObjectMethods.java fails with default CDS archive In-Reply-To: <1TyuwzeazE4aoBHdFgHAINuoza0q_kj6Kzgm-rIESxQ=.61fed2c1-abd8-4b44-87e0-e90ff95ea4c6@github.com> References: <1TyuwzeazE4aoBHdFgHAINuoza0q_kj6Kzgm-rIESxQ=.61fed2c1-abd8-4b44-87e0-e90ff95ea4c6@github.com> Message-ID: <9w2bD6QC1g-IQ5_6MB7vH-LWH1Q-aM9RaV_WEeeXfBg=.a5730a84-046d-4526-b6c7-a31a20c02763@github.com> On Thu, 25 Jul 2024 17:20:11 GMT, David Simms wrote: >> When this test was run after `java -Xshare:dump --enable-preview`, the test would crash due to a null signature calling convention. This occurred because `has_scalarized_args`, a flag whose value should be determined at runtime when regenerating the method adapter, was stored in ConstMethod and then archived. The resulting mismatch in a subsequent run meant the wrong `sig_cc` would be used. This change moves the flags in question into `method.hpp` and avoids dumping them so they can be properly regenerated at runtime. The test was verified locally and the changes were further verified with tier 1-5 tests. > > LGTM Thanks for the reviews @MrSimms and @fparain! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1180#issuecomment-2251045823 From duke at openjdk.org Thu Jul 25 17:39:00 2024 From: duke at openjdk.org (duke) Date: Thu, 25 Jul 2024 17:39:00 GMT Subject: [lworld] RFR: 8329108: [lworld] valhalla/valuetypes/ObjectMethods.java fails with default CDS archive In-Reply-To: References: Message-ID: On Wed, 24 Jul 2024 21:14:14 GMT, Matias Saavedra Silva wrote: > When this test was run after `java -Xshare:dump --enable-preview`, the test would crash due to a null signature calling convention. This occurred because `has_scalarized_args`, a flag whose value should be determined at runtime when regenerating the method adapter, was stored in ConstMethod and then archived. The resulting mismatch in a subsequent run meant the wrong `sig_cc` would be used. This change moves the flags in question into `method.hpp` and avoids dumping them so they can be properly regenerated at runtime. The test was verified locally and the changes were further verified with tier 1-5 tests. @matias9927 Your change (at version 44b23b5ac9a47f56b96a310fc2d74d7f84586c0e) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1180#issuecomment-2251047989 From matsaave at openjdk.org Thu Jul 25 17:39:00 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Thu, 25 Jul 2024 17:39:00 GMT Subject: [lworld] Integrated: 8329108: [lworld] valhalla/valuetypes/ObjectMethods.java fails with default CDS archive In-Reply-To: References: Message-ID: On Wed, 24 Jul 2024 21:14:14 GMT, Matias Saavedra Silva wrote: > When this test was run after `java -Xshare:dump --enable-preview`, the test would crash due to a null signature calling convention. This occurred because `has_scalarized_args`, a flag whose value should be determined at runtime when regenerating the method adapter, was stored in ConstMethod and then archived. The resulting mismatch in a subsequent run meant the wrong `sig_cc` would be used. This change moves the flags in question into `method.hpp` and avoids dumping them so they can be properly regenerated at runtime. The test was verified locally and the changes were further verified with tier 1-5 tests. This pull request has now been integrated. Changeset: 9f3f535b Author: Matias Saavedra Silva Committer: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/9f3f535b72857453c02a7c0af1ef9415dd1048bb Stats: 19 lines in 7 files changed: 6 ins; 11 del; 2 mod 8329108: [lworld] valhalla/valuetypes/ObjectMethods.java fails with default CDS archive Reviewed-by: dsimms, fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1180 From rriggs at openjdk.org Thu Jul 25 19:14:24 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 25 Jul 2024 19:14:24 GMT Subject: [lworld] RFR: 8336669: [lworld] Some Collection tests fail when run with migrated classes because they assume wrapper classes instances have identity [v2] In-Reply-To: References: Message-ID: > Updated tests not not assume Integer has identity. > > modified: test/jdk/java/util/Collection/IteratorAtEnd.java > modified: test/jdk/java/util/Collections/CheckedIdentityMap.java > modified: test/jdk/java/util/Collections/CheckedListBash.java > modified: test/jdk/java/util/HashMap/ToArray.java > modified: test/jdk/java/util/Map/Get.java > modified: test/jdk/java/util/Map/LockStep.java > modified: test/jdk/java/util/Map/ToArray.java Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Cleanup per review comments; Thanks ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1181/files - new: https://git.openjdk.org/valhalla/pull/1181/files/06765580..db443764 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1181&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1181&range=00-01 Stats: 14 lines in 4 files changed: 0 ins; 9 del; 5 mod Patch: https://git.openjdk.org/valhalla/pull/1181.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1181/head:pull/1181 PR: https://git.openjdk.org/valhalla/pull/1181 From forax at openjdk.org Thu Jul 25 19:49:49 2024 From: forax at openjdk.org (=?UTF-8?B?UsOpbWk=?= Forax) Date: Thu, 25 Jul 2024 19:49:49 GMT Subject: [lworld] RFR: 8336669: [lworld] Some Collection tests fail when run with migrated classes because they assume wrapper classes instances have identity [v2] In-Reply-To: References: Message-ID: On Thu, 25 Jul 2024 19:14:24 GMT, Roger Riggs wrote: >> Updated tests not not assume Integer has identity. >> >> modified: test/jdk/java/util/Collection/IteratorAtEnd.java >> modified: test/jdk/java/util/Collections/CheckedIdentityMap.java >> modified: test/jdk/java/util/Collections/CheckedListBash.java >> modified: test/jdk/java/util/HashMap/ToArray.java >> modified: test/jdk/java/util/Map/Get.java >> modified: test/jdk/java/util/Map/LockStep.java >> modified: test/jdk/java/util/Map/ToArray.java > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Cleanup per review comments; Thanks Looks good to me ------------- Marked as reviewed by forax (no project role). PR Review: https://git.openjdk.org/valhalla/pull/1181#pullrequestreview-2200275356 From rriggs at openjdk.org Thu Jul 25 20:35:00 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 25 Jul 2024 20:35:00 GMT Subject: [lworld] RFR: 8336747: [lworld] Test TestPrimitiveAndArrayModifiers.java fails because of the ACC_IDENTITY flag Message-ID: Include IDENTITY when checking the modifiers on arrays when --enable-preview ------------- Commit messages: - 8336747: [lworld] Test TestPrimitiveAndArrayModifiers.java fails because of the ACC_IDENTITY flag Changes: https://git.openjdk.org/valhalla/pull/1183/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1183&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336747 Stats: 10 lines in 1 file changed: 9 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1183.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1183/head:pull/1183 PR: https://git.openjdk.org/valhalla/pull/1183 From thartmann at openjdk.org Fri Jul 26 06:45:45 2024 From: thartmann at openjdk.org (Tobias Hartmann) Date: Fri, 26 Jul 2024 06:45:45 GMT Subject: [lworld] Integrated: 8337210: [lworld] Incorrect IC check leads to continuous cache misses In-Reply-To: References: Message-ID: On Thu, 25 Jul 2024 13:21:37 GMT, Tobias Hartmann wrote: > Fixes an incorrect merge of [JDK-8322630](https://bugs.openjdk.org/browse/JDK-8322630) into Valhalla, breaking IC miss resolution and leading to continuous re-resolution of IC calls. > > Incorrect IC check: > > 0x7f9184adfd04: mov 0x8(%rsi),%r10d > 0x7f9184adfd08: cmp %r10,%rax > 0x7f9184adfd0b: jne 0x7f918465b520 > > > Correct IC check: > > 0x7f2b90ae1d04: mov 0x8(%rsi),%r10d > 0x7f2b90ae1d08: cmp 0x8(%rax),%r10d > 0x7f2b90ae1d0c: jne 0x00007f2b9065a820 > > > I intentionally left out the test that reproduces this because it's a very specific issue and the test would require parsing the output of `-XX:+TraceCallFixup` which is error prone (stress flags might trigger resolution unexpectedly). > > Thanks to @chhagedorn for helping to narrow this down! > > Thanks, > Tobias This pull request has now been integrated. Changeset: a01f6daf Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/a01f6daf1485d882e8810c3d8c3d108f5bbf477d Stats: 20 lines in 3 files changed: 0 ins; 18 del; 2 mod 8337210: [lworld] Incorrect IC check leads to continuous cache misses ------------- PR: https://git.openjdk.org/valhalla/pull/1182 From dsimms at openjdk.org Fri Jul 26 07:09:59 2024 From: dsimms at openjdk.org (David Simms) Date: Fri, 26 Jul 2024 07:09:59 GMT Subject: [lworld] Integrated: 8337115: [lworld] Whitebox API does not require --enable-preview Message-ID: Remove enable preview for WhiteBox, and some unnecessary @build InstructionHelper (its in the test lib already) ------------- Commit messages: - 8337115: [lworld] Whitebox API does not require --enable-preview Changes: https://git.openjdk.org/valhalla/pull/1184/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1184&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8337115 Stats: 20 lines in 16 files changed: 0 ins; 20 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1184.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1184/head:pull/1184 PR: https://git.openjdk.org/valhalla/pull/1184 From dsimms at openjdk.org Fri Jul 26 07:10:00 2024 From: dsimms at openjdk.org (David Simms) Date: Fri, 26 Jul 2024 07:10:00 GMT Subject: [lworld] Integrated: 8337115: [lworld] Whitebox API does not require --enable-preview In-Reply-To: References: Message-ID: On Fri, 26 Jul 2024 07:01:12 GMT, David Simms wrote: > Remove enable preview for WhiteBox, and some unnecessary @build InstructionHelper (its in the test lib already) This pull request has now been integrated. Changeset: 94414bc0 Author: David Simms URL: https://git.openjdk.org/valhalla/commit/94414bc0be1b8bfca177a0b5360c15288c9cca2e Stats: 20 lines in 16 files changed: 0 ins; 20 del; 0 mod 8337115: [lworld] Whitebox API does not require --enable-preview ------------- PR: https://git.openjdk.org/valhalla/pull/1184 From dsimms at openjdk.org Fri Jul 26 07:12:45 2024 From: dsimms at openjdk.org (David Simms) Date: Fri, 26 Jul 2024 07:12:45 GMT Subject: [lworld] RFR: 8336747: [lworld] Test TestPrimitiveAndArrayModifiers.java fails because of the ACC_IDENTITY flag In-Reply-To: References: Message-ID: On Thu, 25 Jul 2024 20:30:13 GMT, Roger Riggs wrote: > Include IDENTITY when checking the modifiers on arrays when --enable-preview LGTM ------------- Marked as reviewed by dsimms (Committer). PR Review: https://git.openjdk.org/valhalla/pull/1183#pullrequestreview-2201096360 From dsimms at openjdk.org Fri Jul 26 07:13:36 2024 From: dsimms at openjdk.org (David Simms) Date: Fri, 26 Jul 2024 07:13:36 GMT Subject: [lworld] Integrated: Merge jdk Message-ID: <9apQ4gnp1z07Y3B8W8pVPd6WA_3MqCNPIqV-SHlRnCg=.2a0c1f57-3a59-4ef3-9ed8-8871ebb531ed@github.com> Merge jdk-23+11 ------------- Commit messages: - Merge branch 'lworld' into lworld_merge_jdk_23_11 - Tests using SUPER with enablePreview on (needs to be IDENTITY) - Merge tag 'jdk-23+11' into lworld_merge_jdk_23_11 - 8326461: tools/jlink/CheckExecutable.java fails as .debuginfo files are not executable - 8325870: Zap end padding bits for ArrayOops in non-release builds - 8326414: Serial: Inline SerialHeap::create_rem_set - 8323695: RenderPerf (2D) enhancements (23.12) - 8324243: Compilation failures in java.desktop module with gcc 14 - 8325342: Remove unneeded exceptions in compare.sh - 8326158: Javadoc for java.time.DayOfWeek#minus(long) - ... and 85 more: https://git.openjdk.org/valhalla/compare/9f9059c9...42c99c12 The webrevs contain the adjustments done while merging with regards to each parent branch: - lworld: https://webrevs.openjdk.org/?repo=valhalla&pr=1185&range=00.0 - jdk: https://webrevs.openjdk.org/?repo=valhalla&pr=1185&range=00.1 Changes: https://git.openjdk.org/valhalla/pull/1185/files Stats: 12286 lines in 327 files changed: 6370 ins; 3634 del; 2282 mod Patch: https://git.openjdk.org/valhalla/pull/1185.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1185/head:pull/1185 PR: https://git.openjdk.org/valhalla/pull/1185 From dsimms at openjdk.org Fri Jul 26 07:13:36 2024 From: dsimms at openjdk.org (David Simms) Date: Fri, 26 Jul 2024 07:13:36 GMT Subject: [lworld] Integrated: Merge jdk In-Reply-To: <9apQ4gnp1z07Y3B8W8pVPd6WA_3MqCNPIqV-SHlRnCg=.2a0c1f57-3a59-4ef3-9ed8-8871ebb531ed@github.com> References: <9apQ4gnp1z07Y3B8W8pVPd6WA_3MqCNPIqV-SHlRnCg=.2a0c1f57-3a59-4ef3-9ed8-8871ebb531ed@github.com> Message-ID: On Fri, 26 Jul 2024 07:06:55 GMT, David Simms wrote: > Merge jdk-23+11 This pull request has now been integrated. Changeset: 8aa58dae Author: David Simms URL: https://git.openjdk.org/valhalla/commit/8aa58dae0eb76d8387625dcb05ee1b50fdc80841 Stats: 12286 lines in 327 files changed: 6370 ins; 3634 del; 2282 mod Merge jdk Merge jdk-23+11 ------------- PR: https://git.openjdk.org/valhalla/pull/1185 From tobias.hartmann at oracle.com Fri Jul 26 09:02:39 2024 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 26 Jul 2024 11:02:39 +0200 Subject: CFV: New Valhalla Committer: Coleen Phillimore In-Reply-To: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> References: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> Message-ID: Vote: yes Best regards, Tobias On 24.07.24 15:44, Roger Riggs wrote: > I hereby nominate Coleen Phillimore [3] to Valhalla Committer. > > Coleen is a member of the HotSpot Runtime Team at Oracle, a JDK Reviewer, and committer to numerous projects including Loom, Lilliput, and Galahad. > > Since 2000, she has contributed over 1.2k changes to the JDK project [2] > > Votes are due by August 9th, 2024, 00:00 UTC. > > Only current Valhalla Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [4]. > > Roger Riggs > > [1] https://openjdk.org/census#valhalla > [2] https://github.com/search?q=committer-name%3A%22Coleen+Phillimore%22+repo%3Aopenjdk%2Fjdk&type=commits > [3] https://openjdk.org/census#coleenp > [4] https://openjdk.org/projects/#committer-vote > From rriggs at openjdk.org Fri Jul 26 13:34:50 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 26 Jul 2024 13:34:50 GMT Subject: [lworld] Integrated: 8336747: [lworld] Test TestPrimitiveAndArrayModifiers.java fails because of the ACC_IDENTITY flag In-Reply-To: References: Message-ID: On Thu, 25 Jul 2024 20:30:13 GMT, Roger Riggs wrote: > Include IDENTITY when checking the modifiers on arrays when --enable-preview This pull request has now been integrated. Changeset: 7b7cde67 Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/7b7cde67a40287db7eff79d4b7099cdeca19eae9 Stats: 10 lines in 1 file changed: 9 ins; 0 del; 1 mod 8336747: [lworld] Test TestPrimitiveAndArrayModifiers.java fails because of the ACC_IDENTITY flag Reviewed-by: dsimms ------------- PR: https://git.openjdk.org/valhalla/pull/1183 From rriggs at openjdk.org Fri Jul 26 13:34:50 2024 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 26 Jul 2024 13:34:50 GMT Subject: [lworld] Integrated: 8336669: [lworld] Some Collection tests fail when run with migrated classes because they assume wrapper classes instances have identity In-Reply-To: References: Message-ID: On Thu, 25 Jul 2024 11:29:21 GMT, Roger Riggs wrote: > Updated tests not not assume Integer has identity. > > modified: test/jdk/java/util/Collection/IteratorAtEnd.java > modified: test/jdk/java/util/Collections/CheckedIdentityMap.java > modified: test/jdk/java/util/Collections/CheckedListBash.java > modified: test/jdk/java/util/HashMap/ToArray.java > modified: test/jdk/java/util/Map/Get.java > modified: test/jdk/java/util/Map/LockStep.java > modified: test/jdk/java/util/Map/ToArray.java This pull request has now been integrated. Changeset: 6c8cc1e9 Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/6c8cc1e9bd929e7d866928f34960a8cc69d837d0 Stats: 106 lines in 7 files changed: 41 ins; 5 del; 60 mod 8336669: [lworld] Some Collection tests fail when run with migrated classes because they assume wrapper classes instances have identity Reviewed-by: forax ------------- PR: https://git.openjdk.org/valhalla/pull/1181 From vladimir.x.ivanov at oracle.com Fri Jul 26 18:45:23 2024 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Fri, 26 Jul 2024 11:45:23 -0700 Subject: CFV: New Valhalla Committer: Coleen Phillimore In-Reply-To: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> References: <88b00f9f-76b6-4c2c-aa2d-13833eede7db@oracle.com> Message-ID: Vote: yes Best regards, Vladimir Ivanov On 7/24/24 06:44, Roger Riggs wrote: > I hereby nominate Coleen Phillimore [3] to Valhalla Committer. From matsaave at openjdk.org Mon Jul 29 17:54:55 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Mon, 29 Jul 2024 17:54:55 GMT Subject: [lworld] RFR: 8328683: [lworld] CDS tests fail because "CDS is disabled when java.base module is patched" Message-ID: The following tests were reporting failures: runtime/cds/appcds/HelloInlineClassTest.java runtime/cds/appcds/RewriteBytecodesInlineTest.java runtime/cds/appcds/dynamicArchive/DynamicArchiveRelocationTest.java runtime/cds/appcds/dynamicArchive/HelloDynamicInlineClass.java runtime/cds/DeterministicDump.java Currently, all the above tests are no longer problem listed and only DeterministicDump.java was reporting a failure with `--enable-preview`. This patch once again makes CDS archives deterministic. Related tests were verified locally and the fix was verified with tier1-5 tests. ------------- Commit messages: - 8328683: [lworld] CDS tests fail because "CDS is disabled when java.base module is patched" Changes: https://git.openjdk.org/valhalla/pull/1186/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1186&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8328683 Stats: 9 lines in 1 file changed: 5 ins; 4 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1186.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1186/head:pull/1186 PR: https://git.openjdk.org/valhalla/pull/1186 From bkilambi at openjdk.org Tue Jul 30 13:48:47 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Tue, 30 Jul 2024 13:48:47 GMT Subject: [lworld+fp16] RFR: 8336406: Add support for FP16 binary operations In-Reply-To: References: Message-ID: On Tue, 23 Jul 2024 13:39:14 GMT, Bhavana Kilambi wrote: > This patch adds middle end support in C2 for a few FP16 binary operations, namely - subtract, multiply, divide, min and max. It also adds aarch64 backend support for these operations. > > Tested JTREG tests - > hotspot/jtreg/compiler/vectorization/TestFloat16VectorOps.java, hotspot/jtreg/compiler/vectorization/TestFloat16VectorReinterpretConv.java, hotspot/jtreg/compiler/intrinsics/float16 and test/jdk/java/lang/Float16 and they successfully pass on aarch64 and x86 machines. Hi @jatin-bhateja , can I please get some review for this patch? Thank you ! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1175#issuecomment-2258392540 From matsaave at openjdk.org Tue Jul 30 16:50:53 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Tue, 30 Jul 2024 16:50:53 GMT Subject: [lworld] RFR: 8333865: Unable to load static archive with --enable-preview Message-ID: <6Jv1RSgDulZXJ72UmHw08wxDJg9JL4FmPMULETEwgow=.3b25482f-432f-482e-b120-4dba04d993b1@github.com> Generation of Valhalla-enabled CDS archives was disabled and this patch enables this feature. Both a standard and Valhalla enabled archive will be created at build time. Verified with tier ------------- Commit messages: - 8333865: Unable to load static archive with --enable-preview Changes: https://git.openjdk.org/valhalla/pull/1187/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1187&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8333865 Stats: 6 lines in 1 file changed: 2 ins; 4 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/1187.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1187/head:pull/1187 PR: https://git.openjdk.org/valhalla/pull/1187 From jbhateja at openjdk.org Wed Jul 31 10:53:45 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Wed, 31 Jul 2024 10:53:45 GMT Subject: [lworld+fp16] RFR: 8336406: Add support for FP16 binary operations In-Reply-To: References: Message-ID: On Tue, 30 Jul 2024 13:45:47 GMT, Bhavana Kilambi wrote: >> This patch adds middle end support in C2 for a few FP16 binary operations, namely - subtract, multiply, divide, min and max. It also adds aarch64 backend support for these operations. >> >> Tested JTREG tests - >> hotspot/jtreg/compiler/vectorization/TestFloat16VectorOps.java, hotspot/jtreg/compiler/vectorization/TestFloat16VectorReinterpretConv.java, hotspot/jtreg/compiler/intrinsics/float16 and test/jdk/java/lang/Float16 and they successfully pass on aarch64 and x86 machines. > > Hi @jatin-bhateja , can I please get some review for this patch? Thank you ! Hi @Bhavana-Kilambi , Your patch looks good to me, just one comment. Once it gets integrated I will add x86 backend support for newly supported intrinsic. Best Regards, Jatin ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1175#issuecomment-2260232815 From jbhateja at openjdk.org Wed Jul 31 11:22:51 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Wed, 31 Jul 2024 11:22:51 GMT Subject: [lworld+vector] Integrated: Merge lworld Message-ID: Bring lworld+vector at par with latest lworld+codebase. Validation Status Quo:- - All Valhalla JTRegs are passing with and w/o DeoptimizeALot. - All Vector API tests are passing at various AVX levels with default options. Best Regards, Jatin ------------- Commit messages: - Merge branch 'lworld' of http://github.com/openjdk/valhalla into merge_lworld_new - Merge lworld - Merge lworld - JDK 8327435: [lworld+vector] Align existing Vector API support with JEP 401 - Merge lworld - 8319945: [lworld+vector] Fix vector api jtreg crash with "-XX:-EnableVectorSupport" - 8319972: [lworld+vector] Enable intrinsification of Unsafe.finishPrivateBuffer. - 8319971: [lworld+vector] Fallback implementation cleanups. - 8311675: [lworld+vector] Max Species support. - 8317699: [lworld+vector] Fix Vector API tests crash with "assert(vbox->is_Phi()) failed: should be phi" - ... and 12 more: https://git.openjdk.org/valhalla/compare/6c8cc1e9...7c42fa77 The merge commit only contains trivial merges, so no merge-specific webrevs have been generated. Changes: https://git.openjdk.org/valhalla/pull/1188/files Stats: 12001 lines in 267 files changed: 4611 ins; 2658 del; 4732 mod Patch: https://git.openjdk.org/valhalla/pull/1188.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1188/head:pull/1188 PR: https://git.openjdk.org/valhalla/pull/1188 From jbhateja at openjdk.org Wed Jul 31 11:22:52 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Wed, 31 Jul 2024 11:22:52 GMT Subject: [lworld+vector] Integrated: Merge lworld In-Reply-To: References: Message-ID: <3KHvknM8Ddo4up7MxHIbuyKqCigAHEAzXSQ-KTWdO8M=.660f8e10-4140-4b0b-8b91-f2d6d50a9d36@github.com> On Wed, 31 Jul 2024 11:16:37 GMT, Jatin Bhateja wrote: > Bring lworld+vector at par with latest lworld+codebase. > > Validation Status Quo:- > - All Valhalla JTRegs are passing with and w/o DeoptimizeALot. > - All Vector API tests are passing at various AVX levels with default options. > > Best Regards, > Jatin This pull request has now been integrated. Changeset: 802a7fe0 Author: Jatin Bhateja URL: https://git.openjdk.org/valhalla/commit/802a7fe04431a2510ceeff3641cb6365423ef9e7 Stats: 12810 lines in 378 files changed: 6562 ins; 3741 del; 2507 mod Merge lworld ------------- PR: https://git.openjdk.org/valhalla/pull/1188 From jbhateja at openjdk.org Wed Jul 31 11:23:51 2024 From: jbhateja at openjdk.org (Jatin Bhateja) Date: Wed, 31 Jul 2024 11:23:51 GMT Subject: [lworld+fp16] RFR: 8336406: Add support for FP16 binary operations In-Reply-To: References: Message-ID: <31RCTouYHyzuCeq2DzhlXeh_0jGeqzjFoNwmPJ64H-w=.0b943171-703b-4d62-b362-263b8eac3977@github.com> On Tue, 23 Jul 2024 13:39:14 GMT, Bhavana Kilambi wrote: > This patch adds middle end support in C2 for a few FP16 binary operations, namely - subtract, multiply, divide, min and max. It also adds aarch64 backend support for these operations. > > Tested JTREG tests - > hotspot/jtreg/compiler/vectorization/TestFloat16VectorOps.java, hotspot/jtreg/compiler/vectorization/TestFloat16VectorReinterpretConv.java, hotspot/jtreg/compiler/intrinsics/float16 and test/jdk/java/lang/Float16 and they successfully pass on aarch64 and x86 machines. src/hotspot/share/opto/mulnode.hpp line 149: > 147: // Multiply 2 half floats > 148: class MulHFNode : public MulFNode { > 149: public: While its good to use MulFNode constant folding (Value) routines and generic Ideal transforms, we should skip any specific Idealization transformations which may end up generating purely [floating point IR](https://github.com/openjdk/valhalla/blob/lworld%2Bfp16/src/hotspot/share/opto/mulnode.cpp#L547) ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1175#discussion_r1698261514 From thartmann at openjdk.org Wed Jul 31 13:38:09 2024 From: thartmann at openjdk.org (Tobias Hartmann) Date: Wed, 31 Jul 2024 13:38:09 GMT Subject: [lworld] RFR: 8325106: [lworld] Part 3: Prepare compiler implementation and tests for JEP 401 Message-ID: A large number of leftover cleanups, enhancements and smaller fixes from the JEP 401 transition changes ([JDK-8324949](https://bugs.openjdk.org/browse/JDK-8324949), [JDK-8325660](https://bugs.openjdk.org/browse/JDK-8325660) and [JDK-8333037](https://bugs.openjdk.org/browse/JDK-8333037)). There are a few remaining issues but I filed separate bugs for those. Thanks, Tobias ------------- Commit messages: - More fixes - Removed unused code from PhaseMacroExpand::can_eliminate_allocation - Merge branch 'lworld' into JDK-8325106 - Merge branch 'lworld' into JDK-8325106 - And even more fixes - Aaand more fixes - More fixes - Putfield and buffering refactoring - Using C2_TIGHTLY_COUPLED_ALLOC - More changes - ... and 2 more: https://git.openjdk.org/valhalla/compare/8aa58dae...1b24eac9 Changes: https://git.openjdk.org/valhalla/pull/1189/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1189&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8325106 Stats: 359 lines in 25 files changed: 72 ins; 187 del; 100 mod Patch: https://git.openjdk.org/valhalla/pull/1189.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1189/head:pull/1189 PR: https://git.openjdk.org/valhalla/pull/1189 From bkilambi at openjdk.org Wed Jul 31 14:49:51 2024 From: bkilambi at openjdk.org (Bhavana Kilambi) Date: Wed, 31 Jul 2024 14:49:51 GMT Subject: [lworld+fp16] RFR: 8336406: Add support for FP16 binary operations In-Reply-To: <31RCTouYHyzuCeq2DzhlXeh_0jGeqzjFoNwmPJ64H-w=.0b943171-703b-4d62-b362-263b8eac3977@github.com> References: <31RCTouYHyzuCeq2DzhlXeh_0jGeqzjFoNwmPJ64H-w=.0b943171-703b-4d62-b362-263b8eac3977@github.com> Message-ID: On Wed, 31 Jul 2024 10:11:29 GMT, Jatin Bhateja wrote: >> This patch adds middle end support in C2 for a few FP16 binary operations, namely - subtract, multiply, divide, min and max. It also adds aarch64 backend support for these operations. >> >> Tested JTREG tests - >> hotspot/jtreg/compiler/vectorization/TestFloat16VectorOps.java, hotspot/jtreg/compiler/vectorization/TestFloat16VectorReinterpretConv.java, hotspot/jtreg/compiler/intrinsics/float16 and test/jdk/java/lang/Float16 and they successfully pass on aarch64 and x86 machines. > > src/hotspot/share/opto/mulnode.hpp line 149: > >> 147: // Multiply 2 half floats >> 148: class MulHFNode : public MulFNode { >> 149: public: > > While its good to use MulFNode constant folding (Value) routines and generic Ideal transforms, we should skip any specific Idealization transformations which may end up generating purely [floating point IR](https://github.com/openjdk/valhalla/blob/lworld%2Bfp16/src/hotspot/share/opto/mulnode.cpp#L547) Thank you for the review. I agree with your point and somehow missed this. I will make changes and upload a new PS soon. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1175#discussion_r1698650323 From bronee at gmail.com Wed Jul 31 16:11:37 2024 From: bronee at gmail.com (Brian S O'Neill) Date: Wed, 31 Jul 2024 09:11:37 -0700 Subject: JVM crash with primitive type in LoadableDescriptors attribute Message-ID: I'm experimenting with generating value classes, and I decided to see what happens when I put a primitive type ("I") into the LoadableDescriptors attribute. The JVM goes boom when loading the class. Using other odd descriptors like arrays, primitive arrays, etc. just causes a warning to be logged, which is harmless. # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fff7a25166e, pid=6704, tid=8744 # # JRE version: OpenJDK Runtime Environment (23.0+1) (build 23-valhalla+1-90) # Java VM: OpenJDK 64-Bit Server VM (23-valhalla+1-90, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) # Problematic frame: # C 0x00007fff7a25166e # # No core dump will be written. Minidumps are not enabled by default on client versions of Windows # # An error report file with more information is saved as: # xxxx hs_err_pid6704.log # # If you would like to submit a bug report, please visit: # https://bugreport.java.com/bugreport/crash.jsp # [error occurred during error reporting (), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fffa2b75bb6] From frederic.parain at oracle.com Wed Jul 31 17:33:31 2024 From: frederic.parain at oracle.com (Frederic Parain) Date: Wed, 31 Jul 2024 13:33:31 -0400 Subject: JVM crash with primitive type in LoadableDescriptors attribute In-Reply-To: References: Message-ID: Hi Brian, Thank you for reporting this issue. I've created https://bugs.openjdk.org/browse/JDK-8337585 to track it. There's already a proposed fix for it here: https://github.com/openjdk/valhalla/pull/1190 Best Regards, Fred On 7/31/24 12:11, Brian S O'Neill wrote: > I'm experimenting with generating value classes, and I decided to see > what happens when I put a primitive type ("I") into the > LoadableDescriptors attribute. The JVM goes boom when loading the class. > > Using other odd descriptors like arrays, primitive arrays, etc. just > causes a warning to be logged, which is harmless. > > # > # A fatal error has been detected by the Java Runtime Environment: > # > #? EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fff7a25166e, > pid=6704, tid=8744 > # > # JRE version: OpenJDK Runtime Environment (23.0+1) (build > 23-valhalla+1-90) > # Java VM: OpenJDK 64-Bit Server VM (23-valhalla+1-90, mixed mode, > tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) > # Problematic frame: > # C? 0x00007fff7a25166e > # > # No core dump will be written. Minidumps are not enabled by default > on client versions of Windows > # > # An error report file with more information is saved as: > # xxxx hs_err_pid6704.log > # > # If you would like to submit a bug report, please visit: > #?? https://bugreport.java.com/bugreport/crash.jsp > # > > [error occurred during error reporting (), id 0xc0000005, > EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fffa2b75bb6] From fparain at openjdk.org Wed Jul 31 17:35:19 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 31 Jul 2024 17:35:19 GMT Subject: [lworld] RFR: 8337585: [lworld] VM crashes if primitive type signatures are present in the LoadableDescriptors attribute Message-ID: Prevent VM crash when LoadableDescriptor attribute contains signature of primitive types. ------------- Commit messages: - Support primitive descriptors in LoadableDescriptors attribute Changes: https://git.openjdk.org/valhalla/pull/1190/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1190&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8337585 Stats: 116 lines in 3 files changed: 115 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1190.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1190/head:pull/1190 PR: https://git.openjdk.org/valhalla/pull/1190 From fparain at openjdk.org Wed Jul 31 17:40:44 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 31 Jul 2024 17:40:44 GMT Subject: [lworld] RFR: 8333865: Unable to load static archive with --enable-preview In-Reply-To: <6Jv1RSgDulZXJ72UmHw08wxDJg9JL4FmPMULETEwgow=.3b25482f-432f-482e-b120-4dba04d993b1@github.com> References: <6Jv1RSgDulZXJ72UmHw08wxDJg9JL4FmPMULETEwgow=.3b25482f-432f-482e-b120-4dba04d993b1@github.com> Message-ID: <-yLcjGrL8sFi3DLa54bI_AzZun-znq00NlFtLwOHifk=.6be79147-cb13-4e8c-94b3-600774f323a1@github.com> On Mon, 29 Jul 2024 19:41:34 GMT, Matias Saavedra Silva wrote: > Generation of Valhalla-enabled CDS archives was disabled and this patch enables this feature. Both a standard and Valhalla enabled archive will be created at build time. Verified with tier Marked as reviewed by fparain (Committer). ------------- PR Review: https://git.openjdk.org/valhalla/pull/1187#pullrequestreview-2210767685 From fparain at openjdk.org Wed Jul 31 17:41:39 2024 From: fparain at openjdk.org (Frederic Parain) Date: Wed, 31 Jul 2024 17:41:39 GMT Subject: [lworld] RFR: 8328683: [lworld] CDS tests fail because "CDS is disabled when java.base module is patched" In-Reply-To: References: Message-ID: On Mon, 29 Jul 2024 17:50:24 GMT, Matias Saavedra Silva wrote: > The following tests were reporting failures: > runtime/cds/appcds/HelloInlineClassTest.java > runtime/cds/appcds/RewriteBytecodesInlineTest.java > runtime/cds/appcds/dynamicArchive/DynamicArchiveRelocationTest.java > runtime/cds/appcds/dynamicArchive/HelloDynamicInlineClass.java > runtime/cds/DeterministicDump.java > > Currently, all the above tests are no longer problem listed and only DeterministicDump.java was reporting a failure with `--enable-preview`. This patch once again makes CDS archives deterministic. Related tests were verified locally and the fix was verified with tier1-5 tests. Marked as reviewed by fparain (Committer). ------------- PR Review: https://git.openjdk.org/valhalla/pull/1186#pullrequestreview-2210769674 From matsaave at openjdk.org Wed Jul 31 18:25:44 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Wed, 31 Jul 2024 18:25:44 GMT Subject: [lworld] RFR: 8328683: [lworld] CDS tests fail because "CDS is disabled when java.base module is patched" In-Reply-To: References: Message-ID: On Wed, 31 Jul 2024 17:39:30 GMT, Frederic Parain wrote: >> The following tests were reporting failures: >> runtime/cds/appcds/HelloInlineClassTest.java >> runtime/cds/appcds/RewriteBytecodesInlineTest.java >> runtime/cds/appcds/dynamicArchive/DynamicArchiveRelocationTest.java >> runtime/cds/appcds/dynamicArchive/HelloDynamicInlineClass.java >> runtime/cds/DeterministicDump.java >> >> Currently, all the above tests are no longer problem listed and only DeterministicDump.java was reporting a failure with `--enable-preview`. This patch once again makes CDS archives deterministic. Related tests were verified locally and the fix was verified with tier1-5 tests. > > Marked as reviewed by fparain (Committer). Thanks for the review @fparain! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1186#issuecomment-2261142999 From duke at openjdk.org Wed Jul 31 18:25:44 2024 From: duke at openjdk.org (duke) Date: Wed, 31 Jul 2024 18:25:44 GMT Subject: [lworld] RFR: 8328683: [lworld] CDS tests fail because "CDS is disabled when java.base module is patched" In-Reply-To: References: Message-ID: On Mon, 29 Jul 2024 17:50:24 GMT, Matias Saavedra Silva wrote: > The following tests were reporting failures: > runtime/cds/appcds/HelloInlineClassTest.java > runtime/cds/appcds/RewriteBytecodesInlineTest.java > runtime/cds/appcds/dynamicArchive/DynamicArchiveRelocationTest.java > runtime/cds/appcds/dynamicArchive/HelloDynamicInlineClass.java > runtime/cds/DeterministicDump.java > > Currently, all the above tests are no longer problem listed and only DeterministicDump.java was reporting a failure with `--enable-preview`. This patch once again makes CDS archives deterministic. Related tests were verified locally and the fix was verified with tier1-5 tests. @matias9927 Your change (at version 7c75fc30fa0a2624be354b7f25446973a8209ee7) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1186#issuecomment-2261146641 From matsaave at openjdk.org Wed Jul 31 18:50:48 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Wed, 31 Jul 2024 18:50:48 GMT Subject: [lworld] RFR: 8333865: Unable to load static archive with --enable-preview In-Reply-To: <-yLcjGrL8sFi3DLa54bI_AzZun-znq00NlFtLwOHifk=.6be79147-cb13-4e8c-94b3-600774f323a1@github.com> References: <6Jv1RSgDulZXJ72UmHw08wxDJg9JL4FmPMULETEwgow=.3b25482f-432f-482e-b120-4dba04d993b1@github.com> <-yLcjGrL8sFi3DLa54bI_AzZun-znq00NlFtLwOHifk=.6be79147-cb13-4e8c-94b3-600774f323a1@github.com> Message-ID: On Wed, 31 Jul 2024 17:38:20 GMT, Frederic Parain wrote: >> Generation of Valhalla-enabled CDS archives was disabled and this patch enables this feature. Both a standard and Valhalla enabled archive will be created at build time. Verified with tier > > Marked as reviewed by fparain (Committer). Thanks for the review @fparain! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1187#issuecomment-2261184192 From duke at openjdk.org Wed Jul 31 18:50:48 2024 From: duke at openjdk.org (duke) Date: Wed, 31 Jul 2024 18:50:48 GMT Subject: [lworld] RFR: 8333865: Unable to load static archive with --enable-preview In-Reply-To: <6Jv1RSgDulZXJ72UmHw08wxDJg9JL4FmPMULETEwgow=.3b25482f-432f-482e-b120-4dba04d993b1@github.com> References: <6Jv1RSgDulZXJ72UmHw08wxDJg9JL4FmPMULETEwgow=.3b25482f-432f-482e-b120-4dba04d993b1@github.com> Message-ID: On Mon, 29 Jul 2024 19:41:34 GMT, Matias Saavedra Silva wrote: > Generation of Valhalla-enabled CDS archives was disabled and this patch enables this feature. Both a standard and Valhalla enabled archive will be created at build time. Verified with tier @matias9927 Your change (at version a0025a99583ed9a7b198a43fab9e6ddbd7aba784) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1187#issuecomment-2261185913 From matsaave at openjdk.org Wed Jul 31 18:55:40 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Wed, 31 Jul 2024 18:55:40 GMT Subject: [lworld] Integrated: 8333865: Unable to load static archive with --enable-preview In-Reply-To: <6Jv1RSgDulZXJ72UmHw08wxDJg9JL4FmPMULETEwgow=.3b25482f-432f-482e-b120-4dba04d993b1@github.com> References: <6Jv1RSgDulZXJ72UmHw08wxDJg9JL4FmPMULETEwgow=.3b25482f-432f-482e-b120-4dba04d993b1@github.com> Message-ID: On Mon, 29 Jul 2024 19:41:34 GMT, Matias Saavedra Silva wrote: > Generation of Valhalla-enabled CDS archives was disabled and this patch enables this feature. Both a standard and Valhalla enabled archive will be created at build time. Verified with tier This pull request has now been integrated. Changeset: 7970eb02 Author: Matias Saavedra Silva Committer: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/7970eb0218017497271ce8ecddc877b6f4f23690 Stats: 6 lines in 1 file changed: 2 ins; 4 del; 0 mod 8333865: Unable to load static archive with --enable-preview Reviewed-by: fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1187 From matsaave at openjdk.org Wed Jul 31 18:57:40 2024 From: matsaave at openjdk.org (Matias Saavedra Silva) Date: Wed, 31 Jul 2024 18:57:40 GMT Subject: [lworld] Integrated: 8328683: [lworld] CDS tests fail because "CDS is disabled when java.base module is patched" In-Reply-To: References: Message-ID: On Mon, 29 Jul 2024 17:50:24 GMT, Matias Saavedra Silva wrote: > The following tests were reporting failures: > runtime/cds/appcds/HelloInlineClassTest.java > runtime/cds/appcds/RewriteBytecodesInlineTest.java > runtime/cds/appcds/dynamicArchive/DynamicArchiveRelocationTest.java > runtime/cds/appcds/dynamicArchive/HelloDynamicInlineClass.java > runtime/cds/DeterministicDump.java > > Currently, all the above tests are no longer problem listed and only DeterministicDump.java was reporting a failure with `--enable-preview`. This patch once again makes CDS archives deterministic. Related tests were verified locally and the fix was verified with tier1-5 tests. This pull request has now been integrated. Changeset: 510d71dd Author: Matias Saavedra Silva Committer: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/510d71ddeea3734d79b1b88a5003dc17770eaee1 Stats: 9 lines in 1 file changed: 5 ins; 4 del; 0 mod 8328683: [lworld] CDS tests fail because "CDS is disabled when java.base module is patched" Reviewed-by: fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1186 From coleenp at openjdk.org Wed Jul 31 19:15:39 2024 From: coleenp at openjdk.org (Coleen Phillimore) Date: Wed, 31 Jul 2024 19:15:39 GMT Subject: [lworld] RFR: 8337585: [lworld] VM crashes if primitive type signatures are present in the LoadableDescriptors attribute In-Reply-To: References: Message-ID: <-gHEuWyMrQ86zTtAeA-YonwWQdANejRR4NBtAMk-Wls=.f72bdeea-bc24-4a5f-9720-494920410c77@github.com> On Wed, 31 Jul 2024 17:29:24 GMT, Frederic Parain wrote: > Prevent VM crash when LoadableDescriptor attribute contains signature of primitive types. So you just ignore a non-class name in the LoadableDescriptors. Looks good. ------------- Marked as reviewed by coleenp (no project role). PR Review: https://git.openjdk.org/valhalla/pull/1190#pullrequestreview-2210942692 From darcy at openjdk.org Wed Jul 31 21:25:15 2024 From: darcy at openjdk.org (Joe Darcy) Date: Wed, 31 Jul 2024 21:25:15 GMT Subject: [lworld+fp16] RFR: 8334432: Refine Float16.fma [v2] In-Reply-To: References: Message-ID: > Adding comments and test cases for Float16.fma. Joe Darcy has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Respond to review feedback. - Merge branch 'lworld+fp16' into JDK-8334432 - JDK-8334432: Refine Float16.fma ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1143/files - new: https://git.openjdk.org/valhalla/pull/1143/files/2a321de9..ce044ce2 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1143&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1143&range=00-01 Stats: 1433 lines in 39 files changed: 648 ins; 52 del; 733 mod Patch: https://git.openjdk.org/valhalla/pull/1143.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1143/head:pull/1143 PR: https://git.openjdk.org/valhalla/pull/1143 From darcy at openjdk.org Wed Jul 31 21:25:15 2024 From: darcy at openjdk.org (Joe Darcy) Date: Wed, 31 Jul 2024 21:25:15 GMT Subject: [lworld+fp16] RFR: 8334432: Refine Float16.fma In-Reply-To: References: Message-ID: On Fri, 21 Jun 2024 04:36:52 GMT, Joe Darcy wrote: > Adding comments and test cases for Float16.fma. Getting back to this PR, I pushed an update to the explanation about why Float16 fma is double arithmetic is sufficient and an initial update of the tests. More test augmentation as previously discussed on the way. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1143#issuecomment-2261483729 From duke at openjdk.org Wed Jul 31 23:19:47 2024 From: duke at openjdk.org (duke) Date: Wed, 31 Jul 2024 23:19:47 GMT Subject: [lworld] Withdrawn: 8239003: [lworld] C2 should respect larval state when scalarizing In-Reply-To: <16qIwcpMwfghKHL2RR1lEsLJpBCgzuSe0ddBYD82MdM=.6339369a-ba8f-43da-beed-28525704e289@github.com> References: <16qIwcpMwfghKHL2RR1lEsLJpBCgzuSe0ddBYD82MdM=.6339369a-ba8f-43da-beed-28525704e289@github.com> Message-ID: On Wed, 20 Dec 2023 13:34:08 GMT, Jatin Bhateja wrote: > Hi All, > > Patch addresses issues around unsafe updates to value objects within a loop and larval state preservation by suppressing > scalarization of value objects in larval state. > > Since Unsafe.put* APIs returns a void, hence it does not alter JVM state. Due to this ciTypeFlow dataflow analysis does > not encounter an inductive definition corresponding to updated value object within the loop, due to this C2 parser misses > creating an inductive phi node on encountering loop header block. > > In order to maintain IR compliance with ciTypeFlow analysis C2 should prevent scalarizing value object b/w make and finish > private buffer calls. > > New behavior of unsafe inline expanders > > * makePrivate: Receive InlineTypeNode input and return initialized buffer in larval state. > * finishPrivateBuffer: Receive value object buffer input and return rematerialize InlineTypeNode in non-larval state. > This may result into creation of unbalanced phi node at control flow merges where one of the phi input may InlineTypeNode > and other is a buffer of compatible value type, but the IR still remains valid. > > In addition compiler is now preventing elimination of allocation in larval state. > > Validation Status:- > > All the Valhalla JTREG tests are passing at various AVX level with / wo -XX:+DoptimizeALot. > > Kindly review and share your feedback. > > Best Regards, > Jatin This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.org/valhalla/pull/964