From thartmann at openjdk.org Thu Sep 1 09:39:01 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Thu, 1 Sep 2022 09:39:01 GMT Subject: [lworld] RFR: 8293173: [lworld] Fully apply refactoring from JDK-8275201 to Valhalla Message-ID: When merging master into Valhalla, we omitted/disabled some of the refactoring from [JDK-8275201](https://bugs.openjdk.org/browse/JDK-8275201) (and old [JDK-8266550](https://bugs.openjdk.org/browse/JDK-8266550)) for simplicity because it affects new, Valhalla specific code. This change applies the required changes. Best regards, Tobias ------------- Commit messages: - 8293173: [lworld] Fully apply refactoring from JDK-8275201 to Valhalla Changes: https://git.openjdk.org/valhalla/pull/736/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=736&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293173 Stats: 131 lines in 10 files changed: 33 ins; 54 del; 44 mod Patch: https://git.openjdk.org/valhalla/pull/736.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/736/head:pull/736 PR: https://git.openjdk.org/valhalla/pull/736 From thartmann at openjdk.org Thu Sep 1 09:46:34 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Thu, 1 Sep 2022 09:46:34 GMT Subject: [lworld] Integrated: 8293173: [lworld] Fully apply refactoring from JDK-8275201 to Valhalla In-Reply-To: References: Message-ID: On Thu, 1 Sep 2022 09:33:11 GMT, Tobias Hartmann wrote: > When merging master into Valhalla, we omitted/disabled some of the refactoring from [JDK-8275201](https://bugs.openjdk.org/browse/JDK-8275201) (and old [JDK-8266550](https://bugs.openjdk.org/browse/JDK-8266550)) for simplicity because it affects new, Valhalla specific code. This change applies the required changes. > > Best regards, > Tobias This pull request has now been integrated. Changeset: af6d76ab Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/af6d76ab1b140c22b3d7a36c24de9cffc7daf47f Stats: 131 lines in 10 files changed: 33 ins; 54 del; 44 mod 8293173: [lworld] Fully apply refactoring from JDK-8275201 to Valhalla ------------- PR: https://git.openjdk.org/valhalla/pull/736 From thartmann at openjdk.org Thu Sep 1 09:55:05 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Thu, 1 Sep 2022 09:55:05 GMT Subject: [lworld] RFR: 8293172: [lworld] Folding of default value loads is broken Message-ID: While working on the merge, I noticed that the constant folding of the default value load in C2 is broken and none of our tests caught it. This change fixes the incorrect `tkls->isa_inlinetype()` check than can never be true and adds a regression test. Best regards, Tobias ------------- Commit messages: - 8293172: [lworld] Folding of default value loads is broken Changes: https://git.openjdk.org/valhalla/pull/737/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=737&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293172 Stats: 6 lines in 2 files changed: 1 ins; 3 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/737.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/737/head:pull/737 PR: https://git.openjdk.org/valhalla/pull/737 From thartmann at openjdk.org Thu Sep 1 12:30:20 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Thu, 1 Sep 2022 12:30:20 GMT Subject: [lworld] Integrated: 8293172: [lworld] Folding of default value loads is broken In-Reply-To: References: Message-ID: On Thu, 1 Sep 2022 09:48:23 GMT, Tobias Hartmann wrote: > While working on the merge, I noticed that the constant folding of the default value load in C2 is broken and none of our tests caught it. This change fixes the incorrect `tkls->isa_inlinetype()` check than can never be true and adds a regression test. > > Best regards, > Tobias This pull request has now been integrated. Changeset: ffdca33f Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/ffdca33f203b03d83313cc489d909cb5217ff672 Stats: 6 lines in 2 files changed: 1 ins; 3 del; 2 mod 8293172: [lworld] Folding of default value loads is broken ------------- PR: https://git.openjdk.org/valhalla/pull/737 From rriggs at openjdk.org Thu Sep 1 15:12:22 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 1 Sep 2022 15:12:22 GMT Subject: [lworld] RFR: 8293127: Valhalla: gcbasher update for new bytecodes [v2] In-Reply-To: <38foZ738NLVmwzwlHQ7pR1MhdbuJCChRAOQGdla0_8Y=.ce200a74-2bb1-485b-88a1-599c7779f88a@github.com> References: <38foZ738NLVmwzwlHQ7pR1MhdbuJCChRAOQGdla0_8Y=.ce200a74-2bb1-485b-88a1-599c7779f88a@github.com> Message-ID: > Update bytecode decompiler in hotspot gcbasher to be able to skip over new bytecodes. > Otherwise, the gcbasher fails when it runs on a value class. Roger Riggs 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: - Merge branch 'lworld' into 8293127-gcbasher - Merge branch 'lworld' into 8293127-gcbasher - 8293127: Valhalla: gcbasher update for new bytecodes ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/731/files - new: https://git.openjdk.org/valhalla/pull/731/files/33d1fa74..9204891d Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=731&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=731&range=00-01 Stats: 792523 lines in 10108 files changed: 538804 ins; 152816 del; 100903 mod Patch: https://git.openjdk.org/valhalla/pull/731.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/731/head:pull/731 PR: https://git.openjdk.org/valhalla/pull/731 From mchung at openjdk.org Thu Sep 1 18:53:38 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 1 Sep 2022 18:53:38 GMT Subject: [lworld] RFR: 8293127: Valhalla: gcbasher update for new bytecodes [v2] In-Reply-To: References: <38foZ738NLVmwzwlHQ7pR1MhdbuJCChRAOQGdla0_8Y=.ce200a74-2bb1-485b-88a1-599c7779f88a@github.com> Message-ID: <8qYlfuiUaBow48-GyCXT6SnZEQNaPa9jV6AUwyLAZCw=.cc1f3e49-54bb-47e3-b45e-6694972e8ca1@github.com> On Thu, 1 Sep 2022 15:12:22 GMT, Roger Riggs wrote: >> Update bytecode decompiler in hotspot gcbasher to be able to skip over new bytecodes. >> Otherwise, the gcbasher fails when it runs on a value class. > > Roger Riggs 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: > > - Merge branch 'lworld' into 8293127-gcbasher > - Merge branch 'lworld' into 8293127-gcbasher > - 8293127: Valhalla: gcbasher update for new bytecodes LGTM ------------- Marked as reviewed by mchung (Committer). PR: https://git.openjdk.org/valhalla/pull/731 From vromero at openjdk.org Thu Sep 1 19:38:31 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 1 Sep 2022 19:38:31 GMT Subject: [lworld] RFR: 8293126: [lworld] follow-up for compiler.err.mod.not.allowed.here Message-ID: This PR is providing tests that were missing in the initial PR that fixed [1]. Also we realized that javac is accepting this code as kosher: abstract sealed value class SC {} non-sealed value class VC extends SC {} even when concrete value classes are implicitly final, so can't be `non-sealed` at the same time. [1] https://bugs.openjdk.org/browse/JDK-8293120 ------------- Commit messages: - 8293126: [lworld] follow-up for JDK-8293120 Changes: https://git.openjdk.org/valhalla/pull/738/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=738&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293126 Stats: 50 lines in 2 files changed: 48 ins; 0 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/738.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/738/head:pull/738 PR: https://git.openjdk.org/valhalla/pull/738 From vromero at openjdk.org Thu Sep 1 19:48:18 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 1 Sep 2022 19:48:18 GMT Subject: [lworld] Integrated: 8293126: [lworld] follow-up for JDK-8293120 In-Reply-To: References: Message-ID: <8geCiRB4JsXh-eGznlzozVz4FDjh6dJyj1j_5wVUxys=.b01a851a-884a-4ef9-94fb-087de44de110@github.com> On Thu, 1 Sep 2022 19:32:49 GMT, Vicente Romero wrote: > This PR is providing tests that were missing in the initial PR that fixed [1]. Also we realized that javac is accepting this code as kosher: > > abstract sealed value class SC {} > non-sealed value class VC extends SC {} > > even when concrete value classes are implicitly final, so can't be `non-sealed` at the same time. > > [1] https://bugs.openjdk.org/browse/JDK-8293120 This pull request has now been integrated. Changeset: 252ebe1e Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/252ebe1ec474964850f756ec2d02e1b1721bd6d5 Stats: 50 lines in 2 files changed: 48 ins; 0 del; 2 mod 8293126: [lworld] follow-up for JDK-8293120 ------------- PR: https://git.openjdk.org/valhalla/pull/738 From rriggs at openjdk.org Thu Sep 1 20:09:32 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 1 Sep 2022 20:09:32 GMT Subject: [lworld] Integrated: 8293127: Valhalla: gcbasher update for new bytecodes In-Reply-To: <38foZ738NLVmwzwlHQ7pR1MhdbuJCChRAOQGdla0_8Y=.ce200a74-2bb1-485b-88a1-599c7779f88a@github.com> References: <38foZ738NLVmwzwlHQ7pR1MhdbuJCChRAOQGdla0_8Y=.ce200a74-2bb1-485b-88a1-599c7779f88a@github.com> Message-ID: On Tue, 30 Aug 2022 19:33:39 GMT, Roger Riggs wrote: > Update bytecode decompiler in hotspot gcbasher to be able to skip over new bytecodes. > Otherwise, the gcbasher fails when it runs on a value class. This pull request has now been integrated. Changeset: 29ee419c Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/29ee419ce02a31a3a972627f98146ab1a2b915d4 Stats: 6 lines in 1 file changed: 4 ins; 0 del; 2 mod 8293127: Valhalla: gcbasher update for new bytecodes Reviewed-by: mchung ------------- PR: https://git.openjdk.org/valhalla/pull/731 From fparain at openjdk.org Thu Sep 1 20:17:00 2022 From: fparain at openjdk.org (Frederic Parain) Date: Thu, 1 Sep 2022 20:17:00 GMT Subject: [lworld] RFR: 8293253: [lw4] Code fixing access flags in old class files is incorrect and incomplete Message-ID: Please review this code fixing the code that adds the missing ACC_SUPER/ACC_IDENTITY flag in old class files. Those changes fix both JDK-8291719 and JDK-8293169. Tested with Mach5, tier1-3. But those changes also trigger new failures that should be addressed in additional CR: java/lang/invoke/defineHiddenClass/BasicTest.java: - assertion failure because test doesn't expect ACC_IDENTITY to be present not sure about the fix if non-Valhalla configurations are run BTW, the test already uses ACC_IDENTITY in some places java/lang/reflect/AccessFlag/ClassAccessFlagTest.java: - another Java test surprised by the presence of ACC_IDENTITY serviceability/jvmti/RedefineClasses/RedefineObject.java: - changes in access flags leads to the class redefinition code to reject an attempt to redefine a class because it sees a mismatch in access flags (forbidden by class redefinition rules) tools/javac/preview/PreviewTest.java - not sure about this one, need input from a javac expert Still some failures in JCK test, vm/classfmt/cpl and vm/instr/invokespecial but they will be addressed in another patch. Thank you, Fred ------------- Commit messages: - Fix code fixing access flags in old class files Changes: https://git.openjdk.org/valhalla/pull/739/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=739&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293253 Stats: 19 lines in 2 files changed: 15 ins; 3 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/739.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/739/head:pull/739 PR: https://git.openjdk.org/valhalla/pull/739 From dsimms at openjdk.org Fri Sep 2 06:39:10 2022 From: dsimms at openjdk.org (David Simms) Date: Fri, 2 Sep 2022 06:39:10 GMT Subject: [lworld] RFR: 8293253: [lw4] Code fixing access flags in old class files is incorrect and incomplete In-Reply-To: References: Message-ID: On Thu, 1 Sep 2022 20:11:52 GMT, Frederic Parain wrote: > Please review this code fixing the code that adds the missing ACC_SUPER/ACC_IDENTITY flag in old class files. > Those changes fix both JDK-8291719 and JDK-8293169. > > Tested with Mach5, tier1-3. > > But those changes also trigger new failures that should be addressed in additional CR: > > java/lang/invoke/defineHiddenClass/BasicTest.java: > - assertion failure because test doesn't expect ACC_IDENTITY to be present > not sure about the fix if non-Valhalla configurations are run > BTW, the test already uses ACC_IDENTITY in some places > > java/lang/reflect/AccessFlag/ClassAccessFlagTest.java: > - another Java test surprised by the presence of ACC_IDENTITY > > serviceability/jvmti/RedefineClasses/RedefineObject.java: > - changes in access flags leads to the class redefinition code to reject > an attempt to redefine a class because it sees a mismatch in access flags > (forbidden by class redefinition rules) > > tools/javac/preview/PreviewTest.java > - not sure about this one, need input from a javac expert > > Still some failures in JCK test, vm/classfmt/cpl and vm/instr/invokespecial > but they will be addressed in another patch. > > Thank you, > > Fred Looks good. There is further clean up to be had, but I think that is out of scope this bug (fixing test issues). Thanks Frederic ! ------------- PR: https://git.openjdk.org/valhalla/pull/739 From thartmann at openjdk.org Fri Sep 2 09:56:17 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Fri, 2 Sep 2022 09:56:17 GMT Subject: [lworld] RFR: 8293253: [lw4] Code fixing access flags in old class files is incorrect and incomplete In-Reply-To: References: Message-ID: On Thu, 1 Sep 2022 20:11:52 GMT, Frederic Parain wrote: > Please review this code fixing the code that adds the missing ACC_SUPER/ACC_IDENTITY flag in old class files. > Those changes fix both JDK-8291719 and JDK-8293169. > > Tested with Mach5, tier1-3. > > But those changes also trigger new failures that should be addressed in additional CR: > > java/lang/invoke/defineHiddenClass/BasicTest.java: > - assertion failure because test doesn't expect ACC_IDENTITY to be present > not sure about the fix if non-Valhalla configurations are run > BTW, the test already uses ACC_IDENTITY in some places > > java/lang/reflect/AccessFlag/ClassAccessFlagTest.java: > - another Java test surprised by the presence of ACC_IDENTITY > > serviceability/jvmti/RedefineClasses/RedefineObject.java: > - changes in access flags leads to the class redefinition code to reject > an attempt to redefine a class because it sees a mismatch in access flags > (forbidden by class redefinition rules) > > tools/javac/preview/PreviewTest.java > - not sure about this one, need input from a javac expert > > Still some failures in JCK test, vm/classfmt/cpl and vm/instr/invokespecial > but they will be addressed in another patch. > > Thank you, > > Fred Looks good. src/hotspot/share/classfile/classFileParser.cpp line 3342: > 3340: > 3341: if (EnableValhalla) { > 3342: if(!supports_inline_types()) { Suggestion: if (!supports_inline_types()) { ------------- Marked as reviewed by thartmann (Committer). PR: https://git.openjdk.org/valhalla/pull/739 From fparain at openjdk.org Fri Sep 2 11:58:12 2022 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 2 Sep 2022 11:58:12 GMT Subject: [lworld] RFR: 8293253: [lw4] Code fixing access flags in old class files is incorrect and incomplete [v2] In-Reply-To: References: Message-ID: > Please review this code fixing the code that adds the missing ACC_SUPER/ACC_IDENTITY flag in old class files. > Those changes fix both JDK-8291719 and JDK-8293169. > > Tested with Mach5, tier1-3. > > But those changes also trigger new failures that should be addressed in additional CR: > > java/lang/invoke/defineHiddenClass/BasicTest.java: > - assertion failure because test doesn't expect ACC_IDENTITY to be present > not sure about the fix if non-Valhalla configurations are run > BTW, the test already uses ACC_IDENTITY in some places > > java/lang/reflect/AccessFlag/ClassAccessFlagTest.java: > - another Java test surprised by the presence of ACC_IDENTITY > > serviceability/jvmti/RedefineClasses/RedefineObject.java: > - changes in access flags leads to the class redefinition code to reject > an attempt to redefine a class because it sees a mismatch in access flags > (forbidden by class redefinition rules) > > tools/javac/preview/PreviewTest.java > - not sure about this one, need input from a javac expert > > Still some failures in JCK test, vm/classfmt/cpl and vm/instr/invokespecial > but they will be addressed in another patch. > > Thank you, > > Fred Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: Fix missing space ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/739/files - new: https://git.openjdk.org/valhalla/pull/739/files/41aa059a..d6892ac0 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=739&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=739&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/739.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/739/head:pull/739 PR: https://git.openjdk.org/valhalla/pull/739 From fparain at openjdk.org Fri Sep 2 12:25:36 2022 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 2 Sep 2022 12:25:36 GMT Subject: [lworld] RFR: 8293253: [lw4] Code fixing access flags in old class files is incorrect and incomplete [v2] In-Reply-To: References: Message-ID: On Fri, 2 Sep 2022 11:58:12 GMT, Frederic Parain wrote: >> Please review this code fixing the code that adds the missing ACC_SUPER/ACC_IDENTITY flag in old class files. >> Those changes fix both JDK-8291719 and JDK-8293169. >> >> Tested with Mach5, tier1-3. >> >> But those changes also trigger new failures that should be addressed in additional CR: >> >> java/lang/invoke/defineHiddenClass/BasicTest.java: >> - assertion failure because test doesn't expect ACC_IDENTITY to be present >> not sure about the fix if non-Valhalla configurations are run >> BTW, the test already uses ACC_IDENTITY in some places >> >> java/lang/reflect/AccessFlag/ClassAccessFlagTest.java: >> - another Java test surprised by the presence of ACC_IDENTITY >> >> serviceability/jvmti/RedefineClasses/RedefineObject.java: >> - changes in access flags leads to the class redefinition code to reject >> an attempt to redefine a class because it sees a mismatch in access flags >> (forbidden by class redefinition rules) >> >> tools/javac/preview/PreviewTest.java >> - not sure about this one, need input from a javac expert >> >> Still some failures in JCK test, vm/classfmt/cpl and vm/instr/invokespecial >> but they will be addressed in another patch. >> >> Thank you, >> >> Fred > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Fix missing space Thanks for the review. ------------- PR: https://git.openjdk.org/valhalla/pull/739 From fparain at openjdk.org Fri Sep 2 12:27:10 2022 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 2 Sep 2022 12:27:10 GMT Subject: [lworld] Integrated: 8293253: [lw4] Code fixing access flags in old class files is incorrect and incomplete In-Reply-To: References: Message-ID: On Thu, 1 Sep 2022 20:11:52 GMT, Frederic Parain wrote: > Please review this code fixing the code that adds the missing ACC_SUPER/ACC_IDENTITY flag in old class files. > Those changes fix both JDK-8291719 and JDK-8293169. > > Tested with Mach5, tier1-3. > > But those changes also trigger new failures that should be addressed in additional CR: > > java/lang/invoke/defineHiddenClass/BasicTest.java: > - assertion failure because test doesn't expect ACC_IDENTITY to be present > not sure about the fix if non-Valhalla configurations are run > BTW, the test already uses ACC_IDENTITY in some places > > java/lang/reflect/AccessFlag/ClassAccessFlagTest.java: > - another Java test surprised by the presence of ACC_IDENTITY > > serviceability/jvmti/RedefineClasses/RedefineObject.java: > - changes in access flags leads to the class redefinition code to reject > an attempt to redefine a class because it sees a mismatch in access flags > (forbidden by class redefinition rules) > > tools/javac/preview/PreviewTest.java > - not sure about this one, need input from a javac expert > > Still some failures in JCK test, vm/classfmt/cpl and vm/instr/invokespecial > but they will be addressed in another patch. > > Thank you, > > Fred This pull request has now been integrated. Changeset: 28c8958c Author: Frederic Parain URL: https://git.openjdk.org/valhalla/commit/28c8958c4a64a0c040769bf91f9be63f8ec9dbee Stats: 19 lines in 2 files changed: 15 ins; 3 del; 1 mod 8293253: [lw4] Code fixing access flags in old class files is incorrect and incomplete Reviewed-by: thartmann ------------- PR: https://git.openjdk.org/valhalla/pull/739 From thartmann at openjdk.org Fri Sep 2 14:47:36 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Fri, 2 Sep 2022 14:47:36 GMT Subject: [lworld] RFR: 8293314: [lworld] C2 OSR compilation fails with assert(_gvn.type(l)->higher_equal(type)) failed: must constrain OSR typestate Message-ID: We hit an assert during OSR compilation because when casting an array to its type (known from typeflow analysis) in `Parse::check_interpreter_type`, we lose the non null-free/flat property. The fix is to properly re-compute the null-free/flat properties when casting to not-exact. Thanks, Tobias ------------- Commit messages: - 8293314: [lworld] C2 OSR compilation fails with assert(_gvn.type(l)->higher_equal(type)) failed: must constrain OSR typestate Changes: https://git.openjdk.org/valhalla/pull/740/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=740&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293314 Stats: 39 lines in 2 files changed: 35 ins; 1 del; 3 mod Patch: https://git.openjdk.org/valhalla/pull/740.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/740/head:pull/740 PR: https://git.openjdk.org/valhalla/pull/740 From thartmann at openjdk.org Fri Sep 2 15:17:11 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Fri, 2 Sep 2022 15:17:11 GMT Subject: [lworld] Integrated: 8293314: [lworld] C2 OSR compilation fails with assert(_gvn.type(l)->higher_equal(type)) failed: must constrain OSR typestate In-Reply-To: References: Message-ID: <4O3_s3O0UsEuH6efURm3dlbe3Pb_OcCBrXBmEKqF4l4=.7cafce41-49cf-4000-b1ad-084ef30c9a91@github.com> On Fri, 2 Sep 2022 14:23:12 GMT, Tobias Hartmann wrote: > We hit an assert during OSR compilation because when casting an array to its type (known from typeflow analysis) in `Parse::check_interpreter_type`, we lose the non null-free/flat property. The fix is to properly re-compute the null-free/flat properties when casting to not-exact. > > Thanks, > Tobias This pull request has now been integrated. Changeset: 02ea8d33 Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/02ea8d33fd2ddbbbfb1aa07f80defc56d5a36c89 Stats: 39 lines in 2 files changed: 35 ins; 1 del; 3 mod 8293314: [lworld] C2 OSR compilation fails with assert(_gvn.type(l)->higher_equal(type)) failed: must constrain OSR typestate ------------- PR: https://git.openjdk.org/valhalla/pull/740 From rriggs at openjdk.org Fri Sep 2 21:35:08 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 2 Sep 2022 21:35:08 GMT Subject: [lworld] RFR: 8281463: [lworld] VALUE / PRIMITIVE modifiers should be supported by reflection [v13] In-Reply-To: References: Message-ID: > Add support to java.lang.reflect.AccessFlag ACC_IDENTITY, ACC_VALUE, and ACC_PRIMITIVE. > Added corresponding flags to j.l.reflect.Modifier so the "source" of the AccessFlag is the Modifer mask. > Remove PERMITS_VALUE; moving the definition used by HotSpot to HotSpot code. > > Add comments to java.l.reflect.Modifier suggesting use of AccessFlag instead and limitations. Roger Riggs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 27 commits: - Updated defneHiddenClass/BasicTest for EmptyHiddenAbstractClass to expect ACC_IDENTITY. Since the generated class is bytecode V14 = 58, the ACC_IDENTITY is inserted by the VM. - Merge branch 'lworld' into 8281463-value-modifiers - Merge branch 'lworld' into 8281463-value-modifiers - Match up AccessFlag and Modifier - Merge branch 'lworld' into 8281463-value-modifiers - Revert additions of ACC_PRIMITIVE to Modifier and AccessFlags. The design is in flux. - Restore some tests and cleanup - Resync with mainline AccessFlag changes - Merge branch '8287250-class-identity' into 8281463-value-modifiers - Merge branch 'lworld' into 8287250-class-identity - ... and 17 more: https://git.openjdk.org/valhalla/compare/28c8958c...28ef42ff ------------- Changes: https://git.openjdk.org/valhalla/pull/698/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=698&range=12 Stats: 165 lines in 10 files changed: 122 ins; 1 del; 42 mod Patch: https://git.openjdk.org/valhalla/pull/698.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/698/head:pull/698 PR: https://git.openjdk.org/valhalla/pull/698 From rriggs at openjdk.org Fri Sep 2 21:38:02 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 2 Sep 2022 21:38:02 GMT Subject: [lworld] RFR: 8281463: [lworld] VALUE / PRIMITIVE modifiers should be supported by reflection [v12] In-Reply-To: References: Message-ID: On Fri, 26 Aug 2022 21:41:55 GMT, Roger Riggs wrote: >> Add support to java.lang.reflect.AccessFlag ACC_IDENTITY, ACC_VALUE, and ACC_PRIMITIVE. >> Added corresponding flags to j.l.reflect.Modifier so the "source" of the AccessFlag is the Modifer mask. >> Remove PERMITS_VALUE; moving the definition used by HotSpot to HotSpot code. >> >> Add comments to java.l.reflect.Modifier suggesting use of AccessFlag instead and limitations. > > Roger Riggs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 24 commits: > > - Match up AccessFlag and Modifier > - Merge branch 'lworld' into 8281463-value-modifiers > - Revert additions of ACC_PRIMITIVE to Modifier and AccessFlags. > The design is in flux. > - Restore some tests and cleanup > - Resync with mainline AccessFlag changes > - Merge branch '8287250-class-identity' into 8281463-value-modifiers > - Merge branch 'lworld' into 8287250-class-identity > - Merge branch 'lworld' into 8287250-class-identity > - Merge branch 'lworld' into 8287250-class-identity > - Update handling of obsolete ACC_SUPER and remove ACC_PERMITSVALUE > - ... and 14 more: https://git.openjdk.org/valhalla/compare/2b23a957...efdb3334 This resolves several test issues with defineHiddenClass/BasicTest and ClassAccessFlagTest. ------------- PR: https://git.openjdk.org/valhalla/pull/698 From mchung at openjdk.org Fri Sep 2 21:58:40 2022 From: mchung at openjdk.org (Mandy Chung) Date: Fri, 2 Sep 2022 21:58:40 GMT Subject: [lworld] RFR: 8281463: [lworld] VALUE / PRIMITIVE modifiers should be supported by reflection [v13] In-Reply-To: References: Message-ID: <17mIwZKh-U6mXO6X1Vg1PJJylaFlyK9pvWbpm51kbkI=.18bda904-f304-4f4f-a7eb-28426e5d2586@github.com> On Fri, 2 Sep 2022 21:35:08 GMT, Roger Riggs wrote: >> Add support to java.lang.reflect.AccessFlag ACC_IDENTITY, ACC_VALUE, and ACC_PRIMITIVE. >> Added corresponding flags to j.l.reflect.Modifier so the "source" of the AccessFlag is the Modifer mask. >> Remove PERMITS_VALUE; moving the definition used by HotSpot to HotSpot code. >> >> Add comments to java.l.reflect.Modifier suggesting use of AccessFlag instead and limitations. > > Roger Riggs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 27 commits: > > - Updated defneHiddenClass/BasicTest for EmptyHiddenAbstractClass > to expect ACC_IDENTITY. > Since the generated class is bytecode V14 = 58, the ACC_IDENTITY is inserted by the VM. > - Merge branch 'lworld' into 8281463-value-modifiers > - Merge branch 'lworld' into 8281463-value-modifiers > - Match up AccessFlag and Modifier > - Merge branch 'lworld' into 8281463-value-modifiers > - Revert additions of ACC_PRIMITIVE to Modifier and AccessFlags. > The design is in flux. > - Restore some tests and cleanup > - Resync with mainline AccessFlag changes > - Merge branch '8287250-class-identity' into 8281463-value-modifiers > - Merge branch 'lworld' into 8287250-class-identity > - ... and 17 more: https://git.openjdk.org/valhalla/compare/28c8958c...28ef42ff Looks good with minor comments. src/java.base/share/classes/java/lang/Class.java line 641: > 639: > 640: /** > 641: * Returns {@code true} if this class is an identity class. Nit: can replace this with the simplified form `{@return ...}` src/java.base/share/classes/java/lang/Class.java line 659: > 657: */ > 658: public boolean isValue() { > 659: return (this.getModifiers() & Modifier.VALUE) != 0; the private static `VALUE_CLASS` constant should be removed ------------- Marked as reviewed by mchung (Committer). PR: https://git.openjdk.org/valhalla/pull/698 From vromero at openjdk.org Sat Sep 3 17:24:21 2022 From: vromero at openjdk.org (Vicente Romero) Date: Sat, 3 Sep 2022 17:24:21 GMT Subject: [lworld] RFR: 8292942: [lworld] add a test to check that an anonymous class is always an identity class Message-ID: This PR is adding some regression tests to make sure that anonymous classes are identity classes ------------- Commit messages: - 8292942: [lworld] add a test to check that an anonymous class is always an identity class Changes: https://git.openjdk.org/valhalla/pull/741/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=741&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8292942 Stats: 65 lines in 1 file changed: 41 ins; 22 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/741.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/741/head:pull/741 PR: https://git.openjdk.org/valhalla/pull/741 From vromero at openjdk.org Sat Sep 3 17:59:12 2022 From: vromero at openjdk.org (Vicente Romero) Date: Sat, 3 Sep 2022 17:59:12 GMT Subject: [lworld] Integrated: 8292942: [lworld] add a test to check that an anonymous class is always an identity class In-Reply-To: References: Message-ID: On Sat, 3 Sep 2022 17:17:19 GMT, Vicente Romero wrote: > This PR is adding some regression tests to make sure that anonymous classes are identity classes This pull request has now been integrated. Changeset: 2e6c5b64 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/2e6c5b64cdb8da86acf6d4c1de3f8cf24643377f Stats: 65 lines in 1 file changed: 41 ins; 22 del; 2 mod 8292942: [lworld] add a test to check that an anonymous class is always an identity class ------------- PR: https://git.openjdk.org/valhalla/pull/741 From dsimms at openjdk.org Mon Sep 5 09:32:34 2022 From: dsimms at openjdk.org (David Simms) Date: Mon, 5 Sep 2022 09:32:34 GMT Subject: [lworld] RFR: Merge jdk Message-ID: <35Nizo4FFt-alZoJyHsSfCW0zFD74kgdC1vWW6krHwA=.8f02c16c-961f-4f24-8c62-403a4c5b0e04@github.com> Merge jdk-20+13 into lworld ------------- Commit messages: - Merge branch 'lworld' into lworld_merge_jdk_20_12 - VALUE_CLASS flag as bit 20 (BLOCK) - Backed out old fix for 8265973 because the same issue was fixed in mainline with 8290711 - Fix conflict with javac FROM_SOURCE - Merge tag 'jdk-20+13' into lworld_merge_jdk_20_12 - 8293008: Replace uses of StringBuffer with StringBuilder in MergeCollation - 8292681: Add JMH for ProtectionDomain - 8293050: RISC-V: Remove redundant non-null assertions about macro-assembler - 8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses - 8293035: Cleanup MacroAssembler::movoop code patching logic aarch64 riscv - ... and 380 more: https://git.openjdk.org/valhalla/compare/2e6c5b64...6c0dc0f8 The webrevs contain the adjustments done while merging with regards to each parent branch: - lworld: https://webrevs.openjdk.org/?repo=valhalla&pr=742&range=00.0 - jdk: https://webrevs.openjdk.org/?repo=valhalla&pr=742&range=00.1 Changes: https://git.openjdk.org/valhalla/pull/742/files Stats: 85104 lines in 1729 files changed: 39915 ins; 35696 del; 9493 mod Patch: https://git.openjdk.org/valhalla/pull/742.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/742/head:pull/742 PR: https://git.openjdk.org/valhalla/pull/742 From thartmann at openjdk.org Mon Sep 5 12:59:52 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Mon, 5 Sep 2022 12:59:52 GMT Subject: [lworld] RFR: 8293357: [lworld] TestTrivialMethods fails with "constantGetter is not C2 compiled" Message-ID: The test fails because a dontinline statement is missing for some of the test methods. Best regards, Tobias ------------- Commit messages: - 8293357: [lworld] TestTrivialMethods fails with "constantGetter is not C2 compiled" Changes: https://git.openjdk.org/valhalla/pull/743/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=743&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293357 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/743.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/743/head:pull/743 PR: https://git.openjdk.org/valhalla/pull/743 From thartmann at openjdk.org Mon Sep 5 13:07:50 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Mon, 5 Sep 2022 13:07:50 GMT Subject: [lworld] Integrated: 8293357: [lworld] TestTrivialMethods fails with "constantGetter is not C2 compiled" In-Reply-To: References: Message-ID: <1aih5M-f0-uAkVXyRJ5jgbKpyMVPkaP26qYBQMF3-3Q=.f4f4ce57-3840-4d71-bd9f-0ba7789e4cc5@github.com> On Mon, 5 Sep 2022 12:52:43 GMT, Tobias Hartmann wrote: > The test fails because a dontinline statement is missing for some of the test methods. > > Best regards, > Tobias This pull request has now been integrated. Changeset: 8c3210f5 Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/8c3210f5e098a07d883766348bade4cc53456a3b Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod 8293357: [lworld] TestTrivialMethods fails with "constantGetter is not C2 compiled" ------------- PR: https://git.openjdk.org/valhalla/pull/743 From dsimms at openjdk.org Tue Sep 6 08:58:28 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 6 Sep 2022 08:58:28 GMT Subject: [lworld] RFR: Merge jdk [v2] In-Reply-To: <35Nizo4FFt-alZoJyHsSfCW0zFD74kgdC1vWW6krHwA=.8f02c16c-961f-4f24-8c62-403a4c5b0e04@github.com> References: <35Nizo4FFt-alZoJyHsSfCW0zFD74kgdC1vWW6krHwA=.8f02c16c-961f-4f24-8c62-403a4c5b0e04@github.com> Message-ID: > Merge jdk-20+13 into lworld David Simms has updated the pull request incrementally with one additional commit since the last revision: Broken conflict resolve ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/742/files - new: https://git.openjdk.org/valhalla/pull/742/files/6c0dc0f8..c6fd32e5 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=742&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=742&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/742.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/742/head:pull/742 PR: https://git.openjdk.org/valhalla/pull/742 From dsimms at openjdk.org Tue Sep 6 13:45:55 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 6 Sep 2022 13:45:55 GMT Subject: [lworld] RFR: Merge jdk [v3] In-Reply-To: <35Nizo4FFt-alZoJyHsSfCW0zFD74kgdC1vWW6krHwA=.8f02c16c-961f-4f24-8c62-403a4c5b0e04@github.com> References: <35Nizo4FFt-alZoJyHsSfCW0zFD74kgdC1vWW6krHwA=.8f02c16c-961f-4f24-8c62-403a4c5b0e04@github.com> Message-ID: > Merge jdk-20+13 into lworld David Simms has updated the pull request incrementally with one additional commit since the last revision: Avoid scratch register reuse ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/742/files - new: https://git.openjdk.org/valhalla/pull/742/files/c6fd32e5..d812ee29 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=742&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=742&range=01-02 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/valhalla/pull/742.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/742/head:pull/742 PR: https://git.openjdk.org/valhalla/pull/742 From dsimms at openjdk.org Tue Sep 6 13:49:07 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 6 Sep 2022 13:49:07 GMT Subject: [lworld] Integrated: Merge jdk In-Reply-To: <35Nizo4FFt-alZoJyHsSfCW0zFD74kgdC1vWW6krHwA=.8f02c16c-961f-4f24-8c62-403a4c5b0e04@github.com> References: <35Nizo4FFt-alZoJyHsSfCW0zFD74kgdC1vWW6krHwA=.8f02c16c-961f-4f24-8c62-403a4c5b0e04@github.com> Message-ID: <_Z3tBVdjLqPJhkqdduBK32NbbTamplhcxzH5tKhCYVk=.248a2644-07fc-4ddd-b49b-90d5954a43c4@github.com> On Mon, 5 Sep 2022 09:21:11 GMT, David Simms wrote: > Merge jdk-20+13 into lworld This pull request has now been integrated. Changeset: aad9ca94 Author: David Simms URL: https://git.openjdk.org/valhalla/commit/aad9ca94888c241cccea5919ab909975fc81ba80 Stats: 85109 lines in 1729 files changed: 39915 ins; 35696 del; 9498 mod Merge jdk Merge jdk-20+13 into lworld ------------- PR: https://git.openjdk.org/valhalla/pull/742 From dsimms at openjdk.org Tue Sep 6 15:52:15 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 6 Sep 2022 15:52:15 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v2] In-Reply-To: References: Message-ID: > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains ten commits: - Merge branch 'lworld' into 8288135 # Conflicts: # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestC2CCalls.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestDeoptimizationWhenBuffering.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestNewAcmp.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestTrivialMethods.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestUnloadedReturnTypes.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineOops.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineTypeDensity.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/ValueTearing.java - Be explicit about which features are enabled in testing - Missed preload processing - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - Retain the classfile version checks AND enable flag - Silently disable the default on setting if Valhalla is disabled - 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses ------------- Changes: https://git.openjdk.org/valhalla/pull/727/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=01 Stats: 1136 lines in 120 files changed: 805 ins; 56 del; 275 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From dsimms at openjdk.org Tue Sep 6 17:15:30 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 6 Sep 2022 17:15:30 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v3] In-Reply-To: References: Message-ID: > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request incrementally with one additional commit since the last revision: CF version bump ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/727/files - new: https://git.openjdk.org/valhalla/pull/727/files/0a42d84e..17254dbe Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=01-02 Stats: 6 lines in 1 file changed: 0 ins; 0 del; 6 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From rriggs at openjdk.org Tue Sep 6 17:58:11 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 6 Sep 2022 17:58:11 GMT Subject: [lworld] RFR: 8281463: [lworld] VALUE / PRIMITIVE modifiers should be supported by reflection [v14] In-Reply-To: References: Message-ID: > Add support to java.lang.reflect.AccessFlag ACC_IDENTITY, ACC_VALUE, and ACC_PRIMITIVE. > Added corresponding flags to j.l.reflect.Modifier so the "source" of the AccessFlag is the Modifer mask. > Remove PERMITS_VALUE; moving the definition used by HotSpot to HotSpot code. > > Add comments to java.l.reflect.Modifier suggesting use of AccessFlag instead and limitations. Roger Riggs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 29 commits: - Update javadoc to resolve review comments. - Merge branch 'lworld' into 8281463-value-modifiers - Updated defneHiddenClass/BasicTest for EmptyHiddenAbstractClass to expect ACC_IDENTITY. Since the generated class is bytecode V14 = 58, the ACC_IDENTITY is inserted by the VM. - Merge branch 'lworld' into 8281463-value-modifiers - Merge branch 'lworld' into 8281463-value-modifiers - Match up AccessFlag and Modifier - Merge branch 'lworld' into 8281463-value-modifiers - Revert additions of ACC_PRIMITIVE to Modifier and AccessFlags. The design is in flux. - Restore some tests and cleanup - Resync with mainline AccessFlag changes - ... and 19 more: https://git.openjdk.org/valhalla/compare/aad9ca94...d3c5b54d ------------- Changes: https://git.openjdk.org/valhalla/pull/698/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=698&range=13 Stats: 181 lines in 10 files changed: 124 ins; 5 del; 52 mod Patch: https://git.openjdk.org/valhalla/pull/698.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/698/head:pull/698 PR: https://git.openjdk.org/valhalla/pull/698 From rriggs at openjdk.org Tue Sep 6 19:05:44 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 6 Sep 2022 19:05:44 GMT Subject: [lworld] RFR: 8281463: [lworld] VALUE / PRIMITIVE modifiers should be supported by reflection [v15] In-Reply-To: References: Message-ID: > Add support to java.lang.reflect.AccessFlag ACC_IDENTITY, ACC_VALUE, and ACC_PRIMITIVE. > Added corresponding flags to j.l.reflect.Modifier so the "source" of the AccessFlag is the Modifer mask. > Remove PERMITS_VALUE; moving the definition used by HotSpot to HotSpot code. > > Add comments to java.l.reflect.Modifier suggesting use of AccessFlag instead and limitations. Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Correct jvms references for identity and value modifiers ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/698/files - new: https://git.openjdk.org/valhalla/pull/698/files/d3c5b54d..9a21fe0a Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=698&range=14 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=698&range=13-14 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/valhalla/pull/698.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/698/head:pull/698 PR: https://git.openjdk.org/valhalla/pull/698 From rriggs at openjdk.org Tue Sep 6 20:20:21 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 6 Sep 2022 20:20:21 GMT Subject: [lworld] Integrated: 8281463: [lworld] VALUE / PRIMITIVE modifiers should be supported by reflection In-Reply-To: References: Message-ID: On Thu, 26 May 2022 22:24:34 GMT, Roger Riggs wrote: > Add support to java.lang.reflect.AccessFlag ACC_IDENTITY, ACC_VALUE, and ACC_PRIMITIVE. > Added corresponding flags to j.l.reflect.Modifier so the "source" of the AccessFlag is the Modifer mask. > Remove PERMITS_VALUE; moving the definition used by HotSpot to HotSpot code. > > Add comments to java.l.reflect.Modifier suggesting use of AccessFlag instead and limitations. This pull request has now been integrated. Changeset: 619ab361 Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/619ab361be68052226fd87b68a1b6d281233f6ff Stats: 181 lines in 10 files changed: 124 ins; 5 del; 52 mod 8281463: [lworld] VALUE / PRIMITIVE modifiers should be supported by reflection Reviewed-by: mchung ------------- PR: https://git.openjdk.org/valhalla/pull/698 From rriggs at openjdk.org Tue Sep 6 21:14:57 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 6 Sep 2022 21:14:57 GMT Subject: [lworld] RFR: 8293448: [lworld] ClassAccessFlagsRawTest fail Message-ID: Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. ACC_IDENTITY is seen for all concrete classes and arrays of same. ------------- Commit messages: - Access flag test of raw flags will see ACC_IDENTITY instead of ACC_SUPER Changes: https://git.openjdk.org/valhalla/pull/744/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=744&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293448 Stats: 9 lines in 2 files changed: 0 ins; 0 del; 9 mod Patch: https://git.openjdk.org/valhalla/pull/744.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/744/head:pull/744 PR: https://git.openjdk.org/valhalla/pull/744 From mchung at openjdk.org Tue Sep 6 21:26:08 2022 From: mchung at openjdk.org (Mandy Chung) Date: Tue, 6 Sep 2022 21:26:08 GMT Subject: [lworld] RFR: 8293448: [lworld] ClassAccessFlagsRawTest fail In-Reply-To: References: Message-ID: On Tue, 6 Sep 2022 21:08:26 GMT, Roger Riggs wrote: > Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. > ACC_IDENTITY is seen for all concrete classes and arrays of same. Perhaps this test should prepare to verify classes compiled with and without `--enable-preview` so that it can verify with `ACC_SUPER` bit set. Currently `--enable-preview` is not yet (fully) implemented. Is there a flag to compile a class without ACC_IDENTITY bit set? ------------- PR: https://git.openjdk.org/valhalla/pull/744 From rriggs at openjdk.org Tue Sep 6 22:11:00 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 6 Sep 2022 22:11:00 GMT Subject: [lworld] RFR: 8293448: [lworld] ClassAccessFlagsRawTest fail In-Reply-To: References: Message-ID: On Tue, 6 Sep 2022 21:08:26 GMT, Roger Riggs wrote: > Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. > ACC_IDENTITY is seen for all concrete classes and arrays of same. The test was originally written for the main line where only the ACC_SUPER bit is defined. The test was intended to show that ACC_SUPER appeared in the raw access flags when it was in the class file (.jcod). With Valhalla, the ACC_SUPER bit is re-assigned to be ACC_IDENTITY and ACC_SUPER is no longer defined in class files. The ACC_IDENTITY bit is computed and returned from Class.getModifiers and the new `Class.getClassAccessFlagsRaw()` method depending on the class file version number and inserted into the modifiers to meet the spec. This is an awkward but temporary fix until --enable-preview is implemented and Valhalla class files have a different minor version than the main-line. ------------- PR: https://git.openjdk.org/valhalla/pull/744 From mchung at openjdk.org Tue Sep 6 22:42:54 2022 From: mchung at openjdk.org (Mandy Chung) Date: Tue, 6 Sep 2022 22:42:54 GMT Subject: [lworld] RFR: 8293448: [lworld] ClassAccessFlagsRawTest fail In-Reply-To: References: Message-ID: On Tue, 6 Sep 2022 21:08:26 GMT, Roger Riggs wrote: > Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. > ACC_IDENTITY is seen for all concrete classes and arrays of same. An alternative workaround: run this with `-XX:-EnableValhalla`? Existing valhalla tests already verify ACC_IDENTITY is set for identity classes. We can extend this test with `--enable-preview` in the future. See what @hseigel thinks ------------- PR: https://git.openjdk.org/valhalla/pull/744 From thartmann at openjdk.org Wed Sep 7 14:12:44 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Wed, 7 Sep 2022 14:12:44 GMT Subject: [lworld] RFR: 8293487: [lworld] SIGSEGV with -XX:+VerifyAdapterSharing Message-ID: Oversight from the recent merge. Best regards, Tobias ------------- Commit messages: - 8293487: [lworld] SIGSEGV with -XX:+VerifyAdapterSharing Changes: https://git.openjdk.org/valhalla/pull/745/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=745&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293487 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/745.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/745/head:pull/745 PR: https://git.openjdk.org/valhalla/pull/745 From thartmann at openjdk.org Wed Sep 7 14:18:56 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Wed, 7 Sep 2022 14:18:56 GMT Subject: [lworld] Integrated: 8293487: [lworld] SIGSEGV with -XX:+VerifyAdapterSharing In-Reply-To: References: Message-ID: On Wed, 7 Sep 2022 14:03:51 GMT, Tobias Hartmann wrote: > Oversight from the recent merge. > > Best regards, > Tobias This pull request has now been integrated. Changeset: a649fec6 Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/a649fec6a4acd32de4487d913dc66e13be3f6384 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod 8293487: [lworld] SIGSEGV with -XX:+VerifyAdapterSharing ------------- PR: https://git.openjdk.org/valhalla/pull/745 From rriggs at openjdk.org Wed Sep 7 14:38:14 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 7 Sep 2022 14:38:14 GMT Subject: [lworld] RFR: 8293448: [lworld] ClassAccessFlagsRawTest fail [v2] In-Reply-To: References: Message-ID: <4dTquOiwX80PTekWyZZBev2eS6GUElNw-nFcPgB6mmI=.03718b50-1786-431d-b93a-56924e9a34db@github.com> > Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. > ACC_IDENTITY is seen for all concrete classes and arrays of same. Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Revert changes and run test with Valhalla disabled ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/744/files - new: https://git.openjdk.org/valhalla/pull/744/files/eb1363b9..ff8fd148 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=744&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=744&range=00-01 Stats: 9 lines in 2 files changed: 0 ins; 0 del; 9 mod Patch: https://git.openjdk.org/valhalla/pull/744.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/744/head:pull/744 PR: https://git.openjdk.org/valhalla/pull/744 From rriggs at openjdk.org Wed Sep 7 14:45:10 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 7 Sep 2022 14:45:10 GMT Subject: [lworld] RFR: 8293448: [lworld] ClassAccessFlagsRawTest fail [v2] In-Reply-To: <4dTquOiwX80PTekWyZZBev2eS6GUElNw-nFcPgB6mmI=.03718b50-1786-431d-b93a-56924e9a34db@github.com> References: <4dTquOiwX80PTekWyZZBev2eS6GUElNw-nFcPgB6mmI=.03718b50-1786-431d-b93a-56924e9a34db@github.com> Message-ID: On Wed, 7 Sep 2022 14:38:14 GMT, Roger Riggs wrote: >> Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. >> ACC_IDENTITY is seen for all concrete classes and arrays of same. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Revert changes and run test with Valhalla disabled Using -XX:-EnableValhalla works for the time being. The purpose of the test was to validate the new private `Class.getClassAccessFlagsRaw` method. It might have avoided the issue by not using the SUPER/IDENTITY bit in the test, especially since that bit is computed in Valhalla and does not match the bits in the class file. ------------- PR: https://git.openjdk.org/valhalla/pull/744 From hseigel at openjdk.org Wed Sep 7 15:12:00 2022 From: hseigel at openjdk.org (Harold Seigel) Date: Wed, 7 Sep 2022 15:12:00 GMT Subject: [lworld] RFR: 8293448: [lworld] ClassAccessFlagsRawTest fail [v2] In-Reply-To: <4dTquOiwX80PTekWyZZBev2eS6GUElNw-nFcPgB6mmI=.03718b50-1786-431d-b93a-56924e9a34db@github.com> References: <4dTquOiwX80PTekWyZZBev2eS6GUElNw-nFcPgB6mmI=.03718b50-1786-431d-b93a-56924e9a34db@github.com> Message-ID: On Wed, 7 Sep 2022 14:38:14 GMT, Roger Riggs wrote: >> Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. >> ACC_IDENTITY is seen for all concrete classes and arrays of same. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Revert changes and run test with Valhalla disabled Using -EnableValhalla looks like a reasonable solution. Thanks, Harold ------------- Marked as reviewed by hseigel (Committer). PR: https://git.openjdk.org/valhalla/pull/744 From mchung at openjdk.org Wed Sep 7 16:27:11 2022 From: mchung at openjdk.org (Mandy Chung) Date: Wed, 7 Sep 2022 16:27:11 GMT Subject: [lworld] RFR: 8293448: [lworld] ClassAccessFlagsRawTest fail [v2] In-Reply-To: <4dTquOiwX80PTekWyZZBev2eS6GUElNw-nFcPgB6mmI=.03718b50-1786-431d-b93a-56924e9a34db@github.com> References: <4dTquOiwX80PTekWyZZBev2eS6GUElNw-nFcPgB6mmI=.03718b50-1786-431d-b93a-56924e9a34db@github.com> Message-ID: On Wed, 7 Sep 2022 14:38:14 GMT, Roger Riggs wrote: >> Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. >> ACC_IDENTITY is seen for all concrete classes and arrays of same. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Revert changes and run test with Valhalla disabled Marked as reviewed by mchung (Committer). ------------- PR: https://git.openjdk.org/valhalla/pull/744 From dsimms at openjdk.org Wed Sep 7 17:14:07 2022 From: dsimms at openjdk.org (David Simms) Date: Wed, 7 Sep 2022 17:14:07 GMT Subject: [lworld] RFR: 8293500: [lworld] runtime/NMT/MallocLimitTest.java#invalid-settings crashes after merge Message-ID: Removed unused mtValueTypes Trivial revert to "master" revision ------------- Commit messages: - 8293500: [lworld] runtime/NMT/MallocLimitTest.java#invalid-settings crashes after merge Changes: https://git.openjdk.org/valhalla/pull/746/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=746&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293500 Stats: 2 lines in 2 files changed: 0 ins; 2 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/746.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/746/head:pull/746 PR: https://git.openjdk.org/valhalla/pull/746 From dsimms at openjdk.org Wed Sep 7 17:16:59 2022 From: dsimms at openjdk.org (David Simms) Date: Wed, 7 Sep 2022 17:16:59 GMT Subject: [lworld] Integrated: 8293500: [lworld] runtime/NMT/MallocLimitTest.java#invalid-settings crashes after merge In-Reply-To: References: Message-ID: On Wed, 7 Sep 2022 17:03:33 GMT, David Simms wrote: > Removed unused mtValueTypes > > Trivial revert to "master" revision This pull request has now been integrated. Changeset: 1a081f6f Author: David Simms URL: https://git.openjdk.org/valhalla/commit/1a081f6f42c7fee7bf6794dfd8b13c9a2a873032 Stats: 2 lines in 2 files changed: 0 ins; 2 del; 0 mod 8293500: [lworld] runtime/NMT/MallocLimitTest.java#invalid-settings crashes after merge ------------- PR: https://git.openjdk.org/valhalla/pull/746 From rriggs at openjdk.org Wed Sep 7 18:22:21 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 7 Sep 2022 18:22:21 GMT Subject: [lworld] Integrated: 8293448: [lworld] ClassAccessFlagsRawTest fail In-Reply-To: References: Message-ID: On Tue, 6 Sep 2022 21:08:26 GMT, Roger Riggs wrote: > Fix test of ClassAccessFlagsRawTest to verify ACC_IDENTITY when it is inserted based on the class file version being read. > ACC_IDENTITY is seen for all concrete classes and arrays of same. This pull request has now been integrated. Changeset: 0eef4b51 Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/0eef4b512b82ca87ced67e0d09f8625b6abf31f6 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod 8293448: [lworld] ClassAccessFlagsRawTest fail Reviewed-by: hseigel, mchung ------------- PR: https://git.openjdk.org/valhalla/pull/744 From vromero at openjdk.org Wed Sep 7 22:32:21 2022 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 7 Sep 2022 22:32:21 GMT Subject: RFR: Merge lworld Message-ID: Merge lworld into universal-tvars # Conflicts: # src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java # src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java # src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrContext.java # src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java # src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ------------- Commit messages: - Merge branch 'lworld' into universal-tvars_merge_lworld_last_one - Merge lworld - left-overs from last type system refactoring - Merge lworld - addressing several issues in the implementation of universal tvars - Merge lworld - Merge lworld - changing universal lint warning to unchecked warning - Merge lworld - Build failing in universal tvars - ... and 22 more: https://git.openjdk.org/valhalla/compare/0eef4b51...d6c5956b The merge commit only contains trivial merges, so no merge-specific webrevs have been generated. Changes: https://git.openjdk.org/valhalla/pull/747/files Stats: 1621 lines in 37 files changed: 1477 ins; 30 del; 114 mod Patch: https://git.openjdk.org/valhalla/pull/747.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/747/head:pull/747 PR: https://git.openjdk.org/valhalla/pull/747 From vromero at openjdk.org Wed Sep 7 22:33:50 2022 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 7 Sep 2022 22:33:50 GMT Subject: Integrated: Merge lworld In-Reply-To: References: Message-ID: On Wed, 7 Sep 2022 22:14:38 GMT, Vicente Romero wrote: > Merge lworld into universal-tvars > > # Conflicts: > # src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java > # src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java > # src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrContext.java > # src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java > # src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties This pull request has now been integrated. Changeset: c0254ba2 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/c0254ba20216e9cb9f4d9f404054265975cc35b6 Stats: 867224 lines in 10981 files changed: 575097 ins; 184162 del; 107965 mod Merge lworld ------------- PR: https://git.openjdk.org/valhalla/pull/747 From vromero at openjdk.org Thu Sep 8 02:31:52 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 8 Sep 2022 02:31:52 GMT Subject: [lworld] Integrated: 8293523: test/langtools/tools/javac/preview/PreviewTest is failing after the merge with 'master' Message-ID: just restoring a missing piece of code in the compiler for test `test/langtools/tools/javac/preview/PreviewTest` to pass ------------- Commit messages: - 8293523: test/langtools/tools/javac/preview/PreviewTest is failing after the merge with Changes: https://git.openjdk.org/valhalla/pull/748/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=748&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293523 Stats: 4 lines in 1 file changed: 4 ins; 0 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/748.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/748/head:pull/748 PR: https://git.openjdk.org/valhalla/pull/748 From vromero at openjdk.org Thu Sep 8 02:31:53 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 8 Sep 2022 02:31:53 GMT Subject: [lworld] Integrated: 8293523: test/langtools/tools/javac/preview/PreviewTest is failing after the merge with 'master' In-Reply-To: References: Message-ID: On Thu, 8 Sep 2022 02:19:12 GMT, Vicente Romero wrote: > just restoring a missing piece of code in the compiler for test `test/langtools/tools/javac/preview/PreviewTest` to pass This pull request has now been integrated. Changeset: 44128207 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/44128207af0c1d2f34ba9d1eda670e2545a41691 Stats: 4 lines in 1 file changed: 4 ins; 0 del; 0 mod 8293523: test/langtools/tools/javac/preview/PreviewTest is failing after the merge with 'master' ------------- PR: https://git.openjdk.org/valhalla/pull/748 From dsimms at openjdk.org Thu Sep 8 10:40:16 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 8 Sep 2022 10:40:16 GMT Subject: [lworld] RFR: 8293536: [lworld] serviceability/jvmti/RedefineClasses/RedefineObject.java fails with added ACC_IDENTITY to object for old version Message-ID: Never add ACC_IDENTITY to java.lang.Object ------------- Commit messages: - 8293536: [lworld] serviceability/jvmti/RedefineClasses/RedefineObject.java fails with added ACC_IDENTITY to object for old version Changes: https://git.openjdk.org/valhalla/pull/749/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=749&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293536 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/749.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/749/head:pull/749 PR: https://git.openjdk.org/valhalla/pull/749 From fparain at openjdk.org Thu Sep 8 11:49:03 2022 From: fparain at openjdk.org (Frederic Parain) Date: Thu, 8 Sep 2022 11:49:03 GMT Subject: [lworld] RFR: 8293536: [lworld] serviceability/jvmti/RedefineClasses/RedefineObject.java fails with added ACC_IDENTITY to object for old version In-Reply-To: References: Message-ID: On Thu, 8 Sep 2022 10:33:17 GMT, David Simms wrote: > Never add ACC_IDENTITY to java.lang.Object LGTM Fred ------------- Marked as reviewed by fparain (Committer). PR: https://git.openjdk.org/valhalla/pull/749 From dsimms at openjdk.org Thu Sep 8 12:05:36 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 8 Sep 2022 12:05:36 GMT Subject: [lworld] Integrated: 8293536: [lworld] serviceability/jvmti/RedefineClasses/RedefineObject.java fails with added ACC_IDENTITY to object for old version In-Reply-To: References: Message-ID: On Thu, 8 Sep 2022 10:33:17 GMT, David Simms wrote: > Never add ACC_IDENTITY to java.lang.Object This pull request has now been integrated. Changeset: 61c28c2f Author: David Simms URL: https://git.openjdk.org/valhalla/commit/61c28c2f49c3f7d80241f711d823d913718a8073 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod 8293536: [lworld] serviceability/jvmti/RedefineClasses/RedefineObject.java fails with added ACC_IDENTITY to object for old version Reviewed-by: fparain ------------- PR: https://git.openjdk.org/valhalla/pull/749 From hseigel at openjdk.org Thu Sep 8 17:19:40 2022 From: hseigel at openjdk.org (Harold Seigel) Date: Thu, 8 Sep 2022 17:19:40 GMT Subject: [lworld] RFR: 8293134: Valhalla: Verifier error in method call with abstract value class arg Message-ID: Please review this small fix for JDK-8293134. Since a value class can be abstract and a super class, only return false at line 64 for primitive classes. The fix is tested by running mach5 tiers 1-2 on Linux, Mac OS, and Windows, and mach5 tiers 3-5 on Linux x64. (testing is in progress.) Thanks, Harold ------------- Commit messages: - 8293134: Valhalla: Verifier error in method call with abstract value class arg Changes: https://git.openjdk.org/valhalla/pull/750/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=750&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293134 Stats: 53 lines in 2 files changed: 51 ins; 0 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/750.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/750/head:pull/750 PR: https://git.openjdk.org/valhalla/pull/750 From fparain at openjdk.org Fri Sep 9 13:21:57 2022 From: fparain at openjdk.org (Frederic Parain) Date: Fri, 9 Sep 2022 13:21:57 GMT Subject: [lworld] RFR: 8293134: Valhalla: Verifier error in method call with abstract value class arg In-Reply-To: References: Message-ID: On Thu, 8 Sep 2022 17:13:08 GMT, Harold Seigel wrote: > Please review this small fix for JDK-8293134. Since a value class can be abstract and a super class, only return false at line 64 for primitive classes. > > The fix is tested by running mach5 tiers 1-2 on Linux, Mac OS, and Windows, and mach5 tiers 3-5 on Linux x64. (testing is in progress.) > > Thanks, Harold Changes requested by fparain (Committer). src/hotspot/share/classfile/verificationType.cpp line 67: > 65: } > 66: > 67: if (this_class->access_flags().is_value_class()) return false; This line looks wrong to me. If the method is called with name and from_name being identical, and the corresponding class being a primitive class, the method returns false. This particular scenario is handled in the caller when this method is invoked from VerificationType::is_reference_assignable_from(), but it not handled when called from SystemDictionaryShared::check_verification_constraints(). This problem is not due to the proposed change, the previous code testing for a value class suffers from the same issue. ------------- PR: https://git.openjdk.org/valhalla/pull/750 From rriggs at openjdk.org Fri Sep 9 17:00:38 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 9 Sep 2022 17:00:38 GMT Subject: [lworld] RFR: 8293609: [lworld] Update vmTestbase/nsk/jdi/Accessible/modifiers001 to allow ACC_IDENTITY Message-ID: With identity classes Class.getModifiers() can return 0x20 as ACC_IDENTITY. Previously it never returned the 0x20 bit (was ACC_SUPER). test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/modifier/modifiers001.java should not be clearing 0x20. ------------- Commit messages: - 8293609: [lworld] Update vmTestbase/nsk/jdi/Accessible/modifiers001 to allow ACC_IDENTITY Changes: https://git.openjdk.org/valhalla/pull/751/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=751&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293609 Stats: 3 lines in 1 file changed: 0 ins; 3 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/751.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/751/head:pull/751 PR: https://git.openjdk.org/valhalla/pull/751 From rriggs at openjdk.org Fri Sep 9 17:09:30 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 9 Sep 2022 17:09:30 GMT Subject: [lworld] Withdrawn: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass In-Reply-To: <2q1kOUnGOnpWxQ2fiLxP0geIXLBmW1FiF6hpbA4g73s=.4ea66fbb-2cb0-4065-97d9-42e288ffee2f@github.com> References: <2q1kOUnGOnpWxQ2fiLxP0geIXLBmW1FiF6hpbA4g73s=.4ea66fbb-2cb0-4065-97d9-42e288ffee2f@github.com> Message-ID: On Fri, 3 Jun 2022 19:07:52 GMT, Roger Riggs wrote: > To avoid confusion with the reflection support for [Value Objects](https://bugs.openjdk.java.net/browse/JDK-8277163) > the java.lang.Class APIs in support of JEP 401 (Primitive Objects) should be hidden. > > The methods `Class.asValueType`, `asPrimaryType`, `isPrimaryType`, `isPrimitiveClass`, and `asPrimitiveValueType` > are moved to be static methods of `jdk.internal.value.PrimitiveClass`. > > To access those methods, add `--exports java.base/jdk.internal.value:+open` to the command line > in addition to other flags needed to enable Primitive Objects and convert to invoke them as static methods with the class. > > The openjdk classes and tests are modified to use the alternate API. This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.org/valhalla/pull/704 From rriggs at openjdk.org Fri Sep 9 17:09:29 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 9 Sep 2022 17:09:29 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass In-Reply-To: <2q1kOUnGOnpWxQ2fiLxP0geIXLBmW1FiF6hpbA4g73s=.4ea66fbb-2cb0-4065-97d9-42e288ffee2f@github.com> References: <2q1kOUnGOnpWxQ2fiLxP0geIXLBmW1FiF6hpbA4g73s=.4ea66fbb-2cb0-4065-97d9-42e288ffee2f@github.com> Message-ID: On Fri, 3 Jun 2022 19:07:52 GMT, Roger Riggs wrote: > To avoid confusion with the reflection support for [Value Objects](https://bugs.openjdk.java.net/browse/JDK-8277163) > the java.lang.Class APIs in support of JEP 401 (Primitive Objects) should be hidden. > > The methods `Class.asValueType`, `asPrimaryType`, `isPrimaryType`, `isPrimitiveClass`, and `asPrimitiveValueType` > are moved to be static methods of `jdk.internal.value.PrimitiveClass`. > > To access those methods, add `--exports java.base/jdk.internal.value:+open` to the command line > in addition to other flags needed to enable Primitive Objects and convert to invoke them as static methods with the class. > > The openjdk classes and tests are modified to use the alternate API. The PR has bit rot. Opening a new PR after rebasing: PR https://github.com/openjdk/valhalla/pull/752 ------------- PR: https://git.openjdk.org/valhalla/pull/704 From rriggs at openjdk.org Fri Sep 9 17:55:41 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 9 Sep 2022 17:55:41 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass Message-ID: Move Class primitive APIs to jdk.internal.value.PrimitiveClass. Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. Add imports of jdk.internal.value.PrimitiveClass Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED ------------- Commit messages: - 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass Changes: https://git.openjdk.org/valhalla/pull/752/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8287692 Stats: 758 lines in 79 files changed: 350 ins; 19 del; 389 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From mchung at openjdk.org Fri Sep 9 18:06:05 2022 From: mchung at openjdk.org (Mandy Chung) Date: Fri, 9 Sep 2022 18:06:05 GMT Subject: [lworld] RFR: 8293609: [lworld] Update vmTestbase/nsk/jdi/Accessible/modifiers001 to allow ACC_IDENTITY In-Reply-To: References: Message-ID: On Fri, 9 Sep 2022 16:55:06 GMT, Roger Riggs wrote: > With identity classes Class.getModifiers() can return 0x20 as ACC_IDENTITY. > Previously it never returned the 0x20 bit (was ACC_SUPER). > > test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/modifier/modifiers001.java should not be clearing 0x20. Marked as reviewed by mchung (Committer). ------------- PR: https://git.openjdk.org/valhalla/pull/751 From rriggs at openjdk.org Fri Sep 9 19:00:11 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 9 Sep 2022 19:00:11 GMT Subject: [lworld] Integrated: 8293609: [lworld] Update vmTestbase/nsk/jdi/Accessible/modifiers001 to allow ACC_IDENTITY In-Reply-To: References: Message-ID: On Fri, 9 Sep 2022 16:55:06 GMT, Roger Riggs wrote: > With identity classes Class.getModifiers() can return 0x20 as ACC_IDENTITY. > Previously it never returned the 0x20 bit (was ACC_SUPER). > > test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/modifier/modifiers001.java should not be clearing 0x20. This pull request has now been integrated. Changeset: 7bdfe88e Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/7bdfe88e3d95d19dd06893d2a70805cd14200879 Stats: 3 lines in 1 file changed: 0 ins; 3 del; 0 mod 8293609: [lworld] Update vmTestbase/nsk/jdi/Accessible/modifiers001 to allow ACC_IDENTITY Reviewed-by: mchung ------------- PR: https://git.openjdk.org/valhalla/pull/751 From hseigel at openjdk.org Fri Sep 9 19:18:05 2022 From: hseigel at openjdk.org (Harold Seigel) Date: Fri, 9 Sep 2022 19:18:05 GMT Subject: [lworld] RFR: 8293134: Valhalla: Verifier error in method call with abstract value class arg [v2] In-Reply-To: References: Message-ID: > Please review this small fix for JDK-8293134. Since a value class can be abstract and a super class, only return false at line 64 for primitive classes. > > The fix is tested by running mach5 tiers 1-2 on Linux, Mac OS, and Windows, and mach5 tiers 3-5 on Linux x64. (testing is in progress.) > > Thanks, Harold Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: fix prmitive class check ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/750/files - new: https://git.openjdk.org/valhalla/pull/750/files/65921855..fa042fec Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=750&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=750&range=00-01 Stats: 7 lines in 1 file changed: 6 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/750.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/750/head:pull/750 PR: https://git.openjdk.org/valhalla/pull/750 From hseigel at openjdk.org Fri Sep 9 19:48:05 2022 From: hseigel at openjdk.org (Harold Seigel) Date: Fri, 9 Sep 2022 19:48:05 GMT Subject: [lworld] RFR: 8293134: Valhalla: Verifier error in method call with abstract value class arg [v2] In-Reply-To: References: Message-ID: On Fri, 9 Sep 2022 13:18:03 GMT, Frederic Parain wrote: >> Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: >> >> fix prmitive class check > > src/hotspot/share/classfile/verificationType.cpp line 67: > >> 65: } >> 66: >> 67: if (this_class->access_flags().is_value_class()) return false; > > This line looks wrong to me. If the method is called with name and from_name being identical, and the corresponding class being a primitive class, the method returns false. > This particular scenario is handled in the caller when this method is invoked from VerificationType::is_reference_assignable_from(), but is not handled when called from SystemDictionaryShared::check_verification_constraints(). > This problem is not due to the proposed change, the previous code testing for a value class suffers from the same issue. I agree. See changes to this code in commit 2. Thanks for looking at this PR. ------------- PR: https://git.openjdk.org/valhalla/pull/750 From mchung at openjdk.org Fri Sep 9 22:22:04 2022 From: mchung at openjdk.org (Mandy Chung) Date: Fri, 9 Sep 2022 22:22:04 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass In-Reply-To: References: Message-ID: On Fri, 9 Sep 2022 17:06:30 GMT, Roger Riggs wrote: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Looks okay in general. src/java.base/share/classes/java/lang/Class.java line 206: > 204: private static final int ENUM = 0x00004000; > 205: private static final int SYNTHETIC = 0x00001000; > 206: private static final int VALUE_CLASS = 0x00000040; Is this a merge error? That was removed by JDK-8281463. src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java line 272: > 270: > 271: // check receiver type > 272: if (!PrimitiveClass.asPrimaryType(implClass).isAssignableFrom(PrimitiveClass.asPrimaryType(receiverClass))) { Maybe a convenient method `PrimitiveClass::isAssignableFrom` is useful to add. src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java line 971: > 969: false); > 970: if (PrimitiveClass.isPrimitiveValueType(cl)) { > 971: mv.visitMethodInsn(INVOKESTATIC, nit: it's existing formatting issue. use 4-space indentation. src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java line 541: > 539: * Creates a new StackWalker > 540: */ > 541: StackWalker newStackWalkerInstance(Set options, ContinuationScope contScope, Continuation continuation); Is the formatting change in this file (this line and above) accidental done by IDE? I expect the change should just be the addition of the new methods below. src/java.base/share/classes/jdk/internal/value/PrimitiveClass.java line 39: > 37: > 38: // ACC_PRIMITIVE from JEP 401 > 39: private static final int PRIMITIVE_CLASS = 0x00000800; perhaps make this public to have a single place in the libraries to define this constant and remove `Class::PRIMITIVE_CLASS`. ------------- PR: https://git.openjdk.org/valhalla/pull/752 From mchung at openjdk.org Fri Sep 9 22:31:41 2022 From: mchung at openjdk.org (Mandy Chung) Date: Fri, 9 Sep 2022 22:31:41 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass In-Reply-To: References: Message-ID: On Fri, 9 Sep 2022 17:06:30 GMT, Roger Riggs wrote: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED test/jdk/java/lang/invoke/condy/BootstrapMethodJumboArgsTest.java line 2: > 1: /* > 2: * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. is this change needed? test/jdk/valhalla/valuetypes/ObjectMethodsViaCondy.java line 27: > 25: * @test > 26: * @summary Test ObjectMethods::bootstrap call via condy > 27: * @modules java.base/jdk.internal.value:+open Is `+open` needed? PrimitiveClass methods are all public. `+open` is needed only for deep reflection. Same comments apply to other tests. test/jdk/valhalla/valuetypes/ProxyTest.java line 33: > 31: import java.util.Arrays; > 32: > 33: No change in this file. test/jdk/valhalla/valuetypes/UninitializedValueTest.java line 40: > 38: import jdk.internal.value.PrimitiveClass; > 39: > 40: extra new line ------------- PR: https://git.openjdk.org/valhalla/pull/752 From fparain at openjdk.org Mon Sep 12 14:58:13 2022 From: fparain at openjdk.org (Frederic Parain) Date: Mon, 12 Sep 2022 14:58:13 GMT Subject: [lworld] RFR: 8293134: Valhalla: Verifier error in method call with abstract value class arg [v2] In-Reply-To: References: Message-ID: On Fri, 9 Sep 2022 19:18:05 GMT, Harold Seigel wrote: >> Please review this small fix for JDK-8293134. Since a value class can be abstract and a super class, only return false at line 64 for primitive classes. >> >> The fix is tested by running mach5 tiers 1-2 on Linux, Mac OS, and Windows, and mach5 tiers 3-5 on Linux x64. (testing is in progress.) >> >> Thanks, Harold > > Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: > > fix prmitive class check LGTM Thank you for updating your changes. Fred ------------- Marked as reviewed by fparain (Committer). PR: https://git.openjdk.org/valhalla/pull/750 From rriggs at openjdk.org Mon Sep 12 15:53:52 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 12 Sep 2022 15:53:52 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v2] In-Reply-To: References: Message-ID: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Cleanup based on review comments. ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/752/files - new: https://git.openjdk.org/valhalla/pull/752/files/ddb2e198..f9f1f7d4 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=00-01 Stats: 20 lines in 10 files changed: 5 ins; 5 del; 10 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From rriggs at openjdk.org Mon Sep 12 15:53:53 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 12 Sep 2022 15:53:53 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass In-Reply-To: References: Message-ID: <3KPEi8HSZHRoQZnT6DaeJ7ZFOYEfh9iRILDaush-1UY=.fe43d58e-e3e9-457e-9bda-c20a65279fbe@github.com> On Fri, 9 Sep 2022 17:06:30 GMT, Roger Riggs wrote: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED @mchung Thanks for the review and suggestions. ------------- PR: https://git.openjdk.org/valhalla/pull/752 From hseigel at openjdk.org Mon Sep 12 16:03:52 2022 From: hseigel at openjdk.org (Harold Seigel) Date: Mon, 12 Sep 2022 16:03:52 GMT Subject: [lworld] RFR: 8293134: Valhalla: Verifier error in method call with abstract value class arg [v2] In-Reply-To: References: Message-ID: On Fri, 9 Sep 2022 19:18:05 GMT, Harold Seigel wrote: >> Please review this small fix for JDK-8293134. Since a value class can be abstract and a super class, only return false at line 64 for primitive classes. >> >> The fix is tested by running mach5 tiers 1-2 on Linux, Mac OS, and Windows, and mach5 tiers 3-5 on Linux x64. (testing is in progress.) >> >> Thanks, Harold > > Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: > > fix prmitive class check Thanks Fred for the review! ------------- PR: https://git.openjdk.org/valhalla/pull/750 From hseigel at openjdk.org Mon Sep 12 16:03:55 2022 From: hseigel at openjdk.org (Harold Seigel) Date: Mon, 12 Sep 2022 16:03:55 GMT Subject: [lworld] Integrated: 8293134: Valhalla: Verifier error in method call with abstract value class arg In-Reply-To: References: Message-ID: On Thu, 8 Sep 2022 17:13:08 GMT, Harold Seigel wrote: > Please review this small fix for JDK-8293134. Since a value class can be abstract and a super class, only return false at line 64 for primitive classes. > > The fix is tested by running mach5 tiers 1-2 on Linux, Mac OS, and Windows, and mach5 tiers 3-5 on Linux x64. (testing is in progress.) > > Thanks, Harold This pull request has now been integrated. Changeset: 5b6e30c7 Author: Harold Seigel URL: https://git.openjdk.org/valhalla/commit/5b6e30c79146b957a4c632c559095dee754dfca1 Stats: 59 lines in 2 files changed: 57 ins; 0 del; 2 mod 8293134: Valhalla: Verifier error in method call with abstract value class arg Reviewed-by: fparain ------------- PR: https://git.openjdk.org/valhalla/pull/750 From mchung at openjdk.org Mon Sep 12 18:40:20 2022 From: mchung at openjdk.org (Mandy Chung) Date: Mon, 12 Sep 2022 18:40:20 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v2] In-Reply-To: References: Message-ID: On Mon, 12 Sep 2022 15:53:52 GMT, Roger Riggs wrote: >> Move Class primitive APIs to jdk.internal.value.PrimitiveClass. >> >> Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. >> Add imports of jdk.internal.value.PrimitiveClass >> Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Cleanup based on review comments. src/jdk.unsupported/share/classes/sun/misc/Unsafe.java line 655: > 653: } > 654: if (PrimitiveClass.isPrimitiveClass(f.getDeclaringClass())) { > 655: throw new UnsupportedOperationException("can't get field offset on an inline class: " + f); since you are in this file, can you update the error message `s/inline class/primitive class/` ------------- PR: https://git.openjdk.org/valhalla/pull/752 From mchung at openjdk.org Mon Sep 12 18:48:04 2022 From: mchung at openjdk.org (Mandy Chung) Date: Mon, 12 Sep 2022 18:48:04 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v2] In-Reply-To: References: Message-ID: On Mon, 12 Sep 2022 15:53:52 GMT, Roger Riggs wrote: >> Move Class primitive APIs to jdk.internal.value.PrimitiveClass. >> >> Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. >> Add imports of jdk.internal.value.PrimitiveClass >> Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Cleanup based on review comments. JavaLangAccess.java has whitespace changes which I believe it's not intentional. Please revert those whitespace change before pushing the changes. test/hotspot/jtreg/serviceability/jvmti/Valhalla/HeapDump/HeapDump.java line 267: > 265: for (Field testField : fields) { > 266: boolean isStatic = Modifier.isStatic(testField.getModifiers()); > 267: boolean isPrimitive = (testField.getModifiers() & 0x0800) != 0; // TBD: until the modifiers settle down This can be replaced with `PrimitiveClass.isPrimitiveClass` test/jdk/valhalla/valuetypes/ProxyTest.java line 33: > 31: import java.util.Arrays; > 32: > 33: This test should have no modification. This extra line can be cleaned up. ------------- Marked as reviewed by mchung (Committer). PR: https://git.openjdk.org/valhalla/pull/752 From vromero at openjdk.org Mon Sep 12 19:29:41 2022 From: vromero at openjdk.org (Vicente Romero) Date: Mon, 12 Sep 2022 19:29:41 GMT Subject: [lworld] RFR: 8292883: [lworld] javac fails to detect class files with invalid access flags Message-ID: <705R9L4rWqOPNKLvnf8R1a8vg8yN_A2eDEAWBuDlTpM=.98016ace-56cd-4972-ba7d-05b621abf188@github.com> javac is loading a forged class file which declares a primitive class which also has the `identity` flag set. This PR is fixing this bug by issuing an error in such cases. TIA ------------- Commit messages: - 8292883: [lworld] javac fails to detect class files with invalid access flags Changes: https://git.openjdk.org/valhalla/pull/754/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=754&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8292883 Stats: 103 lines in 6 files changed: 102 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/754.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/754/head:pull/754 PR: https://git.openjdk.org/valhalla/pull/754 From rriggs at openjdk.org Mon Sep 12 20:10:49 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 12 Sep 2022 20:10:49 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v3] In-Reply-To: References: Message-ID: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Reverted unintentional whitespace changes ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/752/files - new: https://git.openjdk.org/valhalla/pull/752/files/f9f1f7d4..5d6340e9 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=01-02 Stats: 20 lines in 1 file changed: 1 ins; 5 del; 14 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From rriggs at openjdk.org Tue Sep 13 16:41:32 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 13 Sep 2022 16:41:32 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v4] In-Reply-To: References: Message-ID: <-CvBoCAWwUQK4WernrILUTbQCBb-l893lF394w5QGzI=.b160a35b-527f-4727-873a-c564f35cdf4d@github.com> > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Cleanup PrimitiveClass declarations and fix compilation failures ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/752/files - new: https://git.openjdk.org/valhalla/pull/752/files/5d6340e9..4db37fbf Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=03 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=02-03 Stats: 19 lines in 4 files changed: 7 ins; 0 del; 12 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From rriggs at openjdk.org Tue Sep 13 18:47:05 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 13 Sep 2022 18:47:05 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v5] In-Reply-To: References: Message-ID: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Roger Riggs has updated the pull request incrementally with two additional commits since the last revision: - fix broken declaration - Cleanup whitespace ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/752/files - new: https://git.openjdk.org/valhalla/pull/752/files/4db37fbf..a77ebbe6 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=04 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=03-04 Stats: 4 lines in 4 files changed: 0 ins; 1 del; 3 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From rriggs at openjdk.org Tue Sep 13 20:12:18 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 13 Sep 2022 20:12:18 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v6] In-Reply-To: References: Message-ID: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Include missing import/module ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/752/files - new: https://git.openjdk.org/valhalla/pull/752/files/a77ebbe6..9068edfb Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=05 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=04-05 Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From dsimms at openjdk.org Wed Sep 14 07:38:32 2022 From: dsimms at openjdk.org (David Simms) Date: Wed, 14 Sep 2022 07:38:32 GMT Subject: [lworld] RFR: Merge jdk Message-ID: <3jV6a3qu6Io6YUnLEc_U4w3F7r3dBhbc0gjEXDQxQVs=.853b8816-790d-4e98-aa33-53eaf708666a@github.com> Merge tag 'jdk-20+14' into lworld_merge_jdk_20_14 Added tag jdk-20+14 for changeset 1e031e6a ------------- Commit messages: - Merge tag 'jdk-20+14' into lworld_merge_jdk_20_14 - 8293232: Fix race condition in pkcs11 SessionManager - 8293508: ProblemList gc/metaspace/TestMetaspacePerfCounters.java#Epsilon-64 - 8283224: Remove THREAD_NOT_ALIVE from possible JDWP error codes - 8293456: runtime/os/TestTracePageSizes.java sub-tests fail with "AssertionError: No memory range found for address: NNNN" - 8293146: Strict DateTimeFormatter fails to report an invalid week 53 - 8207166: jdk/jshell/JdiHangingLaunchExecutionControlTest.java - launch timeout - 8293496: ProblemList runtime/os/TestTracePageSizes.java on linux-x64 - 8289798: Update to use jtreg 7 - 8292383: Create a SymbolHandle type to use for ResourceHashtable - ... and 88 more: https://git.openjdk.org/valhalla/compare/5b6e30c7...d1dcd921 The webrevs contain the adjustments done while merging with regards to each parent branch: - lworld: https://webrevs.openjdk.org/?repo=valhalla&pr=755&range=00.0 - jdk: https://webrevs.openjdk.org/?repo=valhalla&pr=755&range=00.1 Changes: https://git.openjdk.org/valhalla/pull/755/files Stats: 54352 lines in 601 files changed: 24191 ins; 25477 del; 4684 mod Patch: https://git.openjdk.org/valhalla/pull/755.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/755/head:pull/755 PR: https://git.openjdk.org/valhalla/pull/755 From dsimms at openjdk.org Wed Sep 14 08:29:36 2022 From: dsimms at openjdk.org (David Simms) Date: Wed, 14 Sep 2022 08:29:36 GMT Subject: [lworld] Integrated: Merge jdk In-Reply-To: <3jV6a3qu6Io6YUnLEc_U4w3F7r3dBhbc0gjEXDQxQVs=.853b8816-790d-4e98-aa33-53eaf708666a@github.com> References: <3jV6a3qu6Io6YUnLEc_U4w3F7r3dBhbc0gjEXDQxQVs=.853b8816-790d-4e98-aa33-53eaf708666a@github.com> Message-ID: <-cir56_C2EZX3zSTj9WG9kZxCsh7WKTUXKW7gU7ls1c=.657c7813-7c32-46e6-99c5-8b1893aa6f9f@github.com> On Wed, 14 Sep 2022 07:29:23 GMT, David Simms wrote: > Merge tag 'jdk-20+14' into lworld_merge_jdk_20_14 > Added tag jdk-20+14 for changeset 1e031e6a This pull request has now been integrated. Changeset: a6a57f27 Author: David Simms URL: https://git.openjdk.org/valhalla/commit/a6a57f2774abd636cd2dd2e9187d14062aeee4d8 Stats: 54352 lines in 601 files changed: 24191 ins; 25477 del; 4684 mod Merge jdk Merge tag 'jdk-20+14' into lworld ------------- PR: https://git.openjdk.org/valhalla/pull/755 From duke at openjdk.org Wed Sep 14 13:26:12 2022 From: duke at openjdk.org (ExE Boss) Date: Wed, 14 Sep 2022 13:26:12 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v6] In-Reply-To: References: Message-ID: On Tue, 13 Sep 2022 20:12:18 GMT, Roger Riggs wrote: >> Move Class primitive APIs to jdk.internal.value.PrimitiveClass. >> >> Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. >> Add imports of jdk.internal.value.PrimitiveClass >> Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Include missing import/module src/java.base/share/classes/jdk/internal/value/PrimitiveClass.java line 43: > 41: private static final JavaLangAccess javaLangAccess = SharedSecrets.getJavaLangAccess(); > 42: > 43: excess?newline src/java.base/share/classes/jdk/internal/value/PrimitiveClass.java line 145: > 143: public static boolean isPrimitiveClass(Class aClass) { > 144: return javaLangAccess.isPrimitiveClass(aClass); > 145: excess?newline ------------- PR: https://git.openjdk.org/valhalla/pull/752 From rriggs at openjdk.org Wed Sep 14 14:38:14 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 14 Sep 2022 14:38:14 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v7] In-Reply-To: References: Message-ID: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Roger Riggs 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 ten additional commits since the last revision: - Merge branch 'lworld' into 8287692-rebased-primitive-class - whitespace cleanup - Include missing import/module - fix broken declaration - Cleanup whitespace - Cleanup PrimitiveClass declarations and fix compilation failures - Reverted unintentional whitespace changes - Cleanup based on review comments. - 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass Update hotspot tests to use PrimitiveClass Add imports of jdk.internal.value.PrimitiveClass Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/752/files - new: https://git.openjdk.org/valhalla/pull/752/files/9068edfb..aae5292b Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=06 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=05-06 Stats: 54416 lines in 605 files changed: 24248 ins; 25482 del; 4686 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From vromero at openjdk.org Wed Sep 14 15:57:34 2022 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 14 Sep 2022 15:57:34 GMT Subject: [lworld] RFR: 8293812: rename regression tests folder from lworld-values to primitive-classes Message-ID: just a test folder rename to match current terminology better ------------- Commit messages: - 8293812: rename regression tests folder from lworld-values to primitive-classes Changes: https://git.openjdk.org/valhalla/pull/756/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=756&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293812 Stats: 0 lines in 216 files changed: 0 ins; 0 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/756.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/756/head:pull/756 PR: https://git.openjdk.org/valhalla/pull/756 From vromero at openjdk.org Wed Sep 14 15:59:15 2022 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 14 Sep 2022 15:59:15 GMT Subject: git: openjdk/valhalla: lworld: 8293812: rename regression tests folder from lworld-values to primitive-classes Message-ID: <03d87e79-10b7-4e7f-8e61-b2845d154896@openjdk.org> Changeset: 72ea8be9 Author: Vicente Romero Date: 2022-09-14 15:58:41 +0000 URL: https://git.openjdk.org/valhalla/commit/72ea8be965fad07d4f325d89d859a6746a0ad719 8293812: rename regression tests folder from lworld-values to primitive-classes = test/langtools/tools/javac/valhalla/primitive-classes/AnonymousValue.java = test/langtools/tools/javac/valhalla/primitive-classes/AnonymousValueType.java = test/langtools/tools/javac/valhalla/primitive-classes/ArrayCreationWithQuestion.java = test/langtools/tools/javac/valhalla/primitive-classes/ArrayRelationsTest.java = test/langtools/tools/javac/valhalla/primitive-classes/AsSuperTests.java = test/langtools/tools/javac/valhalla/primitive-classes/AssortedTests.java = test/langtools/tools/javac/valhalla/primitive-classes/AttributesTest.java = test/langtools/tools/javac/valhalla/primitive-classes/AutoCloseableTest.java = test/langtools/tools/javac/valhalla/primitive-classes/BinarySuperclassConstraints.java = test/langtools/tools/javac/valhalla/primitive-classes/BinarySuperclassConstraints.out = test/langtools/tools/javac/valhalla/primitive-classes/BogusIncompatibility.java = test/langtools/tools/javac/valhalla/primitive-classes/BoxValCastTest.java = test/langtools/tools/javac/valhalla/primitive-classes/CanonicalCtorTest.java = test/langtools/tools/javac/valhalla/primitive-classes/CastNoNullCheckTest.java = test/langtools/tools/javac/valhalla/primitive-classes/CastNullCheckTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ChainedAssignmentTest.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckBadSelector.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckBadSelector.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckCyclicMembership.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckCyclicMembership.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckExtends.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckExtends.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckFeatureGate1.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckFeatureGate1.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckFeatureGate2.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckFeatureGate2.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckFieldDescriptors.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckFinal.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckFinal.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckFlags.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckFlattenableCycles.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckFlattenableCycles.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckFlattenableFlagFromClass.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckFlattenableFlagFromClass.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckFlattenableSyntheticFields.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckIdentityHash.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckIdentityHash01.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckInterfaceComparison.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckInterfaceComparison.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckLocalClasses.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckMakeDefault.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckMakeDefault.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckMultiDimensionalArrayStore.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckMultiDimensionalArrayStore.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckNullAssign.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckNullAssign.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckNullCastable.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckNullCastable.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckNullWithQuestion.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckQuestionInMessages.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckQuestionInMessages.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckSeparateCompile.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckSeparateCompile0.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckStaticFinalAssign.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckStaticFinalAssign.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckSuperCompileOnly.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckSynchronized.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckSynchronized.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckThisLeak.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckThisLeak.out = test/langtools/tools/javac/valhalla/primitive-classes/CheckValueModifier.java = test/langtools/tools/javac/valhalla/primitive-classes/CheckValueModifier.out = test/langtools/tools/javac/valhalla/primitive-classes/ClassLiteralNegativeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ClassLiteralNegativeTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ClassLiteralTypingNegativeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ClassLiteralTypingNegativeTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ClassLiteralTypingTest.java = test/langtools/tools/javac/valhalla/primitive-classes/CompilerNoBogusAssert.java = test/langtools/tools/javac/valhalla/primitive-classes/CompilesJustFine.java = test/langtools/tools/javac/valhalla/primitive-classes/ConditionalInlineTypeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ConditionalTypeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ConditionalTypeTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ConflictingSuperInterfaceTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ConflictingSuperInterfaceTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ConstantPropagationTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ConsumeUnifiedClass.java = test/langtools/tools/javac/valhalla/primitive-classes/ConsumeUnifiedClass.out = test/langtools/tools/javac/valhalla/primitive-classes/CovariantArrayTest.java = test/langtools/tools/javac/valhalla/primitive-classes/CovariantArrayTest.out = test/langtools/tools/javac/valhalla/primitive-classes/CtorChain.java = test/langtools/tools/javac/valhalla/primitive-classes/DefaultNonInlines.java = test/langtools/tools/javac/valhalla/primitive-classes/DefaultOfPrimitiveReference.java = test/langtools/tools/javac/valhalla/primitive-classes/DocLintSyntheticsTest.java = test/langtools/tools/javac/valhalla/primitive-classes/DualNonDuplicateErrors.java = test/langtools/tools/javac/valhalla/primitive-classes/DualNonDuplicateErrors.out = test/langtools/tools/javac/valhalla/primitive-classes/DualPathInnerType.java = test/langtools/tools/javac/valhalla/primitive-classes/DualPathInnerType.out = test/langtools/tools/javac/valhalla/primitive-classes/EmptyValueTest.java = test/langtools/tools/javac/valhalla/primitive-classes/EnhancedForLoopTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ExplicitLambdaWithNullableTypes.java = test/langtools/tools/javac/valhalla/primitive-classes/ExplicitLambdaWithNullableTypes2.java = test/langtools/tools/javac/valhalla/primitive-classes/ExplicitLambdaWithNullableTypes3.java = test/langtools/tools/javac/valhalla/primitive-classes/FinalFieldTest.java = test/langtools/tools/javac/valhalla/primitive-classes/FinalFieldTest.out = test/langtools/tools/javac/valhalla/primitive-classes/FlattenableFlagFromClass.java = test/langtools/tools/javac/valhalla/primitive-classes/FlattenableNegativeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/FlattenableNegativeTest.out = test/langtools/tools/javac/valhalla/primitive-classes/GenericArrayRegression.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericArrayTest.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericArrayTest.out = test/langtools/tools/javac/valhalla/primitive-classes/GenericInlineTest.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericInlineTest.out = test/langtools/tools/javac/valhalla/primitive-classes/GenericsAndValues1.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericsAndValues2.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericsAndValues3.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericsAndValues4.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericsAndValues5.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericsWithQuestion.java = test/langtools/tools/javac/valhalla/primitive-classes/GenericsWithQuestion.out = test/langtools/tools/javac/valhalla/primitive-classes/GetClassTypingTest.java = test/langtools/tools/javac/valhalla/primitive-classes/IllegalByValueTest.java = test/langtools/tools/javac/valhalla/primitive-classes/IllegalByValueTest.out = test/langtools/tools/javac/valhalla/primitive-classes/IllegalByValueTest2.java = test/langtools/tools/javac/valhalla/primitive-classes/IllegalByValueTest2.out = test/langtools/tools/javac/valhalla/primitive-classes/ImplicitIdentityTypeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/InferredValueParameterizationTest.java = test/langtools/tools/javac/valhalla/primitive-classes/InlineAnnotationOnAnonymousClass.java = test/langtools/tools/javac/valhalla/primitive-classes/InlineAnnotationOnAnonymousClass.out = test/langtools/tools/javac/valhalla/primitive-classes/InlineAnnotationTest.java = test/langtools/tools/javac/valhalla/primitive-classes/InlineAnnotationTest.out = test/langtools/tools/javac/valhalla/primitive-classes/InlineClassTest.java = test/langtools/tools/javac/valhalla/primitive-classes/InlineDiamondTest.java = test/langtools/tools/javac/valhalla/primitive-classes/InnerClassAttributeValuenessTest.java = test/langtools/tools/javac/valhalla/primitive-classes/InnerValueNew.java = test/langtools/tools/javac/valhalla/primitive-classes/InstanceofProjectionArray.java = test/langtools/tools/javac/valhalla/primitive-classes/IntercastTest.java = test/langtools/tools/javac/valhalla/primitive-classes/IntercastTest2.java = test/langtools/tools/javac/valhalla/primitive-classes/LocalValueNew.java = test/langtools/tools/javac/valhalla/primitive-classes/LookupOnLoxTest.java = test/langtools/tools/javac/valhalla/primitive-classes/LookupOnLoxTest2.java = test/langtools/tools/javac/valhalla/primitive-classes/LubWithInlines.java = test/langtools/tools/javac/valhalla/primitive-classes/MiscThisLeak.java = test/langtools/tools/javac/valhalla/primitive-classes/MiscThisLeak.out = test/langtools/tools/javac/valhalla/primitive-classes/MyValue.java = test/langtools/tools/javac/valhalla/primitive-classes/NoCrashTest.java = test/langtools/tools/javac/valhalla/primitive-classes/NoUnnecessaryCast.java = test/langtools/tools/javac/valhalla/primitive-classes/NoVolatileFields.java = test/langtools/tools/javac/valhalla/primitive-classes/NoVolatileFields.out = test/langtools/tools/javac/valhalla/primitive-classes/OverloadingPhaseTest.java = test/langtools/tools/javac/valhalla/primitive-classes/OverloadingPhaseTest.out = test/langtools/tools/javac/valhalla/primitive-classes/OverloadingPhaseTest2.java = test/langtools/tools/javac/valhalla/primitive-classes/ParameterizedDefault.java = test/langtools/tools/javac/valhalla/primitive-classes/Point.java = test/langtools/tools/javac/valhalla/primitive-classes/PreloadAttributeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/PrimitiveAsTypeName.java = test/langtools/tools/javac/valhalla/primitive-classes/PrimitiveAsTypeName.out = test/langtools/tools/javac/valhalla/primitive-classes/ProjectedArrayDotClass.java = test/langtools/tools/javac/valhalla/primitive-classes/ProjectionInstantiationTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ProjectionInstantiationTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ProjectionRelationsTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ProperTypeApplySelectTest.java = test/langtools/tools/javac/valhalla/primitive-classes/QPoint.java = test/langtools/tools/javac/valhalla/primitive-classes/QPointConsumer.java = test/langtools/tools/javac/valhalla/primitive-classes/QTypeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/QTypedValue.java = test/langtools/tools/javac/valhalla/primitive-classes/QualifiedSuperCtor.java = test/langtools/tools/javac/valhalla/primitive-classes/QualifiedThisTest.java = test/langtools/tools/javac/valhalla/primitive-classes/Range.java = test/langtools/tools/javac/valhalla/primitive-classes/Rectangle.java = test/langtools/tools/javac/valhalla/primitive-classes/RefDotClass.java = test/langtools/tools/javac/valhalla/primitive-classes/SeparateCompileGenerics.java = test/langtools/tools/javac/valhalla/primitive-classes/SeparateCompileTest.java = test/langtools/tools/javac/valhalla/primitive-classes/SeparateCompileTest01.java = test/langtools/tools/javac/valhalla/primitive-classes/SideEffectTest.java = test/langtools/tools/javac/valhalla/primitive-classes/SignatureTest.java = test/langtools/tools/javac/valhalla/primitive-classes/SmallSet.java = test/langtools/tools/javac/valhalla/primitive-classes/SmallSetTest.java = test/langtools/tools/javac/valhalla/primitive-classes/StaticSelectedThroughProjection.java = test/langtools/tools/javac/valhalla/primitive-classes/StreamsTest.java = test/langtools/tools/javac/valhalla/primitive-classes/SuperCallInCtor.java = test/langtools/tools/javac/valhalla/primitive-classes/SuperCallInCtor.out = test/langtools/tools/javac/valhalla/primitive-classes/SuperHashCodeEqualsToStringTest.java = test/langtools/tools/javac/valhalla/primitive-classes/SuperclassCollections.java = test/langtools/tools/javac/valhalla/primitive-classes/SuperclassConstraints.java = test/langtools/tools/javac/valhalla/primitive-classes/SuperclassConstraints.out = test/langtools/tools/javac/valhalla/primitive-classes/T8279655.java = test/langtools/tools/javac/valhalla/primitive-classes/TestQualifierOnInit.java = test/langtools/tools/javac/valhalla/primitive-classes/TestReflectiveMirrors.java = test/langtools/tools/javac/valhalla/primitive-classes/ThisIsNotAnInstanceField.java = test/langtools/tools/javac/valhalla/primitive-classes/TypeRelationsNegativeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/TypeRelationsNegativeTest.out = test/langtools/tools/javac/valhalla/primitive-classes/TypeRelationsTest.java = test/langtools/tools/javac/valhalla/primitive-classes/TypeVarSynchronize.java = test/langtools/tools/javac/valhalla/primitive-classes/UnannotatedProjection.java = test/langtools/tools/javac/valhalla/primitive-classes/UncheckedDefault.java = test/langtools/tools/javac/valhalla/primitive-classes/UncheckedDefault.out = test/langtools/tools/javac/valhalla/primitive-classes/UnifiedPrimitiveClassBytecodeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/UnifiedPrimitiveClassInnerClassesTest.java = test/langtools/tools/javac/valhalla/primitive-classes/UnifiedPrimitiveClassNestHostTest.java = test/langtools/tools/javac/valhalla/primitive-classes/UnknownTypeDefault.java = test/langtools/tools/javac/valhalla/primitive-classes/UnknownTypeDefault.out = test/langtools/tools/javac/valhalla/primitive-classes/UnrelatedThisLeak.java = test/langtools/tools/javac/valhalla/primitive-classes/ValRefTokensNegativeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ValRefTokensNegativeTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ValRefTokensTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueAnnotationOnAnonymousClass.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueAnnotationOnAnonymousClass.out = test/langtools/tools/javac/valhalla/primitive-classes/ValueAnnotationTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueAnnotationTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ValueAsEnclosingClass.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueBootstrapMethodsTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueConcreteSuperType.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueConcreteSuperType.out = test/langtools/tools/javac/valhalla/primitive-classes/ValueConstructorRef.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueCreationTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueModifierTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueModifierTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ValueNewReadWrite.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueOverGenericsTest.java = test/langtools/tools/javac/valhalla/primitive-classes/ValueOverGenericsTest.out = test/langtools/tools/javac/valhalla/primitive-classes/ValuesAsRefs.java = test/langtools/tools/javac/valhalla/primitive-classes/WithFieldNegativeTests.java = test/langtools/tools/javac/valhalla/primitive-classes/WithFieldNegativeTests.out = test/langtools/tools/javac/valhalla/primitive-classes/WithFieldOfGenericType.java = test/langtools/tools/javac/valhalla/primitive-classes/WithFieldRuntimeTest.java = test/langtools/tools/javac/valhalla/primitive-classes/records/ApplicableAnnotationsOnPrimitiveRecords.java From vromero at openjdk.org Wed Sep 14 16:01:55 2022 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 14 Sep 2022 16:01:55 GMT Subject: [lworld] Integrated: 8293812: rename regression tests folder from lworld-values to primitive-classes In-Reply-To: References: Message-ID: On Wed, 14 Sep 2022 15:49:36 GMT, Vicente Romero wrote: > just a test folder rename to match current terminology better This pull request has now been integrated. Changeset: 72ea8be9 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/72ea8be965fad07d4f325d89d859a6746a0ad719 Stats: 0 lines in 216 files changed: 0 ins; 0 del; 0 mod 8293812: rename regression tests folder from lworld-values to primitive-classes ------------- PR: https://git.openjdk.org/valhalla/pull/756 From vromero at openjdk.org Thu Sep 15 18:32:46 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 15 Sep 2022 18:32:46 GMT Subject: [lworld] RFR: 8293868: [lworld] remove support for @__primitive__ and @__value__ for declaring primitive, value classes Message-ID: This PR is removing support for, I think, experimental annotations `@__primitive__` and `@__value__`, there is no mention to them in any spec or JEP document ------------- Commit messages: - 8293868: [lworld] remove support for @__primitive__ and @__value__ for declaring primitive, value classes Changes: https://git.openjdk.org/valhalla/pull/757/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=757&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293868 Stats: 35 lines in 10 files changed: 0 ins; 17 del; 18 mod Patch: https://git.openjdk.org/valhalla/pull/757.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/757/head:pull/757 PR: https://git.openjdk.org/valhalla/pull/757 From vromero at openjdk.org Thu Sep 15 18:35:35 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 15 Sep 2022 18:35:35 GMT Subject: [lworld] Integrated: 8293868: [lworld] remove support for @__primitive__ and @__value__ for declaring primitive, value classes In-Reply-To: References: Message-ID: <_gaXVu-sIriq8P24D3BeuX3DAmsu8Au03alqE87xOZc=.56bf7035-4c56-454e-8855-ce3b70312d74@github.com> On Thu, 15 Sep 2022 18:26:22 GMT, Vicente Romero wrote: > This PR is removing support for, I think, experimental annotations `@__primitive__` and `@__value__`, there is no mention to them in any spec or JEP document This pull request has now been integrated. Changeset: fc0fece5 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/fc0fece54eab5cf3de3c25c32f1f2575aa5ce6ec Stats: 35 lines in 10 files changed: 0 ins; 17 del; 18 mod 8293868: [lworld] remove support for @__primitive__ and @__value__ for declaring primitive, value classes ------------- PR: https://git.openjdk.org/valhalla/pull/757 From thartmann at openjdk.org Fri Sep 16 10:15:38 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Fri, 16 Sep 2022 10:15:38 GMT Subject: [lworld] RFR: [lworld] Disable getModifiersTest until 8291719 is fixed Message-ID: This test is still failing in the CI. I'm disabling it until JDK-8291719 is fixed. Thanks, Tobias ------------- Commit messages: - [lworld] Disable getModifiersTest until 8291719 is fixed Changes: https://git.openjdk.org/valhalla/pull/759/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=759&range=00 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/759.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/759/head:pull/759 PR: https://git.openjdk.org/valhalla/pull/759 From thartmann at openjdk.org Fri Sep 16 10:18:39 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Fri, 16 Sep 2022 10:18:39 GMT Subject: [lworld] Integrated: [lworld] Disable getModifiersTest until 8291719 is fixed In-Reply-To: References: Message-ID: On Fri, 16 Sep 2022 10:08:40 GMT, Tobias Hartmann wrote: > This test is still failing in the CI. I'm disabling it until JDK-8291719 is fixed. > > Thanks, > Tobias This pull request has now been integrated. Changeset: 7c6eb809 Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/7c6eb809cd137fc188d289efc6b752567bb15bec Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod [lworld] Disable getModifiersTest until 8291719 is fixed ------------- PR: https://git.openjdk.org/valhalla/pull/759 From thartmann at openjdk.org Mon Sep 19 05:05:52 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Mon, 19 Sep 2022 05:05:52 GMT Subject: [lworld] RFR: 8293934: [lworld] TestCallingConvention triggers "code buffer not large enough" assert Message-ID: <2oiYk3SVVuj_TFvWh-ZZeaQ_QLD2VSuLiMf9yOtIAjI=.a97e43ea-1c34-4275-85a0-700a55e44efe@github.com> Due to verification code added by [JDK-8292694](https://bugs.openjdk.org/browse/JDK-8292694), more space is required for the c2i and i2c adapters to support the scalarized calling convention. The issue is intermittent and only reproduces on a specific platform, but I verified that the fix works. Thanks, Tobias ------------- Commit messages: - 8293934: [lworld] TestCallingConvention triggers "code buffer not large enough" assert Changes: https://git.openjdk.org/valhalla/pull/760/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=760&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8293934 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/760.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/760/head:pull/760 PR: https://git.openjdk.org/valhalla/pull/760 From thartmann at openjdk.org Mon Sep 19 05:17:09 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Mon, 19 Sep 2022 05:17:09 GMT Subject: [lworld] Integrated: 8293934: [lworld] TestCallingConvention triggers "code buffer not large enough" assert In-Reply-To: <2oiYk3SVVuj_TFvWh-ZZeaQ_QLD2VSuLiMf9yOtIAjI=.a97e43ea-1c34-4275-85a0-700a55e44efe@github.com> References: <2oiYk3SVVuj_TFvWh-ZZeaQ_QLD2VSuLiMf9yOtIAjI=.a97e43ea-1c34-4275-85a0-700a55e44efe@github.com> Message-ID: On Mon, 19 Sep 2022 04:59:14 GMT, Tobias Hartmann wrote: > Due to verification code added by [JDK-8292694](https://bugs.openjdk.org/browse/JDK-8292694), more space is required for the c2i and i2c adapters to support the scalarized calling convention. The issue is intermittent and only reproduces on a specific platform, but I verified that the fix works. > > Thanks, > Tobias This pull request has now been integrated. Changeset: 2eceb31d Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/2eceb31d18505d5afc31f50e56cbab1ac350c982 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod 8293934: [lworld] TestCallingConvention triggers "code buffer not large enough" assert ------------- PR: https://git.openjdk.org/valhalla/pull/760 From fparain at openjdk.org Mon Sep 19 14:26:16 2022 From: fparain at openjdk.org (Frederic Parain) Date: Mon, 19 Sep 2022 14:26:16 GMT Subject: [lworld] RFR: 8292883: [lworld] javac fails to detect class files with invalid access flags In-Reply-To: <705R9L4rWqOPNKLvnf8R1a8vg8yN_A2eDEAWBuDlTpM=.98016ace-56cd-4972-ba7d-05b621abf188@github.com> References: <705R9L4rWqOPNKLvnf8R1a8vg8yN_A2eDEAWBuDlTpM=.98016ace-56cd-4972-ba7d-05b621abf188@github.com> Message-ID: On Mon, 12 Sep 2022 19:21:11 GMT, Vicente Romero wrote: > javac is loading a forged class file which declares a primitive class which also has the `identity` flag set. This PR is fixing this bug by issuing an error in such cases. > > TIA I cannot comment on the implementation of the fix, but as the reporter of the issue I can tell that the proposed fix correctly detects the invalid class in the provided use case. ------------- PR: https://git.openjdk.org/valhalla/pull/754 From rriggs at openjdk.org Mon Sep 19 18:29:02 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 19 Sep 2022 18:29:02 GMT Subject: [lworld] RFR: 8281295: Prototype serialization/deserialization using Unsafe. Message-ID: Specify serialization and deserialization of value objects. Value objects are immutable, Externalizable relies on mutation, Externalizable is not supported for value objects. Revised tests and added tests for graphs of value objects. Somewhat similar to Record serialization in that back references to the value object store 'null' until the value object is completely deserialized. Similar to regular serialization/deserialization of identity objects. The serialized form is the same. Deserialization is done by reading fields and storing into a Buffered larval object, converted to a value object when all of the fields have been read and stored. Externalizable and Value Objects are incompatible, value objects are immutable and Externalizable.readExternal is expected to modify the fields of an allocated object. ------------- Commit messages: - 8281295: Prototype serialization/deserialization using Unsafe. Changes: https://git.openjdk.org/valhalla/pull/761/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=761&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8281295 Stats: 1084 lines in 9 files changed: 783 ins; 288 del; 13 mod Patch: https://git.openjdk.org/valhalla/pull/761.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/761/head:pull/761 PR: https://git.openjdk.org/valhalla/pull/761 From rriggs at openjdk.org Mon Sep 19 18:56:15 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 19 Sep 2022 18:56:15 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v8] In-Reply-To: References: Message-ID: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Roger Riggs 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 11 additional commits since the last revision: - Merge branch 'lworld' into 8287692-rebased-primitive-class - Correct HeapDump printing of primitive class of a field. - Merge branch 'lworld' into 8287692-rebased-primitive-class - whitespace cleanup - Include missing import/module - fix broken declaration - Cleanup whitespace - Cleanup PrimitiveClass declarations and fix compilation failures - Reverted unintentional whitespace changes - Cleanup based on review comments. - ... and 1 more: https://git.openjdk.org/valhalla/compare/fc3ea52a...7c897173 ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/752/files - new: https://git.openjdk.org/valhalla/pull/752/files/aae5292b..7c897173 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=07 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=06-07 Stats: 192 lines in 226 files changed: 83 ins; 100 del; 9 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From rriggs at openjdk.org Mon Sep 19 19:26:28 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 19 Sep 2022 19:26:28 GMT Subject: [lworld] RFR: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass [v9] In-Reply-To: References: Message-ID: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Update copyrights ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/752/files - new: https://git.openjdk.org/valhalla/pull/752/files/7c897173..b19eba46 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=08 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=752&range=07-08 Stats: 26 lines in 26 files changed: 0 ins; 0 del; 26 mod Patch: https://git.openjdk.org/valhalla/pull/752.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/752/head:pull/752 PR: https://git.openjdk.org/valhalla/pull/752 From vromero at openjdk.org Mon Sep 19 19:50:59 2022 From: vromero at openjdk.org (Vicente Romero) Date: Mon, 19 Sep 2022 19:50:59 GMT Subject: [lworld] RFR: 8292883: [lworld] javac fails to detect class files with invalid access flags In-Reply-To: References: <705R9L4rWqOPNKLvnf8R1a8vg8yN_A2eDEAWBuDlTpM=.98016ace-56cd-4972-ba7d-05b621abf188@github.com> Message-ID: <_MEJRxQu1LDFfdVD32a8jmWmYnLdIknMYXlMKa0vTx8=.d8b6043e-bf03-4e45-ba15-e1b7272c28f7@github.com> On Mon, 19 Sep 2022 14:22:29 GMT, Frederic Parain wrote: > I cannot comment on the implementation of the fix, but as the reporter of the issue I can tell that the proposed fix correctly detects the invalid class in the provided use case. @fparain thanks for checking that ------------- PR: https://git.openjdk.org/valhalla/pull/754 From vromero at openjdk.org Mon Sep 19 19:58:34 2022 From: vromero at openjdk.org (Vicente Romero) Date: Mon, 19 Sep 2022 19:58:34 GMT Subject: [lworld] RFR: 8292883: [lworld] javac fails to detect class files with invalid access flags [v2] In-Reply-To: <705R9L4rWqOPNKLvnf8R1a8vg8yN_A2eDEAWBuDlTpM=.98016ace-56cd-4972-ba7d-05b621abf188@github.com> References: <705R9L4rWqOPNKLvnf8R1a8vg8yN_A2eDEAWBuDlTpM=.98016ace-56cd-4972-ba7d-05b621abf188@github.com> Message-ID: <9vqRYbtbW15-Rrh-Hr5r3Blm1O5dKlP0Yy3EsR-hH0o=.49bb94e1-441c-48e6-a790-9d11e324daee@github.com> > javac is loading a forged class file which declares a primitive class which also has the `identity` flag set. This PR is fixing this bug by issuing an error in such cases. > > TIA Vicente Romero has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits: - Merge branch 'lworld' into JDK-8292883 - 8292883: [lworld] javac fails to detect class files with invalid access flags ------------- Changes: https://git.openjdk.org/valhalla/pull/754/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=754&range=01 Stats: 103 lines in 6 files changed: 102 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/754.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/754/head:pull/754 PR: https://git.openjdk.org/valhalla/pull/754 From rriggs at openjdk.org Mon Sep 19 20:18:16 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Mon, 19 Sep 2022 20:18:16 GMT Subject: [lworld] Integrated: 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass In-Reply-To: References: Message-ID: On Fri, 9 Sep 2022 17:06:30 GMT, Roger Riggs wrote: > Move Class primitive APIs to jdk.internal.value.PrimitiveClass. > > Update hotspot tests to use PrimitiveClass instead of Class.xxx methods. > Add imports of jdk.internal.value.PrimitiveClass > Add --add-exports java.base/jdk.internal.value=ALL-UNNAMED This pull request has now been integrated. Changeset: 8813f488 Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/8813f488224c6ea4db1e06d446fe07ff8f6c944d Stats: 767 lines in 76 files changed: 348 ins; 16 del; 403 mod 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass Reviewed-by: mchung ------------- PR: https://git.openjdk.org/valhalla/pull/752 From vromero at openjdk.org Mon Sep 19 21:41:04 2022 From: vromero at openjdk.org (Vicente Romero) Date: Mon, 19 Sep 2022 21:41:04 GMT Subject: [lworld] Integrated: 8292883: [lworld] javac fails to detect class files with invalid access flags In-Reply-To: <705R9L4rWqOPNKLvnf8R1a8vg8yN_A2eDEAWBuDlTpM=.98016ace-56cd-4972-ba7d-05b621abf188@github.com> References: <705R9L4rWqOPNKLvnf8R1a8vg8yN_A2eDEAWBuDlTpM=.98016ace-56cd-4972-ba7d-05b621abf188@github.com> Message-ID: On Mon, 12 Sep 2022 19:21:11 GMT, Vicente Romero wrote: > javac is loading a forged class file which declares a primitive class which also has the `identity` flag set. This PR is fixing this bug by issuing an error in such cases. > > TIA This pull request has now been integrated. Changeset: 33e1455d Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/33e1455d5efc04d14f6813f870dd2a465cb82f76 Stats: 103 lines in 6 files changed: 102 ins; 0 del; 1 mod 8292883: [lworld] javac fails to detect class files with invalid access flags ------------- PR: https://git.openjdk.org/valhalla/pull/754 From thartmann at openjdk.org Tue Sep 20 09:04:26 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Tue, 20 Sep 2022 09:04:26 GMT Subject: [lworld] RFR: 8294054: [lworld] asPrimaryType/asValueType intrinsics broken after JDK-8287692 Message-ID: <4GPxPDGnyQmrlwMjF0sG8Hp48o9C89xzcy3ZDuCqPeQ=.8aaee299-2c88-4fbc-9760-c65c4e42419c@github.com> [JDK-8287692](https://bugs.openjdk.org/browse/JDK-8287692) made the `asPrimaryType`/`asValueType` methods in `java.lang.Class` package private and added public versions to `jdk.internal.value.PrimitiveClass`. This change adds the required VM code to intrinsify the new methods. Thanks, Tobias ------------- Commit messages: - 8294054: [lworld] asPrimaryType/asValueType intrinsics broken after JDK-8287692 Changes: https://git.openjdk.org/valhalla/pull/762/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=762&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8294054 Stats: 21 lines in 6 files changed: 15 ins; 0 del; 6 mod Patch: https://git.openjdk.org/valhalla/pull/762.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/762/head:pull/762 PR: https://git.openjdk.org/valhalla/pull/762 From thartmann at openjdk.org Tue Sep 20 09:31:01 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Tue, 20 Sep 2022 09:31:01 GMT Subject: [lworld] Withdrawn: 8294054: [lworld] asPrimaryType/asValueType intrinsics broken after JDK-8287692 In-Reply-To: <4GPxPDGnyQmrlwMjF0sG8Hp48o9C89xzcy3ZDuCqPeQ=.8aaee299-2c88-4fbc-9760-c65c4e42419c@github.com> References: <4GPxPDGnyQmrlwMjF0sG8Hp48o9C89xzcy3ZDuCqPeQ=.8aaee299-2c88-4fbc-9760-c65c4e42419c@github.com> Message-ID: <6XaZz7H-eW5yU4kak5Z5krRHusNyjh0mm4PlbqzmUEw=.775e7812-8923-438a-acad-927fe3a85eb0@github.com> On Tue, 20 Sep 2022 08:56:34 GMT, Tobias Hartmann wrote: > [JDK-8287692](https://bugs.openjdk.org/browse/JDK-8287692) made the `asPrimaryType`/`asValueType` methods in `java.lang.Class` package private and added public versions to `jdk.internal.value.PrimitiveClass`. This change adds the required VM code to intrinsify the new methods. > > Thanks, > Tobias This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.org/valhalla/pull/762 From thartmann at openjdk.org Tue Sep 20 09:33:56 2022 From: thartmann at openjdk.org (Tobias Hartmann) Date: Tue, 20 Sep 2022 09:33:56 GMT Subject: [lworld] Integrated: 8294054: [lworld] asPrimaryType/asValueType intrinsics broken after JDK-8287692 In-Reply-To: <4GPxPDGnyQmrlwMjF0sG8Hp48o9C89xzcy3ZDuCqPeQ=.8aaee299-2c88-4fbc-9760-c65c4e42419c@github.com> References: <4GPxPDGnyQmrlwMjF0sG8Hp48o9C89xzcy3ZDuCqPeQ=.8aaee299-2c88-4fbc-9760-c65c4e42419c@github.com> Message-ID: On Tue, 20 Sep 2022 08:56:34 GMT, Tobias Hartmann wrote: > [JDK-8287692](https://bugs.openjdk.org/browse/JDK-8287692) made the `asPrimaryType`/`asValueType` methods in `java.lang.Class` package private and added public versions to `jdk.internal.value.PrimitiveClass`. This change adds the required VM code to intrinsify the new methods. > > Thanks, > Tobias This pull request has now been integrated. Changeset: bac833dc Author: Tobias Hartmann URL: https://git.openjdk.org/valhalla/commit/bac833dc71c77e9715f6f9122440da9dd2615fb8 Stats: 21 lines in 6 files changed: 15 ins; 0 del; 6 mod 8294054: [lworld] asPrimaryType/asValueType intrinsics broken after JDK-8287692 ------------- PR: https://git.openjdk.org/valhalla/pull/762 From dsimms at openjdk.org Tue Sep 20 12:59:59 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 20 Sep 2022 12:59:59 GMT Subject: [lworld] RFR: Merge jdk Message-ID: <4lbBKf4nAXs7vQl8T2PdNO7l9UhnjxguCFmnHMgDrws=.94bab3b8-ad23-4061-925f-bdb88b1d7d3b@github.com> Merge branch 'lworld' into lworld_merge_jdk_20_15 ------------- Commit messages: - Merge branch 'lworld' into lworld_merge_jdk_20_15 - Merge branch 'lworld' into lworld_merge_jdk_20_15 - Missed new temp reg param - Merge jdk - 8293402: hs-err file printer should reattempt stack trace printing if it fails - 8291669: [REDO] Fix array range check hoisting for some scaled loop iv - 8293787: Linux aarch64 build fails after 8292591 - 8292755: Non-default method in interface leads to a stack overflow in JShell - 8293771: runtime/handshake/SystemMembarHandshakeTransitionTest.java fails if MEMBARRIER_CMD_QUERY is unsupported - 8293774: Improve TraceOptoParse to dump the bytecode name - ... and 60 more: https://git.openjdk.org/valhalla/compare/bac833dc...d075bec7 The webrevs contain the adjustments done while merging with regards to each parent branch: - lworld: https://webrevs.openjdk.org/?repo=valhalla&pr=763&range=00.0 - jdk: https://webrevs.openjdk.org/?repo=valhalla&pr=763&range=00.1 Changes: https://git.openjdk.org/valhalla/pull/763/files Stats: 15804 lines in 359 files changed: 9687 ins; 4770 del; 1347 mod Patch: https://git.openjdk.org/valhalla/pull/763.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/763/head:pull/763 PR: https://git.openjdk.org/valhalla/pull/763 From dsimms at openjdk.org Tue Sep 20 13:16:31 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 20 Sep 2022 13:16:31 GMT Subject: [lworld] RFR: Adjust ProblemList Message-ID: Removed fixed bug (8274131), added (8294051) ------------- Commit messages: - Adjust ProblemList Changes: https://git.openjdk.org/valhalla/pull/764/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=764&range=00 Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/764.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/764/head:pull/764 PR: https://git.openjdk.org/valhalla/pull/764 From dsimms at openjdk.org Tue Sep 20 13:35:17 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 20 Sep 2022 13:35:17 GMT Subject: [lworld] Integrated: Adjust ProblemList In-Reply-To: References: Message-ID: <88aBiuYbQ6dGQZ4-817wN3qctcV3a1_7Km5TUVcycag=.0a5c793a-20cb-483e-800d-4c7de2eb1654@github.com> On Tue, 20 Sep 2022 13:09:00 GMT, David Simms wrote: > Removed fixed bug (8274131), added (8294051) This pull request has now been integrated. Changeset: 33be8398 Author: David Simms URL: https://git.openjdk.org/valhalla/commit/33be83981e0bbf342dc7ecd7ccdced11c3c056c2 Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod Adjust ProblemList ------------- PR: https://git.openjdk.org/valhalla/pull/764 From dsimms at openjdk.org Tue Sep 20 13:37:19 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 20 Sep 2022 13:37:19 GMT Subject: [lworld] Integrated: Merge jdk In-Reply-To: <4lbBKf4nAXs7vQl8T2PdNO7l9UhnjxguCFmnHMgDrws=.94bab3b8-ad23-4061-925f-bdb88b1d7d3b@github.com> References: <4lbBKf4nAXs7vQl8T2PdNO7l9UhnjxguCFmnHMgDrws=.94bab3b8-ad23-4061-925f-bdb88b1d7d3b@github.com> Message-ID: <7E62Huls2sI2F5gJT8ZyIFd2X-gTg4uMaBnGqp3JqTU=.dc3e6168-e1da-4884-a4e7-d92531e35c14@github.com> On Tue, 20 Sep 2022 12:50:52 GMT, David Simms wrote: > Merge branch 'lworld' into lworld_merge_jdk_20_15 This pull request has now been integrated. Changeset: 60855881 Author: David Simms URL: https://git.openjdk.org/valhalla/commit/60855881344b0e9606765fe8ff53d878ef622972 Stats: 15804 lines in 359 files changed: 9687 ins; 4770 del; 1347 mod Merge jdk Merge tag 'jdk-20+15' ------------- PR: https://git.openjdk.org/valhalla/pull/763 From vromero at openjdk.org Tue Sep 20 19:44:41 2022 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 20 Sep 2022 19:44:41 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses Message-ID: Primitive classes support should be opted in using a compiler option ------------- Commit messages: - removing whitespace - Merge branch 'lworld' into JDK-8288131 - removing whitespace - fixing more hotspot tests - updating hotspot tests - additional regression tests changes - updating more primitive classes tests - additional test changes - Merge branch 'lworld' into JDK-8288131 - 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses Changes: https://git.openjdk.org/valhalla/pull/758/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8288131 Stats: 356 lines in 233 files changed: 139 ins; 43 del; 174 mod Patch: https://git.openjdk.org/valhalla/pull/758.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/758/head:pull/758 PR: https://git.openjdk.org/valhalla/pull/758 From vromero at openjdk.org Tue Sep 20 22:16:22 2022 From: vromero at openjdk.org (Vicente Romero) Date: Tue, 20 Sep 2022 22:16:22 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v2] In-Reply-To: References: Message-ID: > Primitive classes support should be opted in using a compiler option Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: fixing additional HS tests ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/758/files - new: https://git.openjdk.org/valhalla/pull/758/files/a91c3c8a..f5827c6b Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=00-01 Stats: 8 lines in 8 files changed: 3 ins; 0 del; 5 mod Patch: https://git.openjdk.org/valhalla/pull/758.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/758/head:pull/758 PR: https://git.openjdk.org/valhalla/pull/758 From duke at openjdk.org Wed Sep 21 04:41:16 2022 From: duke at openjdk.org (ExE Boss) Date: Wed, 21 Sep 2022 04:41:16 GMT Subject: [lworld] RFR: 8281295: Prototype serialization/deserialization using Unsafe. In-Reply-To: References: Message-ID: On Mon, 19 Sep 2022 18:21:31 GMT, Roger Riggs wrote: > Specify serialization and deserialization of value objects. Value objects are immutable, Externalizable relies on mutation, Externalizable is not supported for value objects. Revised tests and added tests for graphs of value objects. > > Somewhat similar to Record serialization in that back references to the value object store 'null' until the value object is completely deserialized. > Similar to regular serialization/deserialization of identity objects. The serialized form is the same. > Deserialization is done by reading fields and storing into a Buffered larval object, converted to a value object when all of the fields have been read and stored. > > Externalizable and Value Objects are incompatible, value objects are immutable and Externalizable.readExternal is expected to modify the fields of an allocated object. src/java.base/share/classes/java/io/ObjectInputStream.java line 2307: > 2305: handles.setObject(passHandle, obj); > 2306: readSerialData(obj, desc); > 2307: } These `assert?obj?!=?null` statements can?be?hoisted before?all these?`if`?statements. ------------- PR: https://git.openjdk.org/valhalla/pull/761 From dsimms at openjdk.org Wed Sep 21 06:56:05 2022 From: dsimms at openjdk.org (David Simms) Date: Wed, 21 Sep 2022 06:56:05 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v4] In-Reply-To: References: Message-ID: <5O6dA9H00ddb8t3wjvAZwWw5z8VcR4wOEp8pBmdPsC4=.c65023d0-0915-4fa6-8108-1d631be03a0b@github.com> > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits: - Merge branch 'lworld' into 8288135 - CF version bump - Merge branch 'lworld' into 8288135 # Conflicts: # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestC2CCalls.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestDeoptimizationWhenBuffering.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestNewAcmp.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestTrivialMethods.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestUnloadedReturnTypes.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineOops.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineTypeDensity.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/ValueTearing.java - Be explicit about which features are enabled in testing - Missed preload processing - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - Retain the classfile version checks AND enable flag - Silently disable the default on setting if Valhalla is disabled - ... and 1 more: https://git.openjdk.org/valhalla/compare/60855881...052070e5 ------------- Changes: https://git.openjdk.org/valhalla/pull/727/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=03 Stats: 1136 lines in 120 files changed: 805 ins; 56 del; 275 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From vromero at openjdk.org Wed Sep 21 14:00:50 2022 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 21 Sep 2022 14:00:50 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v3] In-Reply-To: References: Message-ID: > Primitive classes support should be opted in using a compiler option Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: fixing jdk tests ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/758/files - new: https://git.openjdk.org/valhalla/pull/758/files/f5827c6b..e532288d Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=01-02 Stats: 31 lines in 26 files changed: 23 ins; 0 del; 8 mod Patch: https://git.openjdk.org/valhalla/pull/758.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/758/head:pull/758 PR: https://git.openjdk.org/valhalla/pull/758 From rriggs at openjdk.org Wed Sep 21 14:10:41 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 21 Sep 2022 14:10:41 GMT Subject: [lworld] RFR: 8281295: Prototype serialization/deserialization using Unsafe. In-Reply-To: References: Message-ID: On Wed, 21 Sep 2022 04:36:39 GMT, ExE Boss wrote: >> Specify serialization and deserialization of value objects. Value objects are immutable, Externalizable relies on mutation, Externalizable is not supported for value objects. Revised tests and added tests for graphs of value objects. >> >> Somewhat similar to Record serialization in that back references to the value object store 'null' until the value object is completely deserialized. >> Similar to regular serialization/deserialization of identity objects. The serialized form is the same. >> Deserialization is done by reading fields and storing into a Buffered larval object, converted to a value object when all of the fields have been read and stored. >> >> Externalizable and Value Objects are incompatible, value objects are immutable and Externalizable.readExternal is expected to modify the fields of an allocated object. > > src/java.base/share/classes/java/io/ObjectInputStream.java line 2307: > >> 2305: handles.setObject(passHandle, obj); >> 2306: readSerialData(obj, desc); >> 2307: } > > These `assert?obj?!=?null` statements can?be?hoisted before?all these?`if`?statements. Except the first, for Records object must be null. ------------- PR: https://git.openjdk.org/valhalla/pull/761 From vromero at openjdk.org Thu Sep 22 02:40:04 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 02:40:04 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v4] In-Reply-To: References: Message-ID: > Primitive classes support should be opted in using a compiler option Vicente Romero has updated the pull request incrementally with two additional commits since the last revision: - fixing varhandle tests - fixing benchmark tests ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/758/files - new: https://git.openjdk.org/valhalla/pull/758/files/e532288d..bc67d2c9 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=03 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=02-03 Stats: 333 lines in 34 files changed: 254 ins; 4 del; 75 mod Patch: https://git.openjdk.org/valhalla/pull/758.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/758/head:pull/758 PR: https://git.openjdk.org/valhalla/pull/758 From vromero at openjdk.org Thu Sep 22 05:22:26 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 05:22:26 GMT Subject: [lworld] RFR: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake Message-ID: Most tests under `test/jdk/java/lang/invoke/VarHandles/` should be generated from a template, that is processed by the script `generate-vh-tests.sh` located in the same folder. Several of these tests have been modified directly instead of modifying the template. This PR is correcting this issue, TIA ------------- Commit messages: - 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake Changes: https://git.openjdk.org/valhalla/pull/765/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=765&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8294159 Stats: 197 lines in 7 files changed: 133 ins; 0 del; 64 mod Patch: https://git.openjdk.org/valhalla/pull/765.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/765/head:pull/765 PR: https://git.openjdk.org/valhalla/pull/765 From dsimms at openjdk.org Thu Sep 22 12:05:57 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 22 Sep 2022 12:05:57 GMT Subject: [lworld] RFR: Merge jdk Message-ID: Merge tag 'jdk-20+16' into lworld_merge_jdk_20_16 Added tag jdk-20+16 for changeset 711e2520 ------------- Commit messages: - Merge tag 'jdk-20+16' into lworld_merge_jdk_20_16 - 8294039: Remove "Classpath" exception from java/awt tests - 8294038: Remove "Classpath" exception from javax/swing tests - 8294068: Unconditional and eager load of nio library since JDK-8264744 - 8288129: Shenandoah: Skynet test crashed with iu + aggressive - 8294110: compiler/uncommontrap/Decompile.java fails after JDK-8293798 - 8294083: RISC-V: Minimal build failed with --disable-precompiled-headers - 8293897: Synthetic final modifier is part of the AST for a try-with-resource resource - 8293493: Signal Handlers printout should show signal block state - 8293659: Improve UnsatisfiedLinkError error message to include dlopen error details - ... and 82 more: https://git.openjdk.org/valhalla/compare/60855881...e227054e The webrevs contain the adjustments done while merging with regards to each parent branch: - lworld: https://webrevs.openjdk.org/?repo=valhalla&pr=766&range=00.0 - jdk: https://webrevs.openjdk.org/?repo=valhalla&pr=766&range=00.1 Changes: https://git.openjdk.org/valhalla/pull/766/files Stats: 14664 lines in 747 files changed: 6271 ins; 4308 del; 4085 mod Patch: https://git.openjdk.org/valhalla/pull/766.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/766/head:pull/766 PR: https://git.openjdk.org/valhalla/pull/766 From dsimms at openjdk.org Thu Sep 22 12:42:54 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 22 Sep 2022 12:42:54 GMT Subject: [lworld] RFR: 8294229: [lworld] sun.jvm.hotspot.interpreter.Bytecodes refers to defaultvalue (not aconst_init) Message-ID: Renamed to aconst_init ------------- Commit messages: - 8294229: [lworld] sun.jvm.hotspot.interpreter.Bytecodes refers to defaultvalue (not aconst_init) Changes: https://git.openjdk.org/valhalla/pull/767/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=767&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8294229 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/767.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/767/head:pull/767 PR: https://git.openjdk.org/valhalla/pull/767 From dsimms at openjdk.org Thu Sep 22 13:00:50 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 22 Sep 2022 13:00:50 GMT Subject: [lworld] Integrated: 8294229: [lworld] sun.jvm.hotspot.interpreter.Bytecodes refers to "defaultvalue" (not aconst_init) In-Reply-To: References: Message-ID: On Thu, 22 Sep 2022 12:38:12 GMT, David Simms wrote: > Renamed to aconst_init This pull request has now been integrated. Changeset: 68dc74ce Author: David Simms URL: https://git.openjdk.org/valhalla/commit/68dc74cec7bd674b3295717c0bc3b03868d1711d Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod 8294229: [lworld] sun.jvm.hotspot.interpreter.Bytecodes refers to "defaultvalue" (not aconst_init) ------------- PR: https://git.openjdk.org/valhalla/pull/767 From dsimms at openjdk.org Thu Sep 22 13:17:53 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 22 Sep 2022 13:17:53 GMT Subject: [lworld] RFR: Merge jdk [v2] In-Reply-To: References: Message-ID: <-v2fcdJLg21owyFwLQB_Dwoh_aCaOXJdkNMSP_9u_S8=.fee97f8f-49a9-4d77-871d-e1cec97fa323@github.com> > Merge tag 'jdk-20+16' into lworld_merge_jdk_20_16 > Added tag jdk-20+16 for changeset 711e2520 David Simms has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 1426 commits: - Merge tag 'jdk-20+16' into lworld_merge_jdk_20_16 Added tag jdk-20+16 for changeset 711e2520 - Merge jdk Merge tag 'jdk-20+15' - Adjust ProblemList - 8294054: [lworld] asPrimaryType/asValueType intrinsics broken after JDK-8287692 - 8292883: [lworld] javac fails to detect class files with invalid access flags - 8287692: Move Class primitive APIs to jdk.internal.value.PrimitiveClass Reviewed-by: mchung - 8293934: [lworld] TestCallingConvention triggers "code buffer not large enough" assert - [lworld] Disable getModifiersTest until 8291719 is fixed - 8293868: [lworld] remove support for @__primitive__ and @__value__ for declaring primitive, value classes - 8293812: rename regression tests folder from lworld-values to primitive-classes - ... and 1416 more: https://git.openjdk.org/valhalla/compare/711e2520...e227054e ------------- Changes: https://git.openjdk.org/valhalla/pull/766/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=766&range=01 Stats: 192108 lines in 1557 files changed: 183717 ins; 1964 del; 6427 mod Patch: https://git.openjdk.org/valhalla/pull/766.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/766/head:pull/766 PR: https://git.openjdk.org/valhalla/pull/766 From dsimms at openjdk.org Thu Sep 22 13:17:54 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 22 Sep 2022 13:17:54 GMT Subject: [lworld] Integrated: Merge jdk In-Reply-To: References: Message-ID: On Thu, 22 Sep 2022 11:56:03 GMT, David Simms wrote: > Merge tag 'jdk-20+16' into lworld_merge_jdk_20_16 > Added tag jdk-20+16 for changeset 711e2520 This pull request has now been integrated. Changeset: 947ad67f Author: David Simms URL: https://git.openjdk.org/valhalla/commit/947ad67fcdbef5e518f60a30b60309d9fc2cf337 Stats: 14664 lines in 747 files changed: 6271 ins; 4308 del; 4085 mod Merge jdk Merge tag 'jdk-20+16' ------------- PR: https://git.openjdk.org/valhalla/pull/766 From rriggs at openjdk.org Thu Sep 22 14:00:39 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 22 Sep 2022 14:00:39 GMT Subject: [lworld] RFR: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake In-Reply-To: References: Message-ID: On Thu, 22 Sep 2022 05:16:09 GMT, Vicente Romero wrote: > Most tests under `test/jdk/java/lang/invoke/VarHandles/` should be generated from a template, that is processed by the script `generate-vh-tests.sh` located in the same folder. Several of these tests have been modified directly instead of modifying the template. This PR is correcting this issue, > > TIA LGTM ------------- Marked as reviewed by rriggs (Committer). PR: https://git.openjdk.org/valhalla/pull/765 From vromero at openjdk.org Thu Sep 22 15:08:54 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 15:08:54 GMT Subject: [lworld] RFR: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake [v2] In-Reply-To: References: Message-ID: > Most tests under `test/jdk/java/lang/invoke/VarHandles/` should be generated from a template, that is processed by the script `generate-vh-tests.sh` located in the same folder. Several of these tests have been modified directly instead of modifying the template. This PR is correcting this issue, > > TIA Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: updating copyright date for template ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/765/files - new: https://git.openjdk.org/valhalla/pull/765/files/230b908c..7fe4599c Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=765&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=765&range=00-01 Stats: 11 lines in 11 files changed: 0 ins; 0 del; 11 mod Patch: https://git.openjdk.org/valhalla/pull/765.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/765/head:pull/765 PR: https://git.openjdk.org/valhalla/pull/765 From dsimms at openjdk.org Thu Sep 22 15:16:09 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 22 Sep 2022 15:16:09 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v5] In-Reply-To: References: Message-ID: <5_NE9gkYgztbzQkwigbFF2GWqhks52cOTgpO2GuKkBY=.b7128f23-47bc-4986-a565-8695f10aded0@github.com> > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 13 commits: - Further test fixes - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - CF version bump - Merge branch 'lworld' into 8288135 # Conflicts: # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestC2CCalls.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestDeoptimizationWhenBuffering.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestNewAcmp.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestTrivialMethods.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestUnloadedReturnTypes.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineOops.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineTypeDensity.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/ValueTearing.java - Be explicit about which features are enabled in testing - Missed preload processing - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - ... and 3 more: https://git.openjdk.org/valhalla/compare/947ad67f...d560bbd7 ------------- Changes: https://git.openjdk.org/valhalla/pull/727/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=04 Stats: 1141 lines in 120 files changed: 807 ins; 56 del; 278 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From mchung at openjdk.org Thu Sep 22 16:59:44 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 22 Sep 2022 16:59:44 GMT Subject: [lworld] RFR: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake [v2] In-Reply-To: References: Message-ID: On Thu, 22 Sep 2022 15:08:54 GMT, Vicente Romero wrote: >> Most tests under `test/jdk/java/lang/invoke/VarHandles/` should be generated from a template, that is processed by the script `generate-vh-tests.sh` located in the same folder. Several of these tests have been modified directly instead of modifying the template. This PR is correcting this issue, >> >> TIA > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > updating copyright date for template test/jdk/java/lang/invoke/VarHandles/generate-vh-tests.sh line 46: > 44: case $type in > 45: Point) > 46: args="$args -KPrimitiveClass" I don't think PrimitiveClass is needed. case $type in boolean|byte|short|char|int|long|float|double|Point) args="$args -KValue" ;; esac ``` "Value" is used to annotate as primitive class because "value class" was the terminology when these tests were updated. You can rename `Value` to `PrimitiveClass` in this file and `X-VarHandle*` templates. Or leave it as is and we will change that when we add tests for value objects. ------------- PR: https://git.openjdk.org/valhalla/pull/765 From dsimms at openjdk.org Thu Sep 22 17:42:51 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 22 Sep 2022 17:42:51 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v4] In-Reply-To: References: Message-ID: On Thu, 22 Sep 2022 02:40:04 GMT, Vicente Romero wrote: >> Primitive classes support should be opted in using a compiler option > > Vicente Romero has updated the pull request incrementally with two additional commits since the last revision: > > - fixing varhandle tests > - fixing benchmark tests Hotspot test changes look fine (assuming `make exploded-test TEST=hotspot_valhalla` passes) ------------- Marked as reviewed by dsimms (Committer). PR: https://git.openjdk.org/valhalla/pull/758 From vromero at openjdk.org Thu Sep 22 19:00:47 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 19:00:47 GMT Subject: [lworld] RFR: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake [v2] In-Reply-To: References: Message-ID: On Thu, 22 Sep 2022 16:57:43 GMT, Mandy Chung wrote: >> Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: >> >> updating copyright date for template > > test/jdk/java/lang/invoke/VarHandles/generate-vh-tests.sh line 46: > >> 44: case $type in >> 45: Point) >> 46: args="$args -KPrimitiveClass" > > I don't think PrimitiveClass is needed. > > > case $type in > boolean|byte|short|char|int|long|float|double|Point) > args="$args -KValue" > ;; > esac > ``` > > "Value" is used to annotate as primitive class because "value class" was the terminology when these tests were updated. > > You can rename `Value` to `PrimitiveClass` in this file and `X-VarHandle*` templates. Or leave it as is and we will change that when we add tests for value objects. well `Value` is passed as an argument for all the types above I wanted a variable that was passed only if type was Point, this is why I created a new one. Consider that there is code that is not generated if the type is `Point` ------------- PR: https://git.openjdk.org/valhalla/pull/765 From vromero at openjdk.org Thu Sep 22 19:58:08 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 19:58:08 GMT Subject: [lworld] RFR: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake [v3] In-Reply-To: References: Message-ID: > Most tests under `test/jdk/java/lang/invoke/VarHandles/` should be generated from a template, that is processed by the script `generate-vh-tests.sh` located in the same folder. Several of these tests have been modified directly instead of modifying the template. This PR is correcting this issue, > > TIA Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: restoring some code removed from primitive classes tests ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/765/files - new: https://git.openjdk.org/valhalla/pull/765/files/7fe4599c..da76b950 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=765&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=765&range=01-02 Stats: 295 lines in 5 files changed: 193 ins; 102 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/765.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/765/head:pull/765 PR: https://git.openjdk.org/valhalla/pull/765 From mchung at openjdk.org Thu Sep 22 20:03:51 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 22 Sep 2022 20:03:51 GMT Subject: [lworld] RFR: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake [v3] In-Reply-To: References: Message-ID: <_hWqRZWZsBgormEco7eTAPeJ9U6KVj11fun173PQxJs=.2310c360-cef9-453e-a866-d63e68bdca8b@github.com> On Thu, 22 Sep 2022 19:58:08 GMT, Vicente Romero wrote: >> Most tests under `test/jdk/java/lang/invoke/VarHandles/` should be generated from a template, that is processed by the script `generate-vh-tests.sh` located in the same folder. Several of these tests have been modified directly instead of modifying the template. This PR is correcting this issue, >> >> TIA > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > restoring some code removed from primitive classes tests Change in the `X-VarHandle*` template files looks good. I assume the tests are generated by running the unchanged generate-vh-tests.sh. It's all good. Thanks for taking care of this. ------------- Marked as reviewed by mchung (Committer). PR: https://git.openjdk.org/valhalla/pull/765 From vromero at openjdk.org Thu Sep 22 20:12:32 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 20:12:32 GMT Subject: [lworld] RFR: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake [v3] In-Reply-To: <_hWqRZWZsBgormEco7eTAPeJ9U6KVj11fun173PQxJs=.2310c360-cef9-453e-a866-d63e68bdca8b@github.com> References: <_hWqRZWZsBgormEco7eTAPeJ9U6KVj11fun173PQxJs=.2310c360-cef9-453e-a866-d63e68bdca8b@github.com> Message-ID: <_l3FtvkBUOzFq0yFgmJho5bICZN5UmpjdMlvruR0hV8=.73291830-60c1-46ad-a885-ab16de414cc5@github.com> On Thu, 22 Sep 2022 20:01:39 GMT, Mandy Chung wrote: > Change in the `X-VarHandle*` template files looks good. I assume the tests are generated by running the unchanged generate-vh-tests.sh. It's all good. correct with the unchanged bash file > > Thanks for taking care of this. sure thanks for your review ------------- PR: https://git.openjdk.org/valhalla/pull/765 From vromero at openjdk.org Thu Sep 22 20:43:20 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 20:43:20 GMT Subject: [lworld] Integrated: 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake In-Reply-To: References: Message-ID: On Thu, 22 Sep 2022 05:16:09 GMT, Vicente Romero wrote: > Most tests under `test/jdk/java/lang/invoke/VarHandles/` should be generated from a template, that is processed by the script `generate-vh-tests.sh` located in the same folder. Several of these tests have been modified directly instead of modifying the template. This PR is correcting this issue, > > TIA This pull request has now been integrated. Changeset: 56dfc296 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/56dfc296f6c8f5d9118acb47be13bea793556dba Stats: 297 lines in 14 files changed: 224 ins; 0 del; 73 mod 8294159: automatically generated tests under test/jdk/java/lang/invoke/VarHandles/ have been modified by mistake Reviewed-by: rriggs, mchung ------------- PR: https://git.openjdk.org/valhalla/pull/765 From vromero at openjdk.org Thu Sep 22 21:52:37 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 21:52:37 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v5] In-Reply-To: References: Message-ID: > Primitive classes support should be opted in using a compiler option Vicente Romero has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits: - Merge branch 'lworld' into JDK-8288131 - removing the latest changes to VarHandles tests - fixing varhandle tests - fixing benchmark tests - fixing jdk tests - fixing additional HS tests - removing whitespace - Merge branch 'lworld' into JDK-8288131 - removing whitespace - fixing more hotspot tests - ... and 6 more: https://git.openjdk.org/valhalla/compare/56dfc296...e42cd658 ------------- Changes: https://git.openjdk.org/valhalla/pull/758/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=04 Stats: 396 lines in 268 files changed: 166 ins; 43 del; 187 mod Patch: https://git.openjdk.org/valhalla/pull/758.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/758/head:pull/758 PR: https://git.openjdk.org/valhalla/pull/758 From vromero at openjdk.org Thu Sep 22 22:56:06 2022 From: vromero at openjdk.org (Vicente Romero) Date: Thu, 22 Sep 2022 22:56:06 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v6] In-Reply-To: References: Message-ID: > Primitive classes support should be opted in using a compiler option Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: VarHandles tests ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/758/files - new: https://git.openjdk.org/valhalla/pull/758/files/e42cd658..39363cca Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=05 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=04-05 Stats: 32 lines in 32 files changed: 32 ins; 0 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/758.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/758/head:pull/758 PR: https://git.openjdk.org/valhalla/pull/758 From vromero at openjdk.org Fri Sep 23 02:28:59 2022 From: vromero at openjdk.org (Vicente Romero) Date: Fri, 23 Sep 2022 02:28:59 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v7] In-Reply-To: References: Message-ID: <8-rabbS_JEq6mRFdua23jYnIITYNZFxDq1EDqOEoNE4=.ceb4f9ff-0f86-4247-a119-b72b55648668@github.com> > Primitive classes support should be opted in using a compiler option Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: fixing additional HS tests ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/758/files - new: https://git.openjdk.org/valhalla/pull/758/files/39363cca..1b80935b Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=06 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=05-06 Stats: 12 lines in 11 files changed: 1 ins; 0 del; 11 mod Patch: https://git.openjdk.org/valhalla/pull/758.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/758/head:pull/758 PR: https://git.openjdk.org/valhalla/pull/758 From vromero at openjdk.org Fri Sep 23 02:41:42 2022 From: vromero at openjdk.org (Vicente Romero) Date: Fri, 23 Sep 2022 02:41:42 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v8] In-Reply-To: References: Message-ID: > Primitive classes support should be opted in using a compiler option Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: fixing test RedefinePrimitive ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/758/files - new: https://git.openjdk.org/valhalla/pull/758/files/1b80935b..3565a053 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=07 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=758&range=06-07 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/valhalla/pull/758.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/758/head:pull/758 PR: https://git.openjdk.org/valhalla/pull/758 From dsimms at openjdk.org Fri Sep 23 09:15:53 2022 From: dsimms at openjdk.org (David Simms) Date: Fri, 23 Sep 2022 09:15:53 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v6] In-Reply-To: References: Message-ID: <92qQAi053nmsvj2DjuPoUHLkTZ3EUgYKuF6MMOOCCmA=.75d40beb-74a3-4127-8fd8-9686c70d17cb@github.com> > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 15 commits: - jdk_valhalla tests - Merge branch 'lworld' into 8288135 - Further test fixes - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - CF version bump - Merge branch 'lworld' into 8288135 # Conflicts: # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestC2CCalls.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestDeoptimizationWhenBuffering.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestNewAcmp.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestTrivialMethods.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestUnloadedReturnTypes.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineOops.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineTypeDensity.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/ValueTearing.java - Be explicit about which features are enabled in testing - Missed preload processing - Merge branch 'lworld' into 8288135 - ... and 5 more: https://git.openjdk.org/valhalla/compare/56dfc296...85a8197f ------------- Changes: https://git.openjdk.org/valhalla/pull/727/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=05 Stats: 1224 lines in 153 files changed: 814 ins; 60 del; 350 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From vromero at openjdk.org Fri Sep 23 09:20:37 2022 From: vromero at openjdk.org (Vicente Romero) Date: Fri, 23 Sep 2022 09:20:37 GMT Subject: [lworld] RFR: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses [v8] In-Reply-To: References: Message-ID: On Fri, 23 Sep 2022 02:41:42 GMT, Vicente Romero wrote: >> Primitive classes support should be opted in using a compiler option > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > fixing test RedefinePrimitive thanks for the review ------------- PR: https://git.openjdk.org/valhalla/pull/758 From vromero at openjdk.org Fri Sep 23 09:23:55 2022 From: vromero at openjdk.org (Vicente Romero) Date: Fri, 23 Sep 2022 09:23:55 GMT Subject: [lworld] Integrated: 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses In-Reply-To: References: Message-ID: On Thu, 15 Sep 2022 21:36:36 GMT, Vicente Romero wrote: > Primitive classes support should be opted in using a compiler option This pull request has now been integrated. Changeset: 4f0f3020 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/4f0f30203c1276f9c14b7b3996177426be2d7675 Stats: 444 lines in 311 files changed: 199 ins; 43 del; 202 mod 8288131: [lworld] Implement javac flag -XDenablePrimitiveClasses Reviewed-by: dsimms ------------- PR: https://git.openjdk.org/valhalla/pull/758 From vromero at openjdk.org Fri Sep 23 18:52:56 2022 From: vromero at openjdk.org (Vicente Romero) Date: Fri, 23 Sep 2022 18:52:56 GMT Subject: [lworld] RFR: 8294272: improve error messages issued by javac if primitive classes are not supported Message-ID: improve the error message issued by javac is the `-XDenablePrimitiveClasses` is not passed by the user ------------- Commit messages: - 8294272: improve error messages issued by javac if primitive classes are not supported Changes: https://git.openjdk.org/valhalla/pull/768/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=768&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8294272 Stats: 18 lines in 7 files changed: 10 ins; 4 del; 4 mod Patch: https://git.openjdk.org/valhalla/pull/768.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/768/head:pull/768 PR: https://git.openjdk.org/valhalla/pull/768 From vromero at openjdk.org Fri Sep 23 18:57:09 2022 From: vromero at openjdk.org (Vicente Romero) Date: Fri, 23 Sep 2022 18:57:09 GMT Subject: [lworld] Integrated: 8294272: improve error messages issued by javac if primitive classes are not supported In-Reply-To: References: Message-ID: <3IKp_cdmUrGQM4ZiAk9zKypL1-oD2BqKqK7s8OP8w1s=.80f346d2-9192-4c4e-bfed-7ec6a32ab6d0@github.com> On Fri, 23 Sep 2022 18:37:52 GMT, Vicente Romero wrote: > improve the error message issued by javac is the `-XDenablePrimitiveClasses` is not passed by the user This pull request has now been integrated. Changeset: 9290cc97 Author: Vicente Romero URL: https://git.openjdk.org/valhalla/commit/9290cc97906b9d79e84b5644a23f53d411038e82 Stats: 18 lines in 7 files changed: 10 ins; 4 del; 4 mod 8294272: improve error messages issued by javac if primitive classes are not supported ------------- PR: https://git.openjdk.org/valhalla/pull/768 From dsimms at openjdk.org Tue Sep 27 11:18:38 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 27 Sep 2022 11:18:38 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v7] In-Reply-To: References: Message-ID: <-ty-WEl_T4Ib2gDruZ-7fJd8ZeIvkaRKooYg8hlU5S4=.0f2f6ff7-326d-4346-92f8-48790e668dc3@github.com> > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 18 commits: - Disable EnablePrimitiveClasses by default - Explictly flag more tests - Merge branch 'lworld' into 8288135 - jdk_valhalla tests - Merge branch 'lworld' into 8288135 - Further test fixes - Merge branch 'lworld' into 8288135 - Merge branch 'lworld' into 8288135 - CF version bump - Merge branch 'lworld' into 8288135 # Conflicts: # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestC2CCalls.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestDeoptimizationWhenBuffering.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestNewAcmp.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestTrivialMethods.java # test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestUnloadedReturnTypes.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineOops.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineTypeDensity.java # test/hotspot/jtreg/runtime/valhalla/inlinetypes/ValueTearing.java - ... and 8 more: https://git.openjdk.org/valhalla/compare/9290cc97...5ee270c2 ------------- Changes: https://git.openjdk.org/valhalla/pull/727/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=06 Stats: 1347 lines in 242 files changed: 816 ins; 76 del; 455 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From dsimms at openjdk.org Tue Sep 27 14:06:08 2022 From: dsimms at openjdk.org (David Simms) Date: Tue, 27 Sep 2022 14:06:08 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v8] In-Reply-To: References: Message-ID: <6EWQbIcKGOlyVf6pWgB2Bx_GxgiNkIm_vbgD_6kJb58=.8b09d828-9cc4-49bc-920f-9278b8940e24@github.com> > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request incrementally with two additional commits since the last revision: - supports_inline_types() refers to classfile and is separate from Enable flags - Further testing explicity using flags ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/727/files - new: https://git.openjdk.org/valhalla/pull/727/files/5ee270c2..25d17901 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=07 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=06-07 Stats: 26 lines in 6 files changed: 14 ins; 2 del; 10 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From rriggs at openjdk.org Tue Sep 27 14:45:27 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 27 Sep 2022 14:45:27 GMT Subject: [lworld] RFR: 8294462: [lworld] set system property valhalla.enableValhalla when X:+EnableValhalla Message-ID: Updated to set the system property after all of the option setting locations have been processed. Verified via -XshowSettings. ------------- Commit messages: - 8294462: [lworld] set system property valhalla.enableValhalla when -XX:+EnableValhalla Changes: https://git.openjdk.org/valhalla/pull/769/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=769&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8294462 Stats: 37 lines in 1 file changed: 19 ins; 18 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/769.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/769/head:pull/769 PR: https://git.openjdk.org/valhalla/pull/769 From rriggs at openjdk.org Tue Sep 27 15:04:22 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 27 Sep 2022 15:04:22 GMT Subject: [lworld] RFR: 8294462: [lworld] set system property valhalla.enableValhalla when -XX:+EnableValhalla [v2] In-Reply-To: References: Message-ID: > Updated to set the system property after all of the option setting locations have been processed. > Verified via -XshowSettings. Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Remove extra blank line ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/769/files - new: https://git.openjdk.org/valhalla/pull/769/files/e66dcf34..5b191f69 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=769&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=769&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/769.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/769/head:pull/769 PR: https://git.openjdk.org/valhalla/pull/769 From mchung at openjdk.org Tue Sep 27 17:56:45 2022 From: mchung at openjdk.org (Mandy Chung) Date: Tue, 27 Sep 2022 17:56:45 GMT Subject: [lworld] RFR: 8294462: [lworld] set system property valhalla.enableValhalla when -XX:+EnableValhalla [v2] In-Reply-To: References: Message-ID: On Tue, 27 Sep 2022 15:04:22 GMT, Roger Riggs wrote: >> Updated to set the system property after all of the option setting locations have been processed. >> Verified via -XshowSettings. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Remove extra blank line We need an internal API to test if `-XX:+EnableValhalla` and `-XX:+EnablePrimitiveClass` flags are set. Instead of using a system property, it may be time to add a method in `jdk.internal.value.PrimitiveClass` or other class to ask the VM if the flag is enabled. A side note: `-XX:+EnableValhalla` will ultimately become `--enable-preview` and the internal API `jdk.internal.misc.PreviewFeatures::isEnabled` already exists. ------------- PR: https://git.openjdk.org/valhalla/pull/769 From rriggs at openjdk.org Tue Sep 27 21:35:24 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Tue, 27 Sep 2022 21:35:24 GMT Subject: [lworld] RFR: 8294462: [lworld] set system property valhalla.enableValhalla when -XX:+EnableValhalla [v3] In-Reply-To: References: Message-ID: <4iGUbKjTMs6cgdj3-ktAaw5889nCsiDYcNl6jK5Suoc=.6dcb53b9-ecad-433b-be40-5b9dcbe98716@github.com> > Updated to set the system property after all of the option setting locations have been processed. > Verified via -XshowSettings. Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Add jdk.internal.misc.ValhallaFeatures, similar to PreviewFeatures based on the -XX:+/-EnableValhalla command line flag. Removed the "valhalla.enableValhalla" System property. It is unused and not wanting test or app code to depend on it. ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/769/files - new: https://git.openjdk.org/valhalla/pull/769/files/5b191f69..3da4a9e9 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=769&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=769&range=01-02 Stats: 173 lines in 7 files changed: 155 ins; 18 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/769.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/769/head:pull/769 PR: https://git.openjdk.org/valhalla/pull/769 From mchung at openjdk.org Tue Sep 27 23:45:00 2022 From: mchung at openjdk.org (Mandy Chung) Date: Tue, 27 Sep 2022 23:45:00 GMT Subject: [lworld] RFR: 8294462: [lworld] Add jdk.internal.misc.ValhallaFeatures to reflect -XX:+EnableValhalla [v3] In-Reply-To: <4iGUbKjTMs6cgdj3-ktAaw5889nCsiDYcNl6jK5Suoc=.6dcb53b9-ecad-433b-be40-5b9dcbe98716@github.com> References: <4iGUbKjTMs6cgdj3-ktAaw5889nCsiDYcNl6jK5Suoc=.6dcb53b9-ecad-433b-be40-5b9dcbe98716@github.com> Message-ID: On Tue, 27 Sep 2022 21:35:24 GMT, Roger Riggs wrote: >> Updated to set the system property after all of the option setting locations have been processed. >> Verified via -XshowSettings. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Add jdk.internal.misc.ValhallaFeatures, similar to PreviewFeatures > based on the -XX:+/-EnableValhalla command line flag. > Removed the "valhalla.enableValhalla" System property. > It is unused and not wanting test or app code to depend on it. Marked as reviewed by mchung (Committer). ------------- PR: https://git.openjdk.org/valhalla/pull/769 From dsimms at openjdk.org Wed Sep 28 07:26:13 2022 From: dsimms at openjdk.org (David Simms) Date: Wed, 28 Sep 2022 07:26:13 GMT Subject: [lworld] RFR: 8294462: [lworld] Add jdk.internal.misc.ValhallaFeatures to reflect -XX:+EnableValhalla [v3] In-Reply-To: <4iGUbKjTMs6cgdj3-ktAaw5889nCsiDYcNl6jK5Suoc=.6dcb53b9-ecad-433b-be40-5b9dcbe98716@github.com> References: <4iGUbKjTMs6cgdj3-ktAaw5889nCsiDYcNl6jK5Suoc=.6dcb53b9-ecad-433b-be40-5b9dcbe98716@github.com> Message-ID: <6cjNtGPyErIZwcFCWN7vZ29oQhe3-1HNekblNVCTb_U=.f24256cf-4f4d-453b-bb62-a891d41166a8@github.com> On Tue, 27 Sep 2022 21:35:24 GMT, Roger Riggs wrote: >> Updated to set the system property after all of the option setting locations have been processed. >> Verified via -XshowSettings. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Add jdk.internal.misc.ValhallaFeatures, similar to PreviewFeatures > based on the -XX:+/-EnableValhalla command line flag. > Removed the "valhalla.enableValhalla" System property. > It is unused and not wanting test or app code to depend on it. VM changes look fine ------------- Marked as reviewed by dsimms (Committer). PR: https://git.openjdk.org/valhalla/pull/769 From dsimms at openjdk.org Wed Sep 28 07:47:48 2022 From: dsimms at openjdk.org (David Simms) Date: Wed, 28 Sep 2022 07:47:48 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v9] In-Reply-To: References: Message-ID: > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request incrementally with one additional commit since the last revision: Extra assertion info for tracking spurious issue ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/727/files - new: https://git.openjdk.org/valhalla/pull/727/files/25d17901..8608be4d Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=08 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=07-08 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From rriggs at openjdk.org Wed Sep 28 13:50:59 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 28 Sep 2022 13:50:59 GMT Subject: [lworld] Integrated: 8294462: [lworld] Add jdk.internal.misc.ValhallaFeatures to reflect -XX:+EnableValhalla In-Reply-To: References: Message-ID: On Tue, 27 Sep 2022 14:38:44 GMT, Roger Riggs wrote: > Updated to set the system property after all of the option setting locations have been processed. > Verified via -XshowSettings. This pull request has now been integrated. Changeset: 951544ff Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/951544ffe536e8bb1e2b17048c479d04ee5136d9 Stats: 173 lines in 7 files changed: 155 ins; 18 del; 0 mod 8294462: [lworld] Add jdk.internal.misc.ValhallaFeatures to reflect -XX:+EnableValhalla Reviewed-by: mchung, dsimms ------------- PR: https://git.openjdk.org/valhalla/pull/769 From rriggs at openjdk.org Wed Sep 28 16:19:11 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 28 Sep 2022 16:19:11 GMT Subject: [lworld] RFR: 8294312: [lworld] Add Objects.isIdentityObject(obj) Message-ID: Add `java.util.Objects.isIdentityObject(obj)` and update tests. Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). Updated ValhallaFeaturesTest to use junit. ------------- Commit messages: - 8294312: [lworld] Add Objects.isIdentityObject(obj) Changes: https://git.openjdk.org/valhalla/pull/770/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=770&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8294312 Stats: 76 lines in 5 files changed: 53 ins; 6 del; 17 mod Patch: https://git.openjdk.org/valhalla/pull/770.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/770/head:pull/770 PR: https://git.openjdk.org/valhalla/pull/770 From vromero at openjdk.org Wed Sep 28 17:59:07 2022 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 28 Sep 2022 17:59:07 GMT Subject: [lworld] RFR: 8247569: [lworld] Align with spec for methods Message-ID: Value classes constructor should be named instead of . This PR can't be pushed without the corresponding support being available on the VM side ------------- Commit messages: - 8247569: [lworld] Align with spec for methods Changes: https://git.openjdk.org/valhalla/pull/771/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=771&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8247569 Stats: 234 lines in 45 files changed: 88 ins; 6 del; 140 mod Patch: https://git.openjdk.org/valhalla/pull/771.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/771/head:pull/771 PR: https://git.openjdk.org/valhalla/pull/771 From vromero at openjdk.org Wed Sep 28 18:12:55 2022 From: vromero at openjdk.org (Vicente Romero) Date: Wed, 28 Sep 2022 18:12:55 GMT Subject: [lworld] RFR: 8247569: [lworld] Align with spec for methods [v2] In-Reply-To: References: Message-ID: > Value classes constructor should be named instead of . This PR can't be pushed without the corresponding support being available on the VM side Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: removing experimental code ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/771/files - new: https://git.openjdk.org/valhalla/pull/771/files/3614deeb..6e2d19c9 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=771&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=771&range=00-01 Stats: 17 lines in 6 files changed: 0 ins; 13 del; 4 mod Patch: https://git.openjdk.org/valhalla/pull/771.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/771/head:pull/771 PR: https://git.openjdk.org/valhalla/pull/771 From rriggs at openjdk.org Wed Sep 28 20:54:29 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Wed, 28 Sep 2022 20:54:29 GMT Subject: [lworld] RFR: 8281295: Prototype serialization/deserialization using Unsafe. [v2] In-Reply-To: References: Message-ID: <8TUVqp2hjwV1v50Z9QGBdhRzH60-l8Yqo_blChA7rDU=.a7b57229-cffa-4966-afa7-1125681da9f6@github.com> > Specify serialization and deserialization of value objects. Value objects are immutable, Externalizable relies on mutation, Externalizable is not supported for value objects. Revised tests and added tests for graphs of value objects. > > Somewhat similar to Record serialization in that back references to the value object store 'null' until the value object is completely deserialized. > Similar to regular serialization/deserialization of identity objects. The serialized form is the same. > Deserialization is done by reading fields and storing into a Buffered larval object, converted to a value object when all of the fields have been read and stored. > > Externalizable and Value Objects are incompatible, value objects are immutable and Externalizable.readExternal is expected to modify the fields of an allocated object. Roger Riggs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits: - javadoc cleanup - Merge branch 'lworld' into 8281295-lworld-serialize - Merge branch 'lworld' into 8281295-lworld-serialize - 8281295: Prototype serialization/deserialization using Unsafe. Specify serialization and deserialization of value objects. Value objects are immutable, Externalizable relies on mutation, Externalizable is not supported for value objects. Revised tests and added tests for graphs of value objects. ------------- Changes: https://git.openjdk.org/valhalla/pull/761/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=761&range=01 Stats: 1087 lines in 9 files changed: 787 ins; 287 del; 13 mod Patch: https://git.openjdk.org/valhalla/pull/761.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/761/head:pull/761 PR: https://git.openjdk.org/valhalla/pull/761 From dsimms at openjdk.org Thu Sep 29 06:49:13 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 29 Sep 2022 06:49:13 GMT Subject: [lworld] RFR: 8288135: [lworld] Implement HotSpot flag -XX:+EnablePrimitiveClasses [v10] In-Reply-To: References: Message-ID: > Runtime component of -XX:+EnablePrimitiveClasses switch David Simms has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 22 commits: - Merge branch 'lworld' into 8288135 - Extra assertion info for tracking spurious issue - supports_inline_types() refers to classfile and is separate from Enable flags - Further testing explicity using flags - Disable EnablePrimitiveClasses by default - Explictly flag more tests - Merge branch 'lworld' into 8288135 - jdk_valhalla tests - Merge branch 'lworld' into 8288135 - Further test fixes - ... and 12 more: https://git.openjdk.org/valhalla/compare/951544ff...1853e0c6 ------------- Changes: https://git.openjdk.org/valhalla/pull/727/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=727&range=09 Stats: 1362 lines in 245 files changed: 834 ins; 64 del; 464 mod Patch: https://git.openjdk.org/valhalla/pull/727.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/727/head:pull/727 PR: https://git.openjdk.org/valhalla/pull/727 From dsimms at openjdk.org Thu Sep 29 08:44:44 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 29 Sep 2022 08:44:44 GMT Subject: [lworld] RFR: 8247569: [lworld] Align with spec for methods [v2] In-Reply-To: References: Message-ID: On Wed, 28 Sep 2022 18:12:55 GMT, Vicente Romero wrote: >> Value classes constructor should be named instead of . This PR can't be pushed without the corresponding support being available on the VM side > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > removing experimental code VM support, JDK-8294224 is in progress (next week I'd say) ------------- PR: https://git.openjdk.org/valhalla/pull/771 From dsimms at openjdk.org Thu Sep 29 09:35:34 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 29 Sep 2022 09:35:34 GMT Subject: [lworld] RFR: Merge jdk Message-ID: Merge tag 'jdk-20+17' into lworld_merge_jdk_20_17 Added tag jdk-20+17 for changeset 79ccc791 # Conflicts: # src/hotspot/share/opto/node.cpp # src/hotspot/share/opto/phasetype.hpp # src/java.base/share/classes/java/lang/constant/ConstantUtils.java ------------- Commit messages: - Merge tag 'jdk-20+17' into lworld_merge_jdk_20_17 - 8293613: need to properly handle and hide tmp VTMS transitions - 8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false - 8294430: RISC-V: Small refactoring for movptr_with_offset - 8292158: AES-CTR cipher state corruption with AVX-512 - 8290482: Update JNI Specification of DestroyJavaVM for better alignment with JLS, JVMS, and Java SE API Specifications - 8294483: Remove vmTestbase/nsk/jvmti/GetThreadState tests. - 8293143: Workaround for JDK-8292217 when doing "step over" of bytecode with unresolved cp reference - 8294471: SpecTaglet is inconsistent with SpecTree for inline property - 8293592: Remove JVM_StopThread, stillborn, and related cleanup - ... and 64 more: https://git.openjdk.org/valhalla/compare/951544ff...6cdd579a The webrevs contain the adjustments done while merging with regards to each parent branch: - lworld: https://webrevs.openjdk.org/?repo=valhalla&pr=772&range=00.0 - jdk: https://webrevs.openjdk.org/?repo=valhalla&pr=772&range=00.1 Changes: https://git.openjdk.org/valhalla/pull/772/files Stats: 13393 lines in 315 files changed: 6517 ins; 5661 del; 1215 mod Patch: https://git.openjdk.org/valhalla/pull/772.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/772/head:pull/772 PR: https://git.openjdk.org/valhalla/pull/772 From dsimms at openjdk.org Thu Sep 29 13:26:54 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 29 Sep 2022 13:26:54 GMT Subject: [lworld] RFR: 8247569: [lworld] Align with spec for methods [v2] In-Reply-To: References: Message-ID: On Wed, 28 Sep 2022 18:12:55 GMT, Vicente Romero wrote: >> Value classes constructor should be named instead of . This PR can't be pushed without the corresponding support being available on the VM side > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > removing experimental code src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java line 67: > 65: DirectMethodHandleDescImpl(Kind kind, ClassDesc owner, String name, MethodTypeDesc type) { > 66: if (kind == CONSTRUCTOR) > 67: name = owner.isPrimitiveValueType() ? "" : ""; So here is an issue: `owner.isPrimitiveValueType()` simply says owner is Q-type descriptor. Need this name for Value Objects (and Q-Types), but Value Objects are L-types... How do we differentiate here ? By using `kind` ? ------------- PR: https://git.openjdk.org/valhalla/pull/771 From dsimms at openjdk.org Thu Sep 29 13:42:39 2022 From: dsimms at openjdk.org (David Simms) Date: Thu, 29 Sep 2022 13:42:39 GMT Subject: [lworld] RFR: 8247569: [lworld] Align with spec for methods [v2] In-Reply-To: References: Message-ID: On Thu, 29 Sep 2022 13:24:42 GMT, David Simms wrote: >> Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: >> >> removing experimental code > > src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java line 67: > >> 65: DirectMethodHandleDescImpl(Kind kind, ClassDesc owner, String name, MethodTypeDesc type) { >> 66: if (kind == CONSTRUCTOR) >> 67: name = owner.isPrimitiveValueType() ? "" : ""; > > So here is an issue: `owner.isPrimitiveValueType()` simply says owner is Q-type descriptor. Need this name for Value Objects (and Q-Types), but Value Objects are L-types... > > How do we differentiate here ? By using `kind` ? https://cr.openjdk.java.net/~dlsmith/jep8277163/jep8277163-20220830/specs/value-objects-jvms.html suggests REF_invokeStatic ------------- PR: https://git.openjdk.org/valhalla/pull/771 From mchung at openjdk.org Thu Sep 29 17:13:41 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 29 Sep 2022 17:13:41 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject In-Reply-To: References: Message-ID: On Wed, 28 Sep 2022 15:49:05 GMT, Roger Riggs wrote: > Add `java.util.Objects.isIdentityObject(obj)` and update tests. > > Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. > (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). > > Updated ValhallaFeaturesTest to use junit. src/java.base/share/classes/java/lang/Class.java line 645: > 643: */ > 644: public boolean isIdentity() { > 645: return isArray() || (this.getModifiers() & Modifier.IDENTITY) != 0; I think Class::getModifiers for an array class should have `IDENTITY` flag set. I think it's a bug in the VM that does not set `IDENTITY`. jint ObjArrayKlass::compute_modifier_flags() const { // The modifier for an objectArray is the same as its element if (element_klass() == NULL) { assert(Universe::is_bootstrapping(), "partial objArray only at startup"); return JVM_ACC_ABSTRACT | JVM_ACC_FINAL | JVM_ACC_PUBLIC; } // Return the flags of the bottom element type. jint element_flags = bottom_klass()->compute_modifier_flags(); return (element_flags & (JVM_ACC_PUBLIC | JVM_ACC_PRIVATE | JVM_ACC_PROTECTED)) | (JVM_ACC_ABSTRACT | JVM_ACC_FINAL); } ------------- PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Thu Sep 29 17:36:28 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 29 Sep 2022 17:36:28 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject In-Reply-To: References: Message-ID: <5EyfMt5WKmkZCbdB2WIzbkmkxMZxSpv8KVpOLjfoHGs=.91079fcb-c836-490a-876f-e15482971b46@github.com> On Thu, 29 Sep 2022 17:11:20 GMT, Mandy Chung wrote: >> Add `java.util.Objects.isIdentityObject(obj)` and update tests. >> >> Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. >> (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). >> >> Updated ValhallaFeaturesTest to use junit. > > src/java.base/share/classes/java/lang/Class.java line 645: > >> 643: */ >> 644: public boolean isIdentity() { >> 645: return isArray() || (this.getModifiers() & Modifier.IDENTITY) != 0; > > I think Class::getModifiers for an array class should have `IDENTITY` flag set. I think it's a bug in the VM that does not set `IDENTITY`. > > > jint ObjArrayKlass::compute_modifier_flags() const { > // The modifier for an objectArray is the same as its element > if (element_klass() == NULL) { > assert(Universe::is_bootstrapping(), "partial objArray only at startup"); > return JVM_ACC_ABSTRACT | JVM_ACC_FINAL | JVM_ACC_PUBLIC; > } > // Return the flags of the bottom element type. > jint element_flags = bottom_klass()->compute_modifier_flags(); > > return (element_flags & (JVM_ACC_PUBLIC | JVM_ACC_PRIVATE | JVM_ACC_PROTECTED)) > | (JVM_ACC_ABSTRACT | JVM_ACC_FINAL); > } The spec of Class.getModifiers() is explicit for arrays that only a few bits are defined. The other bits are unspecified and may be implementation specific. @rose00 thought it risky and too late to specify that now. I'd suggest making the `Class.isIdentity()` and `Class.isValue()` native methods and have the VM implement the semantics. Then it will not depend on the modifier bits. Mostly likely, these would become intrinsics. ------------- PR: https://git.openjdk.org/valhalla/pull/770 From mchung at openjdk.org Thu Sep 29 18:09:41 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 29 Sep 2022 18:09:41 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject In-Reply-To: <5EyfMt5WKmkZCbdB2WIzbkmkxMZxSpv8KVpOLjfoHGs=.91079fcb-c836-490a-876f-e15482971b46@github.com> References: <5EyfMt5WKmkZCbdB2WIzbkmkxMZxSpv8KVpOLjfoHGs=.91079fcb-c836-490a-876f-e15482971b46@github.com> Message-ID: On Thu, 29 Sep 2022 17:33:14 GMT, Roger Riggs wrote: >> src/java.base/share/classes/java/lang/Class.java line 645: >> >>> 643: */ >>> 644: public boolean isIdentity() { >>> 645: return isArray() || (this.getModifiers() & Modifier.IDENTITY) != 0; >> >> I think Class::getModifiers for an array class should have `IDENTITY` flag set. I think it's a bug in the VM that does not set `IDENTITY`. >> >> >> jint ObjArrayKlass::compute_modifier_flags() const { >> // The modifier for an objectArray is the same as its element >> if (element_klass() == NULL) { >> assert(Universe::is_bootstrapping(), "partial objArray only at startup"); >> return JVM_ACC_ABSTRACT | JVM_ACC_FINAL | JVM_ACC_PUBLIC; >> } >> // Return the flags of the bottom element type. >> jint element_flags = bottom_klass()->compute_modifier_flags(); >> >> return (element_flags & (JVM_ACC_PUBLIC | JVM_ACC_PRIVATE | JVM_ACC_PROTECTED)) >> | (JVM_ACC_ABSTRACT | JVM_ACC_FINAL); >> } > > The spec of Class.getModifiers() is explicit for arrays that only a few bits are defined. > The other bits are unspecified and may be implementation specific. > @rose00 thought it risky and too late to specify that now. > > I'd suggest making the `Class.isIdentity()` and `Class.isValue()` native methods and have the VM implement the semantics. Then it will not depend on the modifier bits. Mostly likely, these would become intrinsics. Alternatively, we could use `getClassAccessFlagsRaw` to return the VM specific flags to indicate that. I think checking `isArray` is a good interim solution. ------------- PR: https://git.openjdk.org/valhalla/pull/770 From mchung at openjdk.org Thu Sep 29 18:09:42 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 29 Sep 2022 18:09:42 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject In-Reply-To: References: Message-ID: <9X2TAF1SeKpOfpvNk9TU4T4HBVy5XlyCc5_HlYc8BHk=.4c4ab202-94b4-47d1-9fa2-6a406315b542@github.com> On Wed, 28 Sep 2022 15:49:05 GMT, Roger Riggs wrote: > Add `java.util.Objects.isIdentityObject(obj)` and update tests. > > Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. > (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). > > Updated ValhallaFeaturesTest to use junit. src/java.base/share/classes/java/lang/Object.java line 42: > 40: * The class {@code Object} itself is neither an identity class nor a value class. > 41: * See {@jls The Java Language Specification 8.1.1.5 identity and value Classes}. > 42: * An Instance can be created with {@code new Object()}, those instances are s/Instance/instance ------------- PR: https://git.openjdk.org/valhalla/pull/770 From mchung at openjdk.org Thu Sep 29 18:14:12 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 29 Sep 2022 18:14:12 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject In-Reply-To: References: Message-ID: On Wed, 28 Sep 2022 15:49:05 GMT, Roger Riggs wrote: > Add `java.util.Objects.isIdentityObject(obj)` and update tests. > > Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. > (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). > > Updated ValhallaFeaturesTest to use junit. src/java.base/share/classes/java/util/Objects.java line 201: > 199: return o.getClass().isIdentity() || > 200: o.getClass() == Object.class || > 201: !ValhallaFeatures.isEnabled(); // Before Valhalla all objects are identity objects. `Class::isIdentity` should check for `!ValhallaFeatures.isEnabled()` as well. Just a side note: we will need to go through the current implementation to see where this check is needed as well. test/jdk/valhalla/valuetypes/ObjectMethods.java line 85: > 83: {new PrimitiveRecord(1, "A"), false}, > 84: {new ValueRecord(1,"B"), false}, > 85: {new int[0], true}, // arrays of primitives classes are identity objects s/primitives/primitive/ ------------- PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Thu Sep 29 19:44:16 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 29 Sep 2022 19:44:16 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v2] In-Reply-To: References: Message-ID: > Add `java.util.Objects.isIdentityObject(obj)` and update tests. > > Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. > (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). > > Updated ValhallaFeaturesTest to use junit. Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Review comment updates related to ValhallaFeatures.isEnabled(). And javadoc cleanup ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/770/files - new: https://git.openjdk.org/valhalla/pull/770/files/3612a507..ff48dae1 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=770&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=770&range=00-01 Stats: 18 lines in 4 files changed: 7 ins; 0 del; 11 mod Patch: https://git.openjdk.org/valhalla/pull/770.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/770/head:pull/770 PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Thu Sep 29 19:45:46 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 29 Sep 2022 19:45:46 GMT Subject: [lworld] RFR: 8281295: Prototype serialization/deserialization using Unsafe. [v3] In-Reply-To: References: Message-ID: > Specify serialization and deserialization of value objects. Value objects are immutable, Externalizable relies on mutation, Externalizable is not supported for value objects. Revised tests and added tests for graphs of value objects. > > Somewhat similar to Record serialization in that back references to the value object store 'null' until the value object is completely deserialized. > Similar to regular serialization/deserialization of identity objects. The serialized form is the same. > Deserialization is done by reading fields and storing into a Buffered larval object, converted to a value object when all of the fields have been read and stored. > > Externalizable and Value Objects are incompatible, value objects are immutable and Externalizable.readExternal is expected to modify the fields of an allocated object. Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Remove asserts checking for null in cases where null signals there is no local class and the fields of the class in the stream are to be read and discarded. ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/761/files - new: https://git.openjdk.org/valhalla/pull/761/files/13ffbf8c..2da9451b Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=761&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=761&range=01-02 Stats: 7 lines in 3 files changed: 0 ins; 5 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/761.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/761/head:pull/761 PR: https://git.openjdk.org/valhalla/pull/761 From mchung at openjdk.org Thu Sep 29 20:49:45 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 29 Sep 2022 20:49:45 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v2] In-Reply-To: References: Message-ID: On Thu, 29 Sep 2022 19:44:16 GMT, Roger Riggs wrote: >> Add `java.util.Objects.isIdentityObject(obj)` and update tests. >> >> Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. >> (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). >> >> Updated ValhallaFeaturesTest to use junit. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Review comment updates related to ValhallaFeatures.isEnabled(). > And javadoc cleanup Do you have tests to check `Class::accessFlags` for array types? ------------- PR: https://git.openjdk.org/valhalla/pull/770 From mchung at openjdk.org Thu Sep 29 21:25:48 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 29 Sep 2022 21:25:48 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v2] In-Reply-To: References: Message-ID: On Thu, 29 Sep 2022 19:44:16 GMT, Roger Riggs wrote: >> Add `java.util.Objects.isIdentityObject(obj)` and update tests. >> >> Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. >> (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). >> >> Updated ValhallaFeaturesTest to use junit. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > Review comment updates related to ValhallaFeatures.isEnabled(). > And javadoc cleanup Looks okay in general. A couple minor comments. src/java.base/share/classes/java/lang/Class.java line 645: > 643: * @since Valhalla > 644: */ > 645: public boolean isIdentity() { The javadoc for `isIdentity` should specify if this Class is an array class, primitive type or `void`. src/java.base/share/classes/java/lang/Class.java line 657: > 655: */ > 656: public boolean isValue() { > 657: return ValhallaFeatures.isEnabled() && // Before Valhalla no classes are value classes `isValue` does not need to check `-XX:+EnableVahalla` since the new `VALUE` flag can only be set in a value class and if the feature is enabled. src/java.base/share/classes/java/lang/Object.java line 39: > 37: * including arrays, implement the methods of this class. > 38: *

> 39: * Subclasses of {@code java.lang.Object} can be either identity classes or value classes. suggest to add a link to `Class::isIdentity` and `Class::isValue` src/java.base/share/classes/java/util/Objects.java line 194: > 192: > 193: /** > 194: * {@return {@code true} if the object is an identity object, otherwise {@code false}} nit: s/the object/the specified object/ ------------- PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Thu Sep 29 21:25:49 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 29 Sep 2022 21:25:49 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v2] In-Reply-To: References: Message-ID: On Thu, 29 Sep 2022 20:47:36 GMT, Mandy Chung wrote: > Do you have tests to check `Class::accessFlags` for array types? Joe provided tests for Array classes (in ClassAccessFlagTest). It looks like he assumed other bits in the modifiers were zero. There is no spec for other bits. (they are unspecified) ------------- PR: https://git.openjdk.org/valhalla/pull/770 From mchung at openjdk.org Thu Sep 29 21:29:03 2022 From: mchung at openjdk.org (Mandy Chung) Date: Thu, 29 Sep 2022 21:29:03 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v2] In-Reply-To: References: Message-ID: <0e3VOh0g_sHm4wKpLPxPeeXOyqGm6YviREemYJ6mdYs=.71842d0a-bf5c-4aff-94c0-ef959291ad7d@github.com> On Thu, 29 Sep 2022 21:21:21 GMT, Roger Riggs wrote: > Joe provided tests for Array classes (in ClassAccessFlagTest). > It looks like he assumed other bits in the modifiers were zero. > There is no spec for other bits. (they are unspecified) Can you add a valhalla-specific test to validate that `Class::accessFlags` returns the expected flags for identity, value, array classes, and interface, etc. ------------- PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Thu Sep 29 21:43:42 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 29 Sep 2022 21:43:42 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v2] In-Reply-To: References: Message-ID: On Thu, 29 Sep 2022 21:18:14 GMT, Mandy Chung wrote: >> Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: >> >> Review comment updates related to ValhallaFeatures.isEnabled(). >> And javadoc cleanup > > src/java.base/share/classes/java/lang/Class.java line 645: > >> 643: * @since Valhalla >> 644: */ >> 645: public boolean isIdentity() { > > The javadoc for `isIdentity` should specify if this Class is an array class, primitive type or `void`. The primitive classes and void also do not have specified modifier bits. At present, they are not reported to be identity or value classes. The mainline javadoc says they are "value classes" but in reality they are identity classes. JEP 204 (future) would be the authority on that. > src/java.base/share/classes/java/util/Objects.java line 194: > >> 192: >> 193: /** >> 194: * {@return {@code true} if the object is an identity object, otherwise {@code false}} > > nit: s/the object/the specified object/ The pattern in all of Objects.java is to refer to "the object". ------------- PR: https://git.openjdk.org/valhalla/pull/770 From dsimms at openjdk.org Fri Sep 30 07:02:08 2022 From: dsimms at openjdk.org (David Simms) Date: Fri, 30 Sep 2022 07:02:08 GMT Subject: [lworld] RFR: Merge jdk [v2] In-Reply-To: References: Message-ID: > Merge tag 'jdk-20+17' into lworld_merge_jdk_20_17 > Added tag jdk-20+17 for changeset 79ccc791 > > # Conflicts: > # src/hotspot/share/opto/node.cpp > # src/hotspot/share/opto/phasetype.hpp > # src/java.base/share/classes/java/lang/constant/ConstantUtils.java David Simms has updated the pull request incrementally with one additional commit since the last revision: Follow-up fixes for 8255670 to Valhalla specific code ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/772/files - new: https://git.openjdk.org/valhalla/pull/772/files/6cdd579a..9f748f62 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=772&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=772&range=00-01 Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.org/valhalla/pull/772.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/772/head:pull/772 PR: https://git.openjdk.org/valhalla/pull/772 From dsimms at openjdk.org Fri Sep 30 09:02:33 2022 From: dsimms at openjdk.org (David Simms) Date: Fri, 30 Sep 2022 09:02:33 GMT Subject: [lworld] RFR: Merge jdk [v3] In-Reply-To: References: Message-ID: > Merge tag 'jdk-20+17' into lworld_merge_jdk_20_17 > Added tag jdk-20+17 for changeset 79ccc791 > > # Conflicts: > # src/hotspot/share/opto/node.cpp > # src/hotspot/share/opto/phasetype.hpp > # src/java.base/share/classes/java/lang/constant/ConstantUtils.java David Simms has updated the pull request incrementally with one additional commit since the last revision: Problem list 8294624 ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/772/files - new: https://git.openjdk.org/valhalla/pull/772/files/9f748f62..9af5ae97 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=772&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=772&range=01-02 Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Patch: https://git.openjdk.org/valhalla/pull/772.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/772/head:pull/772 PR: https://git.openjdk.org/valhalla/pull/772 From dsimms at openjdk.org Fri Sep 30 09:08:18 2022 From: dsimms at openjdk.org (David Simms) Date: Fri, 30 Sep 2022 09:08:18 GMT Subject: [lworld] Integrated: Merge jdk In-Reply-To: References: Message-ID: On Thu, 29 Sep 2022 09:27:29 GMT, David Simms wrote: > Merge tag 'jdk-20+17' into lworld_merge_jdk_20_17 > Added tag jdk-20+17 for changeset 79ccc791 > > # Conflicts: > # src/hotspot/share/opto/node.cpp > # src/hotspot/share/opto/phasetype.hpp > # src/java.base/share/classes/java/lang/constant/ConstantUtils.java This pull request has now been integrated. Changeset: b10c8011 Author: David Simms URL: https://git.openjdk.org/valhalla/commit/b10c80111788684513ff0ebae493965fb0902da4 Stats: 13398 lines in 316 files changed: 6520 ins; 5661 del; 1217 mod Merge jdk Merge tag 'jdk-20+17' ------------- PR: https://git.openjdk.org/valhalla/pull/772 From rriggs at openjdk.org Fri Sep 30 14:22:49 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 30 Sep 2022 14:22:49 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v2] In-Reply-To: <0e3VOh0g_sHm4wKpLPxPeeXOyqGm6YviREemYJ6mdYs=.71842d0a-bf5c-4aff-94c0-ef959291ad7d@github.com> References: <0e3VOh0g_sHm4wKpLPxPeeXOyqGm6YviREemYJ6mdYs=.71842d0a-bf5c-4aff-94c0-ef959291ad7d@github.com> Message-ID: On Thu, 29 Sep 2022 21:26:24 GMT, Mandy Chung wrote: > Can you add a valhalla-specific test to validate that `Class::accessFlags` returns the expected flags for identity, value, array classes, and interface, etc. ok, As a separate Issue/PR: JDK-8294678. ------------- PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Fri Sep 30 14:27:40 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 30 Sep 2022 14:27:40 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v2] In-Reply-To: References: Message-ID: <7awqzJ6vPMR22VirtG-X-RM6a7_O17BDDsKWM1XfHyM=.976208c1-9e3a-414b-880f-b92ee0a77985@github.com> On Thu, 29 Sep 2022 21:39:33 GMT, Roger Riggs wrote: >> src/java.base/share/classes/java/util/Objects.java line 194: >> >>> 192: >>> 193: /** >>> 194: * {@return {@code true} if the object is an identity object, otherwise {@code false}} >> >> nit: s/the object/the specified object/ > > The pattern in all of Objects.java is to refer to "the object". WIll fix to match other casesin Objects.java. ------------- PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Fri Sep 30 15:06:15 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 30 Sep 2022 15:06:15 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v3] In-Reply-To: References: Message-ID: > Add `java.util.Objects.isIdentityObject(obj)` and update tests. > > Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. > (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). > > Updated ValhallaFeaturesTest to use junit. Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: Updates to isIdentity method and related javadoc ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/770/files - new: https://git.openjdk.org/valhalla/pull/770/files/ff48dae1..4b3f2a96 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=770&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=770&range=01-02 Stats: 13 lines in 3 files changed: 8 ins; 1 del; 4 mod Patch: https://git.openjdk.org/valhalla/pull/770.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/770/head:pull/770 PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Fri Sep 30 17:15:01 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 30 Sep 2022 17:15:01 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v4] In-Reply-To: References: Message-ID: <-W9Aad8ESP0HTZgHDitrArv4gjiAbE-u6apqbd7zFTs=.68105512-b351-4876-b470-f3725781a882@github.com> > Add `java.util.Objects.isIdentityObject(obj)` and update tests. > > Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. > (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). > > Updated ValhallaFeaturesTest to use junit. Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: javadoc updates in Class for isIdentity and isValue ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/770/files - new: https://git.openjdk.org/valhalla/pull/770/files/4b3f2a96..ffbf320e Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=770&range=03 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=770&range=02-03 Stats: 9 lines in 1 file changed: 0 ins; 3 del; 6 mod Patch: https://git.openjdk.org/valhalla/pull/770.diff Fetch: git fetch https://git.openjdk.org/valhalla pull/770/head:pull/770 PR: https://git.openjdk.org/valhalla/pull/770 From mchung at openjdk.org Fri Sep 30 18:02:46 2022 From: mchung at openjdk.org (Mandy Chung) Date: Fri, 30 Sep 2022 18:02:46 GMT Subject: [lworld] RFR: 8294312: [lworld] Add java.util.Objects.isIdentityObject [v4] In-Reply-To: <-W9Aad8ESP0HTZgHDitrArv4gjiAbE-u6apqbd7zFTs=.68105512-b351-4876-b470-f3725781a882@github.com> References: <-W9Aad8ESP0HTZgHDitrArv4gjiAbE-u6apqbd7zFTs=.68105512-b351-4876-b470-f3725781a882@github.com> Message-ID: <7yRWxsDBsY_MoqdmVg0W9e-kln20dumDkPdZ8D_3rk0=.dbd52bc9-bd20-480b-a10d-d3f1287ccb5d@github.com> On Fri, 30 Sep 2022 17:15:01 GMT, Roger Riggs wrote: >> Add `java.util.Objects.isIdentityObject(obj)` and update tests. >> >> Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. >> (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). >> >> Updated ValhallaFeaturesTest to use junit. > > Roger Riggs has updated the pull request incrementally with one additional commit since the last revision: > > javadoc updates in Class for isIdentity and isValue Looks okay to me. Thanks for the updates and creating the follow-up issues. ------------- Marked as reviewed by mchung (Committer). PR: https://git.openjdk.org/valhalla/pull/770 From rriggs at openjdk.org Fri Sep 30 18:19:36 2022 From: rriggs at openjdk.org (Roger Riggs) Date: Fri, 30 Sep 2022 18:19:36 GMT Subject: [lworld] Integrated: 8294312: [lworld] Add java.util.Objects.isIdentityObject In-Reply-To: References: Message-ID: On Wed, 28 Sep 2022 15:49:05 GMT, Roger Riggs wrote: > Add `java.util.Objects.isIdentityObject(obj)` and update tests. > > Correct j.l.Class.isIdentity() and .isValue() to correctly identify all arrays as identity objects. > (The modifiers for array classes do have not reliable ACC_IDENTITY or ACC_VALUE bits). > > Updated ValhallaFeaturesTest to use junit. This pull request has now been integrated. Changeset: 9039a70b Author: Roger Riggs URL: https://git.openjdk.org/valhalla/commit/9039a70b87719a4889931a601466b2a8900620bf Stats: 86 lines in 5 files changed: 64 ins; 6 del; 16 mod 8294312: [lworld] Add java.util.Objects.isIdentityObject Reviewed-by: mchung ------------- PR: https://git.openjdk.org/valhalla/pull/770