From fazil.mes53 at gmail.com Wed Mar 2 06:09:53 2022 From: fazil.mes53 at gmail.com (fazil mohamed) Date: Wed, 2 Mar 2022 11:39:53 +0530 Subject: Interaction between Panama and Valhalla In-Reply-To: References: Message-ID: Hi Developers Can anyone put some lights on Glavo's concerns. Although these features are under incubation/preview, JVMs inspired from OpenJDK are extremely focused on these JEPs and projects. In the near future the expectation is to define a method or variable using the Vector API(JEP-417) wrapper and can hold any primitive value type from Project Valhalla. Using project Panama memory layout, the developer can specify the size(32/64) and memory address within the heap of the defined. This reduces the GC time to Mark and Evacuate the space. These are all Hypothetical Thinking correct me if I'm wrong. On Wed, Mar 2, 2022 at 9:27 AM Glavo wrote: > Can someone answer my question? Many thanks. > > On Thu, Jan 27, 2022 at 12:50 AM Glavo wrote: > > > I noticed that some Panama features seem to benefit from Valhalla's > > features. A notable example is MemoryAddress, which has been marked as > > value based and should be able to migrate to value classes in the future. > > > > However, this is not enough to satisfy me. MemoryAddress can be more than > > just a value class (identity-free reference type), but also a perfect > > candidate for the primitive class (JEP 401). > > It would be perfect if it could become a primitive class: Eliminates the > > possibility that Java's `null` being its value, we just need > > `MemoryAddress.NULL`; > > Such a small primitive class should almost always be flattened, storing > it > > in a field or array is as simple as a long > > (According to the description of JEP draft 8280173, when value class is > > stored in arrays and fields, it may not be flattened, and additional > > objects still need to be created)... > > > > However, what worries me is that the current Valhalla prototype does not > > seem to provide a way to migrate a class to a primitive class while > > maintaining compatibility. > > I'm worried that if Panama can't make it a primitive class before ending > > the preview, it will become a permanent regret. > > I don't know whether the two JDK preview functions can interact with each > > other, so here I want to ask if it is possible for Panama to have closer > > contact with Valhalla when Valhalla starts previewing at the same time? > > > -- Regards Mohamed Fasil From forax at univ-mlv.fr Wed Mar 2 07:15:58 2022 From: forax at univ-mlv.fr (Remi Forax) Date: Wed, 2 Mar 2022 08:15:58 +0100 (CET) Subject: Interaction between Panama and Valhalla In-Reply-To: References: Message-ID: <701360988.10005131.1646205358459.JavaMail.zimbra@u-pem.fr> ----- Original Message ----- > From: "fazil mohamed" > To: "Glavo" > Cc: "panama-dev at openjdk.java.net'" , "jdk-dev" , "valhalla-dev" > > Sent: Wednesday, March 2, 2022 7:09:53 AM > Subject: Re: Interaction between Panama and Valhalla > Hi Developers > > Can anyone put some lights on Glavo's concerns. Although these features are > under incubation/preview, JVMs inspired from OpenJDK are extremely focused > on these JEPs and projects. In the near future the expectation is to define > a method or variable using the Vector API(JEP-417) wrapper and can hold any > primitive value type from Project Valhalla. Using project Panama memory > layout, the developer can specify the size(32/64) and memory address within > the heap of the defined. This reduces the GC time to Mark and Evacuate the > space. These are all Hypothetical Thinking correct me if I'm wrong. Remembers that those API are in preview mode, there is no backward compatibility issues for an API in preview (because there is no backward compatibility guarantee at all). At some point in the future, vectors or MemoryAddress will be either a value class or a primitive class or whatever depending on how Valhalla evolve. The closest we currently have is to mark a class as a value based class so at least you have some warnings by the compiler when you try to synchronize on it, etc. It does not mean anything more. regards, R?mi > > On Wed, Mar 2, 2022 at 9:27 AM Glavo wrote: > >> Can someone answer my question? Many thanks. >> >> On Thu, Jan 27, 2022 at 12:50 AM Glavo wrote: >> >> > I noticed that some Panama features seem to benefit from Valhalla's >> > features. A notable example is MemoryAddress, which has been marked as >> > value based and should be able to migrate to value classes in the future. >> > >> > However, this is not enough to satisfy me. MemoryAddress can be more than >> > just a value class (identity-free reference type), but also a perfect >> > candidate for the primitive class (JEP 401). >> > It would be perfect if it could become a primitive class: Eliminates the >> > possibility that Java's `null` being its value, we just need >> > `MemoryAddress.NULL`; >> > Such a small primitive class should almost always be flattened, storing >> it >> > in a field or array is as simple as a long >> > (According to the description of JEP draft 8280173, when value class is >> > stored in arrays and fields, it may not be flattened, and additional >> > objects still need to be created)... >> > >> > However, what worries me is that the current Valhalla prototype does not >> > seem to provide a way to migrate a class to a primitive class while >> > maintaining compatibility. >> > I'm worried that if Panama can't make it a primitive class before ending >> > the preview, it will become a permanent regret. >> > I don't know whether the two JDK preview functions can interact with each >> > other, so here I want to ask if it is possible for Panama to have closer >> > contact with Valhalla when Valhalla starts previewing at the same time? >> > >> > > > -- > Regards > > Mohamed Fasil From sadayapalam at openjdk.java.net Wed Mar 2 09:55:10 2022 From: sadayapalam at openjdk.java.net (Srikanth Adayapalam) Date: Wed, 2 Mar 2022 09:55:10 GMT Subject: [lworld] RFR: 8282107: Valhalla: javac does not correctly recognize value class factory Message-ID: Cope with the ill effects of javac downgrading the value class file at lower source levels leaving fuller treatment to JDK-8282525 ------------- Commit messages: - 8282107: Valhalla: javac does not correctly recognize value class factory Changes: https://git.openjdk.java.net/valhalla/pull/661/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=661&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282107 Stats: 89 lines in 3 files changed: 88 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/valhalla/pull/661.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/661/head:pull/661 PR: https://git.openjdk.java.net/valhalla/pull/661 From sadayapalam at openjdk.java.net Wed Mar 2 10:00:35 2022 From: sadayapalam at openjdk.java.net (Srikanth Adayapalam) Date: Wed, 2 Mar 2022 10:00:35 GMT Subject: [lworld] RFR: 8282107: Valhalla: javac does not correctly recognize value class factory In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 09:47:52 GMT, Srikanth Adayapalam wrote: > Cope with the ill effects of javac downgrading the value class file at lower source levels leaving fuller treatment to JDK-8282525 src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java line 1010: > 1008: if (sym.kind == MTH && sym.type.getThrownTypes().isEmpty()) > 1009: sym.type.asMethodType().thrown = thrown; > 1010: // Map value class factory methods back to constructors for the benefit of earlier pipeline stages At source levels less than the one where the value class feature is supported, javac incorrectly downgrades a value class to an ordinary class. (See the method com.sun.tools.javac.jvm.ClassReader#adjustClassFlags which internalizes the flags from a class file's header). As a result isValueClass returns false and we don't restore the correct return type of the constructor. This leads to the present problem. The present fix works around by not relying on isValueClass - the only instance where a constructor may have a non-Void return is the case of value class factory, so the check is redundant. https://bugs.openjdk.java.net/browse/JDK-8282525 has been raised for a fuller fix. A nuance for the reviewers: Source level constructors are lowered into static factory methods late in the pipeline stage and are remapped into constructors when read from class files - this is so as to minimize the changes to the compiler. Rather than know and deal with an entity called static value factory methods, most of the compiler simply works with constructors. ------------- PR: https://git.openjdk.java.net/valhalla/pull/661 From maurizio.cimadamore at oracle.com Wed Mar 2 15:26:52 2022 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 2 Mar 2022 15:26:52 +0000 Subject: Interaction between Panama and Valhalla In-Reply-To: References: Message-ID: This has been replied to in panama-dev: https://mail.openjdk.java.net/pipermail/panama-dev/2022-March/016458.html Cheers Maurizio On 02/03/2022 06:09, fazil mohamed wrote: > Hi Developers > > Can anyone put some lights on Glavo's concerns. Although these features are > under incubation/preview, JVMs inspired from OpenJDK are extremely focused > on these JEPs and projects. In the near future the expectation is to define > a method or variable using the Vector API(JEP-417) wrapper and can hold any > primitive value type from Project Valhalla. Using project Panama memory > layout, the developer can specify the size(32/64) and memory address within > the heap of the defined. This reduces the GC time to Mark and Evacuate the > space. These are all Hypothetical Thinking correct me if I'm wrong. > > On Wed, Mar 2, 2022 at 9:27 AM Glavo wrote: > >> Can someone answer my question? Many thanks. >> >> On Thu, Jan 27, 2022 at 12:50 AM Glavo wrote: >> >>> I noticed that some Panama features seem to benefit from Valhalla's >>> features. A notable example is MemoryAddress, which has been marked as >>> value based and should be able to migrate to value classes in the future. >>> >>> However, this is not enough to satisfy me. MemoryAddress can be more than >>> just a value class (identity-free reference type), but also a perfect >>> candidate for the primitive class (JEP 401). >>> It would be perfect if it could become a primitive class: Eliminates the >>> possibility that Java's `null` being its value, we just need >>> `MemoryAddress.NULL`; >>> Such a small primitive class should almost always be flattened, storing >> it >>> in a field or array is as simple as a long >>> (According to the description of JEP draft 8280173, when value class is >>> stored in arrays and fields, it may not be flattened, and additional >>> objects still need to be created)... >>> >>> However, what worries me is that the current Valhalla prototype does not >>> seem to provide a way to migrate a class to a primitive class while >>> maintaining compatibility. >>> I'm worried that if Panama can't make it a primitive class before ending >>> the preview, it will become a permanent regret. >>> I don't know whether the two JDK preview functions can interact with each >>> other, so here I want to ask if it is possible for Panama to have closer >>> contact with Valhalla when Valhalla starts previewing at the same time? >>> > From mchung at openjdk.java.net Wed Mar 2 17:34:05 2022 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 2 Mar 2022 17:34:05 GMT Subject: [lworld] RFR: 8282079: [lworld] Generate Preload attribute in lambdas and proxies if value classes are referenced Message-ID: <9-PtcEvWF82FPhrtcGI6OmEbq63XqXKfcFQj4FtrqpE=.8a4b2871-038b-4afa-824c-3c9fac88173d@github.com> This patch updates the lambda metafactory and dynamic proxy generator to generate `Preload` attribute to list the classes to be preloaded. That includes value classes and primitive class if its primitive value type is referenced. ------------- Commit messages: - 8282079: [lworld] Generate Preload attribute in lambdas and proxies if value classes are referenced Changes: https://git.openjdk.java.net/valhalla/pull/662/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=662&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282079 Stats: 335 lines in 5 files changed: 316 ins; 19 del; 0 mod Patch: https://git.openjdk.java.net/valhalla/pull/662.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/662/head:pull/662 PR: https://git.openjdk.java.net/valhalla/pull/662 From vromero at openjdk.java.net Wed Mar 2 21:03:50 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 2 Mar 2022 21:03:50 GMT Subject: RFR: addressing review comments Message-ID: Fixing a compiler crash plus other review comments from Maurizio ------------- Commit messages: - addressing review comments Changes: https://git.openjdk.java.net/valhalla/pull/663/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=663&range=00 Stats: 95 lines in 2 files changed: 87 ins; 0 del; 8 mod Patch: https://git.openjdk.java.net/valhalla/pull/663.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/663/head:pull/663 PR: https://git.openjdk.java.net/valhalla/pull/663 From vromero at openjdk.java.net Wed Mar 2 21:03:51 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 2 Mar 2022 21:03:51 GMT Subject: RFR: addressing review comments In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 20:56:38 GMT, Vicente Romero wrote: > Fixing a compiler crash plus other review comments from Maurizio src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1692: > 1690: // warnStack.head is != null if we are checking for an assignment, in other cases we should be strict > 1691: // the order in the condition below matters > 1692: if (warnStack.head != null && allowUniversalTVars && !result) { using the emptiness of the warnStack as the way to know if we are dealing with an assignment or not seems a bit fragile, another option could be to pass down a boolean all the way down from all invocations, what do you think? ------------- PR: https://git.openjdk.java.net/valhalla/pull/663 From dlsmith at openjdk.java.net Wed Mar 2 21:30:09 2022 From: dlsmith at openjdk.java.net (Dan Smith) Date: Wed, 2 Mar 2022 21:30:09 GMT Subject: [lworld] RFR: 8282512: Remove usages of __WithField in compiler tests Message-ID: <1Tr2_sqWM9wFWVliDYA5I1HoZpE4C7TNfUfPafr40lw=.91037bc4-2965-4375-bcf9-e43df77202f8@github.com> Rewrote 2 compiler tests to perform 'withfield' operations in jasm code rather than using the '__WithField' javac hack. ------------- Commit messages: - Remove -XDallowWithFieldOperator usages - Fixes for TestWithfieldC1 - Add TestDeoptimizationWhenBuffering changes - Fix TestDeoptimizationWhenBuffering Changes: https://git.openjdk.java.net/valhalla/pull/664/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=664&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282512 Stats: 458 lines in 5 files changed: 293 ins; 160 del; 5 mod Patch: https://git.openjdk.java.net/valhalla/pull/664.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/664/head:pull/664 PR: https://git.openjdk.java.net/valhalla/pull/664 From dlsmith at openjdk.java.net Wed Mar 2 21:30:09 2022 From: dlsmith at openjdk.java.net (Dan Smith) Date: Wed, 2 Mar 2022 21:30:09 GMT Subject: [lworld] RFR: 8282512: Remove usages of __WithField in compiler tests In-Reply-To: <1Tr2_sqWM9wFWVliDYA5I1HoZpE4C7TNfUfPafr40lw=.91037bc4-2965-4375-bcf9-e43df77202f8@github.com> References: <1Tr2_sqWM9wFWVliDYA5I1HoZpE4C7TNfUfPafr40lw=.91037bc4-2965-4375-bcf9-e43df77202f8@github.com> Message-ID: On Wed, 2 Mar 2022 21:20:35 GMT, Dan Smith wrote: > Rewrote 2 compiler tests to perform 'withfield' operations in jasm code rather than using the '__WithField' javac hack. test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestDeoptimizationWhenBuffering.java line 105: > 103: } > 104: } > 105: Pretty directly lifted MyValue1 and MyValue2 into jasm code. test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestWithfieldC1.java line 101: > 99: @Test(compLevel = CompLevel.C1_SIMPLE) > 100: public FooValue test2() { > 101: return FooValue.test2(this); Moved this test into FooValue, with a parameter pointing back to 'this'. test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestWithfieldC1.java line 199: > 197: public FooValue test9() { > 198: return FooValue.test9(this); > 199: } Same?moved the code into FooValue, passed along a reference to 'this'. ------------- PR: https://git.openjdk.java.net/valhalla/pull/664 From mr at openjdk.java.net Wed Mar 2 22:32:28 2022 From: mr at openjdk.java.net (Mark Reinhold) Date: Wed, 2 Mar 2022 22:32:28 GMT Subject: [valhalla-docs] RFR: SoV part 2: Typos & typography Message-ID: Various fixes to correct typos and typography. ------------- Commit messages: - SoV part 2: Typos & typography Changes: https://git.openjdk.java.net/valhalla-docs/pull/9/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla-docs&pr=9&range=00 Stats: 23 lines in 1 file changed: 3 ins; 0 del; 20 mod Patch: https://git.openjdk.java.net/valhalla-docs/pull/9.diff Fetch: git fetch https://git.openjdk.java.net/valhalla-docs pull/9/head:pull/9 PR: https://git.openjdk.java.net/valhalla-docs/pull/9 From briangoetz at openjdk.java.net Wed Mar 2 23:36:14 2022 From: briangoetz at openjdk.java.net (Brian Goetz) Date: Wed, 2 Mar 2022 23:36:14 GMT Subject: [valhalla-docs] RFR: SoV part 2: Typos & typography In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 22:24:40 GMT, Mark Reinhold wrote: > Various fixes to correct typos and typography. Marked as reviewed by briangoetz (Lead). ------------- PR: https://git.openjdk.java.net/valhalla-docs/pull/9 From briangoetz at openjdk.java.net Wed Mar 2 23:36:14 2022 From: briangoetz at openjdk.java.net (Brian Goetz) Date: Wed, 2 Mar 2022 23:36:14 GMT Subject: [valhalla-docs] Withdrawn: SoV part 2: Typos & typography In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 22:24:40 GMT, Mark Reinhold wrote: > Various fixes to correct typos and typography. This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.java.net/valhalla-docs/pull/9 From vromero at openjdk.java.net Thu Mar 3 04:31:12 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 3 Mar 2022 04:31:12 GMT Subject: RFR: addressing review comments [v2] In-Reply-To: References: Message-ID: > Fixing a compiler crash plus other review comments from Maurizio Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: additional test and bug fix ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/663/files - new: https://git.openjdk.java.net/valhalla/pull/663/files/11c46704..409de082 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=663&range=01 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=663&range=00-01 Stats: 69 lines in 3 files changed: 27 ins; 3 del; 39 mod Patch: https://git.openjdk.java.net/valhalla/pull/663.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/663/head:pull/663 PR: https://git.openjdk.java.net/valhalla/pull/663 From thartmann at openjdk.java.net Thu Mar 3 09:15:29 2022 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Thu, 3 Mar 2022 09:15:29 GMT Subject: [lworld] RFR: 8282512: Remove usages of __WithField in compiler tests In-Reply-To: <1Tr2_sqWM9wFWVliDYA5I1HoZpE4C7TNfUfPafr40lw=.91037bc4-2965-4375-bcf9-e43df77202f8@github.com> References: <1Tr2_sqWM9wFWVliDYA5I1HoZpE4C7TNfUfPafr40lw=.91037bc4-2965-4375-bcf9-e43df77202f8@github.com> Message-ID: On Wed, 2 Mar 2022 21:20:35 GMT, Dan Smith wrote: > Rewrote 2 compiler tests to perform 'withfield' operations in jasm code rather than using the '__WithField' javac hack. That looks good to me, thanks for fixing! Please make sure to run testing through tiers before integration. ------------- Marked as reviewed by thartmann (Committer). PR: https://git.openjdk.java.net/valhalla/pull/664 From mcimadamore at openjdk.java.net Thu Mar 3 10:49:24 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 3 Mar 2022 10:49:24 GMT Subject: RFR: addressing review comments [v2] In-Reply-To: References: Message-ID: On Thu, 3 Mar 2022 04:31:12 GMT, Vicente Romero wrote: >> Fixing a compiler crash plus other review comments from Maurizio > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > additional test and bug fix My suggestion is to fix the crash first, and then file another PR for adding support for nested unchecked null warnings, as that is probably a biggie feature. src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1754: > 1752: TypeVar other = (TypeVar)s; > 1753: if (allowUniversalTVars && t.isValueProjection() != other.isValueProjection() && t.tsym == other.tsym) { > 1754: if (warnStack.head != null) { I suppose this is the fix for the crash? ------------- PR: https://git.openjdk.java.net/valhalla/pull/663 From mcimadamore at openjdk.java.net Thu Mar 3 10:49:27 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 3 Mar 2022 10:49:27 GMT Subject: RFR: addressing review comments [v2] In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 21:00:03 GMT, Vicente Romero wrote: >> Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: >> >> additional test and bug fix > > src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1692: > >> 1690: // warnStack.head is != null if we are checking for an assignment, in other cases we should be strict >> 1691: // the order in the condition below matters >> 1692: if (warnStack.head != null && allowUniversalTVars && !result) { > > using the emptiness of the warnStack as the way to know if we are dealing with an assignment or not seems a bit fragile, another option could be to pass down a boolean all the way down from all invocations, what do you think? Do you mean, e.g. inside overload resolution, how do we distinguish between when we can apply the "loose" check, and when we need the strict check? If so, my feeling here is that as we have isSubtype vs. isSubtypeUnchecked we also need isSameTypes vs. isSameTypesUnchecked and a subtyping routine should call the "correct" isSameTypes visitor/routine. ------------- PR: https://git.openjdk.java.net/valhalla/pull/663 From vromero at openjdk.java.net Thu Mar 3 14:06:31 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 3 Mar 2022 14:06:31 GMT Subject: RFR: addressing review comments [v2] In-Reply-To: References: Message-ID: On Thu, 3 Mar 2022 10:46:07 GMT, Maurizio Cimadamore wrote: > My suggestion is to fix the crash first, and then file another PR for adding support for nested unchecked null warnings, as that is probably a biggie feature. sounds good I will do that > src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1754: > >> 1752: TypeVar other = (TypeVar)s; >> 1753: if (allowUniversalTVars && t.isValueProjection() != other.isValueProjection() && t.tsym == other.tsym) { >> 1754: if (warnStack.head != null) { > > I suppose this is the fix for the crash? correct ------------- PR: https://git.openjdk.java.net/valhalla/pull/663 From vromero at openjdk.java.net Thu Mar 3 14:06:32 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 3 Mar 2022 14:06:32 GMT Subject: RFR: addressing review comments [v2] In-Reply-To: References: Message-ID: On Thu, 3 Mar 2022 10:45:09 GMT, Maurizio Cimadamore wrote: >> src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1692: >> >>> 1690: // warnStack.head is != null if we are checking for an assignment, in other cases we should be strict >>> 1691: // the order in the condition below matters >>> 1692: if (warnStack.head != null && allowUniversalTVars && !result) { >> >> using the emptiness of the warnStack as the way to know if we are dealing with an assignment or not seems a bit fragile, another option could be to pass down a boolean all the way down from all invocations, what do you think? > > Do you mean, e.g. inside overload resolution, how do we distinguish between when we can apply the "loose" check, and when we need the strict check? > > If so, my feeling here is that as we have isSubtype vs. isSubtypeUnchecked we also need isSameTypes vs. isSameTypesUnchecked and a subtyping routine should call the "correct" isSameTypes visitor/routine. no by strict I meant `===` instead of accepting Type.ref == Type ------------- PR: https://git.openjdk.java.net/valhalla/pull/663 From vromero at openjdk.java.net Thu Mar 3 16:50:59 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 3 Mar 2022 16:50:59 GMT Subject: RFR: addressing a NPE in the compiler due to empty warnStack [v3] In-Reply-To: References: Message-ID: > Fixing a compiler crash plus other review comments from Maurizio Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: addressing only the crash ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/663/files - new: https://git.openjdk.java.net/valhalla/pull/663/files/409de082..b0d5f458 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=663&range=02 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=663&range=01-02 Stats: 136 lines in 3 files changed: 3 ins; 90 del; 43 mod Patch: https://git.openjdk.java.net/valhalla/pull/663.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/663/head:pull/663 PR: https://git.openjdk.java.net/valhalla/pull/663 From vromero at openjdk.java.net Thu Mar 3 17:25:04 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 3 Mar 2022 17:25:04 GMT Subject: RFR: addressing a NPE in the compiler due to empty warnStack [v4] In-Reply-To: References: Message-ID: > Fixing a compiler crash plus other review comments from Maurizio Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: removing unnecessary code in test ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/663/files - new: https://git.openjdk.java.net/valhalla/pull/663/files/b0d5f458..6a2bc2d9 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=663&range=03 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=663&range=02-03 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod Patch: https://git.openjdk.java.net/valhalla/pull/663.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/663/head:pull/663 PR: https://git.openjdk.java.net/valhalla/pull/663 From mcimadamore at openjdk.java.net Thu Mar 3 18:37:29 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 3 Mar 2022 18:37:29 GMT Subject: RFR: addressing a NPE in the compiler due to empty warnStack [v4] In-Reply-To: References: Message-ID: On Thu, 3 Mar 2022 17:25:04 GMT, Vicente Romero wrote: >> Fixing a compiler crash plus other review comments from Maurizio > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > removing unnecessary code in test The fix makes sense, and seems consistent with what we do with isCastable. ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/valhalla/pull/663 From vromero at openjdk.java.net Thu Mar 3 18:43:28 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 3 Mar 2022 18:43:28 GMT Subject: Integrated: addressing a NPE in the compiler due to empty warnStack In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 20:56:38 GMT, Vicente Romero wrote: > Fixing a compiler crash plus other review comments from Maurizio This pull request has now been integrated. Changeset: 1a2b6601 Author: Vicente Romero URL: https://git.openjdk.java.net/valhalla/commit/1a2b6601ba465ff1319eb7dab63b0ff81232f0c5 Stats: 27 lines in 2 files changed: 23 ins; 0 del; 4 mod addressing a NPE in the compiler due to empty warnStack Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.java.net/valhalla/pull/663 From vromero at openjdk.java.net Thu Mar 3 21:41:44 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 3 Mar 2022 21:41:44 GMT Subject: RFR: bug: no warning shown for parameterized conversions Message-ID: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> no warning is shown for parameterized conversions ------------- Commit messages: - bug: no warning shown for parameterized conversions Changes: https://git.openjdk.java.net/valhalla/pull/666/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=00 Stats: 102 lines in 3 files changed: 85 ins; 11 del; 6 mod Patch: https://git.openjdk.java.net/valhalla/pull/666.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/666/head:pull/666 PR: https://git.openjdk.java.net/valhalla/pull/666 From duke at openjdk.java.net Fri Mar 4 13:11:23 2022 From: duke at openjdk.java.net (Aggelos Biboudis) Date: Fri, 4 Mar 2022 13:11:23 GMT Subject: [lworld] RFR: 8282107: Valhalla: javac does not correctly recognize value class factory In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 09:47:52 GMT, Srikanth Adayapalam wrote: > Cope with the ill effects of javac downgrading the value class file at lower source levels leaving fuller treatment to JDK-8282525 Looks good! ------------- Marked as reviewed by biboudis at github.com (no known OpenJDK username). PR: https://git.openjdk.java.net/valhalla/pull/661 From duke at openjdk.java.net Fri Mar 4 13:11:25 2022 From: duke at openjdk.java.net (Aggelos Biboudis) Date: Fri, 4 Mar 2022 13:11:25 GMT Subject: [lworld] RFR: 8282107: Valhalla: javac does not correctly recognize value class factory In-Reply-To: References: Message-ID: <33pZbUyqYvuYKZdNDjOKPHtX0l0YZ9JiGViBknBKVPc=.a4e13872-aa85-44c8-906a-177e68b7aab8@github.com> On Wed, 2 Mar 2022 09:56:32 GMT, Srikanth Adayapalam wrote: >> Cope with the ill effects of javac downgrading the value class file at lower source levels leaving fuller treatment to JDK-8282525 > > src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java line 1010: > >> 1008: if (sym.kind == MTH && sym.type.getThrownTypes().isEmpty()) >> 1009: sym.type.asMethodType().thrown = thrown; >> 1010: // Map value class factory methods back to constructors for the benefit of earlier pipeline stages > > At source levels less than the one where the value class feature is supported, javac incorrectly downgrades a value class to an ordinary class. (See the method com.sun.tools.javac.jvm.ClassReader#adjustClassFlags which internalizes the flags from a class file's header). As a result isValueClass returns false and we don't restore the correct return type of the constructor. This leads to the present problem. The present fix works around by not relying on isValueClass - the only instance where a constructor may have a non-Void return is the case of value class factory, so the check is redundant. > > https://bugs.openjdk.java.net/browse/JDK-8282525 has been raised for a fuller fix. > > A nuance for the reviewers: Source level constructors are lowered into static factory methods late in the pipeline stage and are remapped into constructors when read from class files - this is so as to minimize the changes to the compiler. Rather than know and deal with an entity called static value factory methods, most of the compiler simply works with constructors. Thanks for the extra explanation!!! ------------- PR: https://git.openjdk.java.net/valhalla/pull/661 From rriggs at openjdk.java.net Fri Mar 4 19:31:29 2022 From: rriggs at openjdk.java.net (Roger Riggs) Date: Fri, 4 Mar 2022 19:31:29 GMT Subject: [lworld] RFR: 8282079: [lworld] Generate Preload attribute in lambdas and proxies if value classes are referenced In-Reply-To: <9-PtcEvWF82FPhrtcGI6OmEbq63XqXKfcFQj4FtrqpE=.8a4b2871-038b-4afa-824c-3c9fac88173d@github.com> References: <9-PtcEvWF82FPhrtcGI6OmEbq63XqXKfcFQj4FtrqpE=.8a4b2871-038b-4afa-824c-3c9fac88173d@github.com> Message-ID: On Wed, 2 Mar 2022 17:26:11 GMT, Mandy Chung wrote: > This patch updates the lambda metafactory and dynamic proxy generator to generate `Preload` attribute to list the classes to be preloaded. That includes value classes and primitive class if its primitive value type is referenced. LGTM ------------- Marked as reviewed by rriggs (Committer). PR: https://git.openjdk.java.net/valhalla/pull/662 From mchung at openjdk.java.net Fri Mar 4 20:21:33 2022 From: mchung at openjdk.java.net (Mandy Chung) Date: Fri, 4 Mar 2022 20:21:33 GMT Subject: [lworld] Integrated: 8282079: [lworld] Generate Preload attribute in lambdas and proxies if value classes are referenced In-Reply-To: <9-PtcEvWF82FPhrtcGI6OmEbq63XqXKfcFQj4FtrqpE=.8a4b2871-038b-4afa-824c-3c9fac88173d@github.com> References: <9-PtcEvWF82FPhrtcGI6OmEbq63XqXKfcFQj4FtrqpE=.8a4b2871-038b-4afa-824c-3c9fac88173d@github.com> Message-ID: On Wed, 2 Mar 2022 17:26:11 GMT, Mandy Chung wrote: > This patch updates the lambda metafactory and dynamic proxy generator to generate `Preload` attribute to list the classes to be preloaded. That includes value classes and primitive class if its primitive value type is referenced. This pull request has now been integrated. Changeset: b3938a6e Author: Mandy Chung URL: https://git.openjdk.java.net/valhalla/commit/b3938a6e5aef8ef180822bd82fbe5edb4463702f Stats: 335 lines in 5 files changed: 316 ins; 19 del; 0 mod 8282079: [lworld] Generate Preload attribute in lambdas and proxies if value classes are referenced Reviewed-by: rriggs ------------- PR: https://git.openjdk.java.net/valhalla/pull/662 From vromero at openjdk.java.net Sat Mar 5 05:29:53 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Sat, 5 Mar 2022 05:29:53 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v2] In-Reply-To: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: > no warning is shown for parameterized conversions Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: adding more test cases ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/666/files - new: https://git.openjdk.java.net/valhalla/pull/666/files/977d8a38..41ac982e Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=01 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=00-01 Stats: 90 lines in 2 files changed: 89 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/valhalla/pull/666.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/666/head:pull/666 PR: https://git.openjdk.java.net/valhalla/pull/666 From sadayapalam at openjdk.java.net Mon Mar 7 05:20:37 2022 From: sadayapalam at openjdk.java.net (Srikanth Adayapalam) Date: Mon, 7 Mar 2022 05:20:37 GMT Subject: [lworld] Integrated: 8282107: Valhalla: javac does not correctly recognize value class factory In-Reply-To: References: Message-ID: On Wed, 2 Mar 2022 09:47:52 GMT, Srikanth Adayapalam wrote: > Cope with the ill effects of javac downgrading the value class file at lower source levels leaving fuller treatment to JDK-8282525 This pull request has now been integrated. Changeset: a29cea91 Author: Srikanth Adayapalam URL: https://git.openjdk.java.net/valhalla/commit/a29cea9170b7811af50ee0bea88276128c0ee9df Stats: 89 lines in 3 files changed: 88 ins; 0 del; 1 mod 8282107: Valhalla: javac does not correctly recognize value class factory ------------- PR: https://git.openjdk.java.net/valhalla/pull/661 From mcimadamore at openjdk.java.net Mon Mar 7 17:15:37 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 7 Mar 2022 17:15:37 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v2] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Sat, 5 Mar 2022 05:29:53 GMT, Vicente Romero wrote: >> no warning is shown for parameterized conversions > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > adding more test cases I'm not too convinced by this fix. Using warnStack seems really a workaround, and, on top of my head, I can't think of other code doing this. IMHO, universal vars introduce a new relation between types: `isBoundedBy`. What you want here is, essentially, a form to do `isBoundedByUnchecked` which should do strict check, followed by a looser one (like isSubtypeUnchecked does). There are many ways to do this, but it feels that having a better separation between these different routines could be, in the long term, a simplifying move (even if, in the short term it will create some code duplication). Because then we can fix the callsites to use the relationship we think is correct, depending on the case. ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Mon Mar 7 21:18:37 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Mon, 7 Mar 2022 21:18:37 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v2] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: <5VaXXbzDArzeYGlsAriFIQhm5k9gzVLifBvhZUy6RuM=.e0989e06-d786-4899-9312-92523a8b6eea@github.com> On Mon, 7 Mar 2022 17:12:31 GMT, Maurizio Cimadamore wrote: > I'm not too convinced by this fix. Using warnStack seems really a workaround, and, on top of my head, I can't think of other code doing this. IMHO, universal vars introduce a new relation between types: `isBoundedBy`. What you want here is, essentially, a form to do `isBoundedByUnchecked` which should do strict check, followed by a looser one (like isSubtypeUnchecked does). There are many ways to do this, but it feels that having a better separation between these different routines could be, in the long term, a simplifying move (even if, in the short term it will create some code duplication). Because then we can fix the callsites to use the relationship we think is correct, depending on the case. I'm not sure that `isSubtype` / `isSubtypeUnchecked` is the right analogy here as in most cases we get to the place where the warning is being issue in this PR without going through `isBoundedBy` ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From fparain at openjdk.java.net Mon Mar 7 21:32:51 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 7 Mar 2022 21:32:51 GMT Subject: [lworld] RFR: 8282695: [lworld] assert(oopDesc::is_oop(obj)) in compiler/valhalla/inlinetypes/TestUnloadedInlineTypeArray.java Message-ID: <16zBB5WzyawTWcHCR_oV68VqPCyfq0CsLOxYfFlpyFk=.0e8ee551-ca5f-4aab-83c1-9d072024a243@github.com> Please review this small patch fixing a naked oop and some missing pending exception checks. Tested with Mach5, Tier 3 (the one where the failures were the most frequent). Thank you, Fred ------------- Commit messages: - Fix naked oop and missing exception checks Changes: https://git.openjdk.java.net/valhalla/pull/668/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=668&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8282695 Stats: 6 lines in 2 files changed: 1 ins; 1 del; 4 mod Patch: https://git.openjdk.java.net/valhalla/pull/668.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/668/head:pull/668 PR: https://git.openjdk.java.net/valhalla/pull/668 From dlsmith at openjdk.java.net Tue Mar 8 00:36:34 2022 From: dlsmith at openjdk.java.net (Dan Smith) Date: Tue, 8 Mar 2022 00:36:34 GMT Subject: [lworld] Integrated: 8282512: Remove usages of __WithField in compiler tests In-Reply-To: <1Tr2_sqWM9wFWVliDYA5I1HoZpE4C7TNfUfPafr40lw=.91037bc4-2965-4375-bcf9-e43df77202f8@github.com> References: <1Tr2_sqWM9wFWVliDYA5I1HoZpE4C7TNfUfPafr40lw=.91037bc4-2965-4375-bcf9-e43df77202f8@github.com> Message-ID: On Wed, 2 Mar 2022 21:20:35 GMT, Dan Smith wrote: > Rewrote 2 compiler tests to perform 'withfield' operations in jasm code rather than using the '__WithField' javac hack. This pull request has now been integrated. Changeset: 8e825246 Author: Dan Smith URL: https://git.openjdk.java.net/valhalla/commit/8e825246e23a8625a7e3bb2c4debe9942b66722a Stats: 458 lines in 5 files changed: 293 ins; 160 del; 5 mod 8282512: Remove usages of __WithField in compiler tests Reviewed-by: thartmann ------------- PR: https://git.openjdk.java.net/valhalla/pull/664 From thartmann at openjdk.java.net Tue Mar 8 07:01:35 2022 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Tue, 8 Mar 2022 07:01:35 GMT Subject: [lworld] RFR: 8282695: [lworld] assert(oopDesc::is_oop(obj)) in compiler/valhalla/inlinetypes/TestUnloadedInlineTypeArray.java In-Reply-To: <16zBB5WzyawTWcHCR_oV68VqPCyfq0CsLOxYfFlpyFk=.0e8ee551-ca5f-4aab-83c1-9d072024a243@github.com> References: <16zBB5WzyawTWcHCR_oV68VqPCyfq0CsLOxYfFlpyFk=.0e8ee551-ca5f-4aab-83c1-9d072024a243@github.com> Message-ID: On Mon, 7 Mar 2022 21:27:08 GMT, Frederic Parain wrote: > Please review this small patch fixing a naked oop and some missing pending exception checks. > > Tested with Mach5, Tier 3 (the one where the failures were the most frequent). > > Thank you, > > Fred Looks good to me. You might want to move the bug to hotspot/runtime. ------------- Marked as reviewed by thartmann (Committer). PR: https://git.openjdk.java.net/valhalla/pull/668 From mcimadamore at openjdk.java.net Tue Mar 8 12:21:30 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 8 Mar 2022 12:21:30 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v2] In-Reply-To: <5VaXXbzDArzeYGlsAriFIQhm5k9gzVLifBvhZUy6RuM=.e0989e06-d786-4899-9312-92523a8b6eea@github.com> References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> <5VaXXbzDArzeYGlsAriFIQhm5k9gzVLifBvhZUy6RuM=.e0989e06-d786-4899-9312-92523a8b6eea@github.com> Message-ID: On Mon, 7 Mar 2022 21:15:08 GMT, Vicente Romero wrote: > > I'm not too convinced by this fix. Using warnStack seems really a workaround, and, on top of my head, I can't think of other code doing this. IMHO, universal vars introduce a new relation between types: `isBoundedBy`. What you want here is, essentially, a form to do `isBoundedByUnchecked` which should do strict check, followed by a looser one (like isSubtypeUnchecked does). There are many ways to do this, but it feels that having a better separation between these different routines could be, in the long term, a simplifying move (even if, in the short term it will create some code duplication). Because then we can fix the callsites to use the relationship we think is correct, depending on the case. > > I'm not sure that `isSubtype` / `isSubtypeUnchecked` is the right analogy here as in most cases we get to the place where the warning is being issue in this PR without going through `isBoundedBy` I got confused, sorry (too many type relations!). Looking at the code some more, it seems to me that what we want is to enhance `isSubtypeUnchecked`, right? E.g. `isSubtypeUnchecked` is already called in places where the compiler allows unchecked conversions. But we need to add a new kind of unchecked conversion, which requires some recursion (because isSubtypeUnchecked can go to containsType which then can go back to isSubtype - not unchecked!). So, it seems to me that the subtyping routine has to be parameterized by the kind of containment routine we want to use. In the normal case, we'd just use Types::containsType - but if we want to check for nested unchecked warnings, we need to have a version of Types::containsType that is more flexible. In other words, I think what we need is a Types::containsTypeUnchecked - which we can use as a parameter to the subtyping routine. ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From fparain at openjdk.java.net Tue Mar 8 13:23:28 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 8 Mar 2022 13:23:28 GMT Subject: [lworld] RFR: 8282695: [lworld] assert(oopDesc::is_oop(obj)) in compiler/valhalla/inlinetypes/TestUnloadedInlineTypeArray.java In-Reply-To: <16zBB5WzyawTWcHCR_oV68VqPCyfq0CsLOxYfFlpyFk=.0e8ee551-ca5f-4aab-83c1-9d072024a243@github.com> References: <16zBB5WzyawTWcHCR_oV68VqPCyfq0CsLOxYfFlpyFk=.0e8ee551-ca5f-4aab-83c1-9d072024a243@github.com> Message-ID: On Mon, 7 Mar 2022 21:27:08 GMT, Frederic Parain wrote: > Please review this small patch fixing a naked oop and some missing pending exception checks. > > Tested with Mach5, Tier 3 (the one where the failures were the most frequent). > > Thank you, > > Fred Tobias, Thank you for the review. The CR has been updated. Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/668 From fparain at openjdk.java.net Tue Mar 8 13:23:29 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 8 Mar 2022 13:23:29 GMT Subject: [lworld] Integrated: 8282695: [lworld] assert(oopDesc::is_oop(obj)) in compiler/valhalla/inlinetypes/TestUnloadedInlineTypeArray.java In-Reply-To: <16zBB5WzyawTWcHCR_oV68VqPCyfq0CsLOxYfFlpyFk=.0e8ee551-ca5f-4aab-83c1-9d072024a243@github.com> References: <16zBB5WzyawTWcHCR_oV68VqPCyfq0CsLOxYfFlpyFk=.0e8ee551-ca5f-4aab-83c1-9d072024a243@github.com> Message-ID: On Mon, 7 Mar 2022 21:27:08 GMT, Frederic Parain wrote: > Please review this small patch fixing a naked oop and some missing pending exception checks. > > Tested with Mach5, Tier 3 (the one where the failures were the most frequent). > > Thank you, > > Fred This pull request has now been integrated. Changeset: 5d03db86 Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/5d03db860f45dff42d685f2b2f1175e8bb99d9f9 Stats: 6 lines in 2 files changed: 1 ins; 1 del; 4 mod 8282695: [lworld] assert(oopDesc::is_oop(obj)) in compiler/valhalla/inlinetypes/TestUnloadedInlineTypeArray.java Reviewed-by: thartmann ------------- PR: https://git.openjdk.java.net/valhalla/pull/668 From vromero at openjdk.java.net Tue Mar 8 14:42:29 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Tue, 8 Mar 2022 14:42:29 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v2] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> <5VaXXbzDArzeYGlsAriFIQhm5k9gzVLifBvhZUy6RuM=.e0989e06-d786-4899-9312-92523a8b6eea@github.com> Message-ID: On Tue, 8 Mar 2022 12:18:26 GMT, Maurizio Cimadamore wrote: > > > I'm not too convinced by this fix. Using warnStack seems really a workaround, and, on top of my head, I can't think of other code doing this. IMHO, universal vars introduce a new relation between types: `isBoundedBy`. What you want here is, essentially, a form to do `isBoundedByUnchecked` which should do strict check, followed by a looser one (like isSubtypeUnchecked does). There are many ways to do this, but it feels that having a better separation between these different routines could be, in the long term, a simplifying move (even if, in the short term it will create some code duplication). Because then we can fix the callsites to use the relationship we think is correct, depending on the case. > > > > > > I'm not sure that `isSubtype` / `isSubtypeUnchecked` is the right analogy here as in most cases we get to the place where the warning is being issue in this PR without going through `isBoundedBy` > > I got confused, sorry (too many type relations!). Looking at the code some more, it seems to me that what we want is to enhance `isSubtypeUnchecked`, right? E.g. `isSubtypeUnchecked` is already called in places where the compiler allows unchecked conversions. But we need to add a new kind of unchecked conversion, which requires some recursion (because isSubtypeUnchecked can go to containsType which then can go back to isSubtype - not unchecked!). > > So, it seems to me that the subtyping routine has to be parameterized by the kind of containment routine we want to use. In the normal case, we'd just use Types::containsType - but if we want to check for nested unchecked warnings, we need to have a version of Types::containsType that is more flexible. > > In other words, I think what we need is a Types::containsTypeUnchecked - which we can use as a parameter to the subtyping routine. I will try this, I was going through other way, to untangle some of the type routines, the good thing is that I already have a separate containtType relation for the unchecked case so I will build from there ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Wed Mar 9 04:17:54 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 9 Mar 2022 04:17:54 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v3] In-Reply-To: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: > no warning is shown for parameterized conversions Vicente Romero has updated the pull request incrementally with three additional commits since the last revision: - refactorings, code cleanup - minor bug fix - parameterizing type rutines for universal tvars ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/666/files - new: https://git.openjdk.java.net/valhalla/pull/666/files/41ac982e..12188626 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=02 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=01-02 Stats: 118 lines in 1 file changed: 81 ins; 18 del; 19 mod Patch: https://git.openjdk.java.net/valhalla/pull/666.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/666/head:pull/666 PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Wed Mar 9 04:21:13 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 9 Mar 2022 04:21:13 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v4] In-Reply-To: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: > no warning is shown for parameterized conversions Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: renaming argument ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/666/files - new: https://git.openjdk.java.net/valhalla/pull/666/files/12188626..e75f3089 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=03 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=02-03 Stats: 5 lines in 1 file changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/valhalla/pull/666.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/666/head:pull/666 PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Wed Mar 9 04:21:14 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 9 Mar 2022 04:21:14 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v3] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Wed, 9 Mar 2022 04:17:54 GMT, Vicente Romero wrote: >> no warning is shown for parameterized conversions > > Vicente Romero has updated the pull request incrementally with three additional commits since the last revision: > > - refactorings, code cleanup > - minor bug fix > - parameterizing type rutines for universal tvars first attempt at the type routines parameterization approach, what do you think? ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From mcimadamore at openjdk.java.net Wed Mar 9 09:59:16 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 9 Mar 2022 09:59:16 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v4] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Wed, 9 Mar 2022 04:21:13 GMT, Vicente Romero wrote: >> no warning is shown for parameterized conversions > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > renaming argument src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java line 2034: > 2032: > 2033: public Type withTypeVar(Type t) { > 2034: return t.hasTag(TYPEVAR) && t.isReferenceProjection() && t == projection ? Uhm - this method is typically used to set type-variables on wildcard types. It is a bit of a corner case in the compiler code, and I think it would be better to leave this alone. What is this code trying to do - and can the same be achieved in another way? src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1181: > 1179: } > 1180: > 1181: record TypeRelations(boolean uncheckedAllowed, TypeRelation subtypingRelation, TypeRelation containmentRelation) {} The `containmentRelation` parameter is unused - because you dispatch to the correct containment check using a visitor subclass. Either you keep this field, and use it in the main subtype visitor, or you drop it. If you drop it, I think it would be better to rename the record to something that is more connected to subtyping. Also, I think an enum here would be better than a record. You only have two options. enum SubtypingMode { STRICT(new IsSubtypeRelation()) ALLOW_REF_VAL(new IsSubtypeUncheckedRelation()) ... } Note that I did not use the term "unchecked". That might be misleading, as that doesn't mean "isSubtypeUnchecked" is called. I suggest we come up with a different term for the concept we want and stick to that. The difference between the two routines is that one allows (recursively) loose comparisons between ref/val, while the other does not. src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1253: > 1251: private Set cache = new HashSet<>(); > 1252: > 1253: public boolean containsTypeRecursive(Type t, Type s) { Can this code be shared with subclass? src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 4949: > 4947: private boolean containsTypeEquivalent(Type t, Type s) { > 4948: return isSameType(t, s) || // shortcut > 4949: containsType(t, s, containsTypeUnchecked) && containsType(s, t, containsTypeUnchecked); Is this the right replacement? It seems to me that the answer is "it depends". This is called both by "hasSameArgs" which is used to determine overriding (in which case a loose semantics could be ok), but also by the isSameType visitor - in which case the loose semantics should only be enabled conditionally. ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Wed Mar 9 14:15:26 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 9 Mar 2022 14:15:26 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v4] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Wed, 9 Mar 2022 09:55:53 GMT, Maurizio Cimadamore wrote: >> Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: >> >> renaming argument > > src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java line 2034: > >> 2032: >> 2033: public Type withTypeVar(Type t) { >> 2034: return t.hasTag(TYPEVAR) && t.isReferenceProjection() && t == projection ? > > Uhm - this method is typically used to set type-variables on wildcard types. It is a bit of a corner case in the compiler code, and I think it would be better to leave this alone. What is this code trying to do - and can the same be achieved in another way? this code is preserving the reference projection of a type var, if it was originally declared as a reference `T.ref`, instead of overriding it with its dual `T`. If the reference projection is not preserved then it leads to information loss. I haven't found another more reliable way ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From mcimadamore at openjdk.java.net Wed Mar 9 14:30:27 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 9 Mar 2022 14:30:27 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v4] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Wed, 9 Mar 2022 14:12:28 GMT, Vicente Romero wrote: >> src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java line 2034: >> >>> 2032: >>> 2033: public Type withTypeVar(Type t) { >>> 2034: return t.hasTag(TYPEVAR) && t.isReferenceProjection() && t == projection ? >> >> Uhm - this method is typically used to set type-variables on wildcard types. It is a bit of a corner case in the compiler code, and I think it would be better to leave this alone. What is this code trying to do - and can the same be achieved in another way? > > this code is preserving the reference projection of a type var, if it was originally declared as a reference `T.ref`, instead of overriding it with its dual `T`. If the reference projection is not preserved then it leads to information loss. I haven't found another more reliable way I guess what I'm saying is that this method is designed to cause side-effects on the type it's called on. I believe that this method was originally only used in `Attr.visitTypeApply`, so that if you have a declaration like: class Box { ... } And a type use like: Box When we hit `Attr.visitTypeApply`, we set the `bound` field of the `WildcardType` for `? extends String` to point to `X`. This field is then used in type containment tests. The whole logic is dubious, and predates my time - but I have a feeling that depending on this obscure method to get the desired behavior is not correct. ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Wed Mar 9 16:53:38 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 9 Mar 2022 16:53:38 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v4] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Wed, 9 Mar 2022 14:27:12 GMT, Maurizio Cimadamore wrote: >> this code is preserving the reference projection of a type var, if it was originally declared as a reference `T.ref`, instead of overriding it with its dual `T`. If the reference projection is not preserved then it leads to information loss. I haven't found another more reliable way > > I guess what I'm saying is that this method is designed to cause side-effects on the type it's called on. I believe that this method was originally only used in `Attr.visitTypeApply`, so that if you have a declaration like: > > class Box { ... } > > And a type use like: > > Box > > When we hit `Attr.visitTypeApply`, we set the `bound` field of the `WildcardType` for `? extends String` to point to `X`. This field is then used in type containment tests. > > The whole logic is dubious, and predates my time - but I have a feeling that depending on this obscure method to get the desired behavior is not correct. OK I will do some more research here to see what alternatives we have, using this method is convenient as it is invoked whenever we do a mapping like for example from `Resolve::rawInstantiate` when we invoke `Types::memberType`, but I can try to find another way probably using a separate method to add the behavior I would like ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Wed Mar 9 21:58:15 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 9 Mar 2022 21:58:15 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v4] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: <_DIHXH3ldi7xEkKbMAXRS-LI5LhyEznm4knNTkPJM_U=.fb1856a3-e677-410e-b707-47d3f0856ebb@github.com> On Wed, 9 Mar 2022 09:49:47 GMT, Maurizio Cimadamore wrote: >> Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: >> >> renaming argument > > src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1253: > >> 1251: private Set cache = new HashSet<>(); >> 1252: >> 1253: public boolean containsTypeRecursive(Type t, Type s) { > > Can this code be shared with subclass? sure makes sense ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Thu Mar 10 00:56:53 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 10 Mar 2022 00:56:53 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v5] In-Reply-To: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: > no warning is shown for parameterized conversions Vicente Romero has updated the pull request incrementally with two additional commits since the last revision: - updating comment - refactorings and cleanups to address review comments ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/666/files - new: https://git.openjdk.java.net/valhalla/pull/666/files/e75f3089..a2da2108 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=04 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=03-04 Stats: 91 lines in 2 files changed: 31 ins; 34 del; 26 mod Patch: https://git.openjdk.java.net/valhalla/pull/666.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/666/head:pull/666 PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Thu Mar 10 00:56:54 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 10 Mar 2022 00:56:54 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v4] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Wed, 9 Mar 2022 04:21:13 GMT, Vicente Romero wrote: >> no warning is shown for parameterized conversions > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > renaming argument I have uploaded another commit, I think that it addresses all your comments so far, thanks a lot for the feedback! ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Thu Mar 10 00:56:54 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 10 Mar 2022 00:56:54 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v4] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Wed, 9 Mar 2022 09:50:42 GMT, Maurizio Cimadamore wrote: >> Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: >> >> renaming argument > > src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 4949: > >> 4947: private boolean containsTypeEquivalent(Type t, Type s) { >> 4948: return isSameType(t, s) || // shortcut >> 4949: containsType(t, s, containsTypeUnchecked) && containsType(s, t, containsTypeUnchecked); > > Is this the right replacement? It seems to me that the answer is "it depends". This is called both by "hasSameArgs" which is used to determine overriding (in which case a loose semantics could be ok), but also by the isSameType visitor - in which case the loose semantics should only be enabled conditionally. yep you are right, fixed ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From mcimadamore at openjdk.java.net Thu Mar 10 10:51:59 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 10 Mar 2022 10:51:59 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v5] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Thu, 10 Mar 2022 00:56:53 GMT, Vicente Romero wrote: >> no warning is shown for parameterized conversions > > Vicente Romero has updated the pull request incrementally with two additional commits since the last revision: > > - updating comment > - refactorings and cleanups to address review comments I think the pieces are all there. When looking at the code, the impression I have is that we're doing a lot of work just to pass some kind of boolean or enum flag which tells us if some extra loose behavior should be allowed or not (in both the subtyping, containment and sameType visitors). I was about to suggest that in the previous review rounds, but then held back because the existing visitors cannot take external parameters. I think your changes to the `isSameType` visitor demonstrate that problem: the visitor is just a function on types, and there's no way to pass an extra boolean/enum to it - so you have to store it in a field, which then leads to issues because either (i) you create one visitor instance per subtyping check (which would be very expensive, I fear) or you resort to tricks using mutable fields. Unfortunately fixing this mismatch is hard, as we're already using the visitor parameter to pass the second type of these type relations. So some other kind of workaround is required. A possible suggestion for trying to get to a simpler form would be to introduce a new "parameterized" relation, like this: public abstract static class ParameterizedTypeRelation

extends TypeRelation { P param; public final Boolean visit(Type t, Type s, P param) { P prevParam = this.param; try { this.param = param; return visit(t, s); } finally { this.param = prevParam; } } } This basically generalizes the trick you did with `isSameType` (but resets the field value correctly after a visit). Then you make isSubtype/contains/isSameType subclasses of this visitor class, and define an enum with two values for the strict/loose behavior. I believe this should give you enough flexibility to do what you want, and, at the same time, by minimizing set of changes compared to mainline. src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1496: > 1494: > 1495: public boolean isSameType(Type t, Type s, ContainsType containmentRelation) { > 1496: isSameTypeVisitor.setContainmentRel(containmentRelation); This should be reset after the call? ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Thu Mar 10 14:15:13 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 10 Mar 2022 14:15:13 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v5] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Thu, 10 Mar 2022 10:48:40 GMT, Maurizio Cimadamore wrote: > I think the pieces are all there. When looking at the code, the impression I have is that we're doing a lot of work just to pass some kind of boolean or enum flag which tells us if some extra loose behavior should be allowed or not (in both the subtyping, containment and sameType visitors). > > I was about to suggest that in the previous review rounds, but then held back because the existing visitors cannot take external parameters. I think your changes to the `isSameType` visitor demonstrate that problem: the visitor is just a function on types, and there's no way to pass an extra boolean/enum to it - so you have to store it in a field, which then leads to issues because either (i) you create one visitor instance per subtyping check (which would be very expensive, I fear) or you resort to tricks using mutable fields. > > Unfortunately fixing this mismatch is hard, as we're already using the visitor parameter to pass the second type of these type relations. So some other kind of workaround is required. > > A possible suggestion for trying to get to a simpler form would be to introduce a new "parameterized" relation, like this: > > ``` > public abstract static class ParameterizedTypeRelation

extends TypeRelation { > P param; > > public final Boolean visit(Type t, Type s, P param) { > P prevParam = this.param; > try { > this.param = param; > return visit(t, s); > } finally { > this.param = prevParam; > } > } > } > ``` > > This basically generalizes the trick you did with `isSameType` (but resets the field value correctly after a visit). Then you make isSubtype/contains/isSameType subclasses of this visitor class, and define an enum with two values for the strict/loose behavior. > > I believe this should give you enough flexibility to do what you want, and, at the same time, by minimizing set of changes compared to mainline. sure I will try this, thanks > src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 1496: > >> 1494: >> 1495: public boolean isSameType(Type t, Type s, ContainsType containmentRelation) { >> 1496: isSameTypeVisitor.setContainmentRel(containmentRelation); > > This should be reset after the call? right ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Thu Mar 10 21:51:29 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 10 Mar 2022 21:51:29 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v6] In-Reply-To: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: > no warning is shown for parameterized conversions Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: adding ParameterizedTypeRelation ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/666/files - new: https://git.openjdk.java.net/valhalla/pull/666/files/a2da2108..45e09eec Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=05 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=666&range=04-05 Stats: 126 lines in 1 file changed: 33 ins; 54 del; 39 mod Patch: https://git.openjdk.java.net/valhalla/pull/666.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/666/head:pull/666 PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Thu Mar 10 21:51:30 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 10 Mar 2022 21:51:30 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v5] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Thu, 10 Mar 2022 00:56:53 GMT, Vicente Romero wrote: >> no warning is shown for parameterized conversions > > Vicente Romero has updated the pull request incrementally with two additional commits since the last revision: > > - updating comment > - refactorings and cleanups to address review comments I have updated the PR with the refactoring you proposed, thanks ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From mcimadamore at openjdk.java.net Thu Mar 10 22:27:12 2022 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 10 Mar 2022 22:27:12 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v6] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Thu, 10 Mar 2022 21:51:29 GMT, Vicente Romero wrote: >> no warning is shown for parameterized conversions > > Vicente Romero has updated the pull request incrementally with one additional commit since the last revision: > > adding ParameterizedTypeRelation Looks good - thanks for the hard work! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Thu Mar 10 23:05:56 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Thu, 10 Mar 2022 23:05:56 GMT Subject: RFR: bug: no warning shown for parameterized conversions [v6] In-Reply-To: References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Thu, 10 Mar 2022 22:23:38 GMT, Maurizio Cimadamore wrote: > Looks good - thanks for the hard work! nice, thanks to you for the feedback! ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From vromero at openjdk.java.net Fri Mar 11 03:16:02 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Fri, 11 Mar 2022 03:16:02 GMT Subject: Integrated: bug: no warning shown for parameterized conversions In-Reply-To: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> References: <_h-yO1RULG21NdmpIa33gmaVOxJmb2BnJcbV-MOD53E=.00442428-96d5-43b2-b527-aca6f21ff0fd@github.com> Message-ID: On Thu, 3 Mar 2022 21:35:49 GMT, Vicente Romero wrote: > no warning is shown for parameterized conversions This pull request has now been integrated. Changeset: 20e193ba Author: Vicente Romero URL: https://git.openjdk.java.net/valhalla/commit/20e193ba7299a5950b5131bfd87b2fdd73829275 Stats: 261 lines in 2 files changed: 214 ins; 12 del; 35 mod bug: no warning shown for parameterized conversions Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.java.net/valhalla/pull/666 From tanksherman27 at gmail.com Fri Mar 11 09:00:23 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Fri, 11 Mar 2022 17:00:23 +0800 Subject: Value class with fields mutable as non default Message-ID: Hey Andersen, I agree with you, my naive understanding is that since value classes are ultimately still reference types, mutability of their fields may not be impossible, even though they no longer have any identity, since the values of the fields themselves can still be accessed through the reference. It shouldn't matter if we have exploded a value object into its component fields and reconstructed it elsewhere, since modifications would simply affect the reconstructed object instead of the original one. Having value classes with state that can be modified would present much flexibility to developers working with value classes, in my view. Not sure about the default immutability though, but I'll leave that up for discussion. On a related note, I'm also about to propose the ability to declare any object as a value when it's being constructed, instead of only at the class definition, since the former would require explicit ahead of time knowledge that a specific class would benefit from being value based, while the latter would provide more flexibility. Have a great day! best regards, Julian From tanksherman27 at gmail.com Fri Mar 11 09:07:25 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Fri, 11 Mar 2022 17:07:25 +0800 Subject: Value class with fields mutable as non default Message-ID: Hey Andersen, I agree with you, my naive understanding is that since value classes are ultimately still reference types, mutability of their fields may not be impossible, even though they no longer have any identity, since the values of the fields themselves can still be accessed through the reference. It shouldn't matter if we have exploded a value object into its component fields and reconstructed it elsewhere, since modifications would simply affect the reconstructed object instead of the original one. Having value classes with state that can be modified would present much flexibility to developers working with value classes, in my view. Not sure about the default immutability though, but I'll leave that up for discussion. On a related note, I'm also about to propose the ability to declare any object as a value when it's being constructed, instead of only at the class definition, since the former would require explicit ahead of time knowledge that a specific class would benefit from being value based, while the latter would provide more flexibility. Have a great day! best regards, Julian From tanksherman27 at gmail.com Fri Mar 11 09:16:56 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Fri, 11 Mar 2022 17:16:56 +0800 Subject: Value class with fields mutable as non default Message-ID: Great, seems like my internet is acting up and sending this several times. Sorry for the disturbance! regards, Julian From tanksherman27 at gmail.com Sun Mar 13 07:42:23 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Sun, 13 Mar 2022 15:42:23 +0800 Subject: Queries regarding value classes Message-ID: Hi all, I'd like to discuss several topics related to the current draft on value classes. As mentioned in another post to this list at https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html, currently value classes are specified as immutable, with all fields being declared as final. If I understand this correctly, value based classes, unlike the true primitives which work is currently focused on, can still be referred to by references; It is only identity that has been given up. In that instance, naively speaking, wouldn't it be possible for value objects to have mutable fields? In the same way that one can reference the fields, one might possibly be able to also change their values through the available object reference as well. From what I can tell, value objects are planned to work internally by decomposing them to nothing more than their constituent fields and reconstructing them elsewhere. If that is the case, shouldn't modification of their fields be possible? To me it seems the modification would simply modify the copied value object *b *while leaving original value object *a *unchanged, which sits perfectly with the constraint that identity should not be supported. Am I mistaken in my assumption? Additionally, if the above holds true, I also suggest allowing an object to be declared as value based at the site of their usage, instead of just at their definition. Something like // Item is by default an identity class, but the field "item" here is now // a value object due to the declaration of value value Item item = new Item(); would allow typical identity classes to be treated as value objects where they're used. This would, to me, present a great deal of flexibility as one could then choose how to allocate a particular object without constraining *every *instance of that class to a specific value/identity dichotomy, and also avoids the hassle of having to know which classes should be value or identity types ahead of time. On a side note, the current proposal also includes the ability to mark records as value based, given that records are meant exclusively as data classes, I suggest we flip that around and instead have records as *value based by default, *and instead allow marking them as identity objects explicitly if required, with the currently used ref keyword (Or whatever ref will eventually become), both at definition and when an actual instance is constructed, as mentioned above. This could save frustration from having to type value over and over whenever writing the definition of a new record. Have a great day, hope I can hear your opinions on this! :) best regards, Julian From anhmdq at gmail.com Sun Mar 13 08:26:39 2022 From: anhmdq at gmail.com (=?UTF-8?Q?Qu=C3=A2n_Anh_Mai?=) Date: Sun, 13 Mar 2022 16:26:39 +0800 Subject: Queries regarding value classes In-Reply-To: References: Message-ID: Hi, Regarding your concern of mutable value objects, having a mutable identity-less object is illogical. Because a value class does not have a unique identity, upon modification, the object is changed to become another object. A value object is immutable in the same way that an int is immutable. You can change a variable int a from containing a value of 3 to a value of 4, but you can?t change the number itself, it has been mathematically and programmatically defined to be a specific bit sequence. Similarly, you can change a variable Point a from enclosing the point (3, 4) into the point (2, 5), but you can?t change the coordination of the points themselves, they have been (in this case) also mathematically defined. Your understanding of how value classes work is also not correct. The fact that a value object can be deconstructed to its fields does not mean that it will. This is simply an optimisation choice of the compiler. Regards, Quan Anh On Sun, 13 Mar 2022 at 15:42, Julian Waters wrote: > Hi all, > > I'd like to discuss several topics related to the current draft on value > classes. > > As mentioned in another post to this list at > > https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html > , > currently value classes are specified as immutable, with all fields being > declared as final. If I understand this correctly, value based classes, > unlike the true primitives which work is currently focused on, can still be > referred to by references; It is only identity that has been given up. In > that instance, naively speaking, wouldn't it be possible for value objects > to have mutable fields? In the same way that one can reference the fields, > one might possibly be able to also change their values through the > available object reference as well. From what I can tell, value objects are > planned to work internally by decomposing them to nothing more than their > constituent fields and reconstructing them elsewhere. If that is the case, > shouldn't modification of their fields be possible? To me it seems the > modification would simply modify the copied value object *b *while leaving > original value object *a *unchanged, which sits perfectly with the > constraint that identity should not be supported. Am I mistaken in my > assumption? > > Additionally, if the above holds true, I also suggest allowing an object to > be declared as value based at the site of their usage, instead of just at > their definition. Something like > > // Item is by default an identity class, but the field "item" here is now > // a value object due to the declaration of value > value Item item = new Item(); > > would allow typical identity classes to be treated as value objects where > they're used. This would, to me, present a great deal of flexibility as one > could then choose how to allocate a particular object without > constraining *every > *instance of that class to a specific value/identity dichotomy, and also > avoids the hassle of having to know which classes should be value or > identity types ahead of time. On a side note, the current proposal also > includes the ability to mark records as value based, given that records are > meant exclusively as data classes, I suggest we flip that around and > instead have records as *value based by default, *and instead allow marking > them as identity objects explicitly if required, with the currently used > ref keyword (Or whatever ref will eventually become), both at definition > and when an actual instance is constructed, as mentioned above. This could > save frustration from having to type value over and over whenever writing > the definition of a new record. > > Have a great day, hope I can hear your opinions on this! :) > > best regards, > Julian > From tanksherman27 at gmail.com Sun Mar 13 09:46:55 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Sun, 13 Mar 2022 17:46:55 +0800 Subject: Queries regarding value classes In-Reply-To: References: Message-ID: Hi Qu?n Anh, thanks for the reply, I think I understand what you mean; Since value objects have no identity, changing their fields would essentially mean the object is now entirely different. However since that's the case, I'm still a little confused by the semantics of what they really are. Specifically, most of their benefits are centered around them being nothing more than their fields in memory, but at the same time documentation states that they're referred to by reference, which I find a little contradictory. If it's the former, they'd be no different from primitives, and if the latter, they'd be the exact same as identity objects, which has left me puzzled for quite some time. Sorry for all the trouble, have a great day best regards, Julian On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai wrote: > Hi, > > Regarding your concern of mutable value objects, having a mutable > identity-less object is illogical. Because a value class does not have a > unique identity, upon modification, the object is changed to become another > object. A value object is immutable in the same way that an int is > immutable. You can change a variable int a from containing a value of 3 > to a value of 4, but you can?t change the number itself, it has been > mathematically and programmatically defined to be a specific bit sequence. > Similarly, you can change a variable Point a from enclosing the point (3, > 4) into the point (2, 5), but you can?t change the coordination of the > points themselves, they have been (in this case) also mathematically > defined. Your understanding of how value classes work is also not correct. > The fact that a value object can be deconstructed to its fields does not > mean that it will. This is simply an optimisation choice of the compiler. > > Regards, > Quan Anh > > On Sun, 13 Mar 2022 at 15:42, Julian Waters > wrote: > >> Hi all, >> >> I'd like to discuss several topics related to the current draft on value >> classes. >> >> As mentioned in another post to this list at >> >> https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html >> , >> currently value classes are specified as immutable, with all fields being >> declared as final. If I understand this correctly, value based classes, >> unlike the true primitives which work is currently focused on, can still >> be >> referred to by references; It is only identity that has been given up. In >> that instance, naively speaking, wouldn't it be possible for value objects >> to have mutable fields? In the same way that one can reference the fields, >> one might possibly be able to also change their values through the >> available object reference as well. From what I can tell, value objects >> are >> planned to work internally by decomposing them to nothing more than their >> constituent fields and reconstructing them elsewhere. If that is the case, >> shouldn't modification of their fields be possible? To me it seems the >> modification would simply modify the copied value object *b *while leaving >> original value object *a *unchanged, which sits perfectly with the >> constraint that identity should not be supported. Am I mistaken in my >> assumption? >> >> Additionally, if the above holds true, I also suggest allowing an object >> to >> be declared as value based at the site of their usage, instead of just at >> their definition. Something like >> >> // Item is by default an identity class, but the field "item" here is now >> // a value object due to the declaration of value >> value Item item = new Item(); >> >> would allow typical identity classes to be treated as value objects where >> they're used. This would, to me, present a great deal of flexibility as >> one >> could then choose how to allocate a particular object without >> constraining *every >> *instance of that class to a specific value/identity dichotomy, and also >> avoids the hassle of having to know which classes should be value or >> identity types ahead of time. On a side note, the current proposal also >> includes the ability to mark records as value based, given that records >> are >> meant exclusively as data classes, I suggest we flip that around and >> instead have records as *value based by default, *and instead allow >> marking >> them as identity objects explicitly if required, with the currently used >> ref keyword (Or whatever ref will eventually become), both at definition >> and when an actual instance is constructed, as mentioned above. This could >> save frustration from having to type value over and over whenever writing >> the definition of a new record. >> >> Have a great day, hope I can hear your opinions on this! :) >> >> best regards, >> Julian >> > From brian.goetz at oracle.com Mon Mar 14 21:59:47 2022 From: brian.goetz at oracle.com (Brian Goetz) Date: Mon, 14 Mar 2022 17:59:47 -0400 Subject: Queries regarding value classes In-Reply-To: References: Message-ID: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> You are (understandably) conflating the properties of identity with the properties of reference-ness. If you say ??? x.a = 3 you are saying "change the a field of the object referred to by x to 3."? The key to this sentence is *the object*; in order for assignment to make sense, you have to know exactly which variable you are talking about.? And if that variable is an instance field, then you have to know exactly which object it lives in.? This is where identity comes in; if x is a reference to an identity object, we then know how to find it.? Which means, you need an identity in order to be able to talk about mutability in a well-defined way. So if that's true, what is a *reference* to a value?? This is the confusing part.? If you think in terms of implementation, you'll probably think "reference means pointer", which puts you into a C frame of mind, because pointers always point at things.? But that's not what reference means in Java; its a more abstract kind of indirection. The distinction between int and Integer may be helpful.? At one level, int and Integer may seem like "almost the same sets of values"; the Integer value set has one more value -- null -- than the int value set, and for each of the other values, there is a bidirectional, 1:1 mapping between the two value sets.? But if we look closer, in fact these value sets are disjoint!? An int is not an Integer (even if they describe the same number.) So one big difference between references and values is nullability; null is a special kind of reference, the reference to no object at all.? Reference types can be null; primitive types cannot.? (There's another, even more subtle distinction, which is tearability, which comes from the guarantees of the Java memory model.) If we have a value class: ??? value class X { } this gives rise to a reference type X, whose values are references to instances of X.? But those instances do not have identity, which means we can freely shred an X into the values of its fields, and later reconstitute it into a new X, all without anyone noticing.? That's what the lack of identity enables.? But the flip side of that means that any given X does not "live" anywhere; it is just a loose aggregation field values, which behaves like an object when called upon to do object-y things. On 3/13/2022 5:46 AM, Julian Waters wrote: > Hi Qu?n Anh, thanks for the reply, > > I think I understand what you mean; Since value objects have no identity, > changing their fields would essentially mean the object is now entirely > different. However since that's the case, I'm still a little confused by > the semantics of what they really are. Specifically, most of their benefits > are centered around them being nothing more than their fields in memory, > but at the same time documentation states that they're referred to by > reference, which I find a little contradictory. If it's the former, they'd > be no different from primitives, and if the latter, they'd be the exact > same as identity objects, which has left me puzzled for quite some time. > > Sorry for all the trouble, have a great day > > best regards, > Julian > > On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai wrote: > >> Hi, >> >> Regarding your concern of mutable value objects, having a mutable >> identity-less object is illogical. Because a value class does not have a >> unique identity, upon modification, the object is changed to become another >> object. A value object is immutable in the same way that an int is >> immutable. You can change a variable int a from containing a value of 3 >> to a value of 4, but you can?t change the number itself, it has been >> mathematically and programmatically defined to be a specific bit sequence. >> Similarly, you can change a variable Point a from enclosing the point (3, >> 4) into the point (2, 5), but you can?t change the coordination of the >> points themselves, they have been (in this case) also mathematically >> defined. Your understanding of how value classes work is also not correct. >> The fact that a value object can be deconstructed to its fields does not >> mean that it will. This is simply an optimisation choice of the compiler. >> >> Regards, >> Quan Anh >> >> On Sun, 13 Mar 2022 at 15:42, Julian Waters >> wrote: >> >>> Hi all, >>> >>> I'd like to discuss several topics related to the current draft on value >>> classes. >>> >>> As mentioned in another post to this list at >>> >>> https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html >>> , >>> currently value classes are specified as immutable, with all fields being >>> declared as final. If I understand this correctly, value based classes, >>> unlike the true primitives which work is currently focused on, can still >>> be >>> referred to by references; It is only identity that has been given up. In >>> that instance, naively speaking, wouldn't it be possible for value objects >>> to have mutable fields? In the same way that one can reference the fields, >>> one might possibly be able to also change their values through the >>> available object reference as well. From what I can tell, value objects >>> are >>> planned to work internally by decomposing them to nothing more than their >>> constituent fields and reconstructing them elsewhere. If that is the case, >>> shouldn't modification of their fields be possible? To me it seems the >>> modification would simply modify the copied value object *b *while leaving >>> original value object *a *unchanged, which sits perfectly with the >>> constraint that identity should not be supported. Am I mistaken in my >>> assumption? >>> >>> Additionally, if the above holds true, I also suggest allowing an object >>> to >>> be declared as value based at the site of their usage, instead of just at >>> their definition. Something like >>> >>> // Item is by default an identity class, but the field "item" here is now >>> // a value object due to the declaration of value >>> value Item item = new Item(); >>> >>> would allow typical identity classes to be treated as value objects where >>> they're used. This would, to me, present a great deal of flexibility as >>> one >>> could then choose how to allocate a particular object without >>> constraining *every >>> *instance of that class to a specific value/identity dichotomy, and also >>> avoids the hassle of having to know which classes should be value or >>> identity types ahead of time. On a side note, the current proposal also >>> includes the ability to mark records as value based, given that records >>> are >>> meant exclusively as data classes, I suggest we flip that around and >>> instead have records as *value based by default, *and instead allow >>> marking >>> them as identity objects explicitly if required, with the currently used >>> ref keyword (Or whatever ref will eventually become), both at definition >>> and when an actual instance is constructed, as mentioned above. This could >>> save frustration from having to type value over and over whenever writing >>> the definition of a new record. >>> >>> Have a great day, hope I can hear your opinions on this! :) >>> >>> best regards, >>> Julian >>> From vromero at openjdk.java.net Tue Mar 15 02:30:40 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Tue, 15 Mar 2022 02:30:40 GMT Subject: RFR: Build failing in universal tvars Message-ID: Suppressing warnings in some tests for them to pass, also the build was failing ------------- Commit messages: - another try - debugging commit - the build is failing due to universal tvars warnings Changes: https://git.openjdk.java.net/valhalla/pull/669/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=669&range=00 Stats: 65 lines in 48 files changed: 61 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/valhalla/pull/669.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/669/head:pull/669 PR: https://git.openjdk.java.net/valhalla/pull/669 From vromero at openjdk.java.net Tue Mar 15 02:49:07 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Tue, 15 Mar 2022 02:49:07 GMT Subject: Integrated: Build failing in universal tvars In-Reply-To: References: Message-ID: On Tue, 15 Mar 2022 02:23:50 GMT, Vicente Romero wrote: > Suppressing warnings in some tests for them to pass, also the build was failing This pull request has now been integrated. Changeset: d2567d2d Author: Vicente Romero URL: https://git.openjdk.java.net/valhalla/commit/d2567d2d8ec672c994aa562bab56554a13a93f1e Stats: 65 lines in 48 files changed: 61 ins; 0 del; 4 mod Build failing in universal tvars ------------- PR: https://git.openjdk.java.net/valhalla/pull/669 From tanksherman27 at gmail.com Tue Mar 15 03:12:23 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Tue, 15 Mar 2022 11:12:23 +0800 Subject: Queries regarding value classes In-Reply-To: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> Message-ID: So if I understand correctly, value objects are essentially the same as JEP-401's primitives but with nullability, and according to JEP-401, guarantee of atomic modification? "you are saying "change the a field of the object referred to by x to 3."" Regarding this earlier x.a = 3 example, if X was a good ol' identity object, x would then be a reference to the actual instance, and we'd simply follow the reference to where the actual object is stored and set a to 3. But if it was a value object, my understanding from your previous post is that it would be stored directly on the abstract (Ignoring HotSpot's actual complex implementation) stack to be operated on as a bunch of fields with no additional metadata other than the check for null. What's stopping us from then changing those fields directly? Like Qu?n Anh mentioned earlier, we would've effectively created a new object if we did do that, since a value object has no identity, but wouldn't we have technically changed the value of a after initialization? At the very least, I'd say it would be useful syntactic sugar to be able to do x.a on a value object instead of having to do new X(3); every time we wanted to change it, unless a is explicitly marked as final, without affecting == or related checks in any way, since (from what I know) value objects are compared by field with ==. Apologies for my lack of knowledge in this area, it still feels like I haven't really gotten a correct idea of what value types really are, especially compared to the true primitives of 401 Thanks for the reply and have a great day! best regards, Julian On Tue, Mar 15, 2022 at 5:59 AM Brian Goetz wrote: > You are (understandably) conflating the properties of identity with the > properties of reference-ness. > > If you say > > x.a = 3 > > you are saying "change the a field of the object referred to by x to 3." > The key to this sentence is *the object*; in order for assignment to make > sense, you have to know exactly which variable you are talking about. And > if that variable is an instance field, then you have to know exactly which > object it lives in. This is where identity comes in; if x is a reference > to an identity object, we then know how to find it. Which means, you need > an identity in order to be able to talk about mutability in a well-defined > way. > > So if that's true, what is a *reference* to a value? This is the > confusing part. If you think in terms of implementation, you'll probably > think "reference means pointer", which puts you into a C frame of mind, > because pointers always point at things. But that's not what reference > means in Java; its a more abstract kind of indirection. > > The distinction between int and Integer may be helpful. At one level, int > and Integer may seem like "almost the same sets of values"; the Integer > value set has one more value -- null -- than the int value set, and for > each of the other values, there is a bidirectional, 1:1 mapping between the > two value sets. But if we look closer, in fact these value sets are > disjoint! An int is not an Integer (even if they describe the same > number.) > > So one big difference between references and values is nullability; null > is a special kind of reference, the reference to no object at all. > Reference types can be null; primitive types cannot. (There's another, > even more subtle distinction, which is tearability, which comes from the > guarantees of the Java memory model.) > > If we have a value class: > > value class X { } > > this gives rise to a reference type X, whose values are references to > instances of X. But those instances do not have identity, which means we > can freely shred an X into the values of its fields, and later reconstitute > it into a new X, all without anyone noticing. That's what the lack of > identity enables. But the flip side of that means that any given X does > not "live" anywhere; it is just a loose aggregation field values, which > behaves like an object when called upon to do object-y things. > > > > > > On 3/13/2022 5:46 AM, Julian Waters wrote: > > Hi Qu?n Anh, thanks for the reply, > > I think I understand what you mean; Since value objects have no identity, > changing their fields would essentially mean the object is now entirely > different. However since that's the case, I'm still a little confused by > the semantics of what they really are. Specifically, most of their benefits > are centered around them being nothing more than their fields in memory, > but at the same time documentation states that they're referred to by > reference, which I find a little contradictory. If it's the former, they'd > be no different from primitives, and if the latter, they'd be the exact > same as identity objects, which has left me puzzled for quite some time. > > Sorry for all the trouble, have a great day > > best regards, > Julian > > On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai wrote: > > > Hi, > > Regarding your concern of mutable value objects, having a mutable > identity-less object is illogical. Because a value class does not have a > unique identity, upon modification, the object is changed to become another > object. A value object is immutable in the same way that an int is > immutable. You can change a variable int a from containing a value of 3 > to a value of 4, but you can?t change the number itself, it has been > mathematically and programmatically defined to be a specific bit sequence. > Similarly, you can change a variable Point a from enclosing the point (3, > 4) into the point (2, 5), but you can?t change the coordination of the > points themselves, they have been (in this case) also mathematically > defined. Your understanding of how value classes work is also not correct. > The fact that a value object can be deconstructed to its fields does not > mean that it will. This is simply an optimisation choice of the compiler. > > Regards, > Quan Anh > > On Sun, 13 Mar 2022 at 15:42, Julian Waters > wrote: > > > Hi all, > > I'd like to discuss several topics related to the current draft on value > classes. > > As mentioned in another post to this list at > https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html > , > currently value classes are specified as immutable, with all fields being > declared as final. If I understand this correctly, value based classes, > unlike the true primitives which work is currently focused on, can still > be > referred to by references; It is only identity that has been given up. In > that instance, naively speaking, wouldn't it be possible for value objects > to have mutable fields? In the same way that one can reference the fields, > one might possibly be able to also change their values through the > available object reference as well. From what I can tell, value objects > are > planned to work internally by decomposing them to nothing more than their > constituent fields and reconstructing them elsewhere. If that is the case, > shouldn't modification of their fields be possible? To me it seems the > modification would simply modify the copied value object *b *while leaving > original value object *a *unchanged, which sits perfectly with the > constraint that identity should not be supported. Am I mistaken in my > assumption? > > Additionally, if the above holds true, I also suggest allowing an object > to > be declared as value based at the site of their usage, instead of just at > their definition. Something like > > // Item is by default an identity class, but the field "item" here is now > // a value object due to the declaration of value > value Item item = new Item(); > > would allow typical identity classes to be treated as value objects where > they're used. This would, to me, present a great deal of flexibility as > one > could then choose how to allocate a particular object without > constraining *every > *instance of that class to a specific value/identity dichotomy, and also > avoids the hassle of having to know which classes should be value or > identity types ahead of time. On a side note, the current proposal also > includes the ability to mark records as value based, given that records > are > meant exclusively as data classes, I suggest we flip that around and > instead have records as *value based by default, *and instead allow > marking > them as identity objects explicitly if required, with the currently used > ref keyword (Or whatever ref will eventually become), both at definition > and when an actual instance is constructed, as mentioned above. This could > save frustration from having to type value over and over whenever writing > the definition of a new record. > > Have a great day, hope I can hear your opinions on this! :) > > best regards, > Julian > > > > From anhmdq at gmail.com Tue Mar 15 04:03:48 2022 From: anhmdq at gmail.com (=?UTF-8?Q?Qu=C3=A2n_Anh_Mai?=) Date: Tue, 15 Mar 2022 12:03:48 +0800 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> Message-ID: Hi, >From a more implementation detailed point of view, the problem of whether an object has an identity and the problem of whether it is stored as a reference or not are orthogonal and lie at different levels of abstraction. An object in memory is a representation of a Java object, so the identity we are mentioning here is a property of the represented while reference is a property of the representation. Normally, the identity of an object forces this relation to be a 1-1 mapping so that we can keep the invariant that all the representations of a single object behave consistently. For value objects however, since the object does not imply identity, a single Java object can have multiple representations (a value object can appear simultaneously at various locations in the memory) without needing to do some synchronisation, and since each portion of the program can have its own representation of an object, it can do transformations on this version (such as deconstructing into fields, throwing redundant elements) without worrying about the behaviour of other parts of the program doing operations on that same Java object, since they have their own versions of that object to do so. So in conclusion, they are orthogonal problems, a non-nullable primitive object can still be implemented as a reference, it is solely the compiler optimisation to deconstruct it into its fields, and the identitiless of the Java object allows this transformation to be performed more safely and consistently. Hope you may understand better, Quan Anh On Tue, 15 Mar 2022 at 11:13, Julian Waters wrote: > So if I understand correctly, value objects are essentially the same as > JEP-401's primitives but with nullability, and according to JEP-401, > guarantee of atomic modification? > > "you are saying "change the a field of the object referred to by x to 3."" > > Regarding this earlier x.a = 3 example, if X was a good ol' identity > object, x would then be a reference to the actual instance, and we'd simply > follow the reference to where the actual object is stored and set a to 3. > But if it was a value object, my understanding from your previous post is > that it would be stored directly on the abstract (Ignoring HotSpot's actual > complex implementation) stack to be operated on as a bunch of fields with > no additional metadata other than the check for null. What's stopping us > from then changing those fields directly? Like Qu?n Anh mentioned earlier, > we would've effectively created a new object if we did do that, since a > value object has no identity, but wouldn't we have technically changed the > value of a after initialization? At the very least, I'd say it would be > useful syntactic sugar to be able to do x.a on a value object instead of > having to do new X(3); every time we wanted to change it, unless a is > explicitly marked as final, without affecting == or related checks in any > way, since (from what I know) value objects are compared by field with ==. > > Apologies for my lack of knowledge in this area, it still feels like I > haven't really gotten a correct idea of what value types really are, > especially compared to the true primitives of 401 > > Thanks for the reply and have a great day! > > best regards, > Julian > > On Tue, Mar 15, 2022 at 5:59 AM Brian Goetz > wrote: > > > You are (understandably) conflating the properties of identity with the > > properties of reference-ness. > > > > If you say > > > > x.a = 3 > > > > you are saying "change the a field of the object referred to by x to 3." > > The key to this sentence is *the object*; in order for assignment to make > > sense, you have to know exactly which variable you are talking about. > And > > if that variable is an instance field, then you have to know exactly > which > > object it lives in. This is where identity comes in; if x is a reference > > to an identity object, we then know how to find it. Which means, you > need > > an identity in order to be able to talk about mutability in a > well-defined > > way. > > > > So if that's true, what is a *reference* to a value? This is the > > confusing part. If you think in terms of implementation, you'll probably > > think "reference means pointer", which puts you into a C frame of mind, > > because pointers always point at things. But that's not what reference > > means in Java; its a more abstract kind of indirection. > > > > The distinction between int and Integer may be helpful. At one level, > int > > and Integer may seem like "almost the same sets of values"; the Integer > > value set has one more value -- null -- than the int value set, and for > > each of the other values, there is a bidirectional, 1:1 mapping between > the > > two value sets. But if we look closer, in fact these value sets are > > disjoint! An int is not an Integer (even if they describe the same > > number.) > > > > So one big difference between references and values is nullability; null > > is a special kind of reference, the reference to no object at all. > > Reference types can be null; primitive types cannot. (There's another, > > even more subtle distinction, which is tearability, which comes from the > > guarantees of the Java memory model.) > > > > If we have a value class: > > > > value class X { } > > > > this gives rise to a reference type X, whose values are references to > > instances of X. But those instances do not have identity, which means we > > can freely shred an X into the values of its fields, and later > reconstitute > > it into a new X, all without anyone noticing. That's what the lack of > > identity enables. But the flip side of that means that any given X does > > not "live" anywhere; it is just a loose aggregation field values, which > > behaves like an object when called upon to do object-y things. > > > > > > > > > > > > On 3/13/2022 5:46 AM, Julian Waters wrote: > > > > Hi Qu?n Anh, thanks for the reply, > > > > I think I understand what you mean; Since value objects have no identity, > > changing their fields would essentially mean the object is now entirely > > different. However since that's the case, I'm still a little confused by > > the semantics of what they really are. Specifically, most of their > benefits > > are centered around them being nothing more than their fields in memory, > > but at the same time documentation states that they're referred to by > > reference, which I find a little contradictory. If it's the former, > they'd > > be no different from primitives, and if the latter, they'd be the exact > > same as identity objects, which has left me puzzled for quite some time. > > > > Sorry for all the trouble, have a great day > > > > best regards, > > Julian > > > > On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai < > anhmdq at gmail.com> wrote: > > > > > > Hi, > > > > Regarding your concern of mutable value objects, having a mutable > > identity-less object is illogical. Because a value class does not have a > > unique identity, upon modification, the object is changed to become > another > > object. A value object is immutable in the same way that an int is > > immutable. You can change a variable int a from containing a value of 3 > > to a value of 4, but you can?t change the number itself, it has been > > mathematically and programmatically defined to be a specific bit > sequence. > > Similarly, you can change a variable Point a from enclosing the point (3, > > 4) into the point (2, 5), but you can?t change the coordination of the > > points themselves, they have been (in this case) also mathematically > > defined. Your understanding of how value classes work is also not > correct. > > The fact that a value object can be deconstructed to its fields does not > > mean that it will. This is simply an optimisation choice of the compiler. > > > > Regards, > > Quan Anh > > > > On Sun, 13 Mar 2022 at 15:42, Julian Waters < > tanksherman27 at gmail.com> > > wrote: > > > > > > Hi all, > > > > I'd like to discuss several topics related to the current draft on value > > classes. > > > > As mentioned in another post to this list at > > > https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html > > , > > currently value classes are specified as immutable, with all fields being > > declared as final. If I understand this correctly, value based classes, > > unlike the true primitives which work is currently focused on, can still > > be > > referred to by references; It is only identity that has been given up. In > > that instance, naively speaking, wouldn't it be possible for value > objects > > to have mutable fields? In the same way that one can reference the > fields, > > one might possibly be able to also change their values through the > > available object reference as well. From what I can tell, value objects > > are > > planned to work internally by decomposing them to nothing more than their > > constituent fields and reconstructing them elsewhere. If that is the > case, > > shouldn't modification of their fields be possible? To me it seems the > > modification would simply modify the copied value object *b *while > leaving > > original value object *a *unchanged, which sits perfectly with the > > constraint that identity should not be supported. Am I mistaken in my > > assumption? > > > > Additionally, if the above holds true, I also suggest allowing an object > > to > > be declared as value based at the site of their usage, instead of just at > > their definition. Something like > > > > // Item is by default an identity class, but the field "item" here is now > > // a value object due to the declaration of value > > value Item item = new Item(); > > > > would allow typical identity classes to be treated as value objects where > > they're used. This would, to me, present a great deal of flexibility as > > one > > could then choose how to allocate a particular object without > > constraining *every > > *instance of that class to a specific value/identity dichotomy, and also > > avoids the hassle of having to know which classes should be value or > > identity types ahead of time. On a side note, the current proposal also > > includes the ability to mark records as value based, given that records > > are > > meant exclusively as data classes, I suggest we flip that around and > > instead have records as *value based by default, *and instead allow > > marking > > them as identity objects explicitly if required, with the currently used > > ref keyword (Or whatever ref will eventually become), both at definition > > and when an actual instance is constructed, as mentioned above. This > could > > save frustration from having to type value over and over whenever writing > > the definition of a new record. > > > > Have a great day, hope I can hear your opinions on this! :) > > > > best regards, > > Julian > > > > > > > > > From vromero at openjdk.java.net Tue Mar 15 17:22:59 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Tue, 15 Mar 2022 17:22:59 GMT Subject: RFR: Merge lworld Message-ID: Merge lworld into universal-tvars ------------- Commit messages: - Merge branch 'lworld' into universal-tvars_merge_lworld_03_15 - 8282695: [lworld] assert(oopDesc::is_oop(obj)) in compiler/valhalla/inlinetypes/TestUnloadedInlineTypeArray.java - 8282512: Remove usages of __WithField in compiler tests - 8282107: Valhalla: javac does not correctly recognize value class factory - 8282079: [lworld] Generate Preload attribute in lambdas and proxies if value classes are referenced - 8282292: [lworld] runtime/valhalla/inlinetypes/WithFieldAccessorTest.java Xcomp C1 asserts - 8281283: Remove usages of __WithField in runtime tests - 8281323: [lworld] Unnecessary entries in Preload attribute - 8282108: [lworld] Enhance CreateSymbols to read Preload attribute The webrevs contain the adjustments done while merging with regards to each parent branch: - universal-tvars: https://webrevs.openjdk.java.net/?repo=valhalla&pr=670&range=00.0 - lworld: https://webrevs.openjdk.java.net/?repo=valhalla&pr=670&range=00.1 Changes: https://git.openjdk.java.net/valhalla/pull/670/files Stats: 3248 lines in 63 files changed: 1670 ins; 1331 del; 247 mod Patch: https://git.openjdk.java.net/valhalla/pull/670.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/670/head:pull/670 PR: https://git.openjdk.java.net/valhalla/pull/670 From vromero at openjdk.java.net Tue Mar 15 17:26:09 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Tue, 15 Mar 2022 17:26:09 GMT Subject: Integrated: Merge lworld In-Reply-To: References: Message-ID: On Tue, 15 Mar 2022 17:14:42 GMT, Vicente Romero wrote: > Merge lworld into universal-tvars This pull request has now been integrated. Changeset: 34382967 Author: Vicente Romero URL: https://git.openjdk.java.net/valhalla/commit/343829678bc567d534ee4abd291335768af20e08 Stats: 3248 lines in 63 files changed: 1670 ins; 1331 del; 247 mod Merge lworld ------------- PR: https://git.openjdk.java.net/valhalla/pull/670 From vromero at openjdk.java.net Wed Mar 16 17:01:34 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 16 Mar 2022 17:01:34 GMT Subject: Integrated: changing universal lint warning to unchecked warning Message-ID: A `universal` lint warning was being issue instead of an unchecked one, this patch is fixing this bug ------------- Commit messages: - changing universal lint warning to unchecked warning Changes: https://git.openjdk.java.net/valhalla/pull/671/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=671&range=00 Stats: 74 lines in 49 files changed: 5 ins; 59 del; 10 mod Patch: https://git.openjdk.java.net/valhalla/pull/671.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/671/head:pull/671 PR: https://git.openjdk.java.net/valhalla/pull/671 From vromero at openjdk.java.net Wed Mar 16 17:01:34 2022 From: vromero at openjdk.java.net (Vicente Romero) Date: Wed, 16 Mar 2022 17:01:34 GMT Subject: Integrated: changing universal lint warning to unchecked warning In-Reply-To: References: Message-ID: On Wed, 16 Mar 2022 16:56:03 GMT, Vicente Romero wrote: > A `universal` lint warning was being issue instead of an unchecked one, this patch is fixing this bug This pull request has now been integrated. Changeset: cc7c639e Author: Vicente Romero URL: https://git.openjdk.java.net/valhalla/commit/cc7c639e057aea61b1372cb8b4b266c92f15c96c Stats: 74 lines in 49 files changed: 5 ins; 59 del; 10 mod changing universal lint warning to unchecked warning ------------- PR: https://git.openjdk.java.net/valhalla/pull/671 From tanksherman27 at gmail.com Thu Mar 17 02:00:14 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Thu, 17 Mar 2022 10:00:14 +0800 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> Message-ID: Alternatively, something like X x = new X(1); x.a = 3; could be valid while final X x = new X(1); x.a = 3; would not? best regards, Julian On Tue, Mar 15, 2022 at 11:12 AM Julian Waters wrote: > So if I understand correctly, value objects are essentially the same as > JEP-401's primitives but with nullability, and according to JEP-401, > guarantee of atomic modification? > > "you are saying "change the a field of the object referred to by x to 3."" > > Regarding this earlier x.a = 3 example, if X was a good ol' identity > object, x would then be a reference to the actual instance, and we'd simply > follow the reference to where the actual object is stored and set a to 3. > But if it was a value object, my understanding from your previous post is > that it would be stored directly on the abstract (Ignoring HotSpot's actual > complex implementation) stack to be operated on as a bunch of fields with > no additional metadata other than the check for null. What's stopping us > from then changing those fields directly? Like Qu?n Anh mentioned earlier, > we would've effectively created a new object if we did do that, since a > value object has no identity, but wouldn't we have technically changed the > value of a after initialization? At the very least, I'd say it would be > useful syntactic sugar to be able to do x.a on a value object instead of > having to do new X(3); every time we wanted to change it, unless a is > explicitly marked as final, without affecting == or related checks in any > way, since (from what I know) value objects are compared by field with ==. > > Apologies for my lack of knowledge in this area, it still feels like I > haven't really gotten a correct idea of what value types really are, > especially compared to the true primitives of 401 > > Thanks for the reply and have a great day! > > best regards, > Julian > > On Tue, Mar 15, 2022 at 5:59 AM Brian Goetz > wrote: > >> You are (understandably) conflating the properties of identity with the >> properties of reference-ness. >> >> If you say >> >> x.a = 3 >> >> you are saying "change the a field of the object referred to by x to 3." >> The key to this sentence is *the object*; in order for assignment to make >> sense, you have to know exactly which variable you are talking about. And >> if that variable is an instance field, then you have to know exactly which >> object it lives in. This is where identity comes in; if x is a reference >> to an identity object, we then know how to find it. Which means, you need >> an identity in order to be able to talk about mutability in a well-defined >> way. >> >> So if that's true, what is a *reference* to a value? This is the >> confusing part. If you think in terms of implementation, you'll probably >> think "reference means pointer", which puts you into a C frame of mind, >> because pointers always point at things. But that's not what reference >> means in Java; its a more abstract kind of indirection. >> >> The distinction between int and Integer may be helpful. At one level, >> int and Integer may seem like "almost the same sets of values"; the Integer >> value set has one more value -- null -- than the int value set, and for >> each of the other values, there is a bidirectional, 1:1 mapping between the >> two value sets. But if we look closer, in fact these value sets are >> disjoint! An int is not an Integer (even if they describe the same >> number.) >> >> So one big difference between references and values is nullability; null >> is a special kind of reference, the reference to no object at all. >> Reference types can be null; primitive types cannot. (There's another, >> even more subtle distinction, which is tearability, which comes from the >> guarantees of the Java memory model.) >> >> If we have a value class: >> >> value class X { } >> >> this gives rise to a reference type X, whose values are references to >> instances of X. But those instances do not have identity, which means we >> can freely shred an X into the values of its fields, and later reconstitute >> it into a new X, all without anyone noticing. That's what the lack of >> identity enables. But the flip side of that means that any given X does >> not "live" anywhere; it is just a loose aggregation field values, which >> behaves like an object when called upon to do object-y things. >> >> >> >> >> >> On 3/13/2022 5:46 AM, Julian Waters wrote: >> >> Hi Qu?n Anh, thanks for the reply, >> >> I think I understand what you mean; Since value objects have no identity, >> changing their fields would essentially mean the object is now entirely >> different. However since that's the case, I'm still a little confused by >> the semantics of what they really are. Specifically, most of their benefits >> are centered around them being nothing more than their fields in memory, >> but at the same time documentation states that they're referred to by >> reference, which I find a little contradictory. If it's the former, they'd >> be no different from primitives, and if the latter, they'd be the exact >> same as identity objects, which has left me puzzled for quite some time. >> >> Sorry for all the trouble, have a great day >> >> best regards, >> Julian >> >> On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai wrote: >> >> >> Hi, >> >> Regarding your concern of mutable value objects, having a mutable >> identity-less object is illogical. Because a value class does not have a >> unique identity, upon modification, the object is changed to become another >> object. A value object is immutable in the same way that an int is >> immutable. You can change a variable int a from containing a value of 3 >> to a value of 4, but you can?t change the number itself, it has been >> mathematically and programmatically defined to be a specific bit sequence. >> Similarly, you can change a variable Point a from enclosing the point (3, >> 4) into the point (2, 5), but you can?t change the coordination of the >> points themselves, they have been (in this case) also mathematically >> defined. Your understanding of how value classes work is also not correct. >> The fact that a value object can be deconstructed to its fields does not >> mean that it will. This is simply an optimisation choice of the compiler. >> >> Regards, >> Quan Anh >> >> On Sun, 13 Mar 2022 at 15:42, Julian Waters >> wrote: >> >> >> Hi all, >> >> I'd like to discuss several topics related to the current draft on value >> classes. >> >> As mentioned in another post to this list at >> https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html >> , >> currently value classes are specified as immutable, with all fields being >> declared as final. If I understand this correctly, value based classes, >> unlike the true primitives which work is currently focused on, can still >> be >> referred to by references; It is only identity that has been given up. In >> that instance, naively speaking, wouldn't it be possible for value objects >> to have mutable fields? In the same way that one can reference the fields, >> one might possibly be able to also change their values through the >> available object reference as well. From what I can tell, value objects >> are >> planned to work internally by decomposing them to nothing more than their >> constituent fields and reconstructing them elsewhere. If that is the case, >> shouldn't modification of their fields be possible? To me it seems the >> modification would simply modify the copied value object *b *while leaving >> original value object *a *unchanged, which sits perfectly with the >> constraint that identity should not be supported. Am I mistaken in my >> assumption? >> >> Additionally, if the above holds true, I also suggest allowing an object >> to >> be declared as value based at the site of their usage, instead of just at >> their definition. Something like >> >> // Item is by default an identity class, but the field "item" here is now >> // a value object due to the declaration of value >> value Item item = new Item(); >> >> would allow typical identity classes to be treated as value objects where >> they're used. This would, to me, present a great deal of flexibility as >> one >> could then choose how to allocate a particular object without >> constraining *every >> *instance of that class to a specific value/identity dichotomy, and also >> avoids the hassle of having to know which classes should be value or >> identity types ahead of time. On a side note, the current proposal also >> includes the ability to mark records as value based, given that records >> are >> meant exclusively as data classes, I suggest we flip that around and >> instead have records as *value based by default, *and instead allow >> marking >> them as identity objects explicitly if required, with the currently used >> ref keyword (Or whatever ref will eventually become), both at definition >> and when an actual instance is constructed, as mentioned above. This could >> save frustration from having to type value over and over whenever writing >> the definition of a new record. >> >> Have a great day, hope I can hear your opinions on this! :) >> >> best regards, >> Julian >> >> >> >> From stigdoessing at gmail.com Thu Mar 17 16:04:25 2022 From: stigdoessing at gmail.com (=?UTF-8?Q?Stig_Rohde_D=C3=B8ssing?=) Date: Thu, 17 Mar 2022 17:04:25 +0100 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> Message-ID: Hi Julian, Sorry if I'm misinterpreting, but I get the impression that what you're asking for isn't really mutable value objects, but a nicer syntax to get a copy of "x" where "a" is set to 3, right? One of the Amber docs describes an idea for "with expressions", which might be relevant here. https://github.com/openjdk/amber-docs/blob/master/eg-drafts/reconstruction-records-and-classes.md#with-expressions-in-java Den tor. 17. mar. 2022 kl. 03.01 skrev Julian Waters < tanksherman27 at gmail.com>: > Alternatively, something like > > X x = new X(1); > x.a = 3; > > could be valid while > > final X x = new X(1); > x.a = 3; > > would not? > > best regards, > Julian > > On Tue, Mar 15, 2022 at 11:12 AM Julian Waters > wrote: > > > So if I understand correctly, value objects are essentially the same as > > JEP-401's primitives but with nullability, and according to JEP-401, > > guarantee of atomic modification? > > > > "you are saying "change the a field of the object referred to by x to > 3."" > > > > Regarding this earlier x.a = 3 example, if X was a good ol' identity > > object, x would then be a reference to the actual instance, and we'd > simply > > follow the reference to where the actual object is stored and set a to 3. > > But if it was a value object, my understanding from your previous post is > > that it would be stored directly on the abstract (Ignoring HotSpot's > actual > > complex implementation) stack to be operated on as a bunch of fields with > > no additional metadata other than the check for null. What's stopping us > > from then changing those fields directly? Like Qu?n Anh mentioned > earlier, > > we would've effectively created a new object if we did do that, since a > > value object has no identity, but wouldn't we have technically changed > the > > value of a after initialization? At the very least, I'd say it would be > > useful syntactic sugar to be able to do x.a on a value object instead of > > having to do new X(3); every time we wanted to change it, unless a is > > explicitly marked as final, without affecting == or related checks in any > > way, since (from what I know) value objects are compared by field with > ==. > > > > Apologies for my lack of knowledge in this area, it still feels like I > > haven't really gotten a correct idea of what value types really are, > > especially compared to the true primitives of 401 > > > > Thanks for the reply and have a great day! > > > > best regards, > > Julian > > > > On Tue, Mar 15, 2022 at 5:59 AM Brian Goetz > > wrote: > > > >> You are (understandably) conflating the properties of identity with the > >> properties of reference-ness. > >> > >> If you say > >> > >> x.a = 3 > >> > >> you are saying "change the a field of the object referred to by x to 3." > >> The key to this sentence is *the object*; in order for assignment to > make > >> sense, you have to know exactly which variable you are talking about. > And > >> if that variable is an instance field, then you have to know exactly > which > >> object it lives in. This is where identity comes in; if x is a > reference > >> to an identity object, we then know how to find it. Which means, you > need > >> an identity in order to be able to talk about mutability in a > well-defined > >> way. > >> > >> So if that's true, what is a *reference* to a value? This is the > >> confusing part. If you think in terms of implementation, you'll > probably > >> think "reference means pointer", which puts you into a C frame of mind, > >> because pointers always point at things. But that's not what reference > >> means in Java; its a more abstract kind of indirection. > >> > >> The distinction between int and Integer may be helpful. At one level, > >> int and Integer may seem like "almost the same sets of values"; the > Integer > >> value set has one more value -- null -- than the int value set, and for > >> each of the other values, there is a bidirectional, 1:1 mapping between > the > >> two value sets. But if we look closer, in fact these value sets are > >> disjoint! An int is not an Integer (even if they describe the same > >> number.) > >> > >> So one big difference between references and values is nullability; null > >> is a special kind of reference, the reference to no object at all. > >> Reference types can be null; primitive types cannot. (There's another, > >> even more subtle distinction, which is tearability, which comes from the > >> guarantees of the Java memory model.) > >> > >> If we have a value class: > >> > >> value class X { } > >> > >> this gives rise to a reference type X, whose values are references to > >> instances of X. But those instances do not have identity, which means > we > >> can freely shred an X into the values of its fields, and later > reconstitute > >> it into a new X, all without anyone noticing. That's what the lack of > >> identity enables. But the flip side of that means that any given X does > >> not "live" anywhere; it is just a loose aggregation field values, which > >> behaves like an object when called upon to do object-y things. > >> > >> > >> > >> > >> > >> On 3/13/2022 5:46 AM, Julian Waters wrote: > >> > >> Hi Qu?n Anh, thanks for the reply, > >> > >> I think I understand what you mean; Since value objects have no > identity, > >> changing their fields would essentially mean the object is now entirely > >> different. However since that's the case, I'm still a little confused by > >> the semantics of what they really are. Specifically, most of their > benefits > >> are centered around them being nothing more than their fields in memory, > >> but at the same time documentation states that they're referred to by > >> reference, which I find a little contradictory. If it's the former, > they'd > >> be no different from primitives, and if the latter, they'd be the exact > >> same as identity objects, which has left me puzzled for quite some time. > >> > >> Sorry for all the trouble, have a great day > >> > >> best regards, > >> Julian > >> > >> On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai < > anhmdq at gmail.com> wrote: > >> > >> > >> Hi, > >> > >> Regarding your concern of mutable value objects, having a mutable > >> identity-less object is illogical. Because a value class does not have a > >> unique identity, upon modification, the object is changed to become > another > >> object. A value object is immutable in the same way that an int is > >> immutable. You can change a variable int a from containing a value of 3 > >> to a value of 4, but you can?t change the number itself, it has been > >> mathematically and programmatically defined to be a specific bit > sequence. > >> Similarly, you can change a variable Point a from enclosing the point > (3, > >> 4) into the point (2, 5), but you can?t change the coordination of the > >> points themselves, they have been (in this case) also mathematically > >> defined. Your understanding of how value classes work is also not > correct. > >> The fact that a value object can be deconstructed to its fields does not > >> mean that it will. This is simply an optimisation choice of the > compiler. > >> > >> Regards, > >> Quan Anh > >> > >> On Sun, 13 Mar 2022 at 15:42, Julian Waters < > tanksherman27 at gmail.com> > >> wrote: > >> > >> > >> Hi all, > >> > >> I'd like to discuss several topics related to the current draft on value > >> classes. > >> > >> As mentioned in another post to this list at > >> > https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html > >> , > >> currently value classes are specified as immutable, with all fields > being > >> declared as final. If I understand this correctly, value based classes, > >> unlike the true primitives which work is currently focused on, can still > >> be > >> referred to by references; It is only identity that has been given up. > In > >> that instance, naively speaking, wouldn't it be possible for value > objects > >> to have mutable fields? In the same way that one can reference the > fields, > >> one might possibly be able to also change their values through the > >> available object reference as well. From what I can tell, value objects > >> are > >> planned to work internally by decomposing them to nothing more than > their > >> constituent fields and reconstructing them elsewhere. If that is the > case, > >> shouldn't modification of their fields be possible? To me it seems the > >> modification would simply modify the copied value object *b *while > leaving > >> original value object *a *unchanged, which sits perfectly with the > >> constraint that identity should not be supported. Am I mistaken in my > >> assumption? > >> > >> Additionally, if the above holds true, I also suggest allowing an object > >> to > >> be declared as value based at the site of their usage, instead of just > at > >> their definition. Something like > >> > >> // Item is by default an identity class, but the field "item" here is > now > >> // a value object due to the declaration of value > >> value Item item = new Item(); > >> > >> would allow typical identity classes to be treated as value objects > where > >> they're used. This would, to me, present a great deal of flexibility as > >> one > >> could then choose how to allocate a particular object without > >> constraining *every > >> *instance of that class to a specific value/identity dichotomy, and also > >> avoids the hassle of having to know which classes should be value or > >> identity types ahead of time. On a side note, the current proposal also > >> includes the ability to mark records as value based, given that records > >> are > >> meant exclusively as data classes, I suggest we flip that around and > >> instead have records as *value based by default, *and instead allow > >> marking > >> them as identity objects explicitly if required, with the currently used > >> ref keyword (Or whatever ref will eventually become), both at definition > >> and when an actual instance is constructed, as mentioned above. This > could > >> save frustration from having to type value over and over whenever > writing > >> the definition of a new record. > >> > >> Have a great day, hope I can hear your opinions on this! :) > >> > >> best regards, > >> Julian > >> > >> > >> > >> > From pedro.lamarao at prodist.com.br Thu Mar 17 18:07:42 2022 From: pedro.lamarao at prodist.com.br (=?UTF-8?Q?Pedro_Lamar=C3=A3o?=) Date: Thu, 17 Mar 2022 15:07:42 -0300 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> Message-ID: My two cents. It may seem at first that doing something like this: X x = new X(1) x.a = 3 is very useful, but, that is an artifact of the implementation. Because creating a new object in the heap has a cost, we would rather set its fields directly to avoid this cost. But if X is a value class, doing the below should have no such cost (in favourable circumstances): X x = new X(1) x = new X(3) Atte. Pedro. Em qua., 16 de mar. de 2022 ?s 23:05, Julian Waters escreveu: > Alternatively, something like > > X x = new X(1); > x.a = 3; > > could be valid while > > final X x = new X(1); > x.a = 3; > > would not? > > best regards, > Julian > > On Tue, Mar 15, 2022 at 11:12 AM Julian Waters > wrote: > > > So if I understand correctly, value objects are essentially the same as > > JEP-401's primitives but with nullability, and according to JEP-401, > > guarantee of atomic modification? > > > > "you are saying "change the a field of the object referred to by x to > 3."" > > > > Regarding this earlier x.a = 3 example, if X was a good ol' identity > > object, x would then be a reference to the actual instance, and we'd > simply > > follow the reference to where the actual object is stored and set a to 3. > > But if it was a value object, my understanding from your previous post is > > that it would be stored directly on the abstract (Ignoring HotSpot's > actual > > complex implementation) stack to be operated on as a bunch of fields with > > no additional metadata other than the check for null. What's stopping us > > from then changing those fields directly? Like Qu?n Anh mentioned > earlier, > > we would've effectively created a new object if we did do that, since a > > value object has no identity, but wouldn't we have technically changed > the > > value of a after initialization? At the very least, I'd say it would be > > useful syntactic sugar to be able to do x.a on a value object instead of > > having to do new X(3); every time we wanted to change it, unless a is > > explicitly marked as final, without affecting == or related checks in any > > way, since (from what I know) value objects are compared by field with > ==. > > > > Apologies for my lack of knowledge in this area, it still feels like I > > haven't really gotten a correct idea of what value types really are, > > especially compared to the true primitives of 401 > > > > Thanks for the reply and have a great day! > > > > best regards, > > Julian > > > > On Tue, Mar 15, 2022 at 5:59 AM Brian Goetz > > wrote: > > > >> You are (understandably) conflating the properties of identity with the > >> properties of reference-ness. > >> > >> If you say > >> > >> x.a = 3 > >> > >> you are saying "change the a field of the object referred to by x to 3." > >> The key to this sentence is *the object*; in order for assignment to > make > >> sense, you have to know exactly which variable you are talking about. > And > >> if that variable is an instance field, then you have to know exactly > which > >> object it lives in. This is where identity comes in; if x is a > reference > >> to an identity object, we then know how to find it. Which means, you > need > >> an identity in order to be able to talk about mutability in a > well-defined > >> way. > >> > >> So if that's true, what is a *reference* to a value? This is the > >> confusing part. If you think in terms of implementation, you'll > probably > >> think "reference means pointer", which puts you into a C frame of mind, > >> because pointers always point at things. But that's not what reference > >> means in Java; its a more abstract kind of indirection. > >> > >> The distinction between int and Integer may be helpful. At one level, > >> int and Integer may seem like "almost the same sets of values"; the > Integer > >> value set has one more value -- null -- than the int value set, and for > >> each of the other values, there is a bidirectional, 1:1 mapping between > the > >> two value sets. But if we look closer, in fact these value sets are > >> disjoint! An int is not an Integer (even if they describe the same > >> number.) > >> > >> So one big difference between references and values is nullability; null > >> is a special kind of reference, the reference to no object at all. > >> Reference types can be null; primitive types cannot. (There's another, > >> even more subtle distinction, which is tearability, which comes from the > >> guarantees of the Java memory model.) > >> > >> If we have a value class: > >> > >> value class X { } > >> > >> this gives rise to a reference type X, whose values are references to > >> instances of X. But those instances do not have identity, which means > we > >> can freely shred an X into the values of its fields, and later > reconstitute > >> it into a new X, all without anyone noticing. That's what the lack of > >> identity enables. But the flip side of that means that any given X does > >> not "live" anywhere; it is just a loose aggregation field values, which > >> behaves like an object when called upon to do object-y things. > >> > >> > >> > >> > >> > >> On 3/13/2022 5:46 AM, Julian Waters wrote: > >> > >> Hi Qu?n Anh, thanks for the reply, > >> > >> I think I understand what you mean; Since value objects have no > identity, > >> changing their fields would essentially mean the object is now entirely > >> different. However since that's the case, I'm still a little confused by > >> the semantics of what they really are. Specifically, most of their > benefits > >> are centered around them being nothing more than their fields in memory, > >> but at the same time documentation states that they're referred to by > >> reference, which I find a little contradictory. If it's the former, > they'd > >> be no different from primitives, and if the latter, they'd be the exact > >> same as identity objects, which has left me puzzled for quite some time. > >> > >> Sorry for all the trouble, have a great day > >> > >> best regards, > >> Julian > >> > >> On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai < > anhmdq at gmail.com> wrote: > >> > >> > >> Hi, > >> > >> Regarding your concern of mutable value objects, having a mutable > >> identity-less object is illogical. Because a value class does not have a > >> unique identity, upon modification, the object is changed to become > another > >> object. A value object is immutable in the same way that an int is > >> immutable. You can change a variable int a from containing a value of 3 > >> to a value of 4, but you can?t change the number itself, it has been > >> mathematically and programmatically defined to be a specific bit > sequence. > >> Similarly, you can change a variable Point a from enclosing the point > (3, > >> 4) into the point (2, 5), but you can?t change the coordination of the > >> points themselves, they have been (in this case) also mathematically > >> defined. Your understanding of how value classes work is also not > correct. > >> The fact that a value object can be deconstructed to its fields does not > >> mean that it will. This is simply an optimisation choice of the > compiler. > >> > >> Regards, > >> Quan Anh > >> > >> On Sun, 13 Mar 2022 at 15:42, Julian Waters < > tanksherman27 at gmail.com> > >> wrote: > >> > >> > >> Hi all, > >> > >> I'd like to discuss several topics related to the current draft on value > >> classes. > >> > >> As mentioned in another post to this list at > >> > https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html > >> , > >> currently value classes are specified as immutable, with all fields > being > >> declared as final. If I understand this correctly, value based classes, > >> unlike the true primitives which work is currently focused on, can still > >> be > >> referred to by references; It is only identity that has been given up. > In > >> that instance, naively speaking, wouldn't it be possible for value > objects > >> to have mutable fields? In the same way that one can reference the > fields, > >> one might possibly be able to also change their values through the > >> available object reference as well. From what I can tell, value objects > >> are > >> planned to work internally by decomposing them to nothing more than > their > >> constituent fields and reconstructing them elsewhere. If that is the > case, > >> shouldn't modification of their fields be possible? To me it seems the > >> modification would simply modify the copied value object *b *while > leaving > >> original value object *a *unchanged, which sits perfectly with the > >> constraint that identity should not be supported. Am I mistaken in my > >> assumption? > >> > >> Additionally, if the above holds true, I also suggest allowing an object > >> to > >> be declared as value based at the site of their usage, instead of just > at > >> their definition. Something like > >> > >> // Item is by default an identity class, but the field "item" here is > now > >> // a value object due to the declaration of value > >> value Item item = new Item(); > >> > >> would allow typical identity classes to be treated as value objects > where > >> they're used. This would, to me, present a great deal of flexibility as > >> one > >> could then choose how to allocate a particular object without > >> constraining *every > >> *instance of that class to a specific value/identity dichotomy, and also > >> avoids the hassle of having to know which classes should be value or > >> identity types ahead of time. On a side note, the current proposal also > >> includes the ability to mark records as value based, given that records > >> are > >> meant exclusively as data classes, I suggest we flip that around and > >> instead have records as *value based by default, *and instead allow > >> marking > >> them as identity objects explicitly if required, with the currently used > >> ref keyword (Or whatever ref will eventually become), both at definition > >> and when an actual instance is constructed, as mentioned above. This > could > >> save frustration from having to type value over and over whenever > writing > >> the definition of a new record. > >> > >> Have a great day, hope I can hear your opinions on this! :) > >> > >> best regards, > >> Julian > >> > >> > >> > >> > -- Pedro Lamar?o https://www.prodist.com.br Securing Critical Systems Tel: +55 11 4380-6585 Antes de imprimir esta mensagem e seus anexos, certifique-se que seja realmente necess?rio. Proteger o meio ambiente ? nosso dever. Before printing this e-mail or attachments, be sure it is necessary. It is in our hands to protect the environment. From tanksherman27 at gmail.com Fri Mar 18 01:31:06 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Fri, 18 Mar 2022 09:31:06 +0800 Subject: Queries regarding value classes Message-ID: Hi Stig, Yes, that's what I'm querying about. I initially thought value objects were mutable in some form since they were described as reference types, but it appears that assumption was mistaken. Thanks for the link, I'll take a look at it. Besides that I was also discussing the possibility of making records value objects by default and the (potentially not possible) ability to mark an otherwise typical identity object as a value object when it's being used (Eg value X x = new X(); where X's class definition is actually that of a normal object), so one would have better ad-hoc control of object allocation at the site of their usages, but that's slightly less important for now. You're also right, it does look like Amber is a better place for this discussion, thanks for the tip best regards, Julian From tanksherman27 at gmail.com Fri Mar 18 02:11:59 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Fri, 18 Mar 2022 10:11:59 +0800 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> Message-ID: Hi Pedro, I think you misunderstood me, what I was proposing was for value class X, x.a = 3; would be equivalent to new X(3); internally (*A la* syntactic sugar that could be disabled by being marked final), but it seems Amber already has something related to this, so I'll move the discussion there (Keeping the value by default records and the mark values at site of usage here though) best regards, Julian On Fri, Mar 18, 2022 at 2:07 AM Pedro Lamar?o wrote: > My two cents. > It may seem at first that doing something like this: > > X x = new X(1) > x.a = 3 > > is very useful, but, that is an artifact of the implementation. > Because creating a new object in the heap has a cost, we would rather set > its fields directly to avoid this cost. > But if X is a value class, doing the below should have no such cost (in > favourable circumstances): > > X x = new X(1) > x = new X(3) > > Atte. > Pedro. > > Em qua., 16 de mar. de 2022 ?s 23:05, Julian Waters < > tanksherman27 at gmail.com> escreveu: > >> Alternatively, something like >> >> X x = new X(1); >> x.a = 3; >> >> could be valid while >> >> final X x = new X(1); >> x.a = 3; >> >> would not? >> >> best regards, >> Julian >> >> On Tue, Mar 15, 2022 at 11:12 AM Julian Waters >> wrote: >> >> > So if I understand correctly, value objects are essentially the same as >> > JEP-401's primitives but with nullability, and according to JEP-401, >> > guarantee of atomic modification? >> > >> > "you are saying "change the a field of the object referred to by x to >> 3."" >> > >> > Regarding this earlier x.a = 3 example, if X was a good ol' identity >> > object, x would then be a reference to the actual instance, and we'd >> simply >> > follow the reference to where the actual object is stored and set a to >> 3. >> > But if it was a value object, my understanding from your previous post >> is >> > that it would be stored directly on the abstract (Ignoring HotSpot's >> actual >> > complex implementation) stack to be operated on as a bunch of fields >> with >> > no additional metadata other than the check for null. What's stopping us >> > from then changing those fields directly? Like Qu?n Anh mentioned >> earlier, >> > we would've effectively created a new object if we did do that, since a >> > value object has no identity, but wouldn't we have technically changed >> the >> > value of a after initialization? At the very least, I'd say it would be >> > useful syntactic sugar to be able to do x.a on a value object instead of >> > having to do new X(3); every time we wanted to change it, unless a is >> > explicitly marked as final, without affecting == or related checks in >> any >> > way, since (from what I know) value objects are compared by field with >> ==. >> > >> > Apologies for my lack of knowledge in this area, it still feels like I >> > haven't really gotten a correct idea of what value types really are, >> > especially compared to the true primitives of 401 >> > >> > Thanks for the reply and have a great day! >> > >> > best regards, >> > Julian >> > >> > On Tue, Mar 15, 2022 at 5:59 AM Brian Goetz >> > wrote: >> > >> >> You are (understandably) conflating the properties of identity with the >> >> properties of reference-ness. >> >> >> >> If you say >> >> >> >> x.a = 3 >> >> >> >> you are saying "change the a field of the object referred to by x to >> 3." >> >> The key to this sentence is *the object*; in order for assignment to >> make >> >> sense, you have to know exactly which variable you are talking about. >> And >> >> if that variable is an instance field, then you have to know exactly >> which >> >> object it lives in. This is where identity comes in; if x is a >> reference >> >> to an identity object, we then know how to find it. Which means, you >> need >> >> an identity in order to be able to talk about mutability in a >> well-defined >> >> way. >> >> >> >> So if that's true, what is a *reference* to a value? This is the >> >> confusing part. If you think in terms of implementation, you'll >> probably >> >> think "reference means pointer", which puts you into a C frame of mind, >> >> because pointers always point at things. But that's not what reference >> >> means in Java; its a more abstract kind of indirection. >> >> >> >> The distinction between int and Integer may be helpful. At one level, >> >> int and Integer may seem like "almost the same sets of values"; the >> Integer >> >> value set has one more value -- null -- than the int value set, and for >> >> each of the other values, there is a bidirectional, 1:1 mapping >> between the >> >> two value sets. But if we look closer, in fact these value sets are >> >> disjoint! An int is not an Integer (even if they describe the same >> >> number.) >> >> >> >> So one big difference between references and values is nullability; >> null >> >> is a special kind of reference, the reference to no object at all. >> >> Reference types can be null; primitive types cannot. (There's another, >> >> even more subtle distinction, which is tearability, which comes from >> the >> >> guarantees of the Java memory model.) >> >> >> >> If we have a value class: >> >> >> >> value class X { } >> >> >> >> this gives rise to a reference type X, whose values are references to >> >> instances of X. But those instances do not have identity, which means >> we >> >> can freely shred an X into the values of its fields, and later >> reconstitute >> >> it into a new X, all without anyone noticing. That's what the lack of >> >> identity enables. But the flip side of that means that any given X >> does >> >> not "live" anywhere; it is just a loose aggregation field values, which >> >> behaves like an object when called upon to do object-y things. >> >> >> >> >> >> >> >> >> >> >> >> On 3/13/2022 5:46 AM, Julian Waters wrote: >> >> >> >> Hi Qu?n Anh, thanks for the reply, >> >> >> >> I think I understand what you mean; Since value objects have no >> identity, >> >> changing their fields would essentially mean the object is now entirely >> >> different. However since that's the case, I'm still a little confused >> by >> >> the semantics of what they really are. Specifically, most of their >> benefits >> >> are centered around them being nothing more than their fields in >> memory, >> >> but at the same time documentation states that they're referred to by >> >> reference, which I find a little contradictory. If it's the former, >> they'd >> >> be no different from primitives, and if the latter, they'd be the exact >> >> same as identity objects, which has left me puzzled for quite some >> time. >> >> >> >> Sorry for all the trouble, have a great day >> >> >> >> best regards, >> >> Julian >> >> >> >> On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai < >> anhmdq at gmail.com> wrote: >> >> >> >> >> >> Hi, >> >> >> >> Regarding your concern of mutable value objects, having a mutable >> >> identity-less object is illogical. Because a value class does not have >> a >> >> unique identity, upon modification, the object is changed to become >> another >> >> object. A value object is immutable in the same way that an int is >> >> immutable. You can change a variable int a from containing a value of 3 >> >> to a value of 4, but you can?t change the number itself, it has been >> >> mathematically and programmatically defined to be a specific bit >> sequence. >> >> Similarly, you can change a variable Point a from enclosing the point >> (3, >> >> 4) into the point (2, 5), but you can?t change the coordination of the >> >> points themselves, they have been (in this case) also mathematically >> >> defined. Your understanding of how value classes work is also not >> correct. >> >> The fact that a value object can be deconstructed to its fields does >> not >> >> mean that it will. This is simply an optimisation choice of the >> compiler. >> >> >> >> Regards, >> >> Quan Anh >> >> >> >> On Sun, 13 Mar 2022 at 15:42, Julian Waters >> >> >> wrote: >> >> >> >> >> >> Hi all, >> >> >> >> I'd like to discuss several topics related to the current draft on >> value >> >> classes. >> >> >> >> As mentioned in another post to this list at >> >> >> https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html >> >> , >> >> currently value classes are specified as immutable, with all fields >> being >> >> declared as final. If I understand this correctly, value based classes, >> >> unlike the true primitives which work is currently focused on, can >> still >> >> be >> >> referred to by references; It is only identity that has been given up. >> In >> >> that instance, naively speaking, wouldn't it be possible for value >> objects >> >> to have mutable fields? In the same way that one can reference the >> fields, >> >> one might possibly be able to also change their values through the >> >> available object reference as well. From what I can tell, value objects >> >> are >> >> planned to work internally by decomposing them to nothing more than >> their >> >> constituent fields and reconstructing them elsewhere. If that is the >> case, >> >> shouldn't modification of their fields be possible? To me it seems the >> >> modification would simply modify the copied value object *b *while >> leaving >> >> original value object *a *unchanged, which sits perfectly with the >> >> constraint that identity should not be supported. Am I mistaken in my >> >> assumption? >> >> >> >> Additionally, if the above holds true, I also suggest allowing an >> object >> >> to >> >> be declared as value based at the site of their usage, instead of just >> at >> >> their definition. Something like >> >> >> >> // Item is by default an identity class, but the field "item" here is >> now >> >> // a value object due to the declaration of value >> >> value Item item = new Item(); >> >> >> >> would allow typical identity classes to be treated as value objects >> where >> >> they're used. This would, to me, present a great deal of flexibility as >> >> one >> >> could then choose how to allocate a particular object without >> >> constraining *every >> >> *instance of that class to a specific value/identity dichotomy, and >> also >> >> avoids the hassle of having to know which classes should be value or >> >> identity types ahead of time. On a side note, the current proposal also >> >> includes the ability to mark records as value based, given that records >> >> are >> >> meant exclusively as data classes, I suggest we flip that around and >> >> instead have records as *value based by default, *and instead allow >> >> marking >> >> them as identity objects explicitly if required, with the currently >> used >> >> ref keyword (Or whatever ref will eventually become), both at >> definition >> >> and when an actual instance is constructed, as mentioned above. This >> could >> >> save frustration from having to type value over and over whenever >> writing >> >> the definition of a new record. >> >> >> >> Have a great day, hope I can hear your opinions on this! :) >> >> >> >> best regards, >> >> Julian >> >> >> >> >> >> >> >> >> > > > -- > Pedro Lamar?o > https://www.prodist.com.br > Securing Critical Systems > Tel: +55 11 4380-6585 > > Antes de imprimir esta mensagem e seus anexos, certifique-se que seja > realmente necess?rio. > Proteger o meio ambiente ? nosso dever. > Before printing this e-mail or attachments, be sure it is necessary. > It is in our hands to protect the environment. > From forax at univ-mlv.fr Fri Mar 18 09:10:21 2022 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 18 Mar 2022 10:10:21 +0100 (CET) Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> Message-ID: <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> ----- Original Message ----- > From: "Julian Waters" > To: "Pedro Lamar?o" > Cc: "valhalla-dev" > Sent: Friday, March 18, 2022 3:11:59 AM > Subject: Re: Queries regarding value classes > Hi Pedro, > > I think you misunderstood me, what I was proposing was for value class X, > x.a = 3; would be equivalent to new X(3); internally (*A la* syntactic > sugar that could be disabled by being marked final), but it seems Amber > already has something related to this, so I'll move the discussion there > (Keeping the value by default records and the mark values at site of usage > here though) That's interesting ! Let's use "const" instead of "final", because "final" has another meaning. You are proposing that if a local variable is tagged with const, then the compiler will rewrite const Point point = new Point(); point.x = 3; to Point point = new Point(); point = new Point(3, point.y); This is a transformation is similar to the one done by the compiler inside a constructor of a value class class Point { Point(int x, int y) { this.x = x; this.y = y; } } is rewritten to class Point { static Point (int x, int y) { Point point = Point.default; point = _with_field_x(point, x); point = _with_field_y(point, y); return point; } } As you can see, the transformation not only rewrite the field assignments to use with_field but it also changes the signature of the containing method, a constructor returns void while a factory method returns the type of the object. So either your proposal is only about the content of a method, but in my opinion it's like adding syntactic sugar for the sake of adding syntactic sugar or you also want to do cross method rewriting but it means introducing a new kind of methods which lead us right into the colored function problem [1] (and the magic will also break when using reflection). When we have introduced records, we have debated on the different ways to introduce a "with" operator, something like point = Point.__with__ { x = 3; } // this is more or less the C# syntax, not a syntax proposal! Sooner this month i've done a presentation of Loom and at the end two different persons ask me about either having a with syntax for records or having withers (setter that create a new object) added to the record class). Julian, correct me if i'm wrong but is it not what you want ? a "with" syntax (whatever it's form) on a record (and value record) ? > > best regards, > Julian regards, R?mi [1] https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/ > > On Fri, Mar 18, 2022 at 2:07 AM Pedro Lamar?o > wrote: > >> My two cents. >> It may seem at first that doing something like this: >> >> X x = new X(1) >> x.a = 3 >> >> is very useful, but, that is an artifact of the implementation. >> Because creating a new object in the heap has a cost, we would rather set >> its fields directly to avoid this cost. >> But if X is a value class, doing the below should have no such cost (in >> favourable circumstances): >> >> X x = new X(1) >> x = new X(3) >> >> Atte. >> Pedro. >> >> Em qua., 16 de mar. de 2022 ?s 23:05, Julian Waters < >> tanksherman27 at gmail.com> escreveu: >> >>> Alternatively, something like >>> >>> X x = new X(1); >>> x.a = 3; >>> >>> could be valid while >>> >>> final X x = new X(1); >>> x.a = 3; >>> >>> would not? >>> >>> best regards, >>> Julian >>> >>> On Tue, Mar 15, 2022 at 11:12 AM Julian Waters >>> wrote: >>> >>> > So if I understand correctly, value objects are essentially the same as >>> > JEP-401's primitives but with nullability, and according to JEP-401, >>> > guarantee of atomic modification? >>> > >>> > "you are saying "change the a field of the object referred to by x to >>> 3."" >>> > >>> > Regarding this earlier x.a = 3 example, if X was a good ol' identity >>> > object, x would then be a reference to the actual instance, and we'd >>> simply >>> > follow the reference to where the actual object is stored and set a to >>> 3. >>> > But if it was a value object, my understanding from your previous post >>> is >>> > that it would be stored directly on the abstract (Ignoring HotSpot's >>> actual >>> > complex implementation) stack to be operated on as a bunch of fields >>> with >>> > no additional metadata other than the check for null. What's stopping us >>> > from then changing those fields directly? Like Qu?n Anh mentioned >>> earlier, >>> > we would've effectively created a new object if we did do that, since a >>> > value object has no identity, but wouldn't we have technically changed >>> the >>> > value of a after initialization? At the very least, I'd say it would be >>> > useful syntactic sugar to be able to do x.a on a value object instead of >>> > having to do new X(3); every time we wanted to change it, unless a is >>> > explicitly marked as final, without affecting == or related checks in >>> any >>> > way, since (from what I know) value objects are compared by field with >>> ==. >>> > >>> > Apologies for my lack of knowledge in this area, it still feels like I >>> > haven't really gotten a correct idea of what value types really are, >>> > especially compared to the true primitives of 401 >>> > >>> > Thanks for the reply and have a great day! >>> > >>> > best regards, >>> > Julian >>> > >>> > On Tue, Mar 15, 2022 at 5:59 AM Brian Goetz >>> > wrote: >>> > >>> >> You are (understandably) conflating the properties of identity with the >>> >> properties of reference-ness. >>> >> >>> >> If you say >>> >> >>> >> x.a = 3 >>> >> >>> >> you are saying "change the a field of the object referred to by x to >>> 3." >>> >> The key to this sentence is *the object*; in order for assignment to >>> make >>> >> sense, you have to know exactly which variable you are talking about. >>> And >>> >> if that variable is an instance field, then you have to know exactly >>> which >>> >> object it lives in. This is where identity comes in; if x is a >>> reference >>> >> to an identity object, we then know how to find it. Which means, you >>> need >>> >> an identity in order to be able to talk about mutability in a >>> well-defined >>> >> way. >>> >> >>> >> So if that's true, what is a *reference* to a value? This is the >>> >> confusing part. If you think in terms of implementation, you'll >>> probably >>> >> think "reference means pointer", which puts you into a C frame of mind, >>> >> because pointers always point at things. But that's not what reference >>> >> means in Java; its a more abstract kind of indirection. >>> >> >>> >> The distinction between int and Integer may be helpful. At one level, >>> >> int and Integer may seem like "almost the same sets of values"; the >>> Integer >>> >> value set has one more value -- null -- than the int value set, and for >>> >> each of the other values, there is a bidirectional, 1:1 mapping >>> between the >>> >> two value sets. But if we look closer, in fact these value sets are >>> >> disjoint! An int is not an Integer (even if they describe the same >>> >> number.) >>> >> >>> >> So one big difference between references and values is nullability; >>> null >>> >> is a special kind of reference, the reference to no object at all. >>> >> Reference types can be null; primitive types cannot. (There's another, >>> >> even more subtle distinction, which is tearability, which comes from >>> the >>> >> guarantees of the Java memory model.) >>> >> >>> >> If we have a value class: >>> >> >>> >> value class X { } >>> >> >>> >> this gives rise to a reference type X, whose values are references to >>> >> instances of X. But those instances do not have identity, which means >>> we >>> >> can freely shred an X into the values of its fields, and later >>> reconstitute >>> >> it into a new X, all without anyone noticing. That's what the lack of >>> >> identity enables. But the flip side of that means that any given X >>> does >>> >> not "live" anywhere; it is just a loose aggregation field values, which >>> >> behaves like an object when called upon to do object-y things. >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> On 3/13/2022 5:46 AM, Julian Waters wrote: >>> >> >>> >> Hi Qu?n Anh, thanks for the reply, >>> >> >>> >> I think I understand what you mean; Since value objects have no >>> identity, >>> >> changing their fields would essentially mean the object is now entirely >>> >> different. However since that's the case, I'm still a little confused >>> by >>> >> the semantics of what they really are. Specifically, most of their >>> benefits >>> >> are centered around them being nothing more than their fields in >>> memory, >>> >> but at the same time documentation states that they're referred to by >>> >> reference, which I find a little contradictory. If it's the former, >>> they'd >>> >> be no different from primitives, and if the latter, they'd be the exact >>> >> same as identity objects, which has left me puzzled for quite some >>> time. >>> >> >>> >> Sorry for all the trouble, have a great day >>> >> >>> >> best regards, >>> >> Julian >>> >> >>> >> On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai < >>> anhmdq at gmail.com> wrote: >>> >> >>> >> >>> >> Hi, >>> >> >>> >> Regarding your concern of mutable value objects, having a mutable >>> >> identity-less object is illogical. Because a value class does not have >>> a >>> >> unique identity, upon modification, the object is changed to become >>> another >>> >> object. A value object is immutable in the same way that an int is >>> >> immutable. You can change a variable int a from containing a value of 3 >>> >> to a value of 4, but you can?t change the number itself, it has been >>> >> mathematically and programmatically defined to be a specific bit >>> sequence. >>> >> Similarly, you can change a variable Point a from enclosing the point >>> (3, >>> >> 4) into the point (2, 5), but you can?t change the coordination of the >>> >> points themselves, they have been (in this case) also mathematically >>> >> defined. Your understanding of how value classes work is also not >>> correct. >>> >> The fact that a value object can be deconstructed to its fields does >>> not >>> >> mean that it will. This is simply an optimisation choice of the >>> compiler. >>> >> >>> >> Regards, >>> >> Quan Anh >>> >> >>> >> On Sun, 13 Mar 2022 at 15:42, Julian Waters >>> >>> >> wrote: >>> >> >>> >> >>> >> Hi all, >>> >> >>> >> I'd like to discuss several topics related to the current draft on >>> value >>> >> classes. >>> >> >>> >> As mentioned in another post to this list at >>> >> >>> https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html >>> >> , >>> >> currently value classes are specified as immutable, with all fields >>> being >>> >> declared as final. If I understand this correctly, value based classes, >>> >> unlike the true primitives which work is currently focused on, can >>> still >>> >> be >>> >> referred to by references; It is only identity that has been given up. >>> In >>> >> that instance, naively speaking, wouldn't it be possible for value >>> objects >>> >> to have mutable fields? In the same way that one can reference the >>> fields, >>> >> one might possibly be able to also change their values through the >>> >> available object reference as well. From what I can tell, value objects >>> >> are >>> >> planned to work internally by decomposing them to nothing more than >>> their >>> >> constituent fields and reconstructing them elsewhere. If that is the >>> case, >>> >> shouldn't modification of their fields be possible? To me it seems the >>> >> modification would simply modify the copied value object *b *while >>> leaving >>> >> original value object *a *unchanged, which sits perfectly with the >>> >> constraint that identity should not be supported. Am I mistaken in my >>> >> assumption? >>> >> >>> >> Additionally, if the above holds true, I also suggest allowing an >>> object >>> >> to >>> >> be declared as value based at the site of their usage, instead of just >>> at >>> >> their definition. Something like >>> >> >>> >> // Item is by default an identity class, but the field "item" here is >>> now >>> >> // a value object due to the declaration of value >>> >> value Item item = new Item(); >>> >> >>> >> would allow typical identity classes to be treated as value objects >>> where >>> >> they're used. This would, to me, present a great deal of flexibility as >>> >> one >>> >> could then choose how to allocate a particular object without >>> >> constraining *every >>> >> *instance of that class to a specific value/identity dichotomy, and >>> also >>> >> avoids the hassle of having to know which classes should be value or >>> >> identity types ahead of time. On a side note, the current proposal also >>> >> includes the ability to mark records as value based, given that records >>> >> are >>> >> meant exclusively as data classes, I suggest we flip that around and >>> >> instead have records as *value based by default, *and instead allow >>> >> marking >>> >> them as identity objects explicitly if required, with the currently >>> used >>> >> ref keyword (Or whatever ref will eventually become), both at >>> definition >>> >> and when an actual instance is constructed, as mentioned above. This >>> could >>> >> save frustration from having to type value over and over whenever >>> writing >>> >> the definition of a new record. >>> >> >>> >> Have a great day, hope I can hear your opinions on this! :) >>> >> >>> >> best regards, >>> >> Julian >>> >> >>> >> >>> >> >>> >> >>> >> >> >> -- >> Pedro Lamar?o >> https://www.prodist.com.br >> Securing Critical Systems >> Tel: +55 11 4380-6585 >> >> Antes de imprimir esta mensagem e seus anexos, certifique-se que seja >> realmente necess?rio. >> Proteger o meio ambiente ? nosso dever. >> Before printing this e-mail or attachments, be sure it is necessary. >> It is in our hands to protect the environment. From tanksherman27 at gmail.com Fri Mar 18 12:01:35 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Fri, 18 Mar 2022 20:01:35 +0800 Subject: Queries regarding value classes In-Reply-To: <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> Message-ID: Hi Remi, I'm not sure I follow what you're trying to say, my suggestion for records was to make them value based by default, and ref modifier can then be used when one wants them to be identity based (While the exact opposite is true for regular classes, which are always identity by default). Regarding the change for value classes, my current query is whether X x = new X(1); x = new X(3); can be replaced with X x = new X(1); x.a = 3; when x is not* marked* as final (or const). I do feel that it would be much less tedious than calling new X() all the time, but this was before I was aware of Amber's draft for with expressions until someone pointed it out earlier. I suspect the misunderstanding in the thread is caused by my confusion of what value classes actually *are*, I'm still having a hard time figuring out how a reference object cannot be mutated, since to me it does appear that you can modify the local copy you have, the change just won't be reflected across other areas with another reference to the object (Unlike identity objects). Maybe I'm thinking a little too much in the C++ model of classes? Sorry if this is causing anyone any trouble :( best regards, Julian On Fri, Mar 18, 2022 at 5:11 PM Remi Forax wrote: > ----- Original Message ----- > > From: "Julian Waters" > > To: "Pedro Lamar?o" > > Cc: "valhalla-dev" > > Sent: Friday, March 18, 2022 3:11:59 AM > > Subject: Re: Queries regarding value classes > > > Hi Pedro, > > > > I think you misunderstood me, what I was proposing was for value class X, > > x.a = 3; would be equivalent to new X(3); internally (*A la* syntactic > > sugar that could be disabled by being marked final), but it seems Amber > > already has something related to this, so I'll move the discussion there > > (Keeping the value by default records and the mark values at site of > usage > > here though) > > That's interesting ! > > Let's use "const" instead of "final", because "final" has another meaning. > > You are proposing that if a local variable is tagged with const, then the > compiler will rewrite > const Point point = new Point(); > point.x = 3; > > to > Point point = new Point(); > point = new Point(3, point.y); > > This is a transformation is similar to the one done by the compiler inside > a constructor of a value class > class Point { > Point(int x, int y) { > this.x = x; > this.y = y; > } > } > > is rewritten to > class Point { > static Point (int x, int y) { > Point point = Point.default; > point = _with_field_x(point, x); > point = _with_field_y(point, y); > return point; > } > } > > As you can see, the transformation not only rewrite the field assignments > to use with_field but it also changes the signature of the containing > method, > a constructor returns void while a factory method returns the type > of the object. > > So either your proposal is only about the content of a method, but in my > opinion it's like adding syntactic sugar for the sake of adding syntactic > sugar or you also want to do cross method rewriting but it means > introducing a new kind of methods which lead us right into the colored > function problem [1] (and the magic will also break when using reflection). > > When we have introduced records, we have debated on the different ways to > introduce a "with" operator, something like > point = Point.__with__ { x = 3; } // this is more or less the C# > syntax, not a syntax proposal! > > Sooner this month i've done a presentation of Loom and at the end two > different persons ask me about either having a with syntax for records or > having withers (setter that create a new object) added to the record class). > > Julian, correct me if i'm wrong but is it not what you want ? a "with" > syntax (whatever it's form) on a record (and value record) ? > > > > > best regards, > > Julian > > regards, > R?mi > > [1] > https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/ > > > > > On Fri, Mar 18, 2022 at 2:07 AM Pedro Lamar?o < > pedro.lamarao at prodist.com.br> > > wrote: > > > >> My two cents. > >> It may seem at first that doing something like this: > >> > >> X x = new X(1) > >> x.a = 3 > >> > >> is very useful, but, that is an artifact of the implementation. > >> Because creating a new object in the heap has a cost, we would rather > set > >> its fields directly to avoid this cost. > >> But if X is a value class, doing the below should have no such cost (in > >> favourable circumstances): > >> > >> X x = new X(1) > >> x = new X(3) > >> > >> Atte. > >> Pedro. > >> > >> Em qua., 16 de mar. de 2022 ?s 23:05, Julian Waters < > >> tanksherman27 at gmail.com> escreveu: > >> > >>> Alternatively, something like > >>> > >>> X x = new X(1); > >>> x.a = 3; > >>> > >>> could be valid while > >>> > >>> final X x = new X(1); > >>> x.a = 3; > >>> > >>> would not? > >>> > >>> best regards, > >>> Julian > >>> > >>> On Tue, Mar 15, 2022 at 11:12 AM Julian Waters < > tanksherman27 at gmail.com> > >>> wrote: > >>> > >>> > So if I understand correctly, value objects are essentially the same > as > >>> > JEP-401's primitives but with nullability, and according to JEP-401, > >>> > guarantee of atomic modification? > >>> > > >>> > "you are saying "change the a field of the object referred to by x to > >>> 3."" > >>> > > >>> > Regarding this earlier x.a = 3 example, if X was a good ol' identity > >>> > object, x would then be a reference to the actual instance, and we'd > >>> simply > >>> > follow the reference to where the actual object is stored and set a > to > >>> 3. > >>> > But if it was a value object, my understanding from your previous > post > >>> is > >>> > that it would be stored directly on the abstract (Ignoring HotSpot's > >>> actual > >>> > complex implementation) stack to be operated on as a bunch of fields > >>> with > >>> > no additional metadata other than the check for null. What's > stopping us > >>> > from then changing those fields directly? Like Qu?n Anh mentioned > >>> earlier, > >>> > we would've effectively created a new object if we did do that, > since a > >>> > value object has no identity, but wouldn't we have technically > changed > >>> the > >>> > value of a after initialization? At the very least, I'd say it would > be > >>> > useful syntactic sugar to be able to do x.a on a value object > instead of > >>> > having to do new X(3); every time we wanted to change it, unless a is > >>> > explicitly marked as final, without affecting == or related checks in > >>> any > >>> > way, since (from what I know) value objects are compared by field > with > >>> ==. > >>> > > >>> > Apologies for my lack of knowledge in this area, it still feels like > I > >>> > haven't really gotten a correct idea of what value types really are, > >>> > especially compared to the true primitives of 401 > >>> > > >>> > Thanks for the reply and have a great day! > >>> > > >>> > best regards, > >>> > Julian > >>> > > >>> > On Tue, Mar 15, 2022 at 5:59 AM Brian Goetz > >>> > wrote: > >>> > > >>> >> You are (understandably) conflating the properties of identity with > the > >>> >> properties of reference-ness. > >>> >> > >>> >> If you say > >>> >> > >>> >> x.a = 3 > >>> >> > >>> >> you are saying "change the a field of the object referred to by x to > >>> 3." > >>> >> The key to this sentence is *the object*; in order for assignment to > >>> make > >>> >> sense, you have to know exactly which variable you are talking > about. > >>> And > >>> >> if that variable is an instance field, then you have to know exactly > >>> which > >>> >> object it lives in. This is where identity comes in; if x is a > >>> reference > >>> >> to an identity object, we then know how to find it. Which means, > you > >>> need > >>> >> an identity in order to be able to talk about mutability in a > >>> well-defined > >>> >> way. > >>> >> > >>> >> So if that's true, what is a *reference* to a value? This is the > >>> >> confusing part. If you think in terms of implementation, you'll > >>> probably > >>> >> think "reference means pointer", which puts you into a C frame of > mind, > >>> >> because pointers always point at things. But that's not what > reference > >>> >> means in Java; its a more abstract kind of indirection. > >>> >> > >>> >> The distinction between int and Integer may be helpful. At one > level, > >>> >> int and Integer may seem like "almost the same sets of values"; the > >>> Integer > >>> >> value set has one more value -- null -- than the int value set, and > for > >>> >> each of the other values, there is a bidirectional, 1:1 mapping > >>> between the > >>> >> two value sets. But if we look closer, in fact these value sets are > >>> >> disjoint! An int is not an Integer (even if they describe the same > >>> >> number.) > >>> >> > >>> >> So one big difference between references and values is nullability; > >>> null > >>> >> is a special kind of reference, the reference to no object at all. > >>> >> Reference types can be null; primitive types cannot. (There's > another, > >>> >> even more subtle distinction, which is tearability, which comes from > >>> the > >>> >> guarantees of the Java memory model.) > >>> >> > >>> >> If we have a value class: > >>> >> > >>> >> value class X { } > >>> >> > >>> >> this gives rise to a reference type X, whose values are references > to > >>> >> instances of X. But those instances do not have identity, which > means > >>> we > >>> >> can freely shred an X into the values of its fields, and later > >>> reconstitute > >>> >> it into a new X, all without anyone noticing. That's what the lack > of > >>> >> identity enables. But the flip side of that means that any given X > >>> does > >>> >> not "live" anywhere; it is just a loose aggregation field values, > which > >>> >> behaves like an object when called upon to do object-y things. > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> On 3/13/2022 5:46 AM, Julian Waters wrote: > >>> >> > >>> >> Hi Qu?n Anh, thanks for the reply, > >>> >> > >>> >> I think I understand what you mean; Since value objects have no > >>> identity, > >>> >> changing their fields would essentially mean the object is now > entirely > >>> >> different. However since that's the case, I'm still a little > confused > >>> by > >>> >> the semantics of what they really are. Specifically, most of their > >>> benefits > >>> >> are centered around them being nothing more than their fields in > >>> memory, > >>> >> but at the same time documentation states that they're referred to > by > >>> >> reference, which I find a little contradictory. If it's the former, > >>> they'd > >>> >> be no different from primitives, and if the latter, they'd be the > exact > >>> >> same as identity objects, which has left me puzzled for quite some > >>> time. > >>> >> > >>> >> Sorry for all the trouble, have a great day > >>> >> > >>> >> best regards, > >>> >> Julian > >>> >> > >>> >> On Sun, Mar 13, 2022 at 4:26 PM Qu?n Anh Mai < > >>> anhmdq at gmail.com> wrote: > >>> >> > >>> >> > >>> >> Hi, > >>> >> > >>> >> Regarding your concern of mutable value objects, having a mutable > >>> >> identity-less object is illogical. Because a value class does not > have > >>> a > >>> >> unique identity, upon modification, the object is changed to become > >>> another > >>> >> object. A value object is immutable in the same way that an int is > >>> >> immutable. You can change a variable int a from containing a value > of 3 > >>> >> to a value of 4, but you can?t change the number itself, it has been > >>> >> mathematically and programmatically defined to be a specific bit > >>> sequence. > >>> >> Similarly, you can change a variable Point a from enclosing the > point > >>> (3, > >>> >> 4) into the point (2, 5), but you can?t change the coordination of > the > >>> >> points themselves, they have been (in this case) also mathematically > >>> >> defined. Your understanding of how value classes work is also not > >>> correct. > >>> >> The fact that a value object can be deconstructed to its fields does > >>> not > >>> >> mean that it will. This is simply an optimisation choice of the > >>> compiler. > >>> >> > >>> >> Regards, > >>> >> Quan Anh > >>> >> > >>> >> On Sun, 13 Mar 2022 at 15:42, Julian Waters < > tanksherman27 at gmail.com> > >>> > >>> >> wrote: > >>> >> > >>> >> > >>> >> Hi all, > >>> >> > >>> >> I'd like to discuss several topics related to the current draft on > >>> value > >>> >> classes. > >>> >> > >>> >> As mentioned in another post to this list at > >>> >> > >>> > https://mail.openjdk.java.net/pipermail/valhalla-dev/2022-January/009871.html > >>> >> , > >>> >> currently value classes are specified as immutable, with all fields > >>> being > >>> >> declared as final. If I understand this correctly, value based > classes, > >>> >> unlike the true primitives which work is currently focused on, can > >>> still > >>> >> be > >>> >> referred to by references; It is only identity that has been given > up. > >>> In > >>> >> that instance, naively speaking, wouldn't it be possible for value > >>> objects > >>> >> to have mutable fields? In the same way that one can reference the > >>> fields, > >>> >> one might possibly be able to also change their values through the > >>> >> available object reference as well. From what I can tell, value > objects > >>> >> are > >>> >> planned to work internally by decomposing them to nothing more than > >>> their > >>> >> constituent fields and reconstructing them elsewhere. If that is the > >>> case, > >>> >> shouldn't modification of their fields be possible? To me it seems > the > >>> >> modification would simply modify the copied value object *b *while > >>> leaving > >>> >> original value object *a *unchanged, which sits perfectly with the > >>> >> constraint that identity should not be supported. Am I mistaken in > my > >>> >> assumption? > >>> >> > >>> >> Additionally, if the above holds true, I also suggest allowing an > >>> object > >>> >> to > >>> >> be declared as value based at the site of their usage, instead of > just > >>> at > >>> >> their definition. Something like > >>> >> > >>> >> // Item is by default an identity class, but the field "item" here > is > >>> now > >>> >> // a value object due to the declaration of value > >>> >> value Item item = new Item(); > >>> >> > >>> >> would allow typical identity classes to be treated as value objects > >>> where > >>> >> they're used. This would, to me, present a great deal of > flexibility as > >>> >> one > >>> >> could then choose how to allocate a particular object without > >>> >> constraining *every > >>> >> *instance of that class to a specific value/identity dichotomy, and > >>> also > >>> >> avoids the hassle of having to know which classes should be value or > >>> >> identity types ahead of time. On a side note, the current proposal > also > >>> >> includes the ability to mark records as value based, given that > records > >>> >> are > >>> >> meant exclusively as data classes, I suggest we flip that around and > >>> >> instead have records as *value based by default, *and instead allow > >>> >> marking > >>> >> them as identity objects explicitly if required, with the currently > >>> used > >>> >> ref keyword (Or whatever ref will eventually become), both at > >>> definition > >>> >> and when an actual instance is constructed, as mentioned above. This > >>> could > >>> >> save frustration from having to type value over and over whenever > >>> writing > >>> >> the definition of a new record. > >>> >> > >>> >> Have a great day, hope I can hear your opinions on this! :) > >>> >> > >>> >> best regards, > >>> >> Julian > >>> >> > >>> >> > >>> >> > >>> >> > >>> > >> > >> > >> -- > >> Pedro Lamar?o > >> https://www.prodist.com.br > >> Securing Critical Systems > >> Tel: +55 11 4380-6585 > >> > >> Antes de imprimir esta mensagem e seus anexos, certifique-se que seja > >> realmente necess?rio. > >> Proteger o meio ambiente ? nosso dever. > >> Before printing this e-mail or attachments, be sure it is necessary. > >> It is in our hands to protect the environment. > From pedro.lamarao at prodist.com.br Fri Mar 18 13:37:22 2022 From: pedro.lamarao at prodist.com.br (=?UTF-8?Q?Pedro_Lamar=C3=A3o?=) Date: Fri, 18 Mar 2022 10:37:22 -0300 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> Message-ID: Em sex., 18 de mar. de 2022 ?s 09:03, Julian Waters escreveu: > I suspect the misunderstanding in the thread is caused by my > confusion of what value classes actually *are*, I'm still having a hard > time figuring out how a reference object cannot be mutated > This is my understanding as a layman, not a Valhalla expert. Suppose you create some value class object. It lives in the heap. Then you pass it around. Then an opportunity arises and this object is inlined in some other object. You still have a reference to the object you created initially. You change a field on that object through that reference. What do you expect must happen with the inlined version? -- Pedro Lamar?o From tanksherman27 at gmail.com Sat Mar 19 06:50:02 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Sat, 19 Mar 2022 14:50:02 +0800 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> Message-ID: My naive understanding is that the reference to the original object that was created would still change only it, while the new inlined object would then be accessed by another reference, but I am not sure if this is correct. best regards, Julian On Fri, Mar 18, 2022 at 9:37 PM Pedro Lamar?o wrote: > Em sex., 18 de mar. de 2022 ?s 09:03, Julian Waters < > tanksherman27 at gmail.com> escreveu: > > >> I suspect the misunderstanding in the thread is caused by my >> confusion of what value classes actually *are*, I'm still having a hard >> time figuring out how a reference object cannot be mutated >> > > This is my understanding as a layman, not a Valhalla expert. > Suppose you create some value class object. > It lives in the heap. > Then you pass it around. > Then an opportunity arises and this object is inlined in some other object. > You still have a reference to the object you created initially. > You change a field on that object through that reference. > What do you expect must happen with the inlined version? > > -- > Pedro Lamar?o > From anhmdq at gmail.com Sat Mar 19 09:16:42 2022 From: anhmdq at gmail.com (=?UTF-8?Q?Qu=C3=A2n_Anh_Mai?=) Date: Sat, 19 Mar 2022 17:16:42 +0800 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> Message-ID: > Maybe I'm thinking a little too much in the C++ model of classes? Yes, you are. In C++, when you do an assignment `a = b`, the copy assignment operator method is called, often copies the content of the second operand into the first one, the `=` here is not anything special but syntactic sugar for a method call. In Java on the other hand, when you do `a = b`, then `a` and `b` now are the same object, the fact that they are implemented as a reference or not is irrelevant, the language semantics does not really care about that. As they are now the same object, every change to the object through `a` must be observable through `b`, which means that if you do `a.x = 3`, now `b.x` should also give the answer `3` (there is the memory model also but for simplicity let's only consider single-threaded environment). As a result, the fact that value objects are immutable allows the compiler to copy them without worrying about the circumstances I present above. Again, copying or not is the choice of the compiler, it may choose to do so, it may not. From the language point of view, irrespective of which choice the compiler made, `a` and `b` must still be the same object and indistinguishable from each other until you assign to one of them another object. So in short, you are messing the causes and consequences around, the immutability of the value objects allows the compiler to copy them around without considering where did the object originate from, and if you want the objects to be mutable, then the compiler cannot copy them anymore. Regards, Quan Anh On Sat, 19 Mar 2022 at 16:53, Julian Waters wrote: > My naive understanding is that the reference to the original object that > was created would still change only it, while the new inlined object would > then be accessed by another reference, but I am not sure if this is > correct. > > best regards, > Julian > > On Fri, Mar 18, 2022 at 9:37 PM Pedro Lamar?o < > pedro.lamarao at prodist.com.br> > wrote: > > > Em sex., 18 de mar. de 2022 ?s 09:03, Julian Waters < > > tanksherman27 at gmail.com> escreveu: > > > > > >> I suspect the misunderstanding in the thread is caused by my > >> confusion of what value classes actually *are*, I'm still having a hard > >> time figuring out how a reference object cannot be mutated > >> > > > > This is my understanding as a layman, not a Valhalla expert. > > Suppose you create some value class object. > > It lives in the heap. > > Then you pass it around. > > Then an opportunity arises and this object is inlined in some other > object. > > You still have a reference to the object you created initially. > > You change a field on that object through that reference. > > What do you expect must happen with the inlined version? > > > > -- > > Pedro Lamar?o > > > From tanksherman27 at gmail.com Sun Mar 20 13:34:35 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Sun, 20 Mar 2022 21:34:35 +0800 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> Message-ID: I was under the impression that for value objects, a = b would set a to a copy of b rather than make both a and b the same object, unlike with regular objects (Ie the same thing as what C++'s copy constructor does). However > Again, copying or not is the choice of the compiler, it may choose to do so, it may not. makes me realize that this may not be the case. Are the actual language semantics for Java different in this aspect? So far I haven't been able to find anything in the draft talking about this (or I likely may have missed the related parts). I do however find it odd that value objects have these semantics, since my initial thought was that they were meant to be represented directly at their location in memory, but I may be confusing certain things. best regards, Julian On Sat, Mar 19, 2022 at 5:16 PM Qu?n Anh Mai wrote: > > Maybe I'm thinking a little too much in the C++ model of classes? > > Yes, you are. In C++, when you do an assignment `a = b`, the copy > assignment operator method is called, often copies the content of the > second operand into the first one, the `=` here is not anything special but > syntactic sugar for a method call. In Java on the other hand, when you do > `a = b`, then `a` and `b` now are the same object, the fact that they are > implemented as a reference or not is irrelevant, the language semantics > does not really care about that. As they are now the same object, every > change to the object through `a` must be observable through `b`, which > means that if you do `a.x = 3`, now `b.x` should also give the answer `3` > (there is the memory model also but for simplicity let's only consider > single-threaded environment). As a result, the fact that value objects are > immutable allows the compiler to copy them without worrying about the > circumstances I present above. Again, copying or not is the choice of the > compiler, it may choose to do so, it may not. From the language point of > view, irrespective of which choice the compiler made, `a` and `b` must > still be the same object and indistinguishable from each other until you > assign to one of them another object. > > So in short, you are messing the causes and consequences around, the > immutability of the value objects allows the compiler to copy them around > without considering where did the object originate from, and if you want > the objects to be mutable, then the compiler cannot copy them anymore. > > Regards, > Quan Anh > > On Sat, 19 Mar 2022 at 16:53, Julian Waters > wrote: > >> My naive understanding is that the reference to the original object that >> was created would still change only it, while the new inlined object would >> then be accessed by another reference, but I am not sure if this is >> correct. >> >> best regards, >> Julian >> >> On Fri, Mar 18, 2022 at 9:37 PM Pedro Lamar?o < >> pedro.lamarao at prodist.com.br> >> wrote: >> >> > Em sex., 18 de mar. de 2022 ?s 09:03, Julian Waters < >> > tanksherman27 at gmail.com> escreveu: >> > >> > >> >> I suspect the misunderstanding in the thread is caused by my >> >> confusion of what value classes actually *are*, I'm still having a hard >> >> time figuring out how a reference object cannot be mutated >> >> >> > >> > This is my understanding as a layman, not a Valhalla expert. >> > Suppose you create some value class object. >> > It lives in the heap. >> > Then you pass it around. >> > Then an opportunity arises and this object is inlined in some other >> object. >> > You still have a reference to the object you created initially. >> > You change a field on that object through that reference. >> > What do you expect must happen with the inlined version? >> > >> > -- >> > Pedro Lamar?o >> > >> > From anhmdq at gmail.com Sun Mar 20 18:08:44 2022 From: anhmdq at gmail.com (=?UTF-8?Q?Qu=C3=A2n_Anh_Mai?=) Date: Mon, 21 Mar 2022 02:08:44 +0800 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> Message-ID: I don't really understand your confusion now. > a = b would set a to a copy of b rather than make both a and b the same object, unlike with regular objects Where did you get this impression from? Why do you expect value objects to be different from identity objects with regards to this aspect? The semantics of the assignment operator has nothing to do with the unique identities of the objects, there is no reason for them to be different. If you want a copy, you make a copy constructor and call it, why do you expect an assignment to do a copy after all? > So far I haven't been able to find anything in the draft talking about this Of course you can't find that part, why do you expect the JEP to contain something that is not different and not new in comparison with regular objects at the moment? > since my initial thought was that they were meant to be represented directly at their location in memory You have mistaken the causes and the consequences again, the way the objects are represented should comply with the language semantics, not the other way around. While this is a factor, it cannot be used as the sole reason to decide the permitted behaviours of value objects. And the semantics has been decided logically since the opposite would lead to illogical behaviours as I said from the beginning. Regards, Quan Anh From tanksherman27 at gmail.com Mon Mar 21 06:32:00 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Mon, 21 Mar 2022 14:32:00 +0800 Subject: Queries regarding value classes In-Reply-To: References: <3ac8fb16-bead-d4d5-69c6-a01f19ef8f9b@oracle.com> <888695348.18984898.1647594621324.JavaMail.zimbra@u-pem.fr> Message-ID: I see, it seems like my preconceived views were mistaken, but I think I finally understand the semantics of value classes. Still, I think parts of the original discussion might still be an interesting idea worth looking into later on. best regards, Julian On Mon, Mar 21, 2022 at 2:08 AM Qu?n Anh Mai wrote: > I don't really understand your confusion now. > > > a = b would set a to a copy of b rather than make both a and b the same > object, unlike with regular objects > > Where did you get this impression from? Why do you expect value objects to > be different from identity objects with regards to this aspect? The > semantics of the assignment operator has nothing to do with the unique > identities of the objects, there is no reason for them to be different. If > you want a copy, you make a copy constructor and call it, why do you expect > an assignment to do a copy after all? > > > So far I haven't been able to find anything in the draft talking about > this > > Of course you can't find that part, why do you expect the JEP to contain > something that is not different and not new in comparison with regular > objects at the moment? > > > since my initial thought was that they were meant to be represented > directly at their location in memory > > You have mistaken the causes and the consequences again, the way the > objects are represented should comply with the language semantics, not the > other way around. While this is a factor, it cannot be used as the sole > reason to decide the permitted behaviours of value objects. And the > semantics has been decided logically since the opposite would lead to > illogical behaviours as I said from the beginning. > > Regards, > Quan Anh > From fparain at openjdk.java.net Wed Mar 23 14:29:19 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 23 Mar 2022 14:29:19 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class Message-ID: 8283573: [lworld] Make Object an abstract class ------------- Commit messages: - Merge remote-tracking branch 'upstream/lworld' into new_object - Update JVMCI tests - Code improvement - Merge remote-tracking branch 'upstream/lworld' into new_object - Undo new Object changes - Fix compilation failure due to class name conflict - Merge remote-tracking branch 'upstream/lworld' into new_object - Revert new Object() changes - Merge remote-tracking branch 'upstream/lworld' into new_object - Merge remote-tracking branch 'upstream/lworld' into new_object - ... and 7 more: https://git.openjdk.java.net/valhalla/compare/5d03db86...9db93b17 Changes: https://git.openjdk.java.net/valhalla/pull/602/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=602&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8283573 Stats: 140 lines in 22 files changed: 117 ins; 0 del; 23 mod Patch: https://git.openjdk.java.net/valhalla/pull/602.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/602/head:pull/602 PR: https://git.openjdk.java.net/valhalla/pull/602 From fparain at openjdk.java.net Wed Mar 23 14:34:01 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 23 Mar 2022 14:34:01 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: References: Message-ID: <18TjtCxpUotcch0YVdMutzuXNgECAU6U_beOYisVnic=.d4318181-d13b-4193-9806-dd49cfeb1ab8@github.com> On Thu, 13 Jan 2022 20:22:37 GMT, Frederic Parain wrote: > 8283573: [lworld] Make Object an abstract class Please review those changes making the class java.lang.Object an abstract class. Changes include several changes in behavior in the VM to intercept attempts to instantiate java.lang.Object and instead, instantiate the java.lang.Identity class. Some tests have been updated to adapt to the new behavior, but several tests are still failing (failures will show up in the CI pipeline). I'll open CR for each of those tests. The Java code of the reflection API has not been modified, and causes some failures, especially when trying to instantiate the java.lang.Object class. This issue will be addressed by a different CR. Thank you, Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From fparain at openjdk.java.net Fri Mar 25 13:49:42 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Fri, 25 Mar 2022 13:49:42 GMT Subject: [lworld] RFR: 8265121: [lworld] Better optimize null-checks in C1 Message-ID: Please review those small changes in C1 that eliminates a few more unnecessary null checks. I've experimented some changes in the NullCheckEliminator to handle inline types explicitly, but it had no effect on generated code, in all cases, existing null check eliminations were already sufficient to remove unnecessary checks. The changeset also reverts a change in the CFG file generation which makes log file unreadable by the C1Visualizer tool. Tested with Mach5, tier1-3. Thank you. Fred ------------- Commit messages: - More null check eliminations in C1 Changes: https://git.openjdk.java.net/valhalla/pull/672/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=672&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8265121 Stats: 9 lines in 3 files changed: 2 ins; 3 del; 4 mod Patch: https://git.openjdk.java.net/valhalla/pull/672.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/672/head:pull/672 PR: https://git.openjdk.java.net/valhalla/pull/672 From dsimms at openjdk.java.net Fri Mar 25 14:03:16 2022 From: dsimms at openjdk.java.net (David Simms) Date: Fri, 25 Mar 2022 14:03:16 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: References: Message-ID: <_mo6A2wXexefxkS2cZbMp3DCg0aSa17oJNBE9WoH4b0=.5adb6578-1416-4a6a-a641-308515c380dd@github.com> On Thu, 13 Jan 2022 20:22:37 GMT, Frederic Parain wrote: > 8283573: [lworld] Make Object an abstract class The pattern: `if (ik == vmClasses::Object_klass() && vmClasses::Object_klass()->is_abstract()) { ik = vmClasses::Identity_klass(); }` Keep repeating itself, could this be an inline method somewhere, maybe `valhalla_check_replace_object_identity()` (i.e. self documenting) src/hotspot/share/c1/c1_GraphBuilder.cpp line 2541: > 2539: assert(klass->is_instance_klass(), "must be an instance klass"); > 2540: ciKlass* ik = klass; > 2541: if (ik == compilation()->env()->Object_klass() && compilation()->env()->Object_klass()->is_abstract()) { Does adding if EnableValhalla as the first condition, or a "// Valhalla" comment, make this clearer ? There are a few places in the change set with the same review comment, but I won't repeat. ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From fparain at openjdk.java.net Fri Mar 25 14:13:28 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Fri, 25 Mar 2022 14:13:28 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: <_mo6A2wXexefxkS2cZbMp3DCg0aSa17oJNBE9WoH4b0=.5adb6578-1416-4a6a-a641-308515c380dd@github.com> References: <_mo6A2wXexefxkS2cZbMp3DCg0aSa17oJNBE9WoH4b0=.5adb6578-1416-4a6a-a641-308515c380dd@github.com> Message-ID: On Fri, 25 Mar 2022 13:44:01 GMT, David Simms wrote: >> 8283573: [lworld] Make Object an abstract class > > src/hotspot/share/c1/c1_GraphBuilder.cpp line 2541: > >> 2539: assert(klass->is_instance_klass(), "must be an instance klass"); >> 2540: ciKlass* ik = klass; >> 2541: if (ik == compilation()->env()->Object_klass() && compilation()->env()->Object_klass()->is_abstract()) { > > Does adding if EnableValhalla as the first condition, or a "// Valhalla" comment, make this clearer ? There are a few places in the change set with the same review comment, but I won't repeat. I'll add the if(EnableValhalla) condition. ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From fparain at openjdk.java.net Fri Mar 25 14:16:09 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Fri, 25 Mar 2022 14:16:09 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: <_mo6A2wXexefxkS2cZbMp3DCg0aSa17oJNBE9WoH4b0=.5adb6578-1416-4a6a-a641-308515c380dd@github.com> References: <_mo6A2wXexefxkS2cZbMp3DCg0aSa17oJNBE9WoH4b0=.5adb6578-1416-4a6a-a641-308515c380dd@github.com> Message-ID: On Fri, 25 Mar 2022 13:59:30 GMT, David Simms wrote: > The pattern: > > `if (ik == vmClasses::Object_klass() && vmClasses::Object_klass()->is_abstract()) { ik = vmClasses::Identity_klass(); }` > > Keep repeating itself, could this be an inline method somewhere, maybe `valhalla_check_replace_object_identity()` (i.e. self documenting) A single method would not be possible, because some tests are using Klass* while others are using ciKlass*. ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From dsimms at openjdk.java.net Fri Mar 25 15:46:17 2022 From: dsimms at openjdk.java.net (David Simms) Date: Fri, 25 Mar 2022 15:46:17 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: References: Message-ID: On Thu, 13 Jan 2022 20:22:37 GMT, Frederic Parain wrote: > 8283573: [lworld] Make Object an abstract class Marked as reviewed by dsimms (Committer). ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From dsimms at openjdk.java.net Fri Mar 25 15:46:18 2022 From: dsimms at openjdk.java.net (David Simms) Date: Fri, 25 Mar 2022 15:46:18 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: References: <_mo6A2wXexefxkS2cZbMp3DCg0aSa17oJNBE9WoH4b0=.5adb6578-1416-4a6a-a641-308515c380dd@github.com> Message-ID: On Fri, 25 Mar 2022 14:13:15 GMT, Frederic Parain wrote: > A single method would not be possible, because some tests are using Klass* while others are using ciKlass*. Yeah it looks only 2 with ciKlass, hardly worth it ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From thartmann at openjdk.java.net Mon Mar 28 12:13:08 2022 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Mon, 28 Mar 2022 12:13:08 GMT Subject: [lworld] RFR: 8265121: [lworld] Better optimize null-checks in C1 In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 13:42:40 GMT, Frederic Parain wrote: > The changeset also reverts a change in the CFG file generation which makes log file unreadable by the C1Visualizer tool. That should be fixed upstream (as well), right? Looks good to me otherwise. ------------- Marked as reviewed by thartmann (Committer). PR: https://git.openjdk.java.net/valhalla/pull/672 From thartmann at openjdk.java.net Mon Mar 28 12:23:12 2022 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Mon, 28 Mar 2022 12:23:12 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: References: Message-ID: On Thu, 13 Jan 2022 20:22:37 GMT, Frederic Parain wrote: > 8283573: [lworld] Make Object an abstract class Compiler changes look good to me. src/java.base/share/classes/java/lang/Identity.java line 2: > 1: /* > 2: * Copyright (c) 2022, 2022, Oracle and/or its affiliates. All rights reserved. Suggestion: * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. ------------- Marked as reviewed by thartmann (Committer). PR: https://git.openjdk.java.net/valhalla/pull/602 From thartmann at openjdk.java.net Mon Mar 28 12:23:13 2022 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Mon, 28 Mar 2022 12:23:13 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: References: Message-ID: On Mon, 28 Mar 2022 12:12:19 GMT, Tobias Hartmann wrote: >> 8283573: [lworld] Make Object an abstract class > > src/java.base/share/classes/java/lang/Identity.java line 2: > >> 1: /* >> 2: * Copyright (c) 2022, 2022, Oracle and/or its affiliates. All rights reserved. > > Suggestion: > > * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. (This has been discussed in mainline before. If both years are equal, there should only be one) ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From fparain at openjdk.java.net Mon Mar 28 13:07:08 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 28 Mar 2022 13:07:08 GMT Subject: [lworld] RFR: 8265121: [lworld] Better optimize null-checks in C1 In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 13:42:40 GMT, Frederic Parain wrote: > Please review those small changes in C1 that eliminates a few more unnecessary null checks. > I've experimented some changes in the NullCheckEliminator to handle inline types explicitly, > but it had no effect on generated code, in all cases, existing null check eliminations were already > sufficient to remove unnecessary checks. > > The changeset also reverts a change in the CFG file generation which makes log file unreadable > by the C1Visualizer tool. > > Tested with Mach5, tier1-3. > > Thank you. > > Fred Tobias, Thank you for the review. I'll file a CR to fix the CFG file bug in mainline. Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/672 From fparain at openjdk.java.net Mon Mar 28 13:07:09 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 28 Mar 2022 13:07:09 GMT Subject: [lworld] Integrated: 8265121: [lworld] Better optimize null-checks in C1 In-Reply-To: References: Message-ID: On Fri, 25 Mar 2022 13:42:40 GMT, Frederic Parain wrote: > Please review those small changes in C1 that eliminates a few more unnecessary null checks. > I've experimented some changes in the NullCheckEliminator to handle inline types explicitly, > but it had no effect on generated code, in all cases, existing null check eliminations were already > sufficient to remove unnecessary checks. > > The changeset also reverts a change in the CFG file generation which makes log file unreadable > by the C1Visualizer tool. > > Tested with Mach5, tier1-3. > > Thank you. > > Fred This pull request has now been integrated. Changeset: 77e57c26 Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/77e57c2684d913b01bf13f121a652419151b2817 Stats: 9 lines in 3 files changed: 2 ins; 3 del; 4 mod 8265121: [lworld] Better optimize null-checks in C1 Reviewed-by: thartmann ------------- PR: https://git.openjdk.java.net/valhalla/pull/672 From dsimms at openjdk.java.net Tue Mar 29 09:12:37 2022 From: dsimms at openjdk.java.net (David Simms) Date: Tue, 29 Mar 2022 09:12:37 GMT Subject: [lworld] RFR: Merge jdk Message-ID: <8-3mB1608iTU1gNp-OP4VxMcNjEI4eDFbO2u88rDUWU=.4dd0962b-dedd-49a5-bc34-98b78ba263a8@github.com> Merge tag 'jdk-19+15' into lworld_merge_jdk_19_15 compiler/arraycopy/TestArrayCopyAsLoadsStores.java needs more work, post commit ------------- Commit messages: - compiler/arraycopy/TestArrayCopyAsLoadsStores.java needs more work, post commit - Adjust Testing - Bug with JDK-8281732 - Original merge conflicts - Merge tag 'jdk-19+15' into lworld_merge_jdk_19_15 - 8283562: JDK-8282306 breaks gtests on zero - 8283254: Remove redundant class jdk/internal/agent/spi/AgentProvider - 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel - 8283411: InflaterInputStream holds on to a temporary byte array of 512 bytes - 8282204: Use lea instructions for arithmetic operations on x86_64 - ... and 498 more: https://git.openjdk.java.net/valhalla/compare/5d03db86...ed94860f The webrevs contain the adjustments done while merging with regards to each parent branch: - lworld: https://webrevs.openjdk.java.net/?repo=valhalla&pr=673&range=00.0 - jdk: https://webrevs.openjdk.java.net/?repo=valhalla&pr=673&range=00.1 Changes: https://git.openjdk.java.net/valhalla/pull/673/files Stats: 116732 lines in 2489 files changed: 70520 ins; 36117 del; 10095 mod Patch: https://git.openjdk.java.net/valhalla/pull/673.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/673/head:pull/673 PR: https://git.openjdk.java.net/valhalla/pull/673 From fparain at openjdk.java.net Tue Mar 29 12:40:08 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 29 Mar 2022 12:40:08 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class [v2] In-Reply-To: References: Message-ID: <8G8_pdKVQS_scs_tG5aTSPnywhnut926HW8-LLnLS-0=.95b790c6-0d85-4693-a0ea-88c03151eadc@github.com> > 8283573: [lworld] Make Object an abstract class Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: Interpreter and copyright fixes ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/602/files - new: https://git.openjdk.java.net/valhalla/pull/602/files/9db93b17..61efc102 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=602&range=01 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=602&range=00-01 Stats: 9 lines in 3 files changed: 3 ins; 2 del; 4 mod Patch: https://git.openjdk.java.net/valhalla/pull/602.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/602/head:pull/602 PR: https://git.openjdk.java.net/valhalla/pull/602 From fparain at openjdk.java.net Tue Mar 29 12:43:18 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 29 Mar 2022 12:43:18 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class In-Reply-To: References: Message-ID: On Thu, 13 Jan 2022 20:22:37 GMT, Frederic Parain wrote: > 8283573: [lworld] Make Object an abstract class Last update addresses the copyright format issue. It also removes the EnableValhalla condition in the interpreter changes to allow the VM to be fully functional even with -XX:-EnableValhalla (we need this configuration to track regressions with mainline, and the current JDK sources support only one version of java.lang.Object which is now abstract in the lworld branch). Last change is the addition of the aarch64 support. ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From dsimms at openjdk.java.net Tue Mar 29 13:15:23 2022 From: dsimms at openjdk.java.net (David Simms) Date: Tue, 29 Mar 2022 13:15:23 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class [v2] In-Reply-To: <8G8_pdKVQS_scs_tG5aTSPnywhnut926HW8-LLnLS-0=.95b790c6-0d85-4693-a0ea-88c03151eadc@github.com> References: <8G8_pdKVQS_scs_tG5aTSPnywhnut926HW8-LLnLS-0=.95b790c6-0d85-4693-a0ea-88c03151eadc@github.com> Message-ID: <5ynN2zaH_Tm5xUqGZ2awoT2P383Augf75Xgv8omi5G0=.9eceda4a-39a4-44e9-a405-72b69be7fe93@github.com> On Tue, 29 Mar 2022 12:40:08 GMT, Frederic Parain wrote: >> 8283573: [lworld] Make Object an abstract class > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Interpreter and copyright fixes Looks good ------------- Marked as reviewed by dsimms (Committer). PR: https://git.openjdk.java.net/valhalla/pull/602 From thartmann at openjdk.java.net Tue Mar 29 14:02:10 2022 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Tue, 29 Mar 2022 14:02:10 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class [v2] In-Reply-To: <8G8_pdKVQS_scs_tG5aTSPnywhnut926HW8-LLnLS-0=.95b790c6-0d85-4693-a0ea-88c03151eadc@github.com> References: <8G8_pdKVQS_scs_tG5aTSPnywhnut926HW8-LLnLS-0=.95b790c6-0d85-4693-a0ea-88c03151eadc@github.com> Message-ID: On Tue, 29 Mar 2022 12:40:08 GMT, Frederic Parain wrote: >> 8283573: [lworld] Make Object an abstract class > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Interpreter and copyright fixes Looks good. ------------- Marked as reviewed by thartmann (Committer). PR: https://git.openjdk.java.net/valhalla/pull/602 From fparain at openjdk.java.net Tue Mar 29 14:13:33 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 29 Mar 2022 14:13:33 GMT Subject: [lworld] RFR: 8283573: [lworld] Make Object an abstract class [v2] In-Reply-To: <8G8_pdKVQS_scs_tG5aTSPnywhnut926HW8-LLnLS-0=.95b790c6-0d85-4693-a0ea-88c03151eadc@github.com> References: <8G8_pdKVQS_scs_tG5aTSPnywhnut926HW8-LLnLS-0=.95b790c6-0d85-4693-a0ea-88c03151eadc@github.com> Message-ID: On Tue, 29 Mar 2022 12:40:08 GMT, Frederic Parain wrote: >> 8283573: [lworld] Make Object an abstract class > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Interpreter and copyright fixes Tobias, Mr Simms, Thank you for your reviews. Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From fparain at openjdk.java.net Tue Mar 29 14:13:34 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 29 Mar 2022 14:13:34 GMT Subject: [lworld] Integrated: 8283573: [lworld] Make Object an abstract class In-Reply-To: References: Message-ID: On Thu, 13 Jan 2022 20:22:37 GMT, Frederic Parain wrote: > 8283573: [lworld] Make Object an abstract class This pull request has now been integrated. Changeset: cc0ea467 Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/cc0ea4675f150791738744951d2c20d7467bb2e5 Stats: 141 lines in 23 files changed: 118 ins; 0 del; 23 mod 8283573: [lworld] Make Object an abstract class Reviewed-by: dsimms, thartmann ------------- PR: https://git.openjdk.java.net/valhalla/pull/602 From dsimms at openjdk.java.net Wed Mar 30 07:21:19 2022 From: dsimms at openjdk.java.net (David Simms) Date: Wed, 30 Mar 2022 07:21:19 GMT Subject: [lworld] RFR: Merge jdk [v2] In-Reply-To: <8-3mB1608iTU1gNp-OP4VxMcNjEI4eDFbO2u88rDUWU=.4dd0962b-dedd-49a5-bc34-98b78ba263a8@github.com> References: <8-3mB1608iTU1gNp-OP4VxMcNjEI4eDFbO2u88rDUWU=.4dd0962b-dedd-49a5-bc34-98b78ba263a8@github.com> Message-ID: > Merge tag 'jdk-19+15' into lworld_merge_jdk_19_15 > compiler/arraycopy/TestArrayCopyAsLoadsStores.java needs more work, post commit David Simms has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 1353 commits: - compiler/arraycopy/TestArrayCopyAsLoadsStores.java needs more work, post commit - Adjust Testing - Bug with JDK-8281732 - Original merge conflicts - Merge tag 'jdk-19+15' into lworld_merge_jdk_19_15 Added tag jdk-19+15 for changeset 78ef2fde # Conflicts: # src/hotspot/cpu/aarch64/frame_aarch64.cpp # src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp # src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp # src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp # src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp # src/hotspot/cpu/x86/macroAssembler_x86.cpp # src/hotspot/cpu/x86/macroAssembler_x86.hpp # src/hotspot/cpu/x86/templateTable_x86.cpp # src/hotspot/share/ci/ciEnv.cpp # src/hotspot/share/oops/instanceKlass.cpp # src/hotspot/share/opto/arraycopynode.cpp # src/hotspot/share/opto/escape.cpp # src/hotspot/share/opto/phasetype.hpp # src/hotspot/share/runtime/sharedRuntime.cpp # src/hotspot/share/services/heapDumper.cpp # src/hotspot/share/utilities/globalDefinitions.hpp # src/java.base/share/classes/java/lang/constant/ClassDesc.java # src/java.base/share/classes/java/lang/ref/SoftReference.java # src/java.base/share/classes/java/lang/ref/WeakReference.java # test/lib/jdk/test/lib/hprof/model/JavaValueArray.java - 8282695: [lworld] assert(oopDesc::is_oop(obj)) in compiler/valhalla/inlinetypes/TestUnloadedInlineTypeArray.java Reviewed-by: thartmann - 8282512: Remove usages of __WithField in compiler tests Reviewed-by: thartmann - 8282107: Valhalla: javac does not correctly recognize value class factory - 8282079: [lworld] Generate Preload attribute in lambdas and proxies if value classes are referenced Reviewed-by: rriggs - 8282292: [lworld] runtime/valhalla/inlinetypes/WithFieldAccessorTest.java Xcomp C1 asserts Reviewed-by: thartmann - ... and 1343 more: https://git.openjdk.java.net/valhalla/compare/78ef2fde...ed94860f ------------- Changes: https://git.openjdk.java.net/valhalla/pull/673/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=673&range=01 Stats: 187554 lines in 1608 files changed: 179088 ins; 1926 del; 6540 mod Patch: https://git.openjdk.java.net/valhalla/pull/673.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/673/head:pull/673 PR: https://git.openjdk.java.net/valhalla/pull/673 From dsimms at openjdk.java.net Wed Mar 30 07:21:21 2022 From: dsimms at openjdk.java.net (David Simms) Date: Wed, 30 Mar 2022 07:21:21 GMT Subject: [lworld] Integrated: Merge jdk In-Reply-To: <8-3mB1608iTU1gNp-OP4VxMcNjEI4eDFbO2u88rDUWU=.4dd0962b-dedd-49a5-bc34-98b78ba263a8@github.com> References: <8-3mB1608iTU1gNp-OP4VxMcNjEI4eDFbO2u88rDUWU=.4dd0962b-dedd-49a5-bc34-98b78ba263a8@github.com> Message-ID: <-336cCO9jkeZYHwNc23xz4-hJPhWQfxjybCzenWaKz8=.e869b433-9ec7-49c4-8085-488f6b088ad0@github.com> On Tue, 29 Mar 2022 09:04:38 GMT, David Simms wrote: > Merge tag 'jdk-19+15' into lworld_merge_jdk_19_15 > compiler/arraycopy/TestArrayCopyAsLoadsStores.java needs more work, post commit This pull request has now been integrated. Changeset: d909eac7 Author: David Simms URL: https://git.openjdk.java.net/valhalla/commit/d909eac7c5fc71bc33baa3e30e7105dec67134d3 Stats: 116732 lines in 2489 files changed: 70520 ins; 36117 del; 10095 mod Merge jdk Merge jdk-19+15 ------------- PR: https://git.openjdk.java.net/valhalla/pull/673 From dsimms at openjdk.java.net Wed Mar 30 07:46:19 2022 From: dsimms at openjdk.java.net (David Simms) Date: Wed, 30 Mar 2022 07:46:19 GMT Subject: git: openjdk/valhalla: lworld: 504 new changesets Message-ID: <57a1358a-6181-440f-8458-a0798df35a3a@openjdk.org> Changeset: 4ea6037e Author: Albert Mingkun Yang Date: 2022-02-02 10:43:02 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4ea6037ea57ce7bbad00ef172dfc3c122b2317fc 8281035: Serial: Move RemoveForwardedPointerClosure to local scope Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/shared/preservedMarks.cpp ! src/hotspot/share/gc/shared/preservedMarks.hpp Changeset: ce71e8b2 Author: Roman Kennke Date: 2022-02-02 14:56:52 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ce71e8b281176d39cc879ae4ecf95f3d643ebd29 8279917: Refactor subclassAudits in Thread to use ClassValue Reviewed-by: alanb, rriggs ! src/java.base/share/classes/java/lang/Thread.java Changeset: 87ab0994 Author: Michael McMahon Date: 2022-02-02 15:04:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/87ab0994ded3b535a160bb87b6540bd072042c44 8280944: Enable Unix domain sockets in Windows Selector notification mechanism Reviewed-by: dfuchs, alanb ! src/java.base/windows/classes/sun/nio/ch/PipeImpl.java ! src/java.base/windows/classes/sun/nio/ch/WEPollSelectorImpl.java ! src/java.base/windows/classes/sun/nio/ch/WindowsSelectorImpl.java Changeset: 9d578537 Author: Albert Mingkun Yang Date: 2022-02-02 15:17:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9d578537ced356eb0526a70f717b5669e30eadc6 8281042: G1: Remove unused init_threshold in G1FullGCCompactionPoint Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.inline.hpp Changeset: 47800bf3 Author: Daniel Fuchs Date: 2022-02-02 17:11:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/47800bf3da181ae0ee612b14d95773fd1dc90350 8280868: LineBodyHandlerTest.java creates and discards too many clients Reviewed-by: michaelm ! test/jdk/java/net/httpclient/LineBodyHandlerTest.java Changeset: e3d5c9e7 Author: Masanori Yano Committer: Lance Andersen Date: 2022-02-02 21:02:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e3d5c9e7c4ab210ae7a4417a47632603910744a1 8266974: duplicate property key in java.sql.rowset resource bundle Reviewed-by: lancea ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties Changeset: fe0118f8 Author: Chris Plummer Date: 2022-02-02 21:51:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fe0118f8040ce7e5e3d605942443e3a5d442fa92 8279662: serviceability/sa/ClhsdbScanOops.java can fail do to unexpected GC Reviewed-by: sspitsyn, kevinw ! test/hotspot/jtreg/serviceability/sa/ClhsdbScanOops.java Changeset: 2531c332 Author: Tobias Hartmann Date: 2022-02-01 17:41:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2531c332f89c5faedf71ce1737373581c9abf905 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob Backport-of: 6f0e8da6d3bef340299e48977d5e17d05eabe682 ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: a46307a7 Author: Jesper Wilhelmsson Date: 2022-02-03 01:11:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a46307a79dd6c1f5cca02447b3452be8d1fbe9a0 Merge Changeset: a95ee5ad Author: Xue-Lei Andrew Fan Date: 2022-02-03 06:28:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a95ee5ada230a0177517efd3a417f319066169dd 8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled Reviewed-by: weijun ! src/java.base/share/classes/sun/security/ssl/Utilities.java ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java + test/jdk/javax/net/ssl/ServerName/EndingDotHostname.java + test/jdk/javax/net/ssl/templates/SSLExampleCert.java Changeset: fe547eac Author: Artem Semenov Date: 2022-02-03 07:22:30 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fe547eacd71b4eb8119ecc7ca2d0bbe8e757f854 8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y Reviewed-by: kizune, prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CellAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CellAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ColumnAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ColumnAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ComboBoxAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ComboBoxAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ComponentWrapperAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ComponentWrapperAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ListAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ListAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ListRowAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ListRowAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/NavigableTextAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/NavigableTextAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineRowAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineRowAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TabButtonAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TabButtonAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TabGroupAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TabGroupAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TableAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TableAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TableRowAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TableRowAccessibility.m Changeset: 5ab22e88 Author: Roman Kennke Date: 2022-02-03 07:24:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5ab22e88da8d79f9e19e8afffdd06206f42bab94 8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations Reviewed-by: sspitsyn, cjplummer ! src/jdk.jdwp.agent/share/native/libjdwp/invoker.c Changeset: 63a00a0d Author: Kevin Walls Date: 2022-02-03 10:10:45 +0000 URL: https://git.openjdk.java.net/valhalla/commit/63a00a0df24b154ef459936dbd69bcd2f0626235 8272777: Clean up remaining AccessController warnings in test library Reviewed-by: rriggs, sspitsyn ! test/lib/jdk/test/lib/SA/SATestUtils.java ! test/lib/jdk/test/lib/net/IPSupport.java ! test/lib/jdk/test/lib/net/SimpleSSLContext.java Changeset: 010965c8 Author: Thomas Stuefe Date: 2022-02-03 14:12:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/010965c86ab39260b882df807c4f5d6420b20ca9 8281023: NMT integration into pp debug command does not work Reviewed-by: zgu, iklam ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp ! src/hotspot/share/services/virtualMemoryTracker.cpp ! src/hotspot/share/services/virtualMemoryTracker.hpp ! src/hotspot/share/utilities/debug.cpp Changeset: 1f926609 Author: Pavel Rappo Date: 2022-02-03 14:55:08 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1f926609372c9b80dde831a014310a3729768c92 8281057: Fix doc references to overriding in JLS Reviewed-by: darcy, iris, dholmes, cjplummer ! src/hotspot/share/oops/klassVtable.cpp ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java Changeset: 86c24b31 Author: Alex Menkov Date: 2022-02-03 15:51:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/86c24b319ed5e2f0097cfb4b1afe2eb358eb5f75 8240908: RetransformClass does not know about MethodParameters attribute Reviewed-by: cjplummer, sspitsyn ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp + test/jdk/java/lang/instrument/RetransformWithMethodParametersTest.java = test/lib/jdk/test/lib/util/ClassTransformer.java Changeset: cda9c301 Author: Yumin Qi Date: 2022-02-03 18:02:40 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cda9c3011beeec8df68e78e096132e712255ce1b 8278753: Runtime crashes with access violation during JNI_CreateJavaVM call Reviewed-by: dholmes, stuefe ! make/data/hotspot-symbols/symbols-unix ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/native/libjimage/imageDecompressor.cpp Changeset: 130cf46d Author: Brian Burkhalter Date: 2022-02-03 19:12:27 +0000 URL: https://git.openjdk.java.net/valhalla/commit/130cf46dcb7b089fcf4a4e950cdc701513f7b53f 4750574: (se spec) Selector spec should clarify calculation of select return value Reviewed-by: alanb ! src/java.base/share/classes/java/nio/channels/Selector.java Changeset: b6935dfb Author: Yi-Fan Tsai Committer: Paul Hohensee Date: 2022-02-03 19:34:28 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b6935dfb86a1c011355d2dfb2140be26ec536351 8251505: Use of types in compiler shared code should be consistent. Reviewed-by: phh ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/runtime/interfaceSupport.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/sweeper.cpp ! src/hotspot/share/runtime/sweeper.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: e44dc638 Author: Dean Long Date: 2022-02-03 22:10:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e44dc638b8936b1b76ca9ddf9ece0c5c4705a19c 8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack Co-authored-by: Yi Yang Co-authored-by: Yi Yang Reviewed-by: vlivanov, thartmann ! src/hotspot/share/runtime/deoptimization.cpp + test/hotspot/jtreg/compiler/interpreter/Custom.jasm + test/hotspot/jtreg/compiler/interpreter/VerifyStackWithUnreachableBlock.java Changeset: 63e11cfa Author: Andrey Turbanov Date: 2022-02-04 07:08:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/63e11cfa3f887515ca36ab5147c3e6fa540978d3 8280970: Cleanup dead code in java.security.Provider Reviewed-by: valeriep ! src/java.base/share/classes/java/security/Provider.java Changeset: c936e705 Author: Richard Reingruber Date: 2022-02-04 07:57:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c936e7059b848d0e0be5f3234c4367657f2af2a7 8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor Reviewed-by: mdoerr, lucy ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/share/runtime/stubCodeGenerator.cpp Changeset: 46c6c6f3 Author: Martin Doerr Date: 2022-02-04 09:13:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/46c6c6f308b5ec0ec3b762df4b76de555287474c 8281043: Intrinsify recursive ObjectMonitor locking for PPC64 Reviewed-by: rrich, lucy ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp Changeset: 51b53a82 Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-02-04 10:51:30 +0000 URL: https://git.openjdk.java.net/valhalla/commit/51b53a821bb3cfb962f80a637f5fb8cde988975a 8280913: Create a regression test for JRootPane.setDefaultButton() method Reviewed-by: aivanov + test/jdk/javax/swing/JRootPane/DefaultButtonTest.java Changeset: 3d926dd6 Author: Rob McKenna Date: 2022-02-04 13:07:03 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3d926dd66ef6551e91a4ebbbc59dcff58f5ede5a 8277795: ldap connection timeout not honoured under contention Reviewed-by: dfuchs, aefimov ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapClientFactory.java ! src/java.naming/share/classes/com/sun/jndi/ldap/pool/Connections.java ! src/java.naming/share/classes/com/sun/jndi/ldap/pool/Pool.java ! src/java.naming/share/classes/com/sun/jndi/ldap/pool/PooledConnectionFactory.java + test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java Changeset: 01f93ddf Author: Matthias Baesken Date: 2022-02-04 07:47:42 +0000 URL: https://git.openjdk.java.net/valhalla/commit/01f93ddf18daea5c0798ac949c6717c37d9cefa0 8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344 Reviewed-by: mullan, xuelei Backport-of: 9bdf6eb7b2412ecff523015f1430dfb6a0e4dd09 ! test/jdk/sun/security/pkcs12/KeytoolOpensslInteropTest.java Changeset: 7207f2a3 Author: Jesper Wilhelmsson Date: 2022-02-04 14:47:06 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7207f2a3b59c684d9d51d378257629729fa7041d Merge Changeset: 66b2c3b6 Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-02-04 15:25:13 +0000 URL: https://git.openjdk.java.net/valhalla/commit/66b2c3b66e253ac3d8718c0c6d7c7551dbe04001 8280948: [TESTBUG] Write a regression test for JDK-4659800 Reviewed-by: aivanov + test/jdk/javax/swing/JButton/4659800/EnterKeyActivatesButton.java Changeset: d4b99bc0 Author: Albert Mingkun Yang Date: 2022-02-04 16:03:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d4b99bc029771d29c2119a9b5f381cae3fe21ec1 8281120: G1: Rename G1BlockOffsetTablePart::alloc_block to update_for_block Reviewed-by: tschatzl, iwalulya, sjohanss ! src/hotspot/share/gc/g1/g1BlockOffsetTable.cpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/g1/heapRegion.inline.hpp Changeset: f5d6fddc Author: Daniel D. Daugherty Date: 2022-02-04 17:37:01 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f5d6fddc6df8c5c5456a2544b131833d5227292b 8280476: [macOS] : hotspot arm64 bug exposed by latest clang Reviewed-by: kbarrett, adinn ! src/hotspot/cpu/aarch64/immediate_aarch64.cpp Changeset: 8e4ef818 Author: Yumin Qi Date: 2022-02-04 19:20:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8e4ef818a90de35ae75e7f82a780653d623bb29c 8280767: -XX:ArchiveClassesAtExit does not archive BoundMethodHandle$Species classes Reviewed-by: iklam, ccheung ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/prims/jvm.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/CDSLambdaInvoker.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestLambdaInvokers.java Changeset: 48523b09 Author: Kevin Walls Date: 2022-02-04 21:23:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/48523b090886f7b24ed4009f0c150efaa6f7b056 8281049: man page update for jstatd Security Manager dependency removal Reviewed-by: cjplummer ! src/jdk.jstatd/share/man/jstatd.1 Changeset: 42e272e1 Author: Xue-Lei Andrew Fan Date: 2022-02-05 07:44:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/42e272e181f188c89fa88f144715f19235943fca 8281289: Improve with List.copyOf Reviewed-by: jnimeh, hchao ! src/java.base/share/classes/javax/net/ssl/SSLParameters.java Changeset: 77b0240d Author: Joe Darcy Date: 2022-02-06 02:19:32 +0000 URL: https://git.openjdk.java.net/valhalla/commit/77b0240d44fd356711d75bc241e198f6f89ada8f 8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950 Reviewed-by: jlaskey ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java ! test/jdk/java/util/Random/RandomNextDoubleBoundary.java Changeset: f7814c12 Author: Toshio Nakamura Committer: Phil Race Date: 2022-02-06 18:39:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f7814c120bf84d7e9b459f81a6ce19b44fa122ec 8139173: [macosx] JInternalFrame shadow is not properly drawn Reviewed-by: prr, serb ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameBorder.java + test/jdk/javax/swing/plaf/aqua/JInternalFrameBorderTest.java Changeset: 2f48a3f0 Author: Phil Race Date: 2022-02-06 21:13:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2f48a3f032dcfe159a7ab4a3d0afd0a0760d0a04 8279878: java/awt/font/JNICheck/JNICheck.sh test fails on Ubuntu 21.10 Reviewed-by: serb ! test/jdk/java/awt/font/JNICheck/JNICheck.sh Changeset: 5dfff740 Author: Prasanta Sadhukhan Date: 2022-02-07 04:48:02 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5dfff7406ef3dc37a77ce9545f6f56c49b41e466 8166050: partialArray is not created in javax.swing.text.html.parser.NPrintWriter.println(...) method Reviewed-by: prr ! src/java.desktop/share/classes/javax/swing/text/html/parser/TagStack.java Changeset: f2302822 Author: Xue-Lei Andrew Fan Date: 2022-02-07 06:30:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f2302822c0ef30fbf7cb4e31b8dc1513e9413a23 8281298: Revise the creation of unmodifiable list Reviewed-by: redestad ! src/java.base/share/classes/javax/net/ssl/SSLParameters.java Changeset: f5e08700 Author: Emanuel Peter Committer: Tobias Hartmann Date: 2022-02-07 08:18:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f5e0870091ad9534e7a3dd08ef2e3ee7cd781c6d 8281117: Add regression test for JDK-8280587 Reviewed-by: chagedorn, thartmann, xliu + test/hotspot/jtreg/compiler/loopopts/TestCastIIMakesMainLoopPhiDead2.java Changeset: 95fd9d20 Author: Alex Menkov Date: 2022-02-07 09:08:34 +0000 URL: https://git.openjdk.java.net/valhalla/commit/95fd9d20f329b15d68e613ec7f932254715e9130 8281243: Test java/lang/instrument/RetransformWithMethodParametersTest.java is failing Reviewed-by: sspitsyn, dcubed, lmesnik ! test/jdk/java/lang/instrument/RetransformWithMethodParametersTest.java Changeset: f3e82426 Author: Julia Boes Date: 2022-02-07 09:28:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f3e8242683f6c729d89e2f49b0977889b4786f4a 8280965: Tests com/sun/net/httpserver/simpleserver fail with FileSystemException on Windows 11 Reviewed-by: dfuchs ! test/jdk/com/sun/net/httpserver/simpleserver/CustomFileSystemTest.java ! test/jdk/com/sun/net/httpserver/simpleserver/SimpleFileServerTest.java Changeset: 4c169495 Author: Aleksei Efimov Date: 2022-02-07 12:10:14 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4c169495a2c4bfdcbc82e94e9ca1ee0cc050daf9 8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled Reviewed-by: dfuchs ! src/jdk.naming.dns/share/classes/com/sun/jndi/dns/DnsClient.java Changeset: 76677716 Author: Albert Mingkun Yang Date: 2022-02-07 12:26:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/76677716abf1124992c8f5d4d5b159b1ec0f3cab 8281114: G1: Remove PreservedMarks::init_forwarded_mark Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/shared/preservedMarks.hpp ! src/hotspot/share/gc/shared/preservedMarks.inline.hpp Changeset: 22a1a32c Author: Stephanie Crater Committer: Thomas Schatzl Date: 2022-02-07 12:43:28 +0000 URL: https://git.openjdk.java.net/valhalla/commit/22a1a32c7e5ceb7be6725f5369dcfc2a11fecc2f 8268387: Rename maximum compaction to maximal compaction in G1 Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullCollector.hpp ! src/hotspot/share/gc/g1/g1FullGCScope.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp Changeset: a0f6f240 Author: Sean Mullan Date: 2022-02-07 14:06:08 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a0f6f2409ea61ff9ed9dc2e2b46e309c751d456d 8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR Reviewed-by: weijun, hchao ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java + test/jdk/java/security/SignedJar/CustomClassLoader.java + test/jdk/java/security/SignedJar/SignedJarWithCustomClassLoader.java Changeset: 2ed1f4cf Author: Weijun Wang Date: 2022-02-07 15:05:30 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2ed1f4cf32b1cef4ccb129d622f9368c3469d1d4 8281175: Add a -providerPath option to jarsigner Reviewed-by: xuelei, hchao ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java ! test/jdk/sun/security/tools/jarsigner/AltProvider.java Changeset: 1dfc94dd Author: Kevin Walls Date: 2022-02-07 17:36:40 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1dfc94dd561f6a91ef3784fe28c83f839f8188c4 8281377: Remove vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java from problemlist. Reviewed-by: sspitsyn ! test/hotspot/jtreg/ProblemList.txt Changeset: 8a662105 Author: Kevin Walls Date: 2022-02-07 18:16:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8a662105c2da1f0fb9b7ecc5058fc85858439ed9 6779701: Wrong defect ID in the code of test LocalRMIServerSocketFactoryTest.java Reviewed-by: cjplummer, dfuchs ! test/jdk/sun/management/jmxremote/LocalRMIServerSocketFactoryTest.java Changeset: 2f71a6b3 Author: Erik Gahlin Date: 2022-02-07 19:54:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2f71a6b39ed6bb869b4eb3e81bc1d87f4b3328ff 8279613: JFR: Snippify Javadoc Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/AnnotationElement.java ! src/jdk.jfr/share/classes/jdk/jfr/Event.java ! src/jdk.jfr/share/classes/jdk/jfr/EventFactory.java ! src/jdk.jfr/share/classes/jdk/jfr/EventSettings.java ! src/jdk.jfr/share/classes/jdk/jfr/FlightRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/MetadataDefinition.java ! src/jdk.jfr/share/classes/jdk/jfr/Recording.java ! src/jdk.jfr/share/classes/jdk/jfr/SettingControl.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/EventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedObject.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingFile.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/package-info.java + src/jdk.jfr/share/classes/jdk/jfr/consumer/snippet-files/Snippets.java + src/jdk.jfr/share/classes/jdk/jfr/snippet-files/Snippets.java Changeset: 4eacacb5 Author: Aleksey Shipilev Date: 2022-02-08 07:19:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4eacacb5ad61020c11a521111c40af9fa72e2ff5 8281314: Rename Stack{Red,Yellow,Reserved,Shadow}Pages multipliers Reviewed-by: stuefe, coleenp, xliu ! src/hotspot/share/runtime/stackOverflow.cpp Changeset: f2a9627c Author: Masanori Yano Committer: Alan Bateman Date: 2022-02-08 08:31:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f2a9627c05f9ef82eb83d8c1b9d4209bf42e7d8d 8279329: Remove hardcoded IPv4 available policy on Windows Reviewed-by: djelinski, alanb, dfuchs, aefimov ! src/java.base/windows/native/libnet/net_util_md.c Changeset: 861f2797 Author: Kim Barrett Date: 2022-02-08 09:02:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/861f2797f7d56ab185117f27dae2660af9250f6a 8280917: Simplify G1ConcurrentRefineThread activation Reviewed-by: iwalulya, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: f5d8cebb Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-02-08 12:39:43 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f5d8cebbb6f1b38247c3b30ba8859874a0e98115 8281296: Create a regression test for JDK-4515999 Reviewed-by: aivanov + test/jdk/javax/swing/JSpinner/4515999/JSpinnerMouseAndKeyPressTest.java Changeset: 83d67452 Author: Thomas Stuefe Date: 2022-02-08 14:43:45 +0000 URL: https://git.openjdk.java.net/valhalla/commit/83d67452da248db17bc72de80247a670d6813cf5 8281450: Remove unnecessary operator new and delete from ObjectMonitor Reviewed-by: dholmes ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp Changeset: 380378c5 Author: Harold Seigel Date: 2022-02-08 16:00:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/380378c551b4243ef72d868571f725b390e12124 8281400: Remove unused wcslen() function Reviewed-by: dcubed, coleenp, lfoltan ! src/hotspot/share/utilities/globalDefinitions_gcc.hpp ! src/hotspot/share/utilities/globalDefinitions_xlc.hpp Changeset: 7f19c700 Author: Martin Doerr Date: 2022-02-08 17:48:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7f19c700707573000a37910dd6d2f2bb6e8439ad 8281061: [s390] JFR runs into assertions while validating interpreter frames Reviewed-by: lucy, rrich ! src/hotspot/cpu/s390/frame_s390.cpp ! src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp Changeset: 92f4f40d Author: Christian Stein Committer: Lance Andersen Date: 2022-02-08 17:53:42 +0000 URL: https://git.openjdk.java.net/valhalla/commit/92f4f40da6c4ff55c7ed334007c9c6ca0dc15d99 8281104: jar --create should create missing parent directories Reviewed-by: lancea ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar.properties + test/jdk/tools/jar/CreateMissingParentDirectories.java Changeset: 5fb56dbb Author: Daniel D. Daugherty Date: 2022-02-08 20:16:34 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5fb56dbb0b4e3345ca6f48ba9c01bd467f04aa6f 8281476: ProblemList tools/jar/CreateMissingParentDirectories.java Reviewed-by: azvegint, bpb, lancea ! test/jdk/ProblemList.txt Changeset: d658d945 Author: Kim Barrett Date: 2022-02-08 20:29:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d658d945cf57bab8e61302841dcb56b36e48eff3 8280828: Improve invariants in NonblockingQueue::append Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/utilities/nonblockingQueue.inline.hpp Changeset: fb17a8ec Author: Quan Anh Mai Committer: Jie Fu Date: 2022-02-08 23:38:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fb17a8ece0a3593c51a8be60533916bf70778a93 8278947: Support for array constants in constant table Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/asm/assembler.hpp ! src/hotspot/share/opto/constantTable.cpp ! src/hotspot/share/opto/constantTable.hpp Changeset: 2f46af05 Author: Sergey Bylokhov Date: 2022-02-09 01:26:42 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2f46af05ce2d43e19e0095680eb3a52fd904c774 8280132: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder Reviewed-by: prr ! src/java.desktop/share/classes/com/sun/beans/introspect/MethodInfo.java ! test/jdk/java/beans/Introspector/MethodOrderException.java Changeset: 13f739d3 Author: Kim Barrett Date: 2022-02-09 04:10:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/13f739d330e393f840d134f5327a025957e1f795 8280830: Change NonblockingQueue::try_pop variable named "result" Reviewed-by: dholmes ! src/hotspot/share/utilities/nonblockingQueue.inline.hpp Changeset: bce5dd17 Author: Kim Barrett Date: 2022-02-09 04:38:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bce5dd17665d1cdf2901690ca54f84ec200560af 8280438: Improve BufferNode::Allocator::release to avoid walking pending list Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp Changeset: fc772178 Author: Aleksey Shipilev Date: 2022-02-09 06:28:00 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fc77217814eb1a346d7380299abdc2b01a69b4de 8281168: Micro-optimize VarForm.getMemberName for interpreter Reviewed-by: redestad, vlivanov, mchung ! src/java.base/share/classes/java/lang/invoke/VarForm.java Changeset: cb2f8cae Author: Artem Semenov Date: 2022-02-09 06:50:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cb2f8caed2de1bf0a85a7ebfd232c36371e06c98 8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working Reviewed-by: ant, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityAction.m + test/jdk/java/awt/a11y/AccessibleActionsTest.java Changeset: 072e7b4d Author: Kim Barrett Date: 2022-02-09 06:53:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/072e7b4da0449ab7c1ab1ba0cfbb3db233823e7c 8272807: Permit use of memory concurrent with pretouch Reviewed-by: shade, stuefe ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp Changeset: f924e50c Author: Daniel Jeli?ski Committer: Alexey Ivanov Date: 2022-02-09 08:34:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f924e50c42c2f9548d2983449a98c45af40b0d35 8281440: AWT: Conversion from string literal loses const qualifier Reviewed-by: prr, aivanov ! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Debug.cpp ! src/java.desktop/windows/native/libawt/windows/awt_DesktopProperties.cpp ! src/java.desktop/windows/native/libawt/windows/awt_DrawingSurface.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Font.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Font.h ! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp ! src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsEnv.cpp Changeset: f092baba Author: Alexey Pavlyutkin Committer: Aleksey Shipilev Date: 2022-02-09 09:33:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f092babafb58563a4044463e157e02c397d8c9bc 8281195: Mistakenly used logging causes significant overhead in interpreter Reviewed-by: shade, dholmes ! src/hotspot/share/interpreter/oopMapCache.cpp Changeset: 69e390a0 Author: Roland Westrelin Date: 2022-02-09 10:18:27 +0000 URL: https://git.openjdk.java.net/valhalla/commit/69e390a0e86f82eaa7bcdbc3ef509734dbe3b22f 8262721: Add Tests to verify single iteration loops are properly optimized Reviewed-by: neliasso, chagedorn, kvn + test/hotspot/jtreg/compiler/c2/irTests/TestFewIterationsCountedLoop.java Changeset: bb2e10cc Author: Matthias Baesken Date: 2022-02-09 11:33:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bb2e10ccea0c0b89b06ace034c99253e9999ec47 8281274: deal with ActiveProcessorCount in os::Linux::print_container_info Reviewed-by: stuefe, sgehwolf, dholmes, iklam ! src/hotspot/os/linux/os_linux.cpp ! test/hotspot/jtreg/containers/docker/TestMisc.java Changeset: 8b384b98 Author: Christian Stein Committer: Lance Andersen Date: 2022-02-09 11:34:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8b384b986a0a6a972c29a2f7a4d9fd40dc479b48 8281470: tools/jar/CreateMissingParentDirectories.java fails with "Should have failed creating jar file" Reviewed-by: lancea ! test/jdk/ProblemList.txt ! test/jdk/tools/jar/CreateMissingParentDirectories.java Changeset: f823bed0 Author: Bhavana Kilambi Committer: Paul Hohensee Date: 2022-02-09 13:18:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f823bed043dc38d838baaf8c2024ef24b8a50e9b 8280007: Enable Neoverse N1 optimizations for Arm Neoverse V1 & N2 Reviewed-by: phh ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: c5c8c064 Author: Vladimir Ivanov Date: 2022-02-09 13:56:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c5c8c0644d9442846de15422285fffeb91c3e0a1 8279822: CI: Constant pool entries in error state are not supported Reviewed-by: kvn, thartmann ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciConstant.hpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciStreams.cpp ! src/hotspot/share/ci/ciStreams.hpp ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/utilities/constantTag.hpp + test/hotspot/jtreg/compiler/runtime/TestConstantsInError.java Changeset: 178b962e Author: Hai-May Chao Date: 2022-02-09 16:53:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/178b962e01cc6c150442bf41dc6bd199caff0042 8265765: DomainKeyStore may stop enumerating aliases if a constituting KeyStore is empty Reviewed-by: weijun ! src/java.base/share/classes/sun/security/provider/DomainKeyStore.java + test/jdk/sun/security/provider/KeyStore/DksWithEmptyKeystore.java Changeset: fd8a3dcc Author: Alexey Ivanov Date: 2022-02-09 19:12:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fd8a3dcc52dc5d6b62edd83eacef5934f6294e80 8280820: Clean up bug8033699 and bug8075609.java tests: regtesthelpers aren't used Reviewed-by: prr ! test/jdk/javax/swing/JRadioButton/8033699/bug8033699.java ! test/jdk/javax/swing/JRadioButton/8075609/bug8075609.java Changeset: 7218d844 Author: John Jiang Date: 2022-02-10 08:11:08 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7218d8449bfaa3f121b66088a88a194f77f06753 8281567: Remove @throws IOException from X509CRLImpl::getExtension docs Reviewed-by: xuelei, jiefu ! src/java.base/share/classes/sun/security/x509/X509CRLImpl.java Changeset: fa0a72c0 Author: Emanuel Peter Committer: Tobias Hartmann Date: 2022-02-10 09:29:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fa0a72c030432f9ea4ad9913a2bb4096324410aa 8252496: C2: Useless code in MergeMemNode::Ideal Reviewed-by: thartmann, chagedorn, vlivanov ! src/hotspot/share/opto/memnode.cpp Changeset: c820d1ac Author: Leo Korinth Date: 2022-02-10 10:34:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c820d1acb7c6e600a890e4205eef0be8a4c7a791 8281379: Assign package declarations to all jtreg test cases under gc Reviewed-by: kbarrett, tschatzl ! test/hotspot/jtreg/gc/g1/TestG1SkipCompaction.java ! test/hotspot/jtreg/gc/g1/numa/TestG1NUMATouchRegions.java ! test/hotspot/jtreg/gc/z/TestGarbageCollectorMXBean.java ! test/hotspot/jtreg/gc/z/TestMemoryMXBean.java ! test/hotspot/jtreg/gc/z/TestMemoryManagerMXBean.java Changeset: d442328b Author: Maxim Kartashev Committer: Magnus Ihse Bursie Date: 2022-02-10 10:46:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d442328bc2f2f4bc35dd054487a78552e3d9a759 8281262: Windows builds in different directories are not fully reproducible Co-authored-by: Erik Joelsson Reviewed-by: erikj, ihse ! make/TestImage.gmk ! make/autoconf/flags-cflags.m4 ! test/jdk/build/AbsPathsInImage.java Changeset: 3ce1c5b6 Author: Kim Barrett Date: 2022-02-10 11:28:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3ce1c5b6ce02749ef8f9d35409b7bcbf27f47203 8280832: Update usage docs for NonblockingQueue Reviewed-by: iwalulya, dholmes ! src/hotspot/share/utilities/nonblockingQueue.hpp ! src/hotspot/share/utilities/nonblockingQueue.inline.hpp Changeset: 039313d6 Author: Prasanta Sadhukhan Date: 2022-02-10 12:02:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/039313d65d47dc85cb8c91d3e1d2752d365f70f9 8054449: Incompatible type in example code in TreePath Reviewed-by: aivanov, dmarkov ! src/java.desktop/share/classes/javax/swing/tree/TreePath.java Changeset: 83b6e4bc Author: Paul Sandoz Date: 2022-02-10 18:37:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/83b6e4bc04db89a846a1b6c2d0666efe139f8f61 8281294: [vectorapi] FIRST_NONZERO reduction operation throws IllegalArgumentExcept on zero vectors Reviewed-by: jrose ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/gen-template.sh - test/jdk/jdk/incubator/vector/templates/Kernel-Reduction-Masked-Min-op.template = test/jdk/jdk/incubator/vector/templates/Kernel-Reduction-Masked-op-func.template - test/jdk/jdk/incubator/vector/templates/Kernel-Reduction-Max-op.template - test/jdk/jdk/incubator/vector/templates/Kernel-Reduction-Min-op.template + test/jdk/jdk/incubator/vector/templates/Kernel-Reduction-op-func.template - test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Masked-Min-op.template = test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Masked-op-func.template - test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Min-op.template - test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Scalar-Masked-Max-op.template - test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Scalar-Masked-Min-op.template + test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Scalar-Masked-op-func.template - test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Scalar-Max-op.template - test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Scalar-Min-op.template + test/jdk/jdk/incubator/vector/templates/Unit-Reduction-Scalar-op-func.template = test/jdk/jdk/incubator/vector/templates/Unit-Reduction-op-func.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template Changeset: 58c2bd31 Author: Erik Gahlin Date: 2022-02-10 22:51:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/58c2bd315836b9c4fbffa212497fd84c8f589c17 8281536: JFR: Improve jdk.jfr.ContentType documentation Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/ContentType.java ! src/jdk.jfr/share/classes/jdk/jfr/snippet-files/Snippets.java Changeset: 84868e39 Author: David Holmes Date: 2022-02-10 23:23:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/84868e39be4522ba87e603beea0f8da9efa43b6d 8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths Reviewed-by: shade, dcubed ! src/hotspot/share/logging/logConfiguration.cpp ! test/hotspot/gtest/logging/test_logConfiguration.cpp Changeset: eee6a562 Author: Thomas Stuefe Date: 2022-02-11 05:34:27 +0000 URL: https://git.openjdk.java.net/valhalla/commit/eee6a5622dca683d4d6a701daa48e09e8d17b54e 8281522: Rename ADLC classes which have the same name as hotspot variants Reviewed-by: neliasso, kvn + src/hotspot/share/adlc/adlArena.cpp + src/hotspot/share/adlc/adlArena.hpp ! src/hotspot/share/adlc/adlc.hpp ! src/hotspot/share/adlc/adlparse.cpp - src/hotspot/share/adlc/arena.cpp - src/hotspot/share/adlc/arena.hpp ! src/hotspot/share/adlc/dfa.cpp ! src/hotspot/share/adlc/dict2.cpp ! src/hotspot/share/adlc/dict2.hpp ! src/hotspot/share/adlc/forms.cpp ! src/hotspot/share/adlc/forms.hpp ! src/hotspot/share/adlc/formsopt.cpp ! src/hotspot/share/adlc/formssel.cpp Changeset: 65831eb2 Author: Aleksey Shipilev Date: 2022-02-11 06:45:13 +0000 URL: https://git.openjdk.java.net/valhalla/commit/65831eb294b6f1f5f99988836c00005d41c27fd3 8281318: Improve jfr/event/allocation tests reliability Reviewed-by: mgronlun ! test/jdk/jdk/jfr/event/allocation/TestObjectAllocationInNewTLABEvent.java ! test/jdk/jdk/jfr/event/allocation/TestObjectAllocationOutsideTLABEvent.java ! test/jdk/jdk/jfr/event/allocation/TestObjectAllocationSampleEventThrottling.java Changeset: a037b3c3 Author: Thomas Stuefe Date: 2022-02-11 07:21:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a037b3c35831f029d23a88bdd49e7f2c2d951631 8281460: Let ObjectMonitor have its own NMT category Reviewed-by: dholmes, dcubed, shade ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/runtime/objectMonitor.hpp Changeset: 8441d51e Author: Sergey Bylokhov Date: 2022-02-11 07:41:18 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8441d51e71e143250b44eea74114a624cf00cc3e 8281419: The source data for the color conversion can be discarded Reviewed-by: prr, aivanov ! src/java.desktop/share/native/liblcms/LCMS.c Changeset: 3a13425b Author: Aleksey Shipilev Date: 2022-02-11 08:46:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3a13425bc9088cbb6d95e1a46248d7eba27fb1a6 8072070: Improve interpreter stack banging Reviewed-by: xliu, coleenp, mdoerr ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/stackOverflow.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: 90939cb8 Author: Kim Barrett Date: 2022-02-11 09:05:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/90939cb80193c671cae635b7a4e41bd2e6bcdbd5 8281626: NonblockingQueue should use nullptr Reviewed-by: shade, dholmes ! src/hotspot/share/utilities/nonblockingQueue.hpp ! src/hotspot/share/utilities/nonblockingQueue.inline.hpp Changeset: 4d640760 Author: Prasanta Sadhukhan Date: 2022-02-11 09:39:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4d64076058a4ec5df101b06572195ed5fdee6f64 8047749: javadoc for getPathBounds() in TreeUI and BasicTreeUI is incorrect Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/plaf/TreeUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Changeset: d254cf28 Author: Jie Fu Date: 2022-02-11 11:39:54 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d254cf28c5e72bd9b8de863b831015237640ca25 8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions Reviewed-by: shade ! test/jdk/jdk/jfr/event/allocation/TestObjectAllocationInNewTLABEvent.java ! test/jdk/jdk/jfr/event/allocation/TestObjectAllocationOutsideTLABEvent.java ! test/jdk/jdk/jfr/event/allocation/TestObjectAllocationSampleEventThrottling.java Changeset: 4ff5824f Author: Jan Lahoda Date: 2022-02-11 12:11:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4ff5824f5bc13826d2eae1c83094acfcccdb7b8f 8281100: Spurious "variable might not have been initialized" with sealed class switch Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/langtools/tools/javac/patterns/Exhaustiveness.java Changeset: f399ae55 Author: lawrence.andrews Committer: Alexey Ivanov Date: 2022-02-11 15:33:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f399ae558eabdce8960d339ef0758c023aeb89cc 8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails Reviewed-by: prr, aivanov ! test/jdk/java/awt/Graphics/TextAAHintsTest.java Changeset: e73ee0ca Author: Daniel Jeli?ski Committer: Brian Burkhalter Date: 2022-02-11 16:24:43 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e73ee0ca10b644600ee3747b901e5f69104d03df 8281259: MutableBigInteger subtraction could be simplified Reviewed-by: bpb ! src/java.base/share/classes/java/math/MutableBigInteger.java ! test/micro/org/openjdk/bench/java/math/BigIntegers.java Changeset: e75e8cd7 Author: Yumin Qi Date: 2022-02-11 16:42:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e75e8cd708ed478eda08c4a5c724e7e82f57d36e 8279997: check_for_dynamic_dump should not exit vm Reviewed-by: ccheung, iklam ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ArchiveConsistency.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/SharedArchiveFileOption.java Changeset: 88868397 Author: Erik Gahlin Date: 2022-02-11 17:15:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8886839779094f8a13c16be79f88052b2c79eeea 8281622: JFR: Improve documentation of jdk.jfr.Relational Reviewed-by: jbachorik ! src/jdk.jfr/share/classes/jdk/jfr/Relational.java ! src/jdk.jfr/share/classes/jdk/jfr/snippet-files/Snippets.java Changeset: c5ff6e45 Author: Calvin Cheung Date: 2022-02-11 17:39:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c5ff6e45dee41b5703138d323a04c2c7973a08b9 8223077: module path support for dynamic CDS archive Reviewed-by: iklam, minqi ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/runtime/arguments.hpp ! test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ModulePath.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnsupportedBaseArchive.java Changeset: 0786ddb4 Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-02-11 17:40:25 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0786ddb4712296c90df2c9e97c76c203a4de4612 8281535: Create a regression test for JDK-4670051 Reviewed-by: aivanov + test/jdk/javax/swing/JSpinner/4670051/DateFieldUnderCursorTest.java Changeset: 83ffbd2e Author: Dr Heinz M. Kabutz Committer: Paul Sandoz Date: 2022-02-11 18:49:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/83ffbd2e7aed8a9c788395ccbe920ddff221ae16 8277175: Add a parallel multiply method to BigInteger Reviewed-by: psandoz ! src/java.base/share/classes/java/math/BigInteger.java + test/jdk/java/math/BigInteger/BigIntegerParallelMultiplyTest.java + test/micro/org/openjdk/bench/java/math/BigIntegerMersennePrimeMultiply.java + test/micro/org/openjdk/bench/java/math/BigIntegerParallelMultiply.java Changeset: 4032fe76 Author: Joe Darcy Date: 2022-02-11 21:52:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4032fe76dccb6da85927361aee7ceedcdb758e89 8281238: TYPE_USE annotations not printed in correct position in toString output Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! test/langtools/tools/javac/patterns/Annotations.java ! test/langtools/tools/javac/tree/ArrayTypeToString.java ! test/langtools/tools/javac/tree/ArrayTypeToString.out Changeset: c3179a87 Author: Joe Darcy Date: 2022-02-11 23:24:08 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c3179a8760019b5954e344bf0d2775e1e1968f32 8281462: Annotation toString output for enum not reusable for source input Reviewed-by: mchung ! src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java ! test/jdk/java/lang/annotation/AnnotationToStringTest.java ! test/jdk/java/lang/annotation/AnnotationTypeMismatchException/EnumTypeMismatchTest.java ! test/jdk/java/lang/annotation/TestConstructorParameterAnnotations.java ! test/jdk/java/lang/annotation/typeAnnotations/GetAnnotatedNestedSuperclass.java ! test/jdk/java/lang/annotation/typeAnnotations/TestConstructorParameterTypeAnnotations.java ! test/jdk/java/lang/annotation/typeAnnotations/TestObjectMethods.java ! test/jdk/java/lang/reflect/records/RecordReflectionTest.java Changeset: 6fdfe045 Author: Joe Darcy Date: 2022-02-12 01:33:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6fdfe0458df989a7946b4f52a3023e8a39fb3bbb 8281674: tools/javac/annotations/typeAnnotations/classfile/AnonymousExtendsTest.java fails with AssertionError Reviewed-by: vromero ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousExtendsTest.java Changeset: aa918a6e Author: Alexander Zuev Date: 2022-02-12 09:26:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/aa918a6ec4cd1356efd481c6f6fa94959f94f7b3 8281033: Improve ImageCheckboxTest to test all available LaF Reviewed-by: serb ! test/jdk/javax/swing/JCheckBox/ImageCheckboxFocus/ImageCheckboxTest.java Changeset: 58dae60d Author: Alexey Bakhtin Date: 2022-02-12 11:54:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/58dae60da0711c4ae0cb23f8ce2328e051d603b2 8274524: SSLSocket.close() hangs if it is called during the ssl handshake Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java + test/jdk/sun/security/ssl/SSLSocketImpl/ClientSocketCloseHang.java Changeset: 67077a04 Author: Emanuel Peter Committer: David Holmes Date: 2022-02-12 13:08:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/67077a04307b512219a46b6c4c274ce308ee46de 8278423: ExtendedDTraceProbes should be deprecated Reviewed-by: dholmes, hseigel, kvn, thartmann ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/man/java.1 ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java ! test/hotspot/jtreg/serviceability/7170638/SDTProbesGNULinuxTest.java Changeset: 8acfbc2e Author: David Holmes Date: 2022-02-12 14:12:42 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8acfbc2e21063c3dc088c25c1574bcefa94e5a24 8281675: VMDeprecatedOptions test fails after JDK-8278423 Reviewed-by: dcubed ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: eff5dafb Author: Sergey Bylokhov Date: 2022-02-12 22:10:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/eff5dafba9f72bd0612357712ffa472ce1c9166a 8274939: Incorrect size of the pixel storage is used by the robot on macOS Reviewed-by: aivanov, prr ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m ! test/jdk/java/awt/Robot/CheckCommonColors/CheckCommonColors.java Changeset: adbe0661 Author: Bhavana Kilambi Committer: Ningsheng Jian Date: 2022-02-14 01:33:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/adbe0661029f12a36a44af52b83b189384d33a27 8239927: Product variable PrefetchFieldsAhead is unused and should be removed Reviewed-by: njian, dholmes ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 483d4b97 Author: Nils Eliasson Date: 2022-02-14 08:27:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/483d4b97e0ae4ab7b0d87058901f57688a0f0811 8281505: Add CompileCommand PrintIdealPhase Reviewed-by: kvn, thartmann, chagedorn ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compilerDirectives.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/compiler/directivesParser.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/phasetype.hpp + test/hotspot/jtreg/compiler/oracle/PrintIdealPhaseTest.java Changeset: 1ef45c5b Author: Roland Westrelin Date: 2022-02-14 08:35:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1ef45c5bbdeb4e1ca65c6d8f3ac1568a6951f3a7 8280799: ?2: assert(false) failed: cyclic dependency prevents range check elimination Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/split_if.cpp + test/hotspot/jtreg/compiler/loopopts/TestPredicateInputBelowLoopPredicate.java Changeset: 46f52296 Author: Roberto Casta?eda Lozano Date: 2022-02-14 08:37:31 +0000 URL: https://git.openjdk.java.net/valhalla/commit/46f522962f1b2bbb2513823821e332db1093994b 8281539: IGV: schedule approximation computes immediate dominators wrongly Replace custom dominator computation with one from the WALA libraries. Reviewed-by: neliasso, chagedorn ! src/utils/IdealGraphVisualizer/ServerCompiler/pom.xml ! src/utils/IdealGraphVisualizer/ServerCompiler/src/main/java/com/sun/hotspot/igv/servercompiler/ServerCompilerScheduler.java ! src/utils/IdealGraphVisualizer/pom.xml Changeset: 2632d40d Author: Stefan Johansson Date: 2022-02-14 09:03:45 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2632d40dfc9f681e53fe04d32b6380ffb4eeb88c 8281637: Remove unused VerifyOption_G1UseNextMarking Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.inline.hpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/shared/verifyOption.hpp Changeset: 25972062 Author: Albert Mingkun Yang Date: 2022-02-14 09:15:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2597206242356d42ca5d08be809cfdff79df924d 8280783: Parallel: Refactor PSCardTable::scavenge_contents_parallel Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/parallel/psCardTable.cpp ! src/hotspot/share/gc/parallel/psCardTable.hpp Changeset: c61d629a Author: Emanuel Peter Committer: Christian Hagedorn Date: 2022-02-14 09:52:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c61d629add65f9c25f73c335f2a3c5095da5be52 8281553: Ensure we only require liveness from mach-nodes with barriers Reviewed-by: neliasso, chagedorn ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: 95f198b2 Author: Magnus Ihse Bursie Date: 2022-02-14 10:31:42 +0000 URL: https://git.openjdk.java.net/valhalla/commit/95f198b2b1b2d5437515dc837cc160e4224c0ff3 8274980: Improve adhoc build version strings Reviewed-by: shade, erikj ! .github/workflows/submit.yml ! make/Docs.gmk ! make/autoconf/jdk-version.m4 ! make/autoconf/spec.gmk.in ! make/hotspot/lib/CompileJvm.gmk ! test/jdk/java/lang/RuntimeTests/Version/Basic.java ! test/langtools/tools/javac/options/modes/InfoOptsTest.java Changeset: 534e5578 Author: Vladimir Ivanov Date: 2022-02-14 11:57:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/534e557874274255c55086b4f6128063cbd9cc58 8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers Reviewed-by: dlong, kvn ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/interpreter/bootstrapInfo.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/linkResolver.hpp ! test/jdk/ProblemList-Xcomp.txt Changeset: 2604a88f Author: Leo Korinth Date: 2022-02-14 12:05:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2604a88fbb6d0f9aec51c7d607ea275bc34a672c 8281585: Remove unused imports under test/lib and jtreg/gc Reviewed-by: dholmes, sspitsyn ! test/hotspot/jtreg/gc/TestAllocateHeapAt.java ! test/hotspot/jtreg/gc/TestAllocateHeapAtMultiple.java ! test/hotspot/jtreg/gc/TestCardTablePageCommits.java ! test/hotspot/jtreg/gc/TestSmallHeap.java ! test/hotspot/jtreg/gc/arguments/TestAggressiveHeap.java ! test/hotspot/jtreg/gc/arguments/TestArrayAllocatorMallocLimit.java ! test/hotspot/jtreg/gc/arguments/TestCompressedClassFlags.java ! test/hotspot/jtreg/gc/arguments/TestG1ConcMarkStepDurationMillis.java ! test/hotspot/jtreg/gc/arguments/TestG1ConcRefinementThreads.java ! test/hotspot/jtreg/gc/arguments/TestG1HeapRegionSize.java ! test/hotspot/jtreg/gc/arguments/TestG1PercentageOptions.java ! test/hotspot/jtreg/gc/arguments/TestG1RemSetFlags.java ! test/hotspot/jtreg/gc/arguments/TestHeapFreeRatio.java ! test/hotspot/jtreg/gc/arguments/TestInitialTenuringThreshold.java ! test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java ! test/hotspot/jtreg/gc/arguments/TestMaxMinHeapFreeRatioFlags.java ! test/hotspot/jtreg/gc/arguments/TestMaxNewSize.java ! test/hotspot/jtreg/gc/arguments/TestMaxRAMFlags.java ! test/hotspot/jtreg/gc/arguments/TestMinAndInitialSurvivorRatioFlags.java ! test/hotspot/jtreg/gc/arguments/TestNewRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java ! test/hotspot/jtreg/gc/arguments/TestNewSizeThreadIncrease.java ! test/hotspot/jtreg/gc/arguments/TestObjectTenuringFlags.java ! test/hotspot/jtreg/gc/arguments/TestParallelGCThreads.java ! test/hotspot/jtreg/gc/arguments/TestSelectDefaultGC.java ! test/hotspot/jtreg/gc/arguments/TestSmallInitialHeapWithLargePageAndNUMA.java ! test/hotspot/jtreg/gc/arguments/TestSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestUnrecognizedVMOptionsHandling.java ! test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgoTools.java ! test/hotspot/jtreg/gc/arguments/TestUseNUMAInterleaving.java ! test/hotspot/jtreg/gc/arguments/TestVerifyBeforeAndAfterGCFlags.java ! test/hotspot/jtreg/gc/epsilon/TestClasses.java ! test/hotspot/jtreg/gc/g1/TestEvacuationFailure.java ! test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData.java ! test/hotspot/jtreg/gc/g1/TestSkipRebuildRemsetPhase.java ! test/hotspot/jtreg/gc/stress/gclocker/TestExcessGCLockerCollections.java ! test/lib/RedefineClassHelper.java ! test/lib/jdk/test/lib/OSVersion.java ! test/lib/jdk/test/lib/Utils.java ! test/lib/jdk/test/lib/apps/LingeredApp.java ! test/lib/jdk/test/lib/artifacts/ArtifactManager.java ! test/lib/jdk/test/lib/classloader/ClassUnloadCommon.java ! test/lib/jdk/test/lib/containers/docker/Common.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java ! test/lib/jdk/test/lib/format/ArrayCodec.java ! test/lib/jdk/test/lib/format/ArrayDiff.java ! test/lib/jdk/test/lib/helpers/ClassFileInstaller.java ! test/lib/jdk/test/lib/hexdump/ObjectStreamPrinter.java ! test/lib/jdk/test/lib/hprof/model/JavaObjectArray.java ! test/lib/jdk/test/lib/hprof/model/JavaThing.java ! test/lib/jdk/test/lib/hprof/model/JavaValueArray.java ! test/lib/jdk/test/lib/hprof/model/ReachableExcludesImpl.java ! test/lib/jdk/test/lib/hprof/model/ReachableObjects.java ! test/lib/jdk/test/lib/hprof/util/ArraySorter.java ! test/lib/jdk/test/lib/hprof/util/Misc.java ! test/lib/jdk/test/lib/security/KeyStoreUtils.java ! test/lib/jdk/test/lib/security/timestamp/DefaultRespInterceptor.java ! test/lib/jdk/test/lib/security/timestamp/TsaHandler.java ! test/lib/jdk/test/lib/security/timestamp/TsaServer.java ! test/lib/jdk/test/lib/util/JavaAgentBuilder.java Changeset: 9d0a4c3f Author: Brian J. Stafford Committer: Thomas Schatzl Date: 2022-02-14 12:20:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9d0a4c3f2e347c30ff56ba1416c08cc662f7f23c 8274238: Inconsistent type for young_list_target_length() Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1Policy.hpp Changeset: f07b8165 Author: Thomas Stuefe Date: 2022-02-14 16:41:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f07b8165231799383303e5c0755d07afd2feb7fd 8280940: gtest os.release_multi_mappings_vm is racy Reviewed-by: dcubed, sjohanss ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 88fc3bfd Author: Vladimir Ivanov Date: 2022-02-14 18:46:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/88fc3bfdff7f89a02fcfb16909df144e6173c658 8280473: CI: Support unresolved JVM_CONSTANT_Dynamic constant pool entries Reviewed-by: dlong, redestad, neliasso ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_InstructionPrinter.cpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciStreams.cpp ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/opto/parse2.cpp + test/hotspot/jtreg/compiler/runtime/TestConstantDynamic.java ! test/hotspot/jtreg/compiler/runtime/TestConstantsInError.java Changeset: 16f649b9 Author: Ioi Lam Date: 2022-02-14 18:53:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/16f649b9c5b480d2a8499b1a92939cdf53ecc8dc 8281678: appcds/dynamicArchive/ArchiveConsistency.java fails after JDK-8279997 Reviewed-by: shade, dcubed ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ArchiveConsistency.java Changeset: 1a7b70a8 Author: Phil Race Date: 2022-02-14 23:31:13 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1a7b70a8be0a236b98925a8320d25d88a405d595 8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4 Reviewed-by: serb ! src/java.desktop/share/classes/com/sun/media/sound/DirectAudioDevice.java ! test/jdk/javax/sound/sampled/Clip/SetPositionHang.java Changeset: d4cd8dfe Author: Jaikiran Pai Date: 2022-02-15 03:53:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d4cd8dfedbe220fb3b9a68650aba90536e9b12ee 8281634: jdeps: java.lang.InternalError: Missing message: err.invalid.filters Reviewed-by: dfuchs, naoto, mchung ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties ! test/langtools/tools/jdeps/Options.java Changeset: f33329eb Author: Harshitha Onkar Committer: Prasanta Sadhukhan Date: 2022-02-15 05:03:34 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f33329eb7f7a1a541d8f30ba8952b0b922ac5257 8016524: [macosx] Bottom line is not visible for JTableHeader Reviewed-by: psadhukhan, prr ! src/java.desktop/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java + test/jdk/javax/swing/JTableHeader/8016524/JTHeaderBorderTest.java Changeset: b1564624 Author: Aleksey Shipilev Date: 2022-02-15 06:19:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b1564624ce454d0df9b2464424b7b5e449481ee6 8281467: Allow larger OptoLoopAlignment and CodeEntryAlignment Reviewed-by: kvn, dlong ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp ! src/hotspot/share/runtime/globals.hpp + test/hotspot/jtreg/compiler/arguments/TestCodeEntryAlignment.java + test/hotspot/jtreg/compiler/arguments/TestOptoLoopAlignment.java Changeset: 11f943d1 Author: Kim Barrett Date: 2022-02-15 06:51:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/11f943d148e7bc8d931c382ff019b3e65a87432e 8280916: Simplify HotSpot Style Guide editorial changes Reviewed-by: dcubed, dholmes, stuefe, stefank, kvn, tschatzl ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 622970e4 Author: Andrey Turbanov Date: 2022-02-15 07:10:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/622970e47cedd6e0b94b74235aa984ad79281389 8281728: Redundant null check in LineNumberInputStream.read Reviewed-by: redestad ! src/java.base/share/classes/java/io/LineNumberInputStream.java Changeset: 8819f453 Author: Nils Eliasson Date: 2022-02-15 08:20:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8819f4535743f6504b4aaa62c7d87926dd1b0013 8281722: Removal of PrintIdealLevel Reviewed-by: chagedorn, thartmann ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: f82866bc Author: Dmitry Markov Date: 2022-02-15 09:26:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f82866bc79cbeeac23716fa6fadd4877f5d0a462 8281555: [macos] Get rid of deprecated Style Masks constants Reviewed-by: serb, aivanov ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m ! src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m ! test/jdk/javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java Changeset: 1c12b159 Author: Nils Eliasson Date: 2022-02-15 09:49:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1c12b159ffcbb3528a20ac585d8460bf730e303d 8281741: [testbug] PrintIdealPhaseTest fails with -Xcomp Reviewed-by: kvn, chagedorn, thartmann ! test/hotspot/jtreg/compiler/oracle/PrintIdealPhaseTest.java Changeset: 2112a9dc Author: Magnus Ihse Bursie Date: 2022-02-15 11:11:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2112a9dc49a41e11433f19d258d72806b321106c 8246033: bin/print_config.js script uses nashorn jjs tool Reviewed-by: erikj - bin/print-config.js Changeset: bc614840 Author: Albert Mingkun Yang Date: 2022-02-15 12:23:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bc6148407e629bd99fa5a8577ebd90320610f349 8280136: Serial: Remove unnecessary use of ExpandHeap_lock Reviewed-by: iwalulya, kbarrett, sjohanss ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 2fe0bf66 Author: Stefan Johansson Date: 2022-02-15 16:22:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2fe0bf66b7cbbae3dc65249be4b04f4075a98efa 8281748: runtime/logging/RedefineClasses.java failed "assert(addr != __null) failed: invariant" Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1ConcurrentMark.inline.hpp Changeset: 18704653 Author: Aleksey Shipilev Date: 2022-02-15 16:42:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/18704653dcc76b6360b746a6a9c20d614633da0e 8281744: x86: Use short jumps in TIG::set_vtos_entry_points Reviewed-by: rehn, coleenp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp Changeset: 745f7e7d Author: Calvin Cheung Date: 2022-02-15 17:18:34 +0000 URL: https://git.openjdk.java.net/valhalla/commit/745f7e7d921afcf45a2fa87824841e4545054d21 8281186: runtime/cds/appcds/DumpingWithNoCoops.java fails Reviewed-by: minqi, iklam, stuefe ! test/hotspot/jtreg/runtime/cds/appcds/DumpingWithNoCoops.java Changeset: 394ce5f9 Author: Christian Stein Committer: Lance Andersen Date: 2022-02-15 17:55:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/394ce5f948c21b3861d76dd8db57957efa1df979 8280825: Modules that "provide" ToolProvider should document the name that can be used Reviewed-by: jjg, lancea, alanb ! src/jdk.compiler/share/classes/module-info.java ! src/jdk.jartool/share/classes/module-info.java ! src/jdk.javadoc/share/classes/module-info.java ! src/jdk.jdeps/share/classes/module-info.java ! src/jdk.jlink/share/classes/module-info.java ! src/jdk.jpackage/share/classes/module-info.java Changeset: 1aff44b2 Author: Leonid Mesnik Date: 2022-02-15 17:59:51 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1aff44b2cfcf5d2253161985b902894ee69365fc 8279949: JavaThread::_free_handle_block leaks native memory Reviewed-by: dholmes, coleenp ! src/hotspot/share/runtime/jniHandles.cpp Changeset: a24498b7 Author: Leonid Mesnik Date: 2022-02-15 18:01:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a24498b777b76c04d7e6da0a8b5fb501f2fb4944 8281771: Crash in java_lang_invoke_MethodType::print_signature Reviewed-by: dholmes, shade ! src/hotspot/share/classfile/javaClasses.cpp Changeset: 0af356bb Author: Quan Anh Mai Committer: Sandhya Viswanathan Date: 2022-02-15 18:57:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0af356bb4bfee99223d4bd4f8b0001c5f362c150 8278173: [vectorapi] Add x64 intrinsics for unsigned (zero extended) casts Reviewed-by: psandoz, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/prims/vectorSupport.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LaneType.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/vectorapi/reshape/tests/TestVectorCast.java ! test/hotspot/jtreg/compiler/vectorapi/reshape/utils/TestCastMethods.java ! test/hotspot/jtreg/compiler/vectorapi/reshape/utils/VectorReshapeHelper.java Changeset: a86cab8d Author: TheShermanTanker Committer: Tobias Hartmann Date: 2022-02-16 07:50:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a86cab8d4259f29af86aa6063b721e47827fb949 8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel Reviewed-by: neliasso, kvn, thartmann ! test/hotspot/jtreg/compiler/compilercontrol/CompilationModeHighOnlyTest.java ! test/hotspot/jtreg/compiler/profiling/spectrapredefineclass/Launcher.java ! test/hotspot/jtreg/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java Changeset: fef5d74d Author: Aleksey Shipilev Date: 2022-02-16 09:42:56 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fef5d74d0e7fb32e3f63e9fbc34c5370e683e451 8281812: x86: Use short jumps in TemplateTable::condy_helper Reviewed-by: redestad, neliasso ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: d5b46665 Author: Jie Fu Date: 2022-02-16 13:46:43 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d5b466657e29a5338b84fa9acfc1b76bf8c39d61 8281829: runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java fails after JDK-8281467 Reviewed-by: kvn, thartmann ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp Changeset: 7428b376 Author: Erik Gahlin Date: 2022-02-16 15:35:27 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7428b37696f1093094e69410f36dbb74098c9d4d 8281948: JFR: Parser skips too many bytes for fractional types Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ParserFactory.java Changeset: d8f44aa3 Author: Michael McMahon Date: 2022-02-16 16:01:01 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d8f44aa39e921594505864e6270f42b745265293 8278067: Make HttpURLConnection default keep alive timeout configurable Reviewed-by: dfuchs ! src/java.base/share/classes/java/net/doc-files/net-properties.html ! src/java.base/share/classes/sun/net/www/http/HttpClient.java ! src/java.base/share/classes/sun/net/www/http/KeepAliveCache.java + test/jdk/sun/net/www/http/KeepAliveCache/KeepAliveProperty.java Changeset: 395bc141 Author: Emanuel Peter Committer: Christian Hagedorn Date: 2022-02-16 16:19:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/395bc141f22f59aea4f5b8ee7bca0f691b2c8733 8281732: add assert for non-NULL assumption for return of unique_ctrl_out Reviewed-by: kvn, chagedorn, thartmann ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp Changeset: 0f3d3ac3 Author: Mahendra Chhipa Committer: Daniel Fuchs Date: 2022-02-16 16:43:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0f3d3ac32c9d163a5d91c6839d313111c72f1ad4 8061729: Update java/net tests to eliminate dependency on sun.net.www.MessageHeader and some other internal APIs Reviewed-by: dfuchs ! test/jdk/sun/net/www/http/HttpClient/ProxyFromCache.java ! test/jdk/sun/net/www/http/HttpClient/RequestURI.java ! test/jdk/sun/net/www/protocol/http/CloseOptionHeader.java + test/jdk/sun/net/www/protocol/http/HttpHeaderParserTest.java ! test/jdk/sun/net/www/protocol/http/NTLMTest.java ! test/jdk/sun/net/www/protocol/http/NoNTLM.java ! test/jdk/sun/net/www/protocol/http/RetryUponTimeout.java ! test/jdk/sun/net/www/protocol/http/UserAgent.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/B6226610.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/TunnelProxy.java + test/lib/jdk/test/lib/net/HttpHeaderParser.java Changeset: 9b74c3f2 Author: Naoto Sato Date: 2022-02-16 16:54:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9b74c3f2e74a4efdec1c1488e96ab5939a408df0 8176706: Additional Date-Time Formats Reviewed-by: joehw, rriggs ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java ! make/jdk/src/classes/build/tools/cldrconverter/LDMLParseHandler.java ! make/jdk/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java ! src/java.base/share/classes/java/time/format/DateTimeFormatter.java ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/java.base/share/classes/sun/text/spi/JavaTimeDateTimePatternProvider.java ! src/java.base/share/classes/sun/util/locale/provider/JavaTimeDateTimePatternImpl.java ! src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java + test/jdk/java/time/test/java/time/format/Skeletons_en_US.properties + test/jdk/java/time/test/java/time/format/Skeletons_ja.properties + test/jdk/java/time/test/java/time/format/TestLocalizedPattern.java Changeset: bb4dece2 Author: Alexey Semenyuk Date: 2022-02-16 17:30:24 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bb4dece246a56f2b225089c331e9f3d092dfbfa1 8281170: Test jdk/tools/jpackage/windows/WinInstallerIconTest always fails on Windows 11 Reviewed-by: almatvee ! test/jdk/tools/jpackage/windows/WinInstallerIconTest.java Changeset: 81645521 Author: Alexey Semenyuk Date: 2022-02-16 17:31:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/81645521c81c7363d199e5051d51043146058a91 8281874: Can't unpack msi installers from test/jdk/tools/jpackage/windows/test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java test Reviewed-by: almatvee ! test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java Changeset: 980d1878 Author: Mandy Chung Date: 2022-02-16 18:31:32 +0000 URL: https://git.openjdk.java.net/valhalla/commit/980d18789139295c95ec6045539b68d1ae57bc31 8281335: Allow a library already loaded via System::loadLibrary to be loaded as a raw library Reviewed-by: sundar, mcimadamore ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java + src/java.base/share/classes/jdk/internal/loader/RawNativeLibraries.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java ! test/jdk/jdk/internal/loader/NativeLibraries/Main.java ! test/jdk/jdk/internal/loader/NativeLibraries/java.base/jdk/internal/loader/NativeLibrariesTest.java Changeset: 847a99b5 Author: Aleksey Shipilev Date: 2022-02-16 20:08:27 +0000 URL: https://git.openjdk.java.net/valhalla/commit/847a99b53da6b2c82f7cd5f8634aa7bbae8f445e 8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling Reviewed-by: dholmes, kvn ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/compiler/runtime/Test8168712.java ! test/hotspot/jtreg/serviceability/7170638/SDTProbesGNULinuxTest.java + test/hotspot/jtreg/serviceability/dtrace/DTraceOptionsTest.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/whitebox/WhiteBox.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: 67763df4 Author: Tim Prinzing Committer: Mandy Chung Date: 2022-02-16 20:09:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/67763df4dce387da33da6d93d0f5d80e54cf8e5b 8281003: MethodHandles::lookup throws NPE if caller is null Reviewed-by: ihse, mchung, jrose, alanb ! make/test/JtregNativeJdk.gmk ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java + test/jdk/java/lang/invoke/MethodHandles/exeNullCallerLookup/NullCallerLookupTest.java + test/jdk/java/lang/invoke/MethodHandles/exeNullCallerLookup/exeNullCallerLookupTest.c Changeset: 48f6e930 Author: Daniel Fuchs Date: 2022-02-16 21:38:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/48f6e93079f377a621ca769b820fa221062ceab1 8282020: ProblemList sun/net/www/protocol/https/HttpsURLConnection/B6216082.java until JDK-8282017 is fixed Reviewed-by: michaelm, naoto ! test/jdk/ProblemList.txt Changeset: 9ba0760c Author: Martin Desruisseaux Committer: Alexey Ivanov Date: 2022-02-16 22:01:01 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9ba0760cf85f9e843f3383b725017c9ffac350df 8275345: RasterFormatException when drawing a tiled image made of non-writable rasters Reviewed-by: prr, aivanov ! src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java + test/jdk/java/awt/image/DrawImage/TiledImage.java Changeset: 5ec7898d Author: Joe Darcy Date: 2022-02-16 22:02:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5ec7898dbf1ebe261e5e25939cad42134611ff12 8281671: Class.getCanonicalName spec should explicitly cover array classes Reviewed-by: mchung ! src/java.base/share/classes/java/lang/Class.java + test/jdk/java/lang/Class/NameTest.java Changeset: 0b00ce17 Author: Alexey Semenyuk Date: 2022-02-16 23:23:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0b00ce17cd6b530d9394e79ac8b07208cd4b92f5 8282011: test/jdk/tools/jpackage/windows/WinL10nTest.java test fails if light.exe is not in %PATH% Reviewed-by: almatvee ! test/jdk/tools/jpackage/windows/WinL10nTest.java Changeset: 2be2a298 Author: Tobias Hartmann Date: 2022-02-15 07:07:00 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2be2a298f13c3a38d9518ccfea11dfd8a736d56c 8281713: [BACKOUT] AArch64: Implement string_compare intrinsic in SVE Reviewed-by: kvn, dlong ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_sve.ad ! src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/aarch64/register_definitions_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp - test/micro/org/openjdk/bench/java/lang/StringCompareToDifferentLength.java Changeset: 0f2113ce Author: Pavel Kharskii Committer: Jesper Wilhelmsson Date: 2022-02-15 09:24:52 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0f2113cee79b9645105b4753c7d7eacb83b872c2 8280415: Remove EA from JDK 18 version string starting with Initial RC promotion B35 on February 10, 2022 Reviewed-by: erikj, iris ! make/conf/version-numbers.conf Changeset: b6e48e67 Author: Jesper Wilhelmsson Date: 2022-02-17 01:12:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b6e48e678244481dd45d38bc3ddc325fccda2acc Merge ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: cd234f5d Author: Alexey Semenyuk Date: 2022-02-17 05:27:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cd234f5dbebd18ebf0c78dfdf533318cdc627971 8282007: Assorted enhancements to jpackage testing framework Reviewed-by: almatvee ! test/jdk/tools/jpackage/apps/Hello.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/AdditionalLauncher.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/CfgFile.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Executor.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/HelloApp.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JavaTool.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/LinuxHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/RunnablePackageTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TKit.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java ! test/jdk/tools/jpackage/run_tests.sh ! test/jdk/tools/jpackage/share/MultiLauncherTwoPhaseTest.java - test/jdk/tools/jpackage/test_jpackage.sh ! test/jdk/tools/jpackage/windows/WinUpgradeUUIDTest.java Changeset: 1eec16b4 Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2022-02-17 05:44:12 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1eec16b47be300e1462528bddf5d0686df3f042c 8281803: AArch64: Optimize masked vector NOT/AND_NOT for SVE Reviewed-by: aph, njian ! src/hotspot/cpu/aarch64/aarch64_sve.ad ! src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h Changeset: 1864481d Author: Ioi Lam Date: 2022-02-17 06:40:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1864481df10d2f616cbfdecebf3bebbae04de5e1 8279969: NULL return from map_bitmap_region() needs to be checked Reviewed-by: ccheung, coleenp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/heapShared.cpp ! test/hotspot/jtreg/runtime/cds/appcds/SharedArchiveConsistency.java Changeset: c0275e18 Author: Tyler Steele Committer: Thomas Stuefe Date: 2022-02-17 08:49:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c0275e18b7cb4a01385b79ced46560322aeacc97 8203290: [AIX] Check functionality of JDK-8199712 (Flight Recorder) Implements JFR for AIX Reviewed-by: erikj, mdoerr, mgronlun, stuefe, ihse ! make/autoconf/jvm-features.m4 ! src/hotspot/os/aix/libperfstat_aix.cpp ! src/hotspot/os/aix/libperfstat_aix.hpp ! src/hotspot/os/aix/loadlib_aix.cpp ! src/hotspot/os/aix/loadlib_aix.hpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/aix/os_perf_aix.cpp ! src/hotspot/os_cpu/aix_ppc/thread_aix_ppc.cpp ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java Changeset: b4900b12 Author: Prasanta Sadhukhan Date: 2022-02-17 09:36:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b4900b1298e536c0ceaa77bc0ac0e8e6ccba6400 8264743: Add forRemoval for deprecated classes and method in javax/swing/plaf/basic Reviewed-by: trebari, prr ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java Changeset: 9ca435b4 Author: Julia Boes Date: 2022-02-17 10:35:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9ca435b4c03f9741709bbfab22fb006de8c8c9d3 8281305: Test com/sun/net/httpserver/simpleserver/MapToPathTest.java fails on Windows 11 Reviewed-by: dfuchs ! src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/FileServerHandler.java + src/jdk.httpserver/unix/classes/sun/net/httpserver/simpleserver/URIPathSegment.java + src/jdk.httpserver/windows/classes/sun/net/httpserver/simpleserver/URIPathSegment.java ! test/jdk/com/sun/net/httpserver/simpleserver/MapToPathTest.java Changeset: 3b7a3cfc Author: Albert Mingkun Yang Date: 2022-02-17 11:40:43 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3b7a3cfce345cc900e042c5378d35d1237bdcd78 8281971: Remove unimplemented InstanceRefKlass::do_next Reviewed-by: dholmes ! src/hotspot/share/oops/instanceRefKlass.hpp Changeset: d0e11808 Author: Andrey Turbanov Date: 2022-02-17 12:31:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d0e11808fd688d96e5cfeb586d1de277f26da5ad 8282019: Unused static fields DEGREES_TO_RADIANS, RADIANS_TO_DEGREES in StrictMath Reviewed-by: bpb, darcy ! src/java.base/share/classes/java/lang/StrictMath.java Changeset: 4c7f8b49 Author: Joe Darcy Date: 2022-02-17 17:12:40 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4c7f8b49a4845acf58272c42327328d6d2837cea 8268250: Class.arrayType() for a 255-d array throws undocumented IllegalArgumentException Reviewed-by: sundar, alanb ! src/java.base/share/classes/java/lang/Class.java + test/jdk/java/lang/Class/ArrayType.java Changeset: a6f8a386 Author: Tim Prinzing Committer: Mandy Chung Date: 2022-02-17 17:34:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a6f8a386efa7af162f4b815951287f0a9bc1f396 8281000: ClassLoader::registerAsParallelCapable throws NPE if caller is null Reviewed-by: erikj, ihse, mchung, bchristi ! make/test/JtregNativeJdk.gmk ! src/java.base/share/classes/java/lang/ClassLoader.java + test/jdk/java/lang/ClassLoader/BadRegisterAsParallelCapableCaller.java + test/jdk/java/lang/ClassLoader/exeNullCallerClassLoaderTest/NullCallerClassLoaderTest.java + test/jdk/java/lang/ClassLoader/exeNullCallerClassLoaderTest/exeNullCallerClassLoaderTest.c Changeset: cd9a3cf0 Author: Mahendra Chhipa Committer: Daniel Fuchs Date: 2022-02-17 17:45:06 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cd9a3cf05b2c200709103e2e8596414a62a1c441 8282017: sun/net/www/protocol/https/HttpsURLConnection/B6216082.java fails with "SocketException: Unexpected end of file from server" Reviewed-by: dfuchs ! test/jdk/ProblemList.txt ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/TunnelProxy.java Changeset: 12927765 Author: Naoto Sato Date: 2022-02-17 19:03:08 +0000 URL: https://git.openjdk.java.net/valhalla/commit/129277653e51e9b1387ecee279a6ccee9199c8ff 8281317: CompactNumberFormat displays 4-digit values when rounding to a new range Reviewed-by: joehw ! src/java.base/share/classes/java/text/CompactNumberFormat.java ! test/jdk/java/text/Format/CompactNumberFormat/TestCompactPatternsValidity.java Changeset: 69fc273f Author: Daniel D. Daugherty Date: 2022-02-17 20:56:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/69fc273f202352f74a313c37db0198be2be08616 8282075: ProblemList 3 compiler/whitebox tests on macosx-x64 Reviewed-by: mikael, bpb ! test/hotspot/jtreg/ProblemList.txt Changeset: f830cbec Author: Magnus Ihse Bursie Date: 2022-02-17 21:18:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f830cbec909b91ad0f00f46a3496d83ecb5912ed 8188073: Add Capstone as backend for hsdis Co-authored-by: Magnus Ihse Bursie Co-authored-by: Jorn Vernee Reviewed-by: erikj ! make/Hsdis.gmk ! make/autoconf/help.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/spec.gmk.in - src/utils/hsdis/README + src/utils/hsdis/README.md = src/utils/hsdis/binutils/hsdis-binutils.c + src/utils/hsdis/capstone/hsdis-capstone.c ! src/utils/hsdis/hsdis.h Changeset: fdce35f3 Author: Jie Fu Date: 2022-02-17 22:53:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fdce35f3a1c12a64238d0c76c02451a25b0b4abb 8282025: assert(ctrl != __null) failed: control out is assumed to be unique after JDK-8281732 Reviewed-by: kvn, thartmann, chagedorn ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: a22f422b Author: Prasanta Sadhukhan Date: 2022-02-18 04:56:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a22f422b7f18dc134e48c6193bf690004635bf7d 8037573: Typo in DefaultTreeModel docs: askAllowsChildren instead of asksAllowsChildren Reviewed-by: prr, jdv, azvegint ! src/java.desktop/share/classes/javax/swing/tree/DefaultTreeModel.java Changeset: c9289583 Author: Jie Fu Date: 2022-02-18 05:02:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c9289583eb6919ced3b4115cf981180f6a957fbf 8281936: compiler/arguments/TestCodeEntryAlignment.java fails on AVX512 machines Reviewed-by: shade, kvn ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp Changeset: 7bcca769 Author: Roberto Casta?eda Lozano Date: 2022-02-18 08:35:52 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7bcca7692b62a37f70c757694f6acff0295371cc 8279068: IGV: Update to work with JDK 16 and 17 Reviewed-by: kvn, neliasso, chagedorn ! src/utils/IdealGraphVisualizer/Bytecodes/pom.xml ! src/utils/IdealGraphVisualizer/ControlFlow/pom.xml ! src/utils/IdealGraphVisualizer/Coordinator/pom.xml ! src/utils/IdealGraphVisualizer/Data/pom.xml ! src/utils/IdealGraphVisualizer/Difference/pom.xml ! src/utils/IdealGraphVisualizer/Filter/pom.xml ! src/utils/IdealGraphVisualizer/FilterWindow/pom.xml ! src/utils/IdealGraphVisualizer/Graal/pom.xml ! src/utils/IdealGraphVisualizer/Graph/pom.xml ! src/utils/IdealGraphVisualizer/HierarchicalLayout/pom.xml ! src/utils/IdealGraphVisualizer/Layout/pom.xml ! src/utils/IdealGraphVisualizer/NetworkConnection/pom.xml ! src/utils/IdealGraphVisualizer/README.md ! src/utils/IdealGraphVisualizer/SelectionCoordinator/pom.xml ! src/utils/IdealGraphVisualizer/ServerCompiler/pom.xml ! src/utils/IdealGraphVisualizer/Settings/pom.xml ! src/utils/IdealGraphVisualizer/Util/pom.xml ! src/utils/IdealGraphVisualizer/View/pom.xml ! src/utils/IdealGraphVisualizer/application/pom.xml + src/utils/IdealGraphVisualizer/application/src/main/resources/idealgraphvisualizer.conf ! src/utils/IdealGraphVisualizer/branding/pom.xml ! src/utils/IdealGraphVisualizer/pom.xml Changeset: 138a1719 Author: Alex Menkov Date: 2022-02-18 09:21:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/138a17195d1695c6faaa156a43624c39c62b141b 8281267: VM HeapDumper dumps array classes several times Reviewed-by: cjplummer, coleenp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/services/heapDumper.cpp + test/hotspot/jtreg/serviceability/HeapDump/DuplicateArrayClassesTest.java Changeset: 834d55c5 Author: Jan Lahoda Date: 2022-02-18 09:41:12 +0000 URL: https://git.openjdk.java.net/valhalla/commit/834d55c59f94674f521efda0b9801551a39c7c4d 8277300: Issues with javadoc support for preview features Reviewed-by: prappo, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java + test/langtools/jdk/javadoc/doclet/testPreview/api2/api/API.java + test/langtools/jdk/javadoc/doclet/testPreview/api2/api/API2.java + test/langtools/jdk/javadoc/doclet/testPreview/api2/api/API3.java + test/langtools/jdk/javadoc/doclet/testPreview/api2/module-info.java Changeset: e8224f7d Author: Albert Mingkun Yang Date: 2022-02-18 09:54:28 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e8224f7de9e4649105cfb0dd9e6a588505be4211 8282089: [BACKOUT] Parallel: Refactor PSCardTable::scavenge_contents_parallel Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psCardTable.cpp ! src/hotspot/share/gc/parallel/psCardTable.hpp Changeset: e3365041 Author: Jan Lahoda Date: 2022-02-18 11:04:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e3365041bdef4dc09f3e5967124103e4364614fb 8280866: SuppressWarnings does not work properly in package-info and module-info Reviewed-by: darcy, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java + test/langtools/tools/javac/warnings/suppress/SuppressWarningsPackage.java Changeset: f5120b76 Author: Pavel Rappo Date: 2022-02-18 13:09:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f5120b764c6f84776e7ea335d7ff59b16f6496b0 8282056: Clean up com.sun.tools.javac.util.GraphUtils Reviewed-by: jjg, mcimadamore, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java Changeset: cf6984dd Author: Magnus Ihse Bursie Date: 2022-02-18 14:49:34 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cf6984ddaa5668e78d590c8ad1f2aec0632f0b28 8282086: Update jib profile to not set build to 0 Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: 413bef68 Author: Dmitry Chuyko Date: 2022-02-18 16:02:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/413bef6890e9ba820590aa48017c4c7b1d691d24 8282049: AArch64: Use ZR for integer zero immediate volatile stores Reviewed-by: adinn, phh ! src/hotspot/cpu/aarch64/aarch64.ad Changeset: cfbfd9bf Author: Daniel D. Daugherty Date: 2022-02-18 16:25:24 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cfbfd9bf4123452e8bcff0ef7fbc18b14be8638c 8282103: fix macosx-generic typo in ProblemList Reviewed-by: rriggs ! test/hotspot/jtreg/ProblemList.txt Changeset: 7ce75afb Author: Weijun Wang Date: 2022-02-18 16:34:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7ce75afbbcca7635356c7377be7ddff15335e563 8255266: Update Public Suffix List to 3c213aa Reviewed-by: xuelei ! make/data/publicsuffixlist/VERSION ! make/data/publicsuffixlist/public_suffix_list.dat ! src/java.base/share/legal/public_suffix.md ! test/jdk/sun/security/util/RegisteredDomain/ParseNames.java ! test/jdk/sun/security/util/RegisteredDomain/tests.dat Changeset: 3943c89b Author: Yudi Zheng Committer: Vladimir Kozlov Date: 2022-02-18 18:00:40 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3943c89b9b71d8c1fda3ba88fd833f08723202f0 8282044: [JVMCI] Export _sha3_implCompress, _md5_implCompress and aarch64::_has_negatives stubs to JVMCI compiler. Reviewed-by: kvn ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: d3749de4 Author: Rajan Halade Date: 2022-02-18 20:17:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d3749de47832c6de4bcee9cf64a0b698e796b2f2 8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022 Reviewed-by: weijun ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: d7f31d0d Author: Valerie Peng Date: 2022-02-19 06:40:30 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d7f31d0d53bfec627edc83ceb75fc6202891e186 8282077: PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error Reviewed-by: mikael ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_sign.c Changeset: d28b048f Author: Aleksey Shipilev Date: 2022-02-21 06:14:43 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d28b048f35d5893187076e853a4a898d5ca8b220 8281815: x86: Use short jumps in TIG::generate_slow_signature_handler Reviewed-by: rrich, dholmes, jiefu ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp Changeset: 8563d86f Author: Tobias Hartmann Date: 2022-02-21 07:02:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8563d86f2cce0dc9d1411bf9276a00bca0515efd 8282085: The REGISTER_DEFINITION macro is useless after JDK-8269122 Reviewed-by: jiefu, chagedorn, kvn - src/hotspot/cpu/aarch64/register_definitions_aarch64.cpp - src/hotspot/cpu/arm/register_definitions_arm.cpp - src/hotspot/cpu/ppc/register_definitions_ppc.cpp - src/hotspot/cpu/s390/register_definitions_s390.cpp - src/hotspot/cpu/x86/register_definitions_x86.cpp ! src/hotspot/share/asm/register.hpp Changeset: 4e0b81c5 Author: Emanuel Peter Committer: Tobias Hartmann Date: 2022-02-21 07:05:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4e0b81c596f2a2eae49127b9ee98c80500b4e319 8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/ Reviewed-by: kvn, neliasso, thartmann ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! test/jdk/jdk/incubator/vector/VectorMaxConversionTests.java Changeset: 52a85d80 Author: John Jiang Date: 2022-02-21 07:55:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/52a85d80483f7fefbe26bed6fe3a2ce4bd1bc9fc 8282158: ECParameters InvalidParameterSpecException messages missed ECKeySizeParameterSpec Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/util/ECParameters.java Changeset: c5d9142a Author: Albert Mingkun Yang Date: 2022-02-21 08:14:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c5d9142a8466fe00819afb76ebe68dc59061613e 8282096: G1: Remove redundant checks in G1CardSet::free_mem_object Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/g1/g1CardSet.cpp Changeset: 34aae32d Author: John Jiang Date: 2022-02-21 08:27:03 +0000 URL: https://git.openjdk.java.net/valhalla/commit/34aae32de6c1eeaf268d62f20152f831cca5cd29 8282166: JDK-8282158 changed ECParameters' package by accident Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/util/ECParameters.java Changeset: 51f44207 Author: Andrey Turbanov Date: 2022-02-21 09:03:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/51f4420711b8cace5733180b3291779f11291895 8282130: (bf) Remove unused ARRAY_BASE_OFFSET, ARRAY_INDEX_SCALE from read-only Heap Buffers Reviewed-by: bpb, alanb ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template Changeset: bdae1d87 Author: Manukumar V S Committer: Abdul Kolarkunnu Date: 2022-02-21 10:08:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bdae1d87c16423878e4dcc8a0e87806d77bb5256 8282147: [TESTBUG] waitForIdle after creating frame in JSpinnerMouseAndKeyPressTest.java Reviewed-by: aivanov ! test/jdk/javax/swing/JSpinner/4515999/JSpinnerMouseAndKeyPressTest.java Changeset: d7a706a5 Author: Magnus Ihse Bursie Date: 2022-02-21 10:37:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d7a706a54076109b1a600a4d963df54b6d3f86de 8253757: Add LLVM-based backend for hsdis Co-authored-by: Magnus Ihse Bursie Co-authored-by: Ludovic Henry Co-authored-by: Jorn Vernee Co-authored-by: Nick Gasson Reviewed-by: erikj, luhenry ! make/Hsdis.gmk ! make/autoconf/jdk-options.m4 ! src/utils/hsdis/README.md + src/utils/hsdis/llvm/hsdis-llvm.cpp Changeset: cc7cf812 Author: Maxim Kartashev Committer: Anton Tarasov Date: 2022-02-21 11:39:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cc7cf81256ed4d74493472017b1c4df20fa2208a 8280861: Robot color picker broken on Linux with scaling above 100% Reviewed-by: serb ! src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.h ! test/jdk/java/awt/Robot/HiDPIScreenCapture/HiDPIRobotScreenCaptureTest.java + test/jdk/java/awt/Robot/HiDPIScreenCapture/ScreenCaptureGtkTest.java ! test/jdk/javax/swing/JPasswordField/TestSelectedTextBackgroundColor.java ! test/jdk/javax/swing/JProgressBar/TestJProgressBarHighlightColor.java ! test/jdk/javax/swing/JSlider/TestJSliderRendering.java ! test/jdk/javax/swing/JSpinner/TestSelectedTextBackgroundColor.java ! test/jdk/javax/swing/JTextPane/TestJTextPaneBackgroundColor.java ! test/jdk/javax/swing/JToolTip/TestTooltipBackgroundColor.java Changeset: e1c98bd1 Author: Daniel Jeli?ski Committer: Alexey Ivanov Date: 2022-02-21 17:40:27 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e1c98bd1f2f57ddf47e4660038059117af87f938 8281523: Accessibility: Conversion from string literal loses const qualifier Reviewed-by: prr, aivanov, kizune ! src/jdk.accessibility/windows/native/common/AccessBridgeDebug.cpp ! src/jdk.accessibility/windows/native/common/AccessBridgeDebug.h ! src/jdk.accessibility/windows/native/jaccessinspector/jaccessinspector.cpp ! src/jdk.accessibility/windows/native/libwindowsaccessbridge/AccessBridgeEventHandler.cpp ! src/jdk.accessibility/windows/native/libwindowsaccessbridge/AccessBridgeJavaVMInstance.cpp ! src/jdk.accessibility/windows/native/libwindowsaccessbridge/AccessBridgeMessageQueue.cpp ! src/jdk.accessibility/windows/native/libwindowsaccessbridge/WinAccessBridge.cpp ! src/jdk.accessibility/windows/native/toolscommon/AccessInfo.cpp ! src/jdk.accessibility/windows/native/toolscommon/AccessInfo.h Changeset: e0b49629 Author: Jaikiran Pai Date: 2022-02-22 01:39:28 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e0b49629e95c98aabe8b75ec2f7528e7fb6dcffc 8282190: Typo in javadoc of java.time.format.DateTimeFormatter#getDecimalStyle Reviewed-by: dfuchs, rriggs, lancea, iris ! src/java.base/share/classes/java/time/format/DateTimeFormatter.java Changeset: f9539521 Author: Manukumar V S Committer: Abdul Kolarkunnu Date: 2022-02-22 07:31:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f9539521aee71e84cb052d3d0444c58ee88930f7 8281745: Create a regression test for JDK-4514331 Reviewed-by: serb + test/jdk/javax/swing/JTextArea/4514331/TabShiftsFocusToNextComponent.java Changeset: bc43320f Author: Emanuel Peter Committer: Tobias Hartmann Date: 2022-02-22 07:55:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bc43320fd32debf863f37dc00ef7b95589f576ed 8281543: Remove unused code/headerfile dtraceAttacher.hpp Reviewed-by: thartmann ! src/hotspot/os/aix/attachListener_aix.cpp ! src/hotspot/os/bsd/attachListener_bsd.cpp ! src/hotspot/os/linux/attachListener_linux.cpp ! src/hotspot/os/windows/attachListener_windows.cpp - src/hotspot/share/services/dtraceAttacher.hpp Changeset: b95310b0 Author: John Jiang Date: 2022-02-22 09:35:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b95310b0908037c6743b937ae43d7bc97e1fb770 8282220: contentType should not be a PKCS7's member Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/pkcs/PKCS7.java Changeset: ab6d8e64 Author: Alexey Ivanov Date: 2022-02-22 13:19:43 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ab6d8e6424aa478eb7661d1d38d543cccd38888f 8260328: Drop redundant CSS properties from java.desktop HTML files Reviewed-by: serb, dmarkov ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html Changeset: 022d8070 Author: Coleen Phillimore Date: 2022-02-22 13:42:56 +0000 URL: https://git.openjdk.java.net/valhalla/commit/022d80707c346f4b82ac1eb53e77c634769631e9 8271008: appcds/*/MethodHandlesAsCollectorTest.java tests time out because of excessive GC (CodeCache GC Threshold) in loom Reviewed-by: thartmann, eosterlund ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/runtime/sweeper.cpp ! src/hotspot/share/runtime/sweeper.hpp Changeset: 41355e2d Author: Ian Graves Date: 2022-02-22 15:38:52 +0000 URL: https://git.openjdk.java.net/valhalla/commit/41355e2daa43fa8433bf77ed187979c49d453f4a 8276686: Malformed Javadoc inline tags in JDK source in /java/util/regex/Pattern.java Reviewed-by: iris, bpb, lancea ! src/java.base/share/classes/java/util/regex/Pattern.java Changeset: e44d0670 Author: Magnus Ihse Bursie Date: 2022-02-22 16:06:52 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e44d0670a69a641b82a0ca50e06e85d807b473ea 8244593: Clean up GNM/NM after JEP 381 Reviewed-by: erikj ! make/autoconf/compare.sh.in ! make/autoconf/spec.gmk.in ! make/autoconf/toolchain.m4 Changeset: 957dae02 Author: Thomas Schatzl Date: 2022-02-22 16:25:12 +0000 URL: https://git.openjdk.java.net/valhalla/commit/957dae02b18b150cab8aec4846bc82086ee1e4da 8280958: G1/Parallel: Unify marking code structure Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1FullGCMarker.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp Changeset: 3cb38678 Author: Ian Graves Date: 2022-02-22 16:31:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3cb38678aa7f03356421f5a17c1de4156e206d68 8281315: Unicode, (?i) flag and backreference throwing IndexOutOfBounds Exception Reviewed-by: naoto ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: 58e1882f Author: Tyler Steele Committer: Naoto Sato Date: 2022-02-22 16:50:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/58e1882f3ccc648c5f6d216d37cfd1805889b8d8 8282042: [testbug] FileEncodingTest.java depends on default encoding Adds expected encoding "ISO-8859-1" for AIX in FileEncodingTest.java Reviewed-by: naoto ! test/jdk/java/lang/System/FileEncodingTest.java Changeset: 7feabee4 Author: liach Committer: Mandy Chung Date: 2022-02-22 16:57:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7feabee4265787ea820c1925c0c531933cb0da50 8261407: ReflectionFactory.checkInitted() is not thread-safe Co-authored-by: Peter Levart Reviewed-by: dholmes, mchung, plevart ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java Changeset: 6445ee46 Author: Brian Burkhalter Date: 2022-02-22 17:24:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6445ee46b5c3d1a46f8154b6e867c25d495d76b1 5041655: (ch) FileLock: negative param and overflow issues Reviewed-by: alanb ! src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java ! src/java.base/share/classes/java/nio/channels/FileChannel.java ! src/java.base/share/classes/java/nio/channels/FileLock.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! test/jdk/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/jdk/java/nio/channels/FileChannel/Lock.java + test/jdk/java/nio/channels/FileLock/Overlaps.java Changeset: 2557ef8a Author: Phil Race Date: 2022-02-22 20:27:00 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2557ef8a02fe19784bd5e605b11d6bd574cde2c2 8282276: Problem list failing two Robot Screen Capture tests Reviewed-by: dcubed ! test/jdk/ProblemList.txt Changeset: 6f882ded Author: Phil Race Date: 2022-02-23 01:03:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6f882deddcc094777b45f0dacc7351dbc23993a4 8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly Reviewed-by: serb, dmarkov ! src/java.desktop/share/native/libawt/awt/image/cvutils/img_globals.c ! src/java.desktop/share/native/libawt/awt/image/cvutils/img_globals.h ! src/java.desktop/share/native/libawt/java2d/SurfaceData.h ! src/java.desktop/share/native/libawt/java2d/loops/ByteIndexed.h ! src/java.desktop/share/native/libawt/java2d/loops/UshortIndexed.h ! src/java.desktop/unix/native/common/awt/colordata.h ! src/java.desktop/windows/native/libawt/windows/colordata.h + test/jdk/java/awt/image/DrawImage/ByteIndexedDitherTest.java Changeset: e1060bee Author: Zhengyu Gu Date: 2022-02-23 03:04:34 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e1060bee2adb9f2e07ca09309d0f89132db30f28 8281615: Deadlock caused by jdwp agent Reviewed-by: dholmes, cjplummer ! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c Changeset: 378fa507 Author: Volker Simonis Date: 2022-02-23 08:36:13 +0000 URL: https://git.openjdk.java.net/valhalla/commit/378fa507a29f382e5534226612e154a37618ab91 8281962: Avoid unnecessary native calls in InflaterInputStream Reviewed-by: clanger, redestad, alanb, lancea ! src/java.base/share/classes/java/util/zip/InflaterInputStream.java + test/micro/org/openjdk/bench/java/util/zip/InflaterInputStreams.java Changeset: ecd85e6f Author: Andrew Haley Date: 2022-02-23 10:15:25 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ecd85e6f0f8906ad1e8aa0a53bf499e8c969ba73 8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers Reviewed-by: shade, jiefu ! src/hotspot/cpu/x86/x86_32.ad Changeset: 93320717 Author: Vladimir Ivanov Date: 2022-02-23 10:17:01 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9332071784b7150512f7e27b07c290a356d43c2e 8282194: C1: Missing side effects of dynamic constant linkage Reviewed-by: kvn, thartmann ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_ValueMap.hpp ! src/hotspot/share/ci/ciStreams.cpp ! src/hotspot/share/ci/ciStreams.hpp Changeset: d017e988 Author: David Holmes Date: 2022-02-23 11:30:43 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d017e988562999295315778e232d71e477afb407 8255577: Possible issues with SR_initialize Reviewed-by: shade, stuefe ! src/hotspot/os/posix/signals_posix.cpp Changeset: aaab2cb4 Author: Aleksey Shipilev Date: 2022-02-23 12:34:12 +0000 URL: https://git.openjdk.java.net/valhalla/commit/aaab2cb41666af8520fd01de70e2c4f9c87ef5fd 8282225: GHA: Allow one concurrent run per PR only Reviewed-by: ihse ! .github/workflows/submit.yml Changeset: 5035bf5e Author: Nils Eliasson Date: 2022-02-23 12:48:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5035bf5e6cb0ae2892e128b9a7c4014d01addb26 8282208: Reduce MachNode size Reviewed-by: kvn, thartmann, jiefu ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/node.hpp Changeset: 340a35d8 Author: Xue-Lei Andrew Fan Date: 2022-02-23 15:43:06 +0000 URL: https://git.openjdk.java.net/valhalla/commit/340a35d8358456620954ae0c668cf3d1d617bb88 8282279: Interpret case-insensitive string locale independently Reviewed-by: weijun ! src/java.base/share/classes/sun/security/ssl/SSLCipher.java ! src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java ! src/java.base/share/classes/sun/security/util/SecurityProviderConstants.java ! src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java ! src/java.base/share/classes/sun/security/util/TlsChannelBinding.java Changeset: 35076af1 Author: Pavel Rappo Date: 2022-02-23 16:17:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/35076af13acd1b9327d35ac67dc80c15bb1059c7 8281376: Consider polymorphic methods when looking for overrides Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java + test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg8/C.java + test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg8/GP.java + test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg8/P.java Changeset: 99b8ed9d Author: Jonathan Gibbons Date: 2022-02-23 16:49:28 +0000 URL: https://git.openjdk.java.net/valhalla/commit/99b8ed9dbf88e21a42a8d2f6249bfab7176e7d42 8281217: Source file launch with security manager enabled fails Reviewed-by: sundar ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher.properties ! test/langtools/tools/javac/launcher/SourceLauncherTest.java Changeset: a020b6ba Author: Lance Andersen Date: 2022-02-23 16:56:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a020b6ba8f38fe85fb26972a51e4c1068408b1c1 8280409: JarFile::getInputStream can fail with NPE accessing ze.getName() Reviewed-by: mullan, alanb ! src/java.base/share/classes/java/util/jar/JarFile.java ! src/java.base/share/classes/java/util/zip/ZipFile.java + test/jdk/java/util/zip/ZipFile/GetInputStreamNPETest.java Changeset: 7dc7184c Author: Xue-Lei Andrew Fan Date: 2022-02-23 18:32:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7dc7184c10fc8f7a02113056da979a9846a14cd4 8282309: Operation before upper case conversion Reviewed-by: valeriep, wetmore ! src/java.base/share/classes/sun/security/util/TlsChannelBinding.java Changeset: e540e0a8 Author: Michael McMahon Date: 2022-02-23 20:02:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e540e0a81b923cce8b2f2689e01703509a4df1de 8282296: (se) Pipe.open() creates a Pipe implementation that uses Unix domain sockets (win) Reviewed-by: dfuchs, lancea, bpb ! src/java.base/windows/classes/sun/nio/ch/PipeImpl.java Changeset: f86f38a8 Author: Vladimir Ivanov Date: 2022-02-23 20:29:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f86f38a8afd31c76039206f8f1f33371ad814396 8280901: MethodHandle::linkToNative stub is missing w/ -Xint Reviewed-by: shade, kvn ! src/hotspot/share/classfile/systemDictionary.cpp ! test/jdk/java/foreign/TestDowncall.java Changeset: 253cf785 Author: Chris Plummer Date: 2022-02-23 21:09:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/253cf7852f60ecf92e6d675ae2469e5f27425609 8282076: Merge some debug agent changes from the loom repo Reviewed-by: amenkov, lmesnik ! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c ! src/jdk.jdwp.agent/share/native/libjdwp/stepControl.c ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c Changeset: 43dc9ef6 Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-02-23 21:13:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/43dc9ef619b823e033cb1e298bbc091eb5a50967 8281988: Create a regression test for JDK-4618767 Reviewed-by: aivanov + test/jdk/javax/swing/JList/4618767/JListSelectedElementTest.java Changeset: a6610031 Author: Chris Plummer Date: 2022-02-23 22:55:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a6610031e2816156fa14876457e260282a88d478 8281614: serviceability/sa/ClhsdbFindPC.java fails with java.lang.RuntimeException: 'In code in NMethod for jdk/test/lib/apps/LingeredApp.steadyState' missing from stdout/stderr Reviewed-by: dcubed, dholmes ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java Changeset: cd3e59ef Author: Albert Mingkun Yang Date: 2022-02-24 09:16:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cd3e59ef88bcc040f9d671c8c15370efaae3ffd8 8282299: Remove unused PartialArrayScanTask default constructor Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/taskqueue.hpp Changeset: 379fd859 Author: Prasanta Sadhukhan Date: 2022-02-24 09:52:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/379fd85932e4b82e9a8e85f8ed8e63202f3cb9bc 8277369: Strange behavior of JMenuBar with RIGHT_TO_LEFT orientation, arrow keys behaves opposite traversing through keyboard Reviewed-by: prr, naoto, serb ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java + test/jdk/javax/swing/JMenuBar/MenuBarRTLBug.java Changeset: 3cfffa4f Author: Andrey Turbanov Date: 2022-02-24 11:03:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3cfffa4f8e5a0fff7f232130125c549f992b533b 8282188: Unused static field MathContext.DEFAULT_DIGITS Reviewed-by: darcy, bpb ! src/java.base/share/classes/java/math/MathContext.java Changeset: f4486a19 Author: Coleen Phillimore Date: 2022-02-24 12:59:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f4486a190e38c57b7c10e6cff4622bd1b716a724 8262400: runtime/exceptionMsgs/AbstractMethodError/AbstractMethodErrorTest.java fails in test_ame5_compiled_vtable_stub with wrapper Reviewed-by: dholmes, lmesnik ! test/hotspot/jtreg/runtime/exceptionMsgs/AbstractMethodError/AbstractMethodErrorTest.java Changeset: 231e48fa Author: Johannes Bechberger Committer: Martin Doerr Date: 2022-02-24 14:32:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/231e48fa63aeb4e35c7c948f958695d62b7157ce 8282200: ShouldNotReachHere() reached by AsyncGetCallTrace after JDK-8280422 Reviewed-by: dholmes, mdoerr, kevinw ! src/hotspot/share/prims/forte.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 0796620b Author: Jonathan Gibbons Date: 2022-02-24 14:50:06 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0796620b07c6287a130ab0a3a7279d69b5d7b8a1 8281944: JavaDoc throws java.lang.IllegalStateException: ERRONEOUS Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java Changeset: abc0ce11 Author: Xue-Lei Andrew Fan Date: 2022-02-24 16:25:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/abc0ce11dfa0a751a12925763cb168d1d3b4f44a 8282316: Operation before String case conversion Reviewed-by: valeriep ! src/java.base/share/classes/sun/security/util/SignatureUtil.java Changeset: 6fab8a2d Author: Alan Hayward Committer: Andrew Dinn Date: 2022-02-24 16:38:56 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6fab8a2d6a97dbd2ffceca275716d020cb9f1eea 8277204: Implement PAC-RET branch protection on Linux/AArch64 Reviewed-by: erikj, ihse, adinn, ngasson ! doc/building.md ! make/autoconf/flags-cflags.m4 ! make/autoconf/spec.gmk.in ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/pauth_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp ! src/hotspot/os_cpu/bsd_aarch64/pauth_bsd_aarch64.inline.hpp ! src/hotspot/os_cpu/linux_aarch64/pauth_linux_aarch64.inline.hpp ! src/hotspot/os_cpu/linux_aarch64/threadLS_linux_aarch64.S ! src/hotspot/os_cpu/linux_aarch64/vm_version_linux_aarch64.cpp ! src/hotspot/os_cpu/windows_aarch64/pauth_windows_aarch64.inline.hpp ! src/hotspot/share/gc/shared/barrierSetNMethod.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/java.base/share/man/java.1 ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.aarch64/src/jdk/vm/ci/aarch64/AArch64.java ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/CodeInstallationTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/TestHotSpotVMConfig.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/aarch64/AArch64TestAssembler.java Changeset: 0b6862e8 Author: Albert Mingkun Yang Date: 2022-02-24 17:47:30 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0b6862e803a03cf7f722f4f58b657712e74723fb 8282348: Remove unused CardTable::dirty_card_iterate Reviewed-by: kbarrett ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/cardTable.hpp Changeset: 20e78f7a Author: Albert Mingkun Yang Date: 2022-02-24 17:48:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/20e78f7a8e2e589bc4fb7f0c928176048bd9172a 8282307: Parallel: Incorrect discovery mode in PCReferenceProcessor Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/psParallelCompact.cpp Changeset: 23995f82 Author: Daniel Jeli?ski Committer: Daniel Fuchs Date: 2022-02-24 18:18:52 +0000 URL: https://git.openjdk.java.net/valhalla/commit/23995f822e540d799eb4bbc969229422257fbb08 8281525: Enable Zc:strictStrings flag in Visual Studio build Reviewed-by: dholmes, ihse ! make/autoconf/flags-cflags.m4 ! src/hotspot/os/windows/os_windows.cpp ! src/java.security.jgss/windows/native/libsspi_bridge/sspi.cpp ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp ! src/jdk.jpackage/windows/native/libwixhelper/libwixhelper.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp Changeset: b6843a16 Author: Yi-Fan Tsai Committer: Paul Hohensee Date: 2022-02-24 19:42:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b6843a162411b0fa32271592d8f3a6f241a54384 8005885: enhance PrintCodeCache to print more data Reviewed-by: xliu, phh ! src/hotspot/share/code/codeCache.cpp + test/hotspot/jtreg/compiler/codecache/CheckCodeCacheInfo.java Changeset: bf19fc65 Author: Roger Riggs Date: 2022-02-24 20:12:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bf19fc65c71cba8cb4383d714fe8993acd01be0a 8280357: user.home = "?" when running with systemd DynamicUser=true Reviewed-by: naoto, alanb ! src/java.base/unix/native/libjava/java_props_md.c Changeset: cd36be42 Author: Kevin Walls Date: 2022-02-25 07:56:56 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cd36be42c2eb3eacdb3625e87510eb15acac3230 8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use Reviewed-by: msheppar, amenkov ! test/jdk/javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java Changeset: 3efd6aa4 Author: Claes Redestad Date: 2022-02-25 08:55:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3efd6aa4c9b6420520709281ab1ca46ba4242c87 8282347: AARCH64: Untaken branch in has_negatives stub Reviewed-by: aph, haosun, thartmann ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: 9471f24c Author: KIRIYAMA Takuya Committer: Markus Gr?nlund Date: 2022-02-25 11:39:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9471f24ca191832669a13e5a1ea73f7097a25927 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device. Reviewed-by: mgronlun ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.hpp ! src/hotspot/share/jfr/writers/jfrStreamWriterHost.inline.hpp Changeset: b96b7437 Author: Thomas Stuefe Date: 2022-02-25 12:25:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b96b743727a628c1b33cc9b3374f010c2ea30b78 8281015: Further simplify NMT backend Reviewed-by: zgu, mbaesken ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/mallocSiteTable.cpp ! src/hotspot/share/services/mallocSiteTable.hpp ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp - src/hotspot/share/services/mallocTracker.inline.hpp ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memTracker.hpp ! src/hotspot/share/services/nmtCommon.hpp ! src/hotspot/share/utilities/debug.cpp Changeset: 735e86b0 Author: Matthias Baesken Date: 2022-02-25 12:26:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/735e86b0f71c97c2ba35c1cffd9b4492a8ca55bc 8282345: handle latest VS2022 in abstract_vm_version Reviewed-by: dholmes, mdoerr ! src/hotspot/share/runtime/abstract_vm_version.cpp Changeset: e96c599e Author: Erik Gahlin Date: 2022-02-25 12:56:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e96c599ed2a30ea116803aac0e85ba701ad40e25 8271232: JFR: Scrub recording data Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingFile.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkHeader.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkParser.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/CompositeParser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ConstantLookup.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ConstantMap.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/Dispatcher.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventParser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/Parser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ParserFactory.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ParserFilter.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/Reference.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/StringParser.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/CheckPointEvent.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/CheckPointPool.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/ChunkWriter.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/Constants.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/PoolEntry.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/RecordingOutput.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Command.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Filters.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Main.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Metadata.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Print.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Scrub.java + test/jdk/jdk/jfr/api/consumer/TestRecordingFileSanitization.java + test/jdk/jdk/jfr/api/consumer/TestRecordingFileWrite.java + test/jdk/jdk/jfr/tool/TestScrub.java Changeset: 441e4850 Author: Erik Gahlin Date: 2022-02-25 18:36:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/441e48509c1ba88db942737715026404b4fe0767 8281739: JFR: Use message with Objects.requireNonNull Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/AnnotationElement.java ! src/jdk.jfr/share/classes/jdk/jfr/Configuration.java ! src/jdk.jfr/share/classes/jdk/jfr/EventFactory.java ! src/jdk.jfr/share/classes/jdk/jfr/EventSettings.java ! src/jdk.jfr/share/classes/jdk/jfr/EventType.java ! src/jdk.jfr/share/classes/jdk/jfr/FlightRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/FlightRecorderPermission.java ! src/jdk.jfr/share/classes/jdk/jfr/Recording.java ! src/jdk.jfr/share/classes/jdk/jfr/ValueDescriptor.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/EventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedObject.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingFile.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/AbstractEventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventFileStream.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java Changeset: fb8bf818 Author: Alexander Matveev Date: 2022-02-25 20:49:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fb8bf81842b55355f226ac9d8717646abd509721 8279995: jpackage --add-launcher option should allow overriding description Reviewed-by: asemenyuk ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/AddLauncherArguments.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/AdditionalLauncher.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java ! test/jdk/tools/jpackage/share/AddLauncherTest.java Changeset: c5c6058f Author: Ichiroh Takiguchi Date: 2022-02-26 03:33:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c5c6058fd57d4b594012035eaf18a57257f4ad85 8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX Reviewed-by: rriggs ! test/jdk/java/lang/ProcessBuilder/Basic.java Changeset: cf6d2565 Author: Erik Gahlin Date: 2022-02-26 08:57:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cf6d2565e93ac13fd03f01a0624530d6750d02c3 8282153: JFR: Check for recording waste Reviewed-by: mgronlun + test/jdk/jdk/jfr/jvm/TestWaste.java Changeset: afd4bcbc Author: Rajan Halade Date: 2022-02-26 17:10:08 +0000 URL: https://git.openjdk.java.net/valhalla/commit/afd4bcbc1d1b2a8a1c29005878c8e06c662a1f6e 8282398: EndingDotHostname.java test fails because SSL cert expired Reviewed-by: xuelei ! test/jdk/javax/net/ssl/ServerName/EndingDotHostname.java ! test/jdk/javax/net/ssl/templates/SSLExampleCert.java Changeset: 630ad1ac Author: Daniel D. Daugherty Date: 2022-02-27 03:45:49 +0000 URL: https://git.openjdk.java.net/valhalla/commit/630ad1acb20abae8bde037b8d23dd2a14a70d732 8282428: ProblemList jdk/jfr/jvm/TestWaste.java Reviewed-by: mikael ! test/jdk/ProblemList.txt Changeset: 86723d48 Author: Aleksey Shipilev Date: 2022-02-28 07:35:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/86723d4892485651bcae735ed13545ea89b9bb22 8281507: Two javac tests have bad jtreg `@clean` tags Reviewed-by: darcy ! test/langtools/tools/javac/8074306/TestSyntheticNullChecks.java ! test/langtools/tools/javac/StringConcat/TestIndyStringConcat.java Changeset: efd3967b Author: John Tortugo Committer: Christian Hagedorn Date: 2022-02-28 10:01:24 +0000 URL: https://git.openjdk.java.net/valhalla/commit/efd3967b54fed7eaa3c3072267f766d73a3acadb 8267265: Use new IR Test Framework to create tests for C2 Ideal transformations Reviewed-by: chagedorn + test/hotspot/jtreg/compiler/c2/irTests/AddINodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/AddLNodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/DivINodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/DivLNodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/MulINodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/MulLNodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/SubINodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/SubLNodeIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/loopOpts/LoopIdealizationTests.java + test/hotspot/jtreg/compiler/c2/irTests/scalarReplacement/ScalarReplacementTests.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: 06cadb36 Author: Emanuel Peter Committer: Tobias Hartmann Date: 2022-02-28 12:13:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/06cadb36e05a86a528c8f3bc64c1a42b47ca94a0 8230382: Clean up ConvI2L, CastII and CastLL::Ideal methods Reviewed-by: thartmann, roland ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/convertnode.cpp Changeset: c58f5c67 Author: Harold Seigel Date: 2022-02-28 13:18:45 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c58f5c67d1720d310c720667f7bf7486740c21c1 8282360: Merge POSIX implementations of ThreadCritical Reviewed-by: stuefe, coleenp, dholmes - src/hotspot/os/bsd/threadCritical_bsd.cpp - src/hotspot/os/linux/threadCritical_linux.cpp = src/hotspot/os/posix/threadCritical_posix.cpp Changeset: 0ae3d1d5 Author: Naoto Sato Date: 2022-02-28 13:22:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0ae3d1d59c44e966e13345b9197fcf067e63900e 8282131: java.time.ZoneId should be a sealed abstract class Reviewed-by: iris, rriggs, bpb, lancea, mchung, scolebourne ! src/java.base/share/classes/java/time/ZoneId.java Changeset: 4e7fb41d Author: Aleksey Shipilev Date: 2022-02-28 13:29:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4e7fb41dafaf03baabe18ee1dabefed50d69e16d 8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads Reviewed-by: kvn, thartmann ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 59b3ecc5 Author: Weijun Wang Date: 2022-02-28 17:00:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/59b3ecc591ef6407d6b3f5532ecf889bf61339f0 8277976: Break up SEQUENCE in X509Certificate::getSubjectAlternativeNames and X509Certificate::getIssuerAlternativeNames in otherName 6776681: Invalid encoding of an OtherName in X509Certificate.getAlternativeNames() Reviewed-by: mullan ! src/java.base/share/classes/java/security/cert/X509Certificate.java ! src/java.base/share/classes/sun/security/x509/OtherName.java ! src/java.base/share/classes/sun/security/x509/X509CertImpl.java + test/jdk/sun/security/x509/OtherName/Parse.java Changeset: c7cd1487 Author: Coleen Phillimore Date: 2022-02-28 20:31:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c7cd1487fe00172be59e7571991f960c59b8c0eb 8282240: Add _name field to Method for NOT_PRODUCT only Reviewed-by: pchilanomate, hseigel ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! test/hotspot/gtest/oops/test_instanceKlass.cpp Changeset: d983d108 Author: Ioi Lam Date: 2022-02-28 20:33:18 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d983d108c565654e717e2811d88aa94d982da2f5 8275731: CDS archived enums objects are recreated at runtime Reviewed-by: coleenp, ccheung + src/hotspot/share/cds/cdsHeapVerifier.cpp + src/hotspot/share/cds/cdsHeapVerifier.hpp ! src/hotspot/share/cds/dumpTimeClassInfo.cpp ! src/hotspot/share/cds/dumpTimeClassInfo.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/runTimeClassInfo.cpp ! src/hotspot/share/cds/runTimeClassInfo.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.hpp + test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchivedEnumApp.java + test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchivedEnumTest.java Changeset: 9d9618a3 Author: Joe Darcy Date: 2022-02-28 22:14:14 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9d9618a3dd29cb9328a7275375e04eca2af20a93 8282462: Remove unnecessary use of @SuppressWarnings("preview") Reviewed-by: vromero ! src/java.compiler/share/classes/javax/lang/model/element/ElementKind.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementFilter.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java Changeset: 1f89acd8 Author: Joe Darcy Date: 2022-02-28 23:28:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1f89acd8498945e1d531b7845748bcee8194115b 8282464: Remove author tags from java.compiler Reviewed-by: jjg ! src/java.compiler/share/classes/javax/annotation/processing/AbstractProcessor.java ! src/java.compiler/share/classes/javax/annotation/processing/Completion.java ! src/java.compiler/share/classes/javax/annotation/processing/Completions.java ! src/java.compiler/share/classes/javax/annotation/processing/Filer.java ! src/java.compiler/share/classes/javax/annotation/processing/FilerException.java ! src/java.compiler/share/classes/javax/annotation/processing/Messager.java ! src/java.compiler/share/classes/javax/annotation/processing/ProcessingEnvironment.java ! src/java.compiler/share/classes/javax/annotation/processing/Processor.java ! src/java.compiler/share/classes/javax/annotation/processing/RoundEnvironment.java ! src/java.compiler/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java ! src/java.compiler/share/classes/javax/annotation/processing/SupportedOptions.java ! src/java.compiler/share/classes/javax/annotation/processing/SupportedSourceVersion.java ! src/java.compiler/share/classes/javax/annotation/processing/package-info.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/UnknownEntityException.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationMirror.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValue.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementKind.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java ! src/java.compiler/share/classes/javax/lang/model/element/Name.java ! src/java.compiler/share/classes/javax/lang/model/element/NestingKind.java ! src/java.compiler/share/classes/javax/lang/model/element/PackageElement.java ! src/java.compiler/share/classes/javax/lang/model/element/Parameterizable.java ! src/java.compiler/share/classes/javax/lang/model/element/QualifiedNameable.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeParameterElement.java ! src/java.compiler/share/classes/javax/lang/model/element/UnknownAnnotationValueException.java ! src/java.compiler/share/classes/javax/lang/model/element/UnknownDirectiveException.java ! src/java.compiler/share/classes/javax/lang/model/element/UnknownElementException.java ! src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java ! src/java.compiler/share/classes/javax/lang/model/element/package-info.java ! src/java.compiler/share/classes/javax/lang/model/package-info.java ! src/java.compiler/share/classes/javax/lang/model/type/ArrayType.java ! src/java.compiler/share/classes/javax/lang/model/type/DeclaredType.java ! src/java.compiler/share/classes/javax/lang/model/type/ErrorType.java ! src/java.compiler/share/classes/javax/lang/model/type/ExecutableType.java ! src/java.compiler/share/classes/javax/lang/model/type/MirroredTypeException.java ! src/java.compiler/share/classes/javax/lang/model/type/MirroredTypesException.java ! src/java.compiler/share/classes/javax/lang/model/type/NoType.java ! src/java.compiler/share/classes/javax/lang/model/type/NullType.java ! src/java.compiler/share/classes/javax/lang/model/type/PrimitiveType.java ! src/java.compiler/share/classes/javax/lang/model/type/ReferenceType.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeKind.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVariable.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/type/UnknownTypeException.java ! src/java.compiler/share/classes/javax/lang/model/type/WildcardType.java ! src/java.compiler/share/classes/javax/lang/model/type/package-info.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementFilter.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/Types.java ! src/java.compiler/share/classes/javax/lang/model/util/package-info.java ! src/java.compiler/share/classes/javax/tools/Diagnostic.java ! src/java.compiler/share/classes/javax/tools/DiagnosticCollector.java ! src/java.compiler/share/classes/javax/tools/DiagnosticListener.java ! src/java.compiler/share/classes/javax/tools/FileObject.java ! src/java.compiler/share/classes/javax/tools/ForwardingFileObject.java ! src/java.compiler/share/classes/javax/tools/ForwardingJavaFileManager.java ! src/java.compiler/share/classes/javax/tools/ForwardingJavaFileObject.java ! src/java.compiler/share/classes/javax/tools/JavaCompiler.java ! src/java.compiler/share/classes/javax/tools/JavaFileManager.java ! src/java.compiler/share/classes/javax/tools/JavaFileObject.java ! src/java.compiler/share/classes/javax/tools/OptionChecker.java ! src/java.compiler/share/classes/javax/tools/SimpleJavaFileObject.java ! src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java ! src/java.compiler/share/classes/javax/tools/StandardLocation.java ! src/java.compiler/share/classes/javax/tools/Tool.java ! src/java.compiler/share/classes/javax/tools/ToolProvider.java ! src/java.compiler/share/classes/javax/tools/package-info.java Changeset: 77432663 Author: David Holmes Date: 2022-03-01 01:17:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/77432663be12da7fc44bb0ae0b1c8bf08eb6c249 8281210: Add manpage changes for PAC-RET protection on Linux/AArch64 Reviewed-by: iklam ! src/java.base/share/man/java.1 Changeset: c1a28aa0 Author: Alan Hayward Committer: Ningsheng Jian Date: 2022-03-01 02:23:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c1a28aa04ada6c13031eaa85746e6b1d5945d10d 8282392: [zero] Build broken on AArch64 Reviewed-by: aph, shade ! src/hotspot/share/gc/shared/barrierSetNMethod.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/utilities/macros.hpp Changeset: e4d9fc81 Author: Jaikiran Pai Date: 2022-03-01 03:49:18 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e4d9fc811e0ef0eb9b097e06525a1183445d8d79 8282023: PropertiesStoreTest and StoreReproducibilityTest jtreg failures due to en_CA locale Reviewed-by: naoto, rriggs ! test/jdk/java/util/Properties/PropertiesStoreTest.java ! test/jdk/java/util/Properties/StoreReproducibilityTest.java Changeset: d3022f87 Author: Dean Long Date: 2022-03-01 08:25:31 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d3022f87b598398d7130e984088ede6ffc9f48e1 8282467: add extra diagnostics for JDK-8268184 Reviewed-by: stuefe ! src/hotspot/share/opto/ifg.cpp Changeset: 22b93a31 Author: Albert Mingkun Yang Date: 2022-03-01 09:32:01 +0000 URL: https://git.openjdk.java.net/valhalla/commit/22b93a31c99403996b6272b7c8eb0b9918988862 8282094: [REDO] Parallel: Refactor PSCardTable::scavenge_contents_parallel Reviewed-by: iwalulya, tschatzl ! src/hotspot/share/gc/parallel/psCardTable.cpp ! src/hotspot/share/gc/parallel/psCardTable.hpp Changeset: d4d12ad1 Author: Claes Redestad Date: 2022-03-01 10:20:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d4d12ad1d92ae6d353ce9e16b1b72e6416874cd6 8282047: Enhance StringDecode/Encode microbenchmarks Reviewed-by: bchristi ! test/micro/org/openjdk/bench/java/lang/StringDecode.java ! test/micro/org/openjdk/bench/java/lang/StringEncode.java Changeset: 369291b2 Author: Chris Hegarty Date: 2022-03-01 10:37:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/369291b265e13d625c5f465da9b1854c0d70c435 8282444: Module finder incorrectly assumes default file system path-separator character Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/module/ModulePath.java ! test/jdk/java/lang/module/customfs/ModulesInCustomFileSystem.java ! test/jdk/java/lang/module/customfs/m1/p/Main.java ! test/jdk/java/lang/module/customfs/m2/module-info.java = test/jdk/java/lang/module/customfs/m2/q/r/Hello.java Changeset: eff396f3 Author: Pavel Rappo Date: 2022-03-01 12:06:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/eff396f397d3c279f9a090adb6ad4e619f24253c 8280713: Related to comment inheritance jdk.javadoc cleanup and refactoring Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ThrowsTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/UncheckedDocletException.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkFactory.java ! test/jdk/java/lang/annotation/UnitTest.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I2.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I3.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I4.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/Classes.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/Interfaces.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg6/Sub.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java + test/langtools/jdk/javadoc/doclet/testTagInheritence/TestTagInheritance.java - test/langtools/jdk/javadoc/doclet/testTagInheritence/TestTagInheritence.java = test/langtools/jdk/javadoc/doclet/testTagInheritence/pkg/TestTagInheritance.java = test/langtools/jdk/javadoc/doclet/testThrowsInheritance/C.java = test/langtools/jdk/javadoc/doclet/testThrowsInheritance/Foo.java = test/langtools/jdk/javadoc/doclet/testThrowsInheritance/I.java = test/langtools/jdk/javadoc/doclet/testThrowsInheritance/Iface.java = test/langtools/jdk/javadoc/doclet/testThrowsInheritance/TestThrowsTagInheritance.java = test/langtools/jdk/javadoc/doclet/testThrowsInheritance/pkg/Abstract.java = test/langtools/jdk/javadoc/doclet/testThrowsInheritance/pkg/Extender.java Changeset: 44d599aa Author: David Holmes Date: 2022-03-01 12:07:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/44d599aad3994816997a61d9e36265dcefa52965 8227369: pd_disjoint_words_atomic() needs to be atomic Reviewed-by: eosterlund, mikael, shade, kbarrett, mdoerr ! src/hotspot/cpu/ppc/copy_ppc.hpp ! src/hotspot/cpu/x86/copy_x86.hpp ! src/hotspot/cpu/zero/copy_zero.hpp ! src/hotspot/os_cpu/windows_aarch64/copy_windows_aarch64.hpp ! src/hotspot/share/utilities/copy.hpp Changeset: a95edee6 Author: Harold Seigel Date: 2022-03-01 13:21:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a95edee634c6be52043b55d1a8f3df85a58f97c7 8281472: JVM options processing silently truncates large illegal options values Reviewed-by: dholmes, iklam ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp + test/hotspot/gtest/runtime/test_largeOptions.cpp ! test/hotspot/jtreg/gc/arguments/TestParallelGCThreads.java ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java Changeset: fcce24c5 Author: Roland Westrelin Date: 2022-03-01 14:09:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fcce24c5b3cd1dab755fd9b6779af71f4dd78773 8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799 Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp + test/hotspot/jtreg/gc/shenandoah/compiler/TestBarrierAboveProj.java Changeset: 341c8bd7 Author: Ivan Walulya Date: 2022-03-01 14:14:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/341c8bd7f2744d1899e78da34e613817b43b44e5 8267834: Refactor G1CardSetAllocator and BufferNode::Allocator to use a common base class Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1CardSetMemory.cpp ! src/hotspot/share/gc/g1/g1CardSetMemory.hpp ! src/hotspot/share/gc/g1/g1CardSetMemory.inline.hpp ! src/hotspot/share/gc/g1/g1SegmentedArray.hpp ! src/hotspot/share/gc/g1/g1SegmentedArray.inline.hpp + src/hotspot/share/gc/shared/freeListAllocator.cpp + src/hotspot/share/gc/shared/freeListAllocator.hpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! test/hotspot/gtest/gc/shared/test_ptrQueueBufferAllocator.cpp Changeset: 2c5d266f Author: Roland Westrelin Date: 2022-03-01 14:43:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2c5d266f9f20005bc2a6c30dcaa95b059ea59d74 8282045: When loop strip mining fails, safepoints are removed from loop anyway Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestStripMiningDropsSafepoint.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: 31b61f98 Author: Pavel Rappo Date: 2022-03-01 15:21:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/31b61f982c41b52ae99bd8ecf1977a6c0de515e2 8282311: Fix a typo in javax.lang.model.type.NullType Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/type/NullType.java Changeset: 76398c84 Author: Coleen Phillimore Date: 2022-03-01 15:28:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/76398c84007862bdf07cea6be792eca50eec9edd 8279573: compiler/codecache/CodeCacheFullCountTest.java fails with "RuntimeException: the value of full_count is wrong." Reviewed-by: thartmann, eosterlund ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/memory/heap.hpp ! test/hotspot/jtreg/compiler/codecache/CodeCacheFullCountTest.java Changeset: b03d66c5 Author: Jan Lahoda Date: 2022-03-01 15:54:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b03d66c5016f3821fbf0990e045b71b59ec9a759 8282452: Use of Preview API in preview methods should not trigger preview warning for the enclosing class Reviewed-by: jlaskey ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java + test/langtools/jdk/javadoc/doclet/testPreview/api/preview/NoPreview.java Changeset: 8fec7b87 Author: Jorn Vernee Date: 2022-03-01 16:26:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8fec7b87c1bc762f9c8ef41cd715d5aaab4c0324 8281548: Add escape analysis tracing flag Reviewed-by: kvn, thartmann, xliu ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/escape.hpp Changeset: 941e97c4 Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-03-01 16:55:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/941e97c4eb186bc63386d17f458ba69f4bddd828 8281738: Create a regression test for checking the 'Space' key activation of focused Button Reviewed-by: aivanov + test/jdk/javax/swing/JButton/4659800/SpaceKeyActivatesButton.java Changeset: b86a8c00 Author: Alexey Ivanov Date: 2022-03-01 17:01:06 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b86a8c004f4e67e7b6bf45ce7cf96bcd8520a881 8282150: Drop redundant
elements from tables in java.desktop HTML files Reviewed-by: jdv, dmarkov ! src/java.desktop/share/classes/java/awt/doc-files/Modality.html ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html Changeset: eac80214 Author: Xue-Lei Andrew Fan Date: 2022-03-01 18:10:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/eac80214aea4f5c148e859b4b163fe42e89596cd 8282320: Remove case conversion for debugging log in SSLCipher Reviewed-by: weijun ! src/java.base/share/classes/sun/security/ssl/SSLCipher.java Changeset: 732d891f Author: Joe Darcy Date: 2022-03-01 18:48:43 +0000 URL: https://git.openjdk.java.net/valhalla/commit/732d891f9f8987edfc188c049eb19de6ba790c42 8282411: Add useful predicates to ElementKind Reviewed-by: prappo ! src/java.compiler/share/classes/javax/lang/model/element/ElementKind.java ! test/langtools/tools/javac/processing/model/element/TestElementKindPredicates.java Changeset: fc52a218 Author: Quan Anh Mai Committer: Paul Sandoz Date: 2022-03-02 00:46:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fc52a2182a9debc04b2ac302801b3d61989f54ec 8282143: Objects.requireNonNull should be ForceInline Reviewed-by: psandoz ! src/java.base/share/classes/java/util/Objects.java Changeset: ed3496e6 Author: Christian Hagedorn Date: 2022-03-02 08:57:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ed3496e6c030b6b0a3745bf8ef281075afa1cd27 8282480: IGV: Use description instead of enum name for phases Reviewed-by: redestad, thartmann ! src/hotspot/share/opto/compile.cpp Changeset: 12a822a2 Author: Albert Mingkun Yang Date: 2022-03-02 09:12:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/12a822a2875568f4ffd683e8ad9451ebee03ee7e 8282381: Parallel: Remove unnecessary PCReferenceProcessor Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.cpp Changeset: f12200cd Author: Alex Menkov Date: 2022-03-02 10:54:25 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f12200cd11c2b689618cde1902db941ee23fbf80 8267796: vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/TestDescription.java fails with NoClassDefFoundError Reviewed-by: kevinw, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/hs201t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/newclass/hs201t002a.java Changeset: d80f6971 Author: Andrey Turbanov Date: 2022-03-02 13:05:12 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d80f69718233c484e3c1536ffb793116c1adc058 8282523: Fix 'hierachy' typo Reviewed-by: jiefu, kbarrett, dholmes ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/utilities/exceptions.hpp ! test/hotspot/jtreg/runtime/exceptionMsgs/AbstractMethodError/AbstractMethodErrorTest.java ! test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/IncompatibleClassChangeErrorTest.java ! test/hotspot/jtreg/runtime/exceptionMsgs/methodPrinting/TestPrintingMethods.java Changeset: fc918a73 Author: Weijun Wang Date: 2022-03-02 14:07:26 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fc918a73d0dcc28146e60f15e978209424a32576 8281234: The -protected option is not always checked in keytool and jarsigner Reviewed-by: hchao, mullan ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java + test/jdk/sun/security/tools/jarsigner/AutoKeyStore.java ! test/lib/jdk/test/lib/SecurityTools.java Changeset: 234c17e8 Author: Calvin Cheung Date: 2022-03-02 16:17:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/234c17e8ff7b9b9713e9fded693381f985d34d2a 8274788: Support archived heap objects in ParallelGC Reviewed-by: iklam, ayang, tschatzl ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/runtime/cds/appcds/TestParallelGCWithCDS.java Changeset: ce18ff85 Author: Devin Smith Committer: Jim Laskey Date: 2022-03-02 16:41:13 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ce18ff8527cc51805bf11c50c050ea64c3f9dec0 8282551: Properly initialize L32X64MixRandom state Reviewed-by: jlaskey ! src/jdk.random/share/classes/jdk/random/L32X64MixRandom.java Changeset: b6c35ae4 Author: Magnus Ihse Bursie Date: 2022-03-02 18:17:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b6c35ae44aeb31deb7a15ee2939156ed00b3df52 8209784: Include hsdis in the JDK Reviewed-by: erikj ! make/Hsdis.gmk ! make/Main.gmk ! make/autoconf/configure.ac ! make/autoconf/jdk-options.m4 + make/autoconf/lib-hsdis.m4 ! make/autoconf/libraries.m4 ! make/autoconf/spec.gmk.in ! make/modules/java.base/Copy.gmk Changeset: 1485883c Author: Weijun Wang Date: 2022-03-03 00:39:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1485883c9e6e24315bb21f20604b1c326e862a5b 8281628: KeyAgreement : generateSecret intermittently not resetting Reviewed-by: valeriep ! src/java.base/share/classes/com/sun/crypto/provider/DHKeyAgreement.java + test/jdk/com/sun/crypto/provider/KeyAgreement/DHKeyAgreementPadding.java Changeset: 02aa7cef Author: Mandy Chung Date: 2022-03-03 01:50:02 +0000 URL: https://git.openjdk.java.net/valhalla/commit/02aa7cef0a9b9de1ee9a136c5641b498c0c3e5cc 8282515: More clean up on NativeLibraries just for JNI library use Reviewed-by: mcimadamore ! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java ! src/java.base/share/classes/jdk/internal/loader/RawNativeLibraries.java ! src/java.base/share/native/libjava/NativeLibraries.c + src/java.base/share/native/libjava/RawNativeLibraries.c ! test/jdk/jdk/internal/loader/NativeLibraries/Main.java ! test/jdk/jdk/internal/loader/NativeLibraries/java.base/jdk/internal/loader/NativeLibrariesTest.java Changeset: d0eb6fa2 Author: Srinivas Mandalika Committer: Abdul Kolarkunnu Date: 2022-03-03 03:26:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d0eb6fa2204c4112ef57ffa7579e209ebee62551 8281569: Create tests for Frame.setMinimumSize() method Reviewed-by: aivanov + test/jdk/java/awt/Frame/SetMinimumSizeTest/SetMinimumSizeTest1.java + test/jdk/java/awt/Frame/SetMinimumSizeTest/SetMinimumSizeTest2.java Changeset: 2da67779 Author: Christian Hagedorn Date: 2022-03-03 07:17:56 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2da677793f562236d473afe12b5c941f25f41377 8281122: [IR Framework] Cleanup IR matching code in preparation for JDK-8280378 Reviewed-by: thartmann, kvn ! test/hotspot/jtreg/compiler/lib/ir_framework/IR.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/IRMatcher.java - test/hotspot/jtreg/compiler/lib/ir_framework/driver/IRMethod.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/TestVMProcess.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/CompilationOutputBuilder.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/IRMatcher.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/IRMatcherFailureMessageBuilder.java = test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/IRViolationException.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/MatchResult.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/OutputMatch.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/FailureMessageBuilder.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/IRMethod.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/IRMethodMatchResult.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/MatchedCompilationOutputBuilder.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/MissingCompilationMessageBuilder.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/MissingCompilationResult.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/NormalFailureMessageBuilder.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/NormalMatchResult.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/CheckAttribute.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/CheckAttributeMatchResult.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/Counts.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/CountsMatchResult.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/CountsRegexFailure.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/FailOn.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/FailOnMatchResult.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/FailOnRegexFailure.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/IRRule.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/IRRuleMatchResult.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/RegexFailure.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/AbstractLine.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/BlockLine.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/BlockOutputReader.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/FileCorruptedException.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/HotSpotPidFileParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IREncodingParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IRMethodParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/Line.java + test/hotspot/jtreg/compiler/lib/ir_framework/shared/Comparison.java + test/hotspot/jtreg/compiler/lib/ir_framework/shared/ComparisonConstraintParser.java + test/hotspot/jtreg/compiler/lib/ir_framework/shared/EmptyConstraintException.java + test/hotspot/jtreg/compiler/lib/ir_framework/shared/InvalidComparatorException.java + test/hotspot/jtreg/compiler/lib/ir_framework/shared/InvalidConstraintValueException.java + test/hotspot/jtreg/compiler/lib/ir_framework/shared/MissingConstraintValueException.java - test/hotspot/jtreg/compiler/lib/ir_framework/shared/ParsedComparator.java ! test/hotspot/jtreg/compiler/lib/ir_framework/shared/TestFormat.java + test/hotspot/jtreg/compiler/lib/ir_framework/shared/UnreachableCodeException.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/TestVM.java ! test/hotspot/jtreg/compiler/vectorapi/TestMaskedMacroLogicVector.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/examples/IRExample.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestCheckedTests.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestCompileThreshold.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestRunTests.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/Utils.java Changeset: b1f935c1 Author: Tobias Holenstein Committer: Tobias Hartmann Date: 2022-03-03 07:59:45 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b1f935c1d0d3729470b57832cf74c43d49ea1f71 8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics Reviewed-by: roland, thartmann ! src/hotspot/share/opto/callGenerator.cpp ! test/hotspot/jtreg/compiler/print/PrintInlining.java Changeset: d4d1fbc2 Author: Thomas Schatzl Date: 2022-03-03 09:26:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d4d1fbc27a2382d8d9545b7bf672cdcc81654404 8282484: G1: Predicted old time in log always zero Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1Policy.cpp Changeset: 0402a288 Author: Prasanta Sadhukhan Date: 2022-03-03 09:51:08 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0402a288f309d589d1dc8860e95e4ed42a1ef9f4 8037965: NullPointerException in TextLayout.getBaselineFromGraphic() for JTextComponents Reviewed-by: prr, aivanov ! src/java.desktop/share/classes/java/awt/font/TextLayout.java + test/jdk/javax/swing/JTextField/SwingUnicodeTest.java Changeset: 832729b4 Author: Prasanta Sadhukhan Date: 2022-03-03 09:53:14 +0000 URL: https://git.openjdk.java.net/valhalla/commit/832729b41e690d6f05da71997bbe2a74b2d6dada 6911375: mouseWheel has no effect without vertical scrollbar Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java + test/jdk/javax/swing/JScrollPane/TestMouseWheelScroll.java Changeset: 7822cbce Author: Coleen Phillimore Date: 2022-03-03 13:20:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7822cbce10e0c0c6f9bf521faebc89a0af20734e 8276711: compiler/codecache/cli tests failing when SegmentedCodeCache used with -Xint Reviewed-by: kvn, dholmes ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! test/hotspot/jtreg/compiler/codecache/cli/TestSegmentedCodeCacheOption.java ! test/hotspot/jtreg/compiler/codecache/cli/codeheapsize/TestCodeHeapSizeOptions.java ! test/hotspot/jtreg/compiler/codecache/cli/common/CodeCacheCLITestCase.java Changeset: 5c187e34 Author: Thomas Stuefe Date: 2022-03-03 13:25:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5c187e34a58769a129a0aae9e4937907c9060202 8282593: JDK-8281472 breaks 32-bit builds and gtests Reviewed-by: jiefu, dholmes ! test/hotspot/gtest/runtime/test_largeOptions.cpp Changeset: 57020fd5 Author: Jonathan Gibbons Date: 2022-03-03 14:54:02 +0000 URL: https://git.openjdk.java.net/valhalla/commit/57020fd5822148b02e72b60b462a7402658d979a 8282582: Unused methods in Utils Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Changeset: 080baffa Author: Pavel Rappo Date: 2022-03-03 16:10:18 +0000 URL: https://git.openjdk.java.net/valhalla/commit/080baffa6e0b27dbbf169d6c68980351aa484b8e 8282483: Ensure that Utils.getAllInterfaces returns unique instances Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Changeset: c777bb3d Author: Thomas Schatzl Date: 2022-03-03 16:16:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c777bb3df3234faff24b92e55977c7f4ae750647 8282619: G1: Fix indentation in G1CollectedHeap::mark_evac_failure_object Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp Changeset: 268fa693 Author: Xue-Lei Andrew Fan Date: 2022-03-03 19:20:16 +0000 URL: https://git.openjdk.java.net/valhalla/commit/268fa693188b685de6289927ee5a1e99473a50f6 8282511: Use fixed certificate validation date in SSLExampleCert template Reviewed-by: rhalade ! test/jdk/javax/net/ssl/ServerName/EndingDotHostname.java ! test/jdk/javax/net/ssl/templates/SSLExampleCert.java Changeset: 1581e3fa Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-03-03 19:30:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1581e3faa06358f192799b3a89718028c7f6a24b 8282402: Create a regression test for JDK-4666101 Reviewed-by: aivanov + test/jdk/javax/swing/JEditorPane/4666101/JEditorPaneNavigationTest.java Changeset: fb6b929e Author: Hai-May Chao Date: 2022-03-03 23:01:26 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fb6b929e6e935baeccfd03a7fbc048cc8b531ce5 8277474: jarsigner does not check if algorithm parameters are disabled Reviewed-by: mullan, weijun ! src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java + test/jdk/sun/security/tools/jarsigner/CheckAlgParams.java Changeset: 8478173d Author: Joe Wang Date: 2022-03-04 03:15:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8478173d837113bf603aadb614badd461f474250 8282583: Update BCEL md to include the copyright notice Reviewed-by: lancea, iris, naoto ! src/java.xml/share/legal/bcel.md Changeset: 7e1c67d4 Author: Mandy Chung Date: 2022-03-04 03:41:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7e1c67d4af76eba688927a24d711181570e965ef 8282608: RawNativeLibraryImpl can't be passed to NativeLibraries::findEntry0 Reviewed-by: mcimadamore, dholmes ! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java ! src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java ! src/java.base/share/classes/jdk/internal/loader/RawNativeLibraries.java ! src/java.base/share/native/libjava/NativeLibraries.c Changeset: b629782b Author: Igor Veresov Date: 2022-03-04 03:49:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b629782b8d44e8aa8a99c6a3381663a6169aa1ad 8279886: C1: Turn off SelectivePhiFunctions in presence of irreducible loops Reviewed-by: kvn, dlong ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/c1/c1_Compilation.hpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_Instruction.cpp ! src/hotspot/share/c1/c1_Instruction.hpp Changeset: b3837808 Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-03-04 10:56:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b3837808bf13de2aa3d8c6c21cf61baac9baf2b2 8282343: Create a regression test for JDK-4518432 Reviewed-by: aivanov + test/jdk/javax/swing/JTree/4518432/JTreeNodeCopyPasteTest.java Changeset: d5e8e52f Author: Julian Waters Committer: Magnus Ihse Bursie Date: 2022-03-04 12:42:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d5e8e52f02413e02200701fe8dab7a5c6ab5c77b 8282532: Allow explicitly setting build platform alongside --openjdk-target Reviewed-by: ihse ! doc/building.html ! doc/building.md ! make/autoconf/configure Changeset: a584c904 Author: Emanuel Peter Committer: Tobias Hartmann Date: 2022-03-04 12:55:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a584c904a9e386d7ce80fb9cc6d49fece065d3da 8282573: ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y) Reviewed-by: psandoz, thartmann ! test/hotspot/jtreg/compiler/intrinsics/unsafe/ByteBufferTest.java Changeset: 52471539 Author: Thomas Schatzl Date: 2022-03-04 13:40:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/52471539c002e38a5c815045913458776381d369 8282615: G1: Fix some includes Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1EvacFailureRegions.cpp Changeset: 603050bf Author: Emanuel Peter Committer: Paul Sandoz Date: 2022-03-04 16:26:14 +0000 URL: https://git.openjdk.java.net/valhalla/commit/603050bfe00d7a0185d84acab2a24a803aa86f82 8282661: [BACKOUT] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y) Reviewed-by: chagedorn, psandoz ! test/hotspot/jtreg/compiler/intrinsics/unsafe/ByteBufferTest.java Changeset: f9f9c0a8 Author: Magnus Ihse Bursie Date: 2022-03-04 16:32:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f9f9c0a8552f6815b22893e8984edb58991d4554 8252769: Warn in configure if git config autocrlf has invalid value Reviewed-by: erikj ! make/autoconf/basic_tools.m4 ! make/autoconf/basic_windows.m4 Changeset: 733c7907 Author: Naoto Sato Date: 2022-03-04 16:57:54 +0000 URL: https://git.openjdk.java.net/valhalla/commit/733c7907b0059cc734fd1aa5b8d31f9c3e2e3079 8282081: java.time.DateTimeFormatter: wrong definition of symbol F Reviewed-by: joehw, scolebourne, lancea, rriggs ! src/java.base/share/classes/java/time/format/DateTimeFormatter.java ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! test/jdk/java/time/test/java/time/format/TestDateTimeFormatterBuilder.java Changeset: 9c817d38 Author: Damon Nguyen Committer: Alexey Ivanov Date: 2022-03-04 19:26:12 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9c817d38806708f84139e3180ac86a3805dcce5f 8015854: [macosx] JButton's HTML ImageView adding unwanted padding Reviewed-by: psadhukhan, aivanov ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java + test/jdk/javax/swing/JButton/HtmlButtonImageTest/HtmlButtonImageTest.java Changeset: e07fd395 Author: Ioi Lam Date: 2022-03-04 20:14:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e07fd395bdc314867886a621ec76cf74a5f76b89 8281181: Do not use CPU Shares to compute active processor count Reviewed-by: dholmes, sgehwolf ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/globals_linux.hpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/containers/cgroup/PlainRead.java ! test/hotspot/jtreg/containers/docker/TestCPUAwareness.java ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: b0028a45 Author: Jonathan Gibbons Date: 2022-03-04 21:01:52 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b0028a459c7e99b5e4090cc19127f6347fe220ba 8272853: improve `JavadocTester.runTests` Reviewed-by: hannesw ! test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java + test/langtools/jdk/javadoc/testJavadocTester/TestRunTests.java Changeset: bae0d5e7 Author: TejeshR13 Committer: Phil Race Date: 2022-03-04 22:50:32 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bae0d5e7174fed8ffa8a30408c3cffa6e4dd3ddc 8236907: JTable added to nested panels does not paint last visible row Reviewed-by: psadhukhan, prr ! src/java.desktop/share/classes/javax/swing/TablePrintable.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableUI.java + test/jdk/javax/swing/JTable/8236907/LastVisibleRow.java Changeset: c459f8f4 Author: wanghaomin Committer: Vladimir Kozlov Date: 2022-03-05 00:01:49 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c459f8f406a99cf78814bb5722f546ae1cdb6c6f 8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1 Reviewed-by: jiefu, kvn ! test/hotspot/jtreg/compiler/inlining/ResolvedClassTest.java Changeset: 52278b80 Author: Mikael Vidstedt Date: 2022-03-05 01:36:02 +0000 URL: https://git.openjdk.java.net/valhalla/commit/52278b80c4b68af566327cf46b53dda5eda25a51 8282694: ProblemList runtime/CommandLine/VMDeprecatedOptions.java Reviewed-by: jjg ! test/hotspot/jtreg/ProblemList.txt Changeset: bc42e7cb Author: Thomas Stuefe Date: 2022-03-05 06:37:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bc42e7cbbfd586308338bfdf535c4fcab0cdbc48 8282382: Report glibc malloc tunables in error reports Reviewed-by: zgu, dholmes ! src/hotspot/os/linux/os_linux.cpp Changeset: 974ef554 Author: Jaikiran Pai Date: 2022-03-06 08:16:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/974ef5542fe52f9cb8ffd8751df8a020bca503c9 8282617: sun.net.www.protocol.https.HttpsClient#putInKeepAliveCache() doesn't use a lock while dealing with "inCache" field Reviewed-by: dfuchs, michaelm ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java Changeset: 415bf441 Author: Masanori Yano Date: 2022-03-06 23:53:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/415bf44191632cd8dbcc158c0ff0992c0b61c3ba 8275715: D3D pipeline processes multiple PaintEvent at initial drawing Reviewed-by: prr ! src/java.desktop/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java + test/jdk/sun/java2d/DirectX/MultiPaintEventTest/MultiPaintEventTest.java Changeset: 894ffb09 Author: Masanori Yano Date: 2022-03-07 01:33:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/894ffb098c80bfeb4209038c017d01dbf53fac0f 8282713: Invalid copyright notice in new test added by JDK-8275715 Reviewed-by: dholmes ! test/jdk/sun/java2d/DirectX/MultiPaintEventTest/MultiPaintEventTest.java Changeset: 6fc73f70 Author: Thomas Schatzl Date: 2022-03-07 13:52:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6fc73f709ba9a7f4810027f6c888b63a4604f004 8282620: G1/Parallel: Constify is_in_young() predicates Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.inline.hpp Changeset: 104e3cb2 Author: Joe Darcy Date: 2022-03-07 14:47:52 +0000 URL: https://git.openjdk.java.net/valhalla/commit/104e3cb24b4de5512abf9f5491f9c530b26838d3 8282696: Add constructors taking a cause to InvalidObjectException and InvalidClassException Reviewed-by: lancea ! src/java.base/share/classes/java/io/InvalidClassException.java ! src/java.base/share/classes/java/io/InvalidObjectException.java ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/io/ObjectStreamException.java + test/jdk/java/io/Serializable/InvalidClassException/TestIceConstructors.java + test/jdk/java/io/Serializable/InvalidObjectException/TestIoeConstructors.java Changeset: e544e354 Author: Ivan Walulya Date: 2022-03-07 15:05:42 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e544e354a425a242f23cee1049d6ba31b30740e0 8282621: G1: G1SegmentedArray remove unnecessary template parameter Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1CardSetMemory.cpp ! src/hotspot/share/gc/g1/g1CardSetMemory.hpp ! src/hotspot/share/gc/g1/g1CardSetMemory.inline.hpp ! src/hotspot/share/gc/g1/g1SegmentedArray.hpp ! src/hotspot/share/gc/g1/g1SegmentedArray.inline.hpp Changeset: 8e70f4c3 Author: Aleksey Shipilev Date: 2022-03-07 15:23:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8e70f4c3dca4cefe813c5b0fd39c386230ca2fd7 8282224: Correct TIG::bang_stack_shadow_pages comments Reviewed-by: coleenp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp Changeset: f0995abe Author: Lance Andersen Date: 2022-03-07 16:10:31 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f0995abe62b81cf9c96cc07caa0ac27d00c96ff1 8280404: Unexpected exception thrown when CEN file entry comment length is not valid Reviewed-by: alanb ! src/java.base/share/classes/java/util/zip/ZipFile.java + test/jdk/java/util/zip/ZipFile/InvalidCommentLengthTest.java Changeset: ef266d77 Author: Roland Westrelin Date: 2022-03-07 16:26:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ef266d77b6eb54d7e30a0aafd8a3e8c8f4f0e43a 8278296: Generalize long range check transformation Reviewed-by: jrose, thartmann ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/node.hpp ! test/hotspot/jtreg/compiler/c2/irTests/TestLongRangeChecks.java ! test/hotspot/jtreg/compiler/rangechecks/TestLongRangeCheck.java Changeset: 7194097b Author: Kim Barrett Date: 2022-03-07 17:35:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7194097bcae7e0fd32488834277bb18cb97cea8b 8252577: HotSpot Style Guide should link to One-True-Brace-Style description Reviewed-by: stuefe, dcubed, dholmes ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 1faa5c80 Author: Joe Darcy Date: 2022-03-07 17:52:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1faa5c8092f8baec3ca08ed059653876ec46db46 8282686: Add constructors taking a cause to SocketException Reviewed-by: alanb, xuelei, lancea, dfuchs ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/net/SocketException.java ! src/java.base/share/classes/javax/net/SocketFactory.java ! src/java.base/share/classes/javax/net/ssl/SSLServerSocketFactory.java ! src/java.base/share/classes/javax/net/ssl/SSLSocketFactory.java ! src/java.base/share/classes/sun/nio/ch/DatagramSocketAdaptor.java + test/jdk/java/net/SocketException/TestSocketExceptionCtor.java Changeset: 5953b229 Author: Kim Barrett Date: 2022-03-07 18:12:14 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5953b229bf6d7834d575862e7577522ded0b6791 8257589: HotSpot Style Guide should link to rfc7282 Reviewed-by: dcubed, dholmes ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 2e298b8b Author: Kim Barrett Date: 2022-03-07 18:20:01 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2e298b8bf45edc37269b8b70f7784082a8f87306 8272691: Fix HotSpot style guide terminology for "non-local variables" Reviewed-by: dcubed, dholmes ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 3996782c Author: Ravi Reddy Committer: Joe Wang Date: 2022-03-07 19:36:54 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3996782c5af7b0396d5133fab457c507758d9340 8281093: Violating Attribute-Value Normalization in the XML specification 1.0 Reviewed-by: joehw ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java Changeset: 5d5bf16b Author: Magnus Ihse Bursie Date: 2022-03-07 19:40:34 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5d5bf16b0af419781fd336fe33d8eab5adf8be5a 8282567: Improve source-date handling in build system Reviewed-by: erikj, sgehwolf ! doc/building.html ! doc/building.md ! make/InitSupport.gmk ! make/autoconf/configure.ac ! make/autoconf/help.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/spec.gmk.in Changeset: ccad3923 Author: Matteo Baccan Committer: Magnus Ihse Bursie Date: 2022-03-07 21:33:40 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ccad39237ab860c5c5579537f740177e3f1adcc9 8282657: Code cleanup: removing double semicolons at the end of lines Reviewed-by: lancea, rriggs, ihse, prr, iris, wetmore, darcy, dholmes ! make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java ! make/langtools/tools/genstubs/GenStubs.java ! src/java.base/share/classes/java/io/File.java ! src/java.base/share/classes/java/util/WeakHashMap.java ! src/java.base/share/classes/sun/util/logging/PlatformLogger.java ! src/java.desktop/share/classes/javax/swing/RepaintManager.java ! src/java.rmi/share/classes/java/rmi/server/LogStream.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/AuthTime.java ! src/java.sql.rowset/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XPathParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobals.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ui/FindInCodeCachePanel.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ui/FindInHeapPanel.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/SocketChannelImplInstrumentor.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/JSONWriter.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/Selector.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java ! test/hotspot/jtreg/compiler/codegen/Test6909839.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/CompileCodeTestCase.java ! test/hotspot/jtreg/compiler/unsafe/TestMisalignedUnsafeAccess.java ! test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java ! test/hotspot/jtreg/runtime/cds/appcds/customLoader/SameNameInTwoLoadersTest.java ! test/hotspot/jtreg/serviceability/jvmti/Heap/IterateHeapWithEscapeAnalysisEnabled.java ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java ! test/hotspot/jtreg/vmTestbase/jit/series/series.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/unmonitor/unmonitor001/unmonitor001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BScenarios/multithrd/tc02x003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassObjectReference/reflectedType/reflectype002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/LocalVariable/isVisible/isvisible001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/frames/frames001.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java ! test/jdk/com/sun/jdi/ConstantPoolInfo.java ! test/jdk/com/sun/jdi/GenericsTest.java ! test/jdk/java/awt/Component/CompEventOnHiddenComponent/CompEventOnHiddenComponent.java ! test/jdk/java/awt/EmbeddedFrame/EmbeddedFrameGrabTest/EmbeddedFrameGrabTest.java ! test/jdk/java/awt/PrintJob/PrintArcTest/PrintArcTest.java ! test/jdk/java/awt/SplashScreen/GenerateTestImage.java ! test/jdk/java/awt/print/PrinterJob/PrtException.java ! test/jdk/java/io/File/GetXSpace.java ! test/jdk/java/io/File/createTempFile/NameTooLong.java ! test/jdk/java/io/RandomAccessFile/WriteBytesChars.java ! test/jdk/java/lang/invoke/8022701/BogoLoader.java ! test/jdk/java/lang/invoke/accessProtectedSuper/BogoLoader.java ! test/jdk/java/lang/management/RuntimeMXBean/GetSystemProperties.java ! test/jdk/java/net/httpclient/AggregateRequestBodyTest.java ! test/jdk/java/nio/channels/SocketChannel/CloseTimeoutChannel.java ! test/jdk/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java ! test/jdk/java/time/tck/java/time/zone/TCKZoneRules.java ! test/jdk/java/util/logging/TestAppletLoggerContext.java ! test/jdk/javax/net/ssl/ServerName/SSLSocketExplorer.java ! test/jdk/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java ! test/jdk/javax/net/ssl/ServerName/SSLSocketExplorerMatchedSNI.java ! test/jdk/javax/net/ssl/ServerName/SSLSocketExplorerUnmatchedSNI.java ! test/jdk/javax/net/ssl/ServerName/SSLSocketExplorerWithCliSNI.java ! test/jdk/javax/net/ssl/ServerName/SSLSocketExplorerWithSrvSNI.java ! test/jdk/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java ! test/jdk/javax/sound/midi/Gervill/SoftChannel/NoteOff.java ! test/jdk/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java ! test/jdk/javax/sql/testng/test/rowset/BaseRowSetTests.java ! test/jdk/javax/sql/testng/test/rowset/serial/SQLInputImplTests.java ! test/jdk/javax/sql/testng/test/rowset/serial/SerialArrayTests.java ! test/jdk/javax/sql/testng/test/rowset/serial/SerialExceptionTests.java ! test/jdk/javax/sql/testng/test/rowset/serial/SerialStructTests.java ! test/jdk/jdk/jfr/api/consumer/TestRecordingFile.java ! test/jdk/jdk/jfr/api/consumer/filestream/TestReuse.java ! test/jdk/jdk/jfr/api/recording/event/TestEventTime.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tooltip/ToolTipDemo.java ! test/jdk/sun/java2d/cmm/ColorConvertOp/ImageFactory.java ! test/jdk/sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java ! test/jdk/sun/security/provider/certpath/DisabledAlgorithms/CPBuilderWithMD5.java ! test/jdk/sun/tools/jhsdb/BasicLauncherTest.java ! test/jdk/tools/jar/modularJar/Basic.java ! test/jdk/tools/jar/multiRelease/data/test13/v10/version/Nested.java ! test/langtools/jdk/javadoc/tool/api/basic/JavadocTaskImplTest.java ! test/langtools/jdk/jshell/VariablesTest.java ! test/langtools/tools/doclint/RunTest.java ! test/langtools/tools/javac/generics/inference/4954546/T4954546.java Changeset: 50eb915a Author: Andrey Turbanov Date: 2022-03-07 22:00:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/50eb915a74aed2daf03c7d39670d3a1ac8d5cbfb 8282632: Cleanup unnecessary calls to Throwable.initCause() in java.security.jgss Reviewed-by: mullan, rhalade ! src/java.security.jgss/share/classes/sun/net/www/protocol/http/spnego/NegotiatorImpl.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/KRBError.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/dk/ArcFourCrypto.java Changeset: cde923dd Author: Ioi Lam Date: 2022-03-08 00:19:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cde923dd471a22cd69ea2cd4994bb16eba780804 8282690: runtime/CommandLine/VMDeprecatedOptions.java fails after JDK-8281181 Reviewed-by: dholmes, dcubed ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 3f0684d0 Author: Yi Yang Date: 2022-03-08 03:14:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3f0684d0b85662724af845a4ee6b97d9c5ceacbd 8275775: Add jcmd VM.classes to print details of all classes Reviewed-by: dholmes, iklam, stuefe ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/runtime/vmOperation.hpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp + test/hotspot/jtreg/runtime/CommandLine/PrintClasses.java Changeset: 8b45dbda Author: Jamil Nimeh Date: 2022-03-08 05:50:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8b45dbdae6e5dee85ef65ce25850ce692ad3e965 8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86 Reviewed-by: dlong ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: e6072872 Author: Albert Mingkun Yang Date: 2022-03-08 08:24:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e607287204dbb551b75e82f4de64ea3cd0f47f24 8282728: Serial: Remove unused BlockOffsetArray::Action Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/blockOffsetTable.cpp ! src/hotspot/share/gc/shared/blockOffsetTable.hpp Changeset: 65ca0a57 Author: Markus Gr?nlund Date: 2022-03-08 09:28:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/65ca0a5776df229ee91f420585ca1e8f91e489c6 8276333: jdk/jfr/event/oldobject/TestLargeRootSet.java failed "assert(!contains(edge->reference())) failed: invariant" Reviewed-by: egahlin ! src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp ! test/jdk/ProblemList.txt Changeset: 5fab27e1 Author: Jim Laskey Date: 2022-03-08 13:25:34 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5fab27e1b8fdf2ea27cb3b349bd339a4a6ec828b 8282144: RandomSupport.convertSeedBytesToLongs sign extension overwrites previous bytes Reviewed-by: bpb ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java + test/jdk/java/util/Random/T8282144.java Changeset: c6d743fb Author: Magnus Ihse Bursie Date: 2022-03-08 13:57:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c6d743fb920e740c7b0aac0c0ef5bdc3d60252ad 8282770: Set source date in jib profiles from buildId Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: 0f88fc18 Author: Magnus Ihse Bursie Date: 2022-03-08 14:04:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0f88fc180cd5abc60605a094efa3f3a54f67f7a0 8282769: BSD date cannot handle all ISO 8601 formats Reviewed-by: erikj ! make/autoconf/util.m4 Changeset: 0cbc4b85 Author: Foivos Zakkak Committer: Severin Gehwolf Date: 2022-03-08 15:35:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0cbc4b85bf8ab2ccfb8762322098c4cc7996df7d 8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly Reviewed-by: sgehwolf, dnsimon ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MetaUtil.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 3e4dfc63 Author: Coleen Phillimore Date: 2022-03-08 16:10:26 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3e4dfc63e75db7e8ccbb21a831d8d86fb7c1ac4e 8282295: SymbolPropertyEntry::set_method_type fails with assert Reviewed-by: hseigel ! src/hotspot/share/memory/universe.cpp Changeset: 2549e550 Author: Daniel Jeli?ski Committer: Daniel Fuchs Date: 2022-03-08 16:15:24 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2549e5503806447733572643603af9a2bf4b52e5 8275640: (win) java.net.NetworkInterface issues with IPv6-only environments Reviewed-by: msheppar, dfuchs ! src/java.base/windows/native/libnet/NetworkInterface.c ! src/java.base/windows/native/libnet/NetworkInterface_winXP.c Changeset: 3fc009be Author: Ian Graves Date: 2022-03-08 16:32:18 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3fc009be8a49f9edb8059d8612ef6ed7f048f242 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag. Reviewed-by: rriggs, lancea ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: 6b34884b Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-03-08 17:01:03 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6b34884b34c4d84a1b5cfa3556a188415a42b1de 8282234: Create a regression test for JDK-4532513 Reviewed-by: aivanov + test/jdk/javax/swing/JTextField/4532513/DefaultCaretRequestsFocusTest.java Changeset: 288d1afc Author: Xin Liu Date: 2022-03-08 17:33:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/288d1afc5a2d5ac128b1b427bc877b7815925917 8282715: typo compileony in test Test8005033.java Reviewed-by: jiefu, dholmes, thartmann ! test/hotspot/jtreg/compiler/codegen/Test8005033.java Changeset: 72e987e3 Author: Sean Mullan Date: 2022-03-08 18:18:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/72e987e3b49b81f2f66d125c18ab459d9ed572b6 7192189: Support endpoint identification algorithm in RFC 6125 Reviewed-by: xuelei, rhalade ! src/java.base/share/classes/sun/security/util/HostnameChecker.java = test/jdk/sun/security/util/HostnameChecker/NullHostnameCheck.java + test/jdk/sun/security/util/HostnameChecker/TestHostnameChecker.java = test/jdk/sun/security/util/HostnameChecker/cert1.crt = test/jdk/sun/security/util/HostnameChecker/cert2.crt = test/jdk/sun/security/util/HostnameChecker/cert3.crt = test/jdk/sun/security/util/HostnameChecker/cert4.crt = test/jdk/sun/security/util/HostnameChecker/cert5.crt - test/jdk/sun/security/util/HostnameMatcher/TestHostnameChecker.java Changeset: ea19114e Author: Rajan Halade Date: 2022-03-08 20:34:02 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ea19114e66326e4be7b4b9995888ad2ead3d37dc 8282832: Update file path for HostnameMatcher/cert5.crt in test sun/security/util/Pem/encoding.sh Reviewed-by: mullan ! test/jdk/sun/security/util/Pem/encoding.sh Changeset: 49245131 Author: Hao Sun Committer: Pengfei Li Date: 2022-03-09 00:52:01 +0000 URL: https://git.openjdk.java.net/valhalla/commit/49245131e98c1c72c447536e5527acecb3311add 8265263: AArch64: Combine vneg with right shift count Reviewed-by: adinn, dlong ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 + test/micro/org/openjdk/bench/vm/compiler/VectorShiftRight.java Changeset: 12693a6c Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2022-03-09 01:02:25 +0000 URL: https://git.openjdk.java.net/valhalla/commit/12693a6cf3e00c38a635d888419406f689657813 8282432: Optimize masked "test" Vector API with predicate feature Reviewed-by: psandoz ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/templates/Unit-Test.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template Changeset: 31ad80a2 Author: Tim Prinzing Committer: Mandy Chung Date: 2022-03-09 04:02:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/31ad80a229e3f67823ff8f1fc914c5503f184b57 8280902: ResourceBundle::getBundle may throw NPE when invoked by JNI code with no caller frame Reviewed-by: naoto, mchung, ihse ! make/test/JtregNativeJdk.gmk ! src/java.base/share/classes/java/util/ResourceBundle.java + test/jdk/java/util/ResourceBundle/exeNullCallerResourceBundle/NullCallerResourceBundle.java + test/jdk/java/util/ResourceBundle/exeNullCallerResourceBundle/exeNullCallerResourceBundle.c Changeset: d07f7c76 Author: Emanuel Peter Committer: Tobias Hartmann Date: 2022-03-09 08:59:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d07f7c76c5df1473bffa41f10a89ca1e21e001ef 8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y) Reviewed-by: psandoz, thartmann ! test/hotspot/jtreg/compiler/intrinsics/unsafe/ByteBufferTest.java Changeset: 5df2a057 Author: Zhengyu Gu Date: 2022-03-09 13:27:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5df2a057707eb65148f96710bd57d8dd8d85d1ed 8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig() Reviewed-by: stuefe, dholmes, aivanov ! src/java.desktop/unix/native/common/awt/fontpath.c Changeset: 6d8d156c Author: Xue-Lei Andrew Fan Date: 2022-03-09 16:11:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6d8d156c97b90a9ab4776c6b42563a962d959741 8280494: (D)TLS signature schemes Reviewed-by: mullan ! src/java.base/share/classes/javax/net/ssl/SSLParameters.java ! src/java.base/share/classes/sun/security/ssl/SSLConfiguration.java ! src/java.base/share/classes/sun/security/ssl/SignatureScheme.java ! src/java.base/share/classes/sun/security/ssl/Utilities.java + test/jdk/javax/net/ssl/DTLS/DTLSSignatureSchemes.java + test/jdk/javax/net/ssl/SSLParameters/SignatureSchemes.java Changeset: 70318e1d Author: Weijun Wang Date: 2022-03-09 16:47:03 +0000 URL: https://git.openjdk.java.net/valhalla/commit/70318e1d17072198be5674ebe7118fb5f9373144 8282884: Provide OID aliases for MD2, MD5, and OAEP Reviewed-by: xuelei ! src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java ! src/java.base/share/classes/sun/security/provider/SunEntries.java Changeset: ff766204 Author: Chris Plummer Date: 2022-03-09 19:42:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ff76620487c307514c435443bbaebc9a6c473f5d 8282641: Make jdb "threadgroup" command with no args reset the current threadgroup back to the default Reviewed-by: kevinw, amenkov ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Commands.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/threadgroup/threadgroup002/threadgroup002.java Changeset: 8aba4de9 Author: Rajat Mahajan Committer: Sergey Bylokhov Date: 2022-03-10 05:09:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8aba4de98477a3bcfcde8db71e0d797965f774c7 8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode Reviewed-by: serb, aivanov ! src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp Changeset: 5b78a82e Author: Prasanta Sadhukhan Date: 2022-03-10 09:22:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5b78a82e9d4b73e5bf3c6e099564206ecbda889b 7017094: ParsedSynthStyle: parameter name "direction" should be changed to "tabIndex" Reviewed-by: jdv, aivanov, prr ! src/java.desktop/share/classes/javax/swing/plaf/synth/ParsedSynthStyle.java Changeset: 6a3a7b94 Author: Prasanta Sadhukhan Date: 2022-03-10 09:26:36 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6a3a7b94a4c342ce12ad553f1ba2818ca3a77f36 6218162: DefaultTableColumnModel.getColumn() method should mention ArrayIndexOutOfBoundsException Reviewed-by: aivanov, prr ! src/java.desktop/share/classes/javax/swing/table/DefaultTableColumnModel.java Changeset: 83d77186 Author: Thomas Schatzl Date: 2022-03-10 11:28:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/83d771869046c2a2bf251ee5aebaceba60555e65 8282893: Remove MacroAssembler::push/pop_callee_saved_registers Reviewed-by: redestad ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp Changeset: 9c88c5bb Author: Magnus Ihse Bursie Date: 2022-03-10 13:50:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9c88c5bb63fb67f301e843d1bd5700d7e5e95204 8282948: JDK-8274980 missed correct handling of MACOSX_BUNDLE_BUILD_VERSION Reviewed-by: erikj ! make/autoconf/jdk-version.m4 Changeset: 7c8ea9f0 Author: Tyler Steele Committer: Martin Doerr Date: 2022-03-10 15:09:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7c8ea9f05b35069e2b5b43e1a0e46f7dbe374e4c 8282509: [exploded image] ResolvedClassTest fails with similar output Reviewed-by: mdoerr, dlong ! test/hotspot/jtreg/compiler/inlining/ResolvedClassTest.java Changeset: 26747990 Author: Alex Blewitt Committer: Aleksey Shipilev Date: 2022-03-10 15:27:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/26747990053ab8f378d7f64cd7e565e530af88fc 8282878: Removed _JavaThread from PhaseTraceTime Reviewed-by: shade, thartmann ! src/hotspot/share/c1/c1_Compilation.cpp Changeset: 1668c02e Author: Anton Litvinov Date: 2022-03-10 16:37:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1668c02ee83cc4f7bd7b2fe5bb7ef59b5dbda081 8277922: Unable to click JCheckBox in JTable through Java Access Bridge Reviewed-by: aivanov, serb ! src/java.desktop/share/classes/javax/swing/JTable.java + test/jdk/javax/accessibility/JTable/BooleanRendererHasAccessibleActionTest.java Changeset: e8a1ce00 Author: Brian Burkhalter Date: 2022-03-10 16:38:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e8a1ce00b2981a698b4ba3e09a8b2d49d0051ccb 8280881: (fs) UnixNativeDispatcher.close0 may throw UnixException Reviewed-by: alanb ! src/java.base/linux/classes/sun/nio/fs/LinuxDosFileAttributeView.java ! src/java.base/linux/classes/sun/nio/fs/LinuxWatchService.java ! src/java.base/unix/classes/sun/nio/fs/UnixCopyFile.java ! src/java.base/unix/classes/sun/nio/fs/UnixDirectoryStream.java ! src/java.base/unix/classes/sun/nio/fs/UnixFileAttributeViews.java ! src/java.base/unix/classes/sun/nio/fs/UnixFileStore.java ! src/java.base/unix/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/java.base/unix/classes/sun/nio/fs/UnixSecureDirectoryStream.java ! src/java.base/unix/classes/sun/nio/fs/UnixUserDefinedFileAttributeView.java Changeset: fdce97df Author: Brian Burkhalter Date: 2022-03-10 17:36:51 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fdce97df5f03d9aa37d85f271d08971ec47db01d 8267820: (fs) Files.copy should attempt to copy POSIX attributes when target file in custom file system Reviewed-by: lancea, alanb ! src/java.base/share/classes/java/nio/file/CopyMoveHelper.java ! test/jdk/java/nio/file/Files/CopyAndMove.java ! test/jdk/jdk/nio/zipfs/TestPosix.java ! test/jdk/jdk/nio/zipfs/test.policy ! test/jdk/jdk/nio/zipfs/test.policy.posix Changeset: 879b6445 Author: Zhengyu Gu Date: 2022-03-10 18:23:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/879b6445e33ad3a07461d01ea8f28a09979a4313 8282897: Fix call parameter to GetStringChars() in HostLocaleProviderAdapter_md.c Reviewed-by: shade, naoto ! src/java.base/windows/native/libjava/HostLocaleProviderAdapter_md.c Changeset: 1f295239 Author: John Jiang Date: 2022-03-10 18:25:06 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1f295239b97cccfff24df259215d34c712065867 8282932: a space is needed for the unsupported protocol exception message in ProtocolVersion Reviewed-by: xuelei, mullan ! src/java.base/share/classes/sun/security/ssl/ProtocolVersion.java Changeset: b13cacc5 Author: Brian Burkhalter Date: 2022-03-10 18:25:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b13cacc575f58c206c928f2756698b027ee07b6f 8254574: PrintWriter handling of InterruptedIOException should be removed Reviewed-by: alanb ! src/java.base/share/classes/java/io/PrintStream.java ! src/java.base/share/classes/java/io/PrintWriter.java Changeset: 7b91bbba Author: Aleksey Shipilev Date: 2022-03-10 18:53:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7b91bbba82e871edaf133343415e254972c6ddc7 8282170: JVMTI SetBreakpoint metaspace allocation test Reviewed-by: cjplummer, lmesnik + test/hotspot/jtreg/serviceability/jvmti/SetBreakpoint/TestManyBreakpoints.java + test/hotspot/jtreg/serviceability/jvmti/SetBreakpoint/libTestManyBreakpoints.cpp Changeset: f5217b47 Author: Chris Plummer Date: 2022-03-10 19:08:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f5217b475e2bfcbc649dd1e067222bf500429663 8282852: Debug agent asserts in classTrack_addPreparedClass() Reviewed-by: amenkov, lmesnik ! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c Changeset: bb7ee5a0 Author: Daniel D. Daugherty Date: 2022-03-10 19:13:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bb7ee5a04ae21a9f9dc6c59a990f7e571e832f0d 8282314: nsk/jvmti/SuspendThread/suspendthrd003 may leak memory Reviewed-by: dholmes, cjplummer, amenkov, lmesnik, mseledtsov ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Log.java Changeset: a5a1a32d Author: Yi Yang Date: 2022-03-11 02:27:01 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a5a1a32db65b98f0d7bae20cf054be2fbbf2cf3a 8282883: Use JVM_LEAF to avoid ThreadStateTransition for some simple JVM entries Reviewed-by: dholmes, shade ! src/hotspot/share/prims/jvm.cpp Changeset: 88f0938c Author: Yi Yang Date: 2022-03-11 02:28:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/88f0938c943bfacf748ddb0588a301c2cf7e941e 8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2 Reviewed-by: redestad, thartmann ! src/hotspot/share/opto/library_call.cpp Changeset: 1a5a496a Author: Ivan Walulya Date: 2022-03-11 08:43:04 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1a5a496aee0f4c33cb67b0853bbf23313fd6ec7d 8282763: G1: G1CardSetContainer remove intrusive-list details. Reviewed-by: tschatzl, kbarrett, ayang ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp Changeset: cab9def1 Author: Julian Waters Committer: Magnus Ihse Bursie Date: 2022-03-11 09:12:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cab9def1c1ab28b0b1a8cf268d0853f6e2bfa77f 8282700: Properly handle several --without options during configure Reviewed-by: ihse ! make/autoconf/jdk-version.m4 Changeset: f99193ae Author: Christian Stein Committer: Erik Gahlin Date: 2022-03-11 09:58:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f99193ae3fe8b7bcba34a451890da37cab5ebffb 8282811: Typo in IAE details message of `RecordedObject.getValueDescriptor` Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedObject.java Changeset: 95ca9443 Author: Mahendra Chhipa Committer: Daniel Fuchs Date: 2022-03-11 10:48:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/95ca94436d12974d98b1b999f9cc8408d64cbe3c 8282354: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/ tests Reviewed-by: dfuchs ! test/jdk/java/net/ProxySelector/LoopbackAddresses.java ! test/jdk/java/net/ProxySelector/ProxyTest.java ! test/jdk/java/net/URL/PerConnectionProxy.java ! test/jdk/java/net/URLConnection/B5052093.java ! test/jdk/sun/net/www/AuthHeaderTest.java ! test/jdk/sun/net/www/http/KeepAliveCache/B5045306.java - test/jdk/sun/net/www/httptest/AbstractCallback.java - test/jdk/sun/net/www/httptest/ClosedChannelList.java - test/jdk/sun/net/www/httptest/HttpCallback.java - test/jdk/sun/net/www/httptest/HttpTransaction.java - test/jdk/sun/net/www/httptest/TestHttpServer.java ! test/jdk/sun/security/ssl/InputRecord/ClientHelloRead.java Changeset: 0fd09d38 Author: Zhengyu Gu Date: 2022-03-11 13:25:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0fd09d383b9921f26d2d609ab330630a4520325a 8282978: Wrong parameter passed to GetStringXXXChars in various places Reviewed-by: alanb, dfuchs ! src/java.base/unix/native/libnet/Inet4AddressImpl.c ! src/java.base/unix/native/libnet/Inet6AddressImpl.c ! src/java.base/windows/native/libnet/Inet4AddressImpl.c ! src/java.base/windows/native/libnet/Inet6AddressImpl.c ! src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c ! src/java.desktop/windows/native/libawt/windows/awt_Button.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Checkbox.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Desktop.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsEnv.cpp Changeset: 374193b6 Author: Pavel Rappo Date: 2022-03-11 22:41:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/374193b6d2465a356941f9588a0ccf6d97cb76f6 8283041: [javadoc] Crashes using {@return} with @param Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java ! test/langtools/jdk/javadoc/doclet/testReturnTag/TestReturnTag.java Changeset: 5c408c14 Author: Joshua Zhu Committer: Jie Fu Date: 2022-03-12 04:04:28 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5c408c1410e15087f735a815b7edc716d514b1b3 8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap Reviewed-by: psandoz ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template Changeset: 3cf83a67 Author: Jaikiran Pai Date: 2022-03-14 03:17:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3cf83a671eaedd78d87197dffa76dcc3fededb78 8282572: EnumSet should be a sealed class Reviewed-by: sundar ! src/java.base/share/classes/java/util/EnumSet.java ! src/java.base/share/classes/java/util/JumboEnumSet.java ! src/java.base/share/classes/java/util/RegularEnumSet.java Changeset: fde31498 Author: Jatin Bhateja Date: 2022-03-14 07:11:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fde31498963d76630ada31bd0e0cf3035f87445b 8281375: Accelerate bitCount operation for AVX2 and AVX512 target. Reviewed-by: sviswanathan, thartmann ! src/hotspot/cpu/aarch64/matcher_aarch64.hpp ! src/hotspot/cpu/arm/matcher_arm.hpp ! src/hotspot/cpu/ppc/matcher_ppc.hpp ! src/hotspot/cpu/s390/matcher_s390.hpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/matcher_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/loopTransform.cpp ! test/hotspot/jtreg/compiler/vectorization/TestPopCountVectorLong.java Changeset: c0e3d107 Author: Thomas Schatzl Date: 2022-03-14 09:02:12 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c0e3d107f67a1a333dbe58ae745200d85764c74e 8283008: KRegister documentation out of date Reviewed-by: dlong, sviswanathan, jiefu, jbhateja ! src/hotspot/cpu/x86/register_x86.hpp Changeset: 01570ca9 Author: Aleksey Shipilev Date: 2022-03-14 09:03:05 +0000 URL: https://git.openjdk.java.net/valhalla/commit/01570ca92d234481df2d540027e320b91af415a0 8283017: GHA: Workflows break with update release versions Reviewed-by: erikj, ihse ! .github/workflows/submit.yml Changeset: 5f3d4032 Author: Ahmed Muhsin Committer: Christian Hagedorn Date: 2022-03-14 09:05:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5f3d4032f3a8854f7afde28698e66a7b6684aed7 8272735: Add missing SubL node transformations Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/subnode.cpp ! test/hotspot/jtreg/compiler/c2/irTests/SubINodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/SubLNodeIdealizationTests.java Changeset: ea9eeea8 Author: Roland Westrelin Date: 2022-03-14 13:59:13 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ea9eeea8ffea6ed32a270051c6986f4f059943c0 8281322: C2: always construct strip mined loop initially (even if strip mining is disabled) Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp + test/hotspot/jtreg/compiler/c2/irTests/TestCountedLoopSafepoint.java ! test/hotspot/jtreg/compiler/c2/irTests/TestLongRangeChecks.java Changeset: 08573cc3 Author: Zdenek Zambersky Committer: Bradford Wetmore Date: 2022-03-14 14:21:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/08573cc3b2370a697a7bd4ad0665ee20ae148d39 8282529: Fix API Note in javadoc for javax.net.ssl.SSLSocket Reviewed-by: wetmore, xuelei ! src/java.base/share/classes/javax/net/ssl/SSLSocket.java Changeset: 13cebffe Author: Brian Burkhalter Date: 2022-03-14 16:10:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/13cebffe618255ae29310c95fd1b91576e576751 8058924: FileReader(String) documentation is insufficient Reviewed-by: naoto, lancea ! src/java.base/share/classes/java/io/package-info.java Changeset: c96085ea Author: Naoto Sato Date: 2022-03-14 16:28:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c96085eaab1f6b21e084b94fcc619d090f0afc97 8282929: Localized monetary symbols are not reflected in `toLocalizedPattern` return value Reviewed-by: joehw, lancea ! src/java.base/share/classes/java/text/DecimalFormat.java + test/jdk/java/text/Format/DecimalFormat/ToLocalizedPatternTest.java Changeset: 7833667f Author: Emanuel Peter Committer: Harold Seigel Date: 2022-03-14 17:35:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/7833667f0e2151fc56c7c1533015f004f02f7ab2 8282881: Print exception message in VM crash with -XX:AbortVMOnException Reviewed-by: dholmes, hseigel ! src/hotspot/share/utilities/exceptions.cpp Changeset: 70bd57ed Author: Carter Kozak Committer: Daniel Fuchs Date: 2022-03-14 17:54:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/70bd57ed3544cdb41029d425507ba4b9b35c8cdb 8283049: Fix non-singleton LoggerFinder error message: s/on/one Reviewed-by: dfuchs ! src/java.base/share/classes/jdk/internal/logger/LoggerFinderLoader.java ! test/jdk/java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java Changeset: f66070b0 Author: Phil Race Date: 2022-03-14 18:05:38 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f66070b00d4311c6e3a6fbf38956fa2d5da5fada 8282577: ICC_Profile.setData(int, byte[]) invalidates the profile Reviewed-by: serb ! src/java.desktop/share/native/liblcms/LCMS.c + test/jdk/java/awt/color/ICC_ColorSpace/SetTagDataValidation.java ! test/jdk/java/awt/color/ICC_Profile/MTGetData.java Changeset: 5bf6a7f7 Author: Chris Plummer Date: 2022-03-14 18:15:40 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5bf6a7f7d78506118ded0f0bf6383b0825366619 8282691: add jdb "-R" option for passing any argument to the launched debuggee process Reviewed-by: alanb, kevinw ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources.java ! src/jdk.jdi/share/man/jdb.1 ! test/jdk/com/sun/jdi/JdbOptions.java Changeset: a244051a Author: Mikael Vidstedt Date: 2022-03-14 18:37:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a244051a8c967039d7639afcaf83f7d92af49613 8283062: Uninitialized warnings in libgtest with GCC 11.2 Reviewed-by: jiefu, erikj ! make/hotspot/lib/CompileGtest.gmk Changeset: 5ba5e21f Author: Hannes Walln?fer Date: 2022-03-14 20:28:07 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5ba5e21fd2a02d15d4d56931cae4f9a978470c88 8282214: Upgrade JQuery to version 3.6.0 Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-3.5.1.min.js = src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-3.6.0.js + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-3.6.0.min.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java ! src/jdk.javadoc/share/legal/jquery.md ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: 6013d09e Author: Hannes Walln?fer Date: 2022-03-14 20:29:15 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6013d09e82693a1c07cf0bf6daffd95114b3cbfa 8268866: Javascript when used in an iframe cannot display search results Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js.template Changeset: 34d4ffce Author: Dean Long Date: 2022-03-15 07:24:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/34d4ffcea5d71560c549655967de863342b48984 8279317: compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java assumes immutable code Reviewed-by: dnsimon, iveresov ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java Changeset: 710653ce Author: Daniel Fuchs Date: 2022-03-15 12:59:54 +0000 URL: https://git.openjdk.java.net/valhalla/commit/710653ce1856d13161ae1786d7c5f71997536e78 8254786: java/net/httpclient/CancelRequestTest.java failing intermittently Reviewed-by: jpai, michaelm ! src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! test/jdk/java/net/httpclient/CancelRequestTest.java Changeset: 2cddf3f5 Author: Zhengyu Gu Date: 2022-03-15 14:16:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/2cddf3f5391518ea40796e6c4759047d51b7b312 8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows Reviewed-by: naoto, alanb ! src/java.base/windows/native/libjava/HostLocaleProviderAdapter_md.c Changeset: 4de72014 Author: Tyler Steele Committer: Thomas Stuefe Date: 2022-03-15 14:52:27 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4de72014d3a33469399fec6f428f35c47c4cfbe0 8283122: [AIX, s390] UnsafeCopyMemory 'Mismatched' Tests Fail on Big Endian Systems Reviewed-by: thartmann, stuefe ! test/hotspot/jtreg/compiler/unsafe/UnsafeCopyMemory.java Changeset: f43ffe21 Author: Hai-May Chao Date: 2022-03-15 15:54:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f43ffe211f8ff287697092c39e4c25a16b40a383 8282633: jarsigner output does not explain why an EC key is disabled if its curve has been disabled Reviewed-by: weijun ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/util/KeyUtil.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java + test/jdk/sun/security/tools/jarsigner/DisableCurveTest.java Changeset: 671b6efd Author: Joe Darcy Date: 2022-03-15 16:05:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/671b6efd6126384c0630d1cd84f53f52995e68d8 8283143: Use minimal-length literals to initialize PI and E constants Reviewed-by: smarks ! src/java.base/share/classes/java/lang/Math.java ! src/java.base/share/classes/java/lang/StrictMath.java Changeset: 05a83e03 Author: Joe Darcy Date: 2022-03-15 16:22:11 +0000 URL: https://git.openjdk.java.net/valhalla/commit/05a83e03ca35b4885b48bb0e7d188baf8f7d9d7f 8283124: Add constant for tau to Math and StrictMath Reviewed-by: bpb, iris ! src/java.base/share/classes/java/lang/Math.java ! src/java.base/share/classes/java/lang/StrictMath.java Changeset: 12dca36c Author: Tobias Hartmann Date: 2022-03-15 16:28:54 +0000 URL: https://git.openjdk.java.net/valhalla/commit/12dca36c73583d0ed2e1f684b056100dc1f2ef55 8283189: Bad copyright header in UnsafeCopyMemory.java Reviewed-by: chagedorn, dcubed ! test/hotspot/jtreg/compiler/unsafe/UnsafeCopyMemory.java Changeset: 32f8437d Author: Joe Darcy Date: 2022-03-15 17:33:45 +0000 URL: https://git.openjdk.java.net/valhalla/commit/32f8437d85a003914d5ca35bdddebdc732ab222d 8283075: Bad IllegalArgumentException message for out of range rank from ClassDesc.arrayType(int) Reviewed-by: vromero, alanb ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! test/jdk/java/lang/constant/ClassDescTest.java Changeset: ac06bdb1 Author: Man Cao Date: 2022-03-15 20:05:33 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ac06bdb1239a97b7ea2fee8280da8ebc9728dc30 8282507: Add a separate license file for hsdis Reviewed-by: ihse + src/utils/hsdis/hsdis-license.txt Changeset: 1465ea98 Author: Dean Long Date: 2022-03-15 20:17:36 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1465ea98b7736b5960a8b546ccc366c3e3260bdd 8282355: compiler/arguments/TestCodeEntryAlignment.java failed "guarantee(sect->end() <= tend) failed: sanity" Reviewed-by: jiefu, thartmann, shade ! src/hotspot/share/runtime/stubRoutines.cpp ! test/hotspot/jtreg/compiler/arguments/TestCodeEntryAlignment.java Changeset: bacfaa3e Author: Quan Anh Mai Committer: Sandhya Viswanathan Date: 2022-03-16 01:10:22 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bacfaa3ee16882563200ef3b3df4441b33664451 8282414: x86: Enhance the assembler to generate more compact instructions Reviewed-by: thartmann, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/x86_64.ad Changeset: 27fe3d7f Author: Toshio Nakamura Committer: Sergey Bylokhov Date: 2022-03-16 01:11:40 +0000 URL: https://git.openjdk.java.net/valhalla/commit/27fe3d7f8db4ede6441a7cc325d9f29eb4a1d10d 8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled Reviewed-by: prr, serb ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTextPipe.java + test/jdk/java/awt/font/GlyphVector/MultiSlotFontTest.java Changeset: 4df24c5d Author: Joe Darcy Date: 2022-03-16 02:02:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4df24c5df38eeacc73097f71383916e9a0933839 8283230: Improve @jls usage in ElementType Reviewed-by: jjg, iris ! src/java.base/share/classes/java/lang/annotation/ElementType.java Changeset: de4f04cb Author: Ioi Lam Date: 2022-03-16 03:12:48 +0000 URL: https://git.openjdk.java.net/valhalla/commit/de4f04cb71a26ce03b96460cb8d1c1e28cd1ed38 8253495: CDS generates non-deterministic output Reviewed-by: erikj, kbarrett, ccheung, ihse ! make/scripts/compare.sh ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveUtils.hpp ! src/hotspot/share/cds/dumpTimeClassInfo.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/os.cpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/cds/DeterministicDump.java ! test/hotspot/jtreg/runtime/cds/appcds/javaldr/LockDuringDump.java ! test/hotspot/jtreg/runtime/cds/appcds/javaldr/LockDuringDumpAgent.java ! test/lib/jdk/test/lib/cds/CDSOptions.java Changeset: 08cadb47 Author: Swati Sharma Committer: Jatin Bhateja Date: 2022-03-16 09:48:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/08cadb4754da0d5e68ee2df45f4098d203d14115 8271195: Use largest available large page size smaller than LargePageSizeInBytes when available Co-authored-by: Jatin Bhateja Reviewed-by: ayang, tschatzl ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/memory/virtualspace.cpp + test/micro/org/openjdk/bench/vm/gc/MicroLargePages.java Changeset: 9b8afce3 Author: Magnus Ihse Bursie Date: 2022-03-16 16:07:32 +0000 URL: https://git.openjdk.java.net/valhalla/commit/9b8afce3791080d664c5051a86592706f5b0ade0 8283260: gcc is not supported on mac Reviewed-by: erikj ! make/autoconf/flags-ldflags.m4 ! make/autoconf/toolchain.m4 Changeset: 0cf291bc Author: Joe Darcy Date: 2022-03-16 16:17:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0cf291bc31acf69c767c5d39d21b1195e6d761b2 8283234: Improve @jls usage in java.base Reviewed-by: iris ! src/java.base/share/classes/java/lang/StringConcatHelper.java ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/lang/reflect/TypeVariable.java Changeset: 3e393047 Author: XenoAmess Committer: Stuart Marks Date: 2022-03-16 16:48:49 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3e393047e12147a81e2899784b943923fc34da8e 8281631: HashMap copy constructor and putAll can over-allocate table Reviewed-by: smarks ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/WeakHashMap.java ! test/jdk/ProblemList.txt ! test/jdk/java/util/HashMap/WhiteBoxResizeTest.java Changeset: 3da5204b Author: Jie Fu Date: 2022-03-17 00:05:57 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3da5204b3c3a3f95bddcdcfe2628c2e0ed8a12d9 8283229: compiler/arguments/TestCodeEntryAlignment.java fails with release VMs Reviewed-by: dlong ! test/hotspot/jtreg/compiler/arguments/TestCodeEntryAlignment.java Changeset: a5ebcc0c Author: Ivan Walulya Date: 2022-03-17 08:54:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a5ebcc0c04bedd87bc9a523b0a45b50fc4b0f5f0 8282072: G1: Rename CardSetPtr to CardSetContainerPtr Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardSet.hpp ! src/hotspot/share/gc/g1/g1CardSet.inline.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp ! test/hotspot/gtest/gc/g1/test_g1CardSet.cpp ! test/hotspot/gtest/gc/g1/test_g1CardSetContainers.cpp Changeset: 096bca4a Author: Prasanta Sadhukhan Date: 2022-03-17 09:10:08 +0000 URL: https://git.openjdk.java.net/valhalla/commit/096bca4a9c5e8ac2668dd965df92153ea1d80add 8282473: Refactor swing classes javadoc to use @throws instead of @exception Reviewed-by: aivanov, dmarkov, prr ! src/java.desktop/share/classes/javax/swing/AbstractButton.java ! src/java.desktop/share/classes/javax/swing/AbstractListModel.java ! src/java.desktop/share/classes/javax/swing/BorderFactory.java ! src/java.desktop/share/classes/javax/swing/BoxLayout.java ! src/java.desktop/share/classes/javax/swing/DefaultBoundedRangeModel.java ! src/java.desktop/share/classes/javax/swing/DefaultButtonModel.java ! src/java.desktop/share/classes/javax/swing/DefaultListModel.java ! src/java.desktop/share/classes/javax/swing/DefaultListSelectionModel.java ! src/java.desktop/share/classes/javax/swing/DefaultSingleSelectionModel.java ! src/java.desktop/share/classes/javax/swing/JApplet.java ! src/java.desktop/share/classes/javax/swing/JColorChooser.java ! src/java.desktop/share/classes/javax/swing/JComboBox.java ! src/java.desktop/share/classes/javax/swing/JComponent.java ! src/java.desktop/share/classes/javax/swing/JEditorPane.java ! src/java.desktop/share/classes/javax/swing/JFileChooser.java ! src/java.desktop/share/classes/javax/swing/JFrame.java ! src/java.desktop/share/classes/javax/swing/JInternalFrame.java ! src/java.desktop/share/classes/javax/swing/JLabel.java ! src/java.desktop/share/classes/javax/swing/JLayer.java ! src/java.desktop/share/classes/javax/swing/JList.java ! src/java.desktop/share/classes/javax/swing/JMenu.java ! src/java.desktop/share/classes/javax/swing/JOptionPane.java ! src/java.desktop/share/classes/javax/swing/JPasswordField.java ! src/java.desktop/share/classes/javax/swing/JPopupMenu.java ! src/java.desktop/share/classes/javax/swing/JProgressBar.java ! src/java.desktop/share/classes/javax/swing/JRootPane.java ! src/java.desktop/share/classes/javax/swing/JScrollBar.java ! src/java.desktop/share/classes/javax/swing/JScrollPane.java ! src/java.desktop/share/classes/javax/swing/JSeparator.java ! src/java.desktop/share/classes/javax/swing/JSlider.java ! src/java.desktop/share/classes/javax/swing/JSpinner.java ! src/java.desktop/share/classes/javax/swing/JSplitPane.java ! src/java.desktop/share/classes/javax/swing/JTabbedPane.java ! src/java.desktop/share/classes/javax/swing/JTable.java ! src/java.desktop/share/classes/javax/swing/JTextArea.java ! src/java.desktop/share/classes/javax/swing/JTextField.java ! src/java.desktop/share/classes/javax/swing/JTextPane.java ! src/java.desktop/share/classes/javax/swing/JToolBar.java ! src/java.desktop/share/classes/javax/swing/JTree.java ! src/java.desktop/share/classes/javax/swing/JViewport.java ! src/java.desktop/share/classes/javax/swing/JWindow.java ! src/java.desktop/share/classes/javax/swing/OverlayLayout.java ! src/java.desktop/share/classes/javax/swing/Popup.java ! src/java.desktop/share/classes/javax/swing/PopupFactory.java ! src/java.desktop/share/classes/javax/swing/ProgressMonitor.java ! src/java.desktop/share/classes/javax/swing/RootPaneContainer.java ! src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java ! src/java.desktop/share/classes/javax/swing/SizeSequence.java ! src/java.desktop/share/classes/javax/swing/SwingUtilities.java ! src/java.desktop/share/classes/javax/swing/Timer.java ! src/java.desktop/share/classes/javax/swing/TransferHandler.java ! src/java.desktop/share/classes/javax/swing/colorchooser/AbstractColorChooserPanel.java ! src/java.desktop/share/classes/javax/swing/event/EventListenerList.java ! src/java.desktop/share/classes/javax/swing/plaf/TextUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicHTML.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextFieldUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTransferable.java ! src/java.desktop/share/classes/javax/swing/table/AbstractTableModel.java ! src/java.desktop/share/classes/javax/swing/table/DefaultTableColumnModel.java ! src/java.desktop/share/classes/javax/swing/table/DefaultTableModel.java ! src/java.desktop/share/classes/javax/swing/table/JTableHeader.java ! src/java.desktop/share/classes/javax/swing/table/TableColumnModel.java ! src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java ! src/java.desktop/share/classes/javax/swing/text/AbstractWriter.java ! src/java.desktop/share/classes/javax/swing/text/AsyncBoxView.java ! src/java.desktop/share/classes/javax/swing/text/BoxView.java ! src/java.desktop/share/classes/javax/swing/text/ComponentView.java ! src/java.desktop/share/classes/javax/swing/text/CompositeView.java ! src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java ! src/java.desktop/share/classes/javax/swing/text/DefaultEditorKit.java ! src/java.desktop/share/classes/javax/swing/text/DefaultHighlighter.java ! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/java.desktop/share/classes/javax/swing/text/Document.java ! src/java.desktop/share/classes/javax/swing/text/DocumentFilter.java ! src/java.desktop/share/classes/javax/swing/text/EditorKit.java ! src/java.desktop/share/classes/javax/swing/text/FieldView.java ! src/java.desktop/share/classes/javax/swing/text/GapContent.java ! src/java.desktop/share/classes/javax/swing/text/GlyphPainter2.java ! src/java.desktop/share/classes/javax/swing/text/GlyphView.java ! src/java.desktop/share/classes/javax/swing/text/Highlighter.java ! src/java.desktop/share/classes/javax/swing/text/IconView.java ! src/java.desktop/share/classes/javax/swing/text/JTextComponent.java ! src/java.desktop/share/classes/javax/swing/text/NavigationFilter.java ! src/java.desktop/share/classes/javax/swing/text/ParagraphView.java ! src/java.desktop/share/classes/javax/swing/text/PasswordView.java ! src/java.desktop/share/classes/javax/swing/text/PlainDocument.java ! src/java.desktop/share/classes/javax/swing/text/PlainView.java ! src/java.desktop/share/classes/javax/swing/text/StringContent.java ! src/java.desktop/share/classes/javax/swing/text/StyleContext.java ! src/java.desktop/share/classes/javax/swing/text/StyledEditorKit.java ! src/java.desktop/share/classes/javax/swing/text/TableView.java ! src/java.desktop/share/classes/javax/swing/text/Utilities.java ! src/java.desktop/share/classes/javax/swing/text/View.java ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java ! src/java.desktop/share/classes/javax/swing/text/ZoneView.java ! src/java.desktop/share/classes/javax/swing/text/html/AccessibleHTML.java ! src/java.desktop/share/classes/javax/swing/text/html/BlockView.java ! src/java.desktop/share/classes/javax/swing/text/html/FormView.java ! src/java.desktop/share/classes/javax/swing/text/html/HRuleView.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLEditorKit.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLWriter.java ! src/java.desktop/share/classes/javax/swing/text/html/ImageView.java ! src/java.desktop/share/classes/javax/swing/text/html/MinimalHTMLWriter.java ! src/java.desktop/share/classes/javax/swing/text/html/OptionListModel.java ! src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java ! src/java.desktop/share/classes/javax/swing/text/html/TableView.java ! src/java.desktop/share/classes/javax/swing/text/rtf/RTFEditorKit.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultMutableTreeNode.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultTreeModel.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java ! src/java.desktop/share/classes/javax/swing/undo/AbstractUndoableEdit.java Changeset: 249d5536 Author: Prasanta Sadhukhan Date: 2022-03-17 09:15:54 +0000 URL: https://git.openjdk.java.net/valhalla/commit/249d553659ab75a2271e98c77e7d62f662ffa684 8282602: Refactor awt classes javadoc to use @throws instead of @exception Reviewed-by: aivanov, prr ! src/java.desktop/share/classes/java/awt/AWTEventMulticaster.java ! src/java.desktop/share/classes/java/awt/BorderLayout.java ! src/java.desktop/share/classes/java/awt/BufferCapabilities.java ! src/java.desktop/share/classes/java/awt/Button.java ! src/java.desktop/share/classes/java/awt/Canvas.java ! src/java.desktop/share/classes/java/awt/CardLayout.java ! src/java.desktop/share/classes/java/awt/Checkbox.java ! src/java.desktop/share/classes/java/awt/CheckboxMenuItem.java ! src/java.desktop/share/classes/java/awt/Choice.java ! src/java.desktop/share/classes/java/awt/Color.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/Container.java ! src/java.desktop/share/classes/java/awt/Cursor.java ! src/java.desktop/share/classes/java/awt/Dialog.java ! src/java.desktop/share/classes/java/awt/EventQueue.java ! src/java.desktop/share/classes/java/awt/FileDialog.java ! src/java.desktop/share/classes/java/awt/Frame.java ! src/java.desktop/share/classes/java/awt/GraphicsConfiguration.java ! src/java.desktop/share/classes/java/awt/GraphicsDevice.java ! src/java.desktop/share/classes/java/awt/GraphicsEnvironment.java ! src/java.desktop/share/classes/java/awt/GridBagLayout.java ! src/java.desktop/share/classes/java/awt/GridLayout.java ! src/java.desktop/share/classes/java/awt/Image.java ! src/java.desktop/share/classes/java/awt/Label.java ! src/java.desktop/share/classes/java/awt/List.java ! src/java.desktop/share/classes/java/awt/MediaTracker.java ! src/java.desktop/share/classes/java/awt/Menu.java ! src/java.desktop/share/classes/java/awt/MenuBar.java ! src/java.desktop/share/classes/java/awt/MenuComponent.java ! src/java.desktop/share/classes/java/awt/MenuItem.java ! src/java.desktop/share/classes/java/awt/MouseInfo.java ! src/java.desktop/share/classes/java/awt/Polygon.java ! src/java.desktop/share/classes/java/awt/PopupMenu.java ! src/java.desktop/share/classes/java/awt/RenderingHints.java ! src/java.desktop/share/classes/java/awt/Scrollbar.java ! src/java.desktop/share/classes/java/awt/TextArea.java ! src/java.desktop/share/classes/java/awt/TextComponent.java ! src/java.desktop/share/classes/java/awt/TextField.java ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/java.desktop/share/classes/java/awt/Window.java ! src/java.desktop/share/classes/java/awt/dnd/DragSource.java ! src/java.desktop/share/classes/java/awt/dnd/DropTarget.java ! src/java.desktop/share/classes/java/awt/event/InputMethodEvent.java ! src/java.desktop/share/classes/java/awt/font/TextLayout.java ! src/java.desktop/share/classes/java/awt/geom/AffineTransform.java ! src/java.desktop/share/classes/java/awt/geom/CubicCurve2D.java ! src/java.desktop/share/classes/java/awt/geom/Dimension2D.java ! src/java.desktop/share/classes/java/awt/geom/FlatteningPathIterator.java ! src/java.desktop/share/classes/java/awt/geom/Line2D.java ! src/java.desktop/share/classes/java/awt/geom/Path2D.java ! src/java.desktop/share/classes/java/awt/geom/Point2D.java ! src/java.desktop/share/classes/java/awt/geom/QuadCurve2D.java ! src/java.desktop/share/classes/java/awt/geom/RectangularShape.java ! src/java.desktop/share/classes/java/awt/im/InputContext.java ! src/java.desktop/share/classes/java/awt/im/InputMethodHighlight.java ! src/java.desktop/share/classes/java/awt/im/spi/InputMethod.java ! src/java.desktop/share/classes/java/awt/im/spi/InputMethodContext.java ! src/java.desktop/share/classes/java/awt/im/spi/InputMethodDescriptor.java ! src/java.desktop/share/classes/java/awt/image/BufferedImage.java ! src/java.desktop/share/classes/java/awt/image/ByteLookupTable.java ! src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java ! src/java.desktop/share/classes/java/awt/image/DirectColorModel.java ! src/java.desktop/share/classes/java/awt/image/ImageFilter.java ! src/java.desktop/share/classes/java/awt/image/MultiPixelPackedSampleModel.java ! src/java.desktop/share/classes/java/awt/image/PixelGrabber.java ! src/java.desktop/share/classes/java/awt/image/RGBImageFilter.java ! src/java.desktop/share/classes/java/awt/image/Raster.java ! src/java.desktop/share/classes/java/awt/image/ShortLookupTable.java ! src/java.desktop/share/classes/java/awt/image/SinglePixelPackedSampleModel.java ! src/java.desktop/share/classes/java/awt/image/WritableRaster.java ! src/java.desktop/share/classes/java/awt/print/PageFormat.java ! src/java.desktop/share/classes/java/awt/print/Printable.java ! src/java.desktop/share/classes/java/awt/print/PrinterJob.java Changeset: beedae11 Author: Claes Redestad Date: 2022-03-17 09:20:24 +0000 URL: https://git.openjdk.java.net/valhalla/commit/beedae1141b6b650dc4cedf1f038afc1c8b460dd 8281146: Replace StringCoding.hasNegatives with countPositives Co-authored-by: Lutz Schmidt Co-authored-by: Martin Doerr Reviewed-by: kvn, lucy, rriggs ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp ! src/hotspot/cpu/ppc/c2_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c2_MacroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/c2_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/c2_MacroAssembler_s390.hpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/intrinsicnode.hpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/matcher.cpp ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringCoding.java + test/hotspot/jtreg/compiler/intrinsics/string/TestCountPositives.java ! test/hotspot/jtreg/compiler/patches/java.base/java/lang/Helper.java ! test/micro/org/openjdk/bench/java/lang/StringDecode.java Changeset: bad658e8 Author: Albert Mingkun Yang Date: 2022-03-17 09:47:51 +0000 URL: https://git.openjdk.java.net/valhalla/commit/bad658e8e93c831631d41b6dbf66a0a102cd0462 8282727: Parallel: Remove PSPromotionManager::_totally_drain Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.hpp Changeset: 69e4e338 Author: Doug Simon Date: 2022-03-17 12:51:10 +0000 URL: https://git.openjdk.java.net/valhalla/commit/69e4e338b19c0ffd2f0881be1bbb19a5642bc4d4 8283056: show abstract machine code in hs-err for all VM crashes Reviewed-by: thartmann, dholmes ! src/hotspot/share/utilities/vmError.cpp Changeset: 0f1766df Author: Julian Waters Committer: Magnus Ihse Bursie Date: 2022-03-17 15:30:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0f1766dff633e55532d94069d7266a7fe625286c 8283320: Error message for Windows libraries always points to --with-msvcr-dll no matter the actual file name Reviewed-by: erikj, ihse ! make/autoconf/toolchain_microsoft.m4 Changeset: 31df6a60 Author: Albert Mingkun Yang Date: 2022-03-17 16:17:18 +0000 URL: https://git.openjdk.java.net/valhalla/commit/31df6a60a8853be224d8c8b8c8ca6aea1bae2167 8283188: Build time regression caused by JDK-8278917 Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp Changeset: 5ef1990d Author: Joe Darcy Date: 2022-03-17 16:37:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/5ef1990d6ce35a85c86689badba465b6c8f9f4a1 8283274: Improve @jvms usage in java.base Reviewed-by: iris ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/constant/Constable.java ! src/java.base/share/classes/java/lang/constant/ConstantDesc.java ! src/java.base/share/classes/java/lang/constant/package-info.java ! src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: b004fb05 Author: Ioi Lam Date: 2022-03-17 17:50:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b004fb0550d8fc94e3f6412975c23c0a2ac2a42f 8282773: Refactor parsing of integer VM options Reviewed-by: dholmes, kbarrett ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/flags/debug_globals.hpp ! test/hotspot/gtest/runtime/test_arguments.cpp - test/hotspot/gtest/runtime/test_largeOptions.cpp Changeset: 002e3667 Author: Claes Redestad Date: 2022-03-17 21:15:36 +0000 URL: https://git.openjdk.java.net/valhalla/commit/002e3667443d94e2303c875daf72cf1ccbbb0099 8283325: US_ASCII decoder relies on String.decodeASCII being exhaustive Reviewed-by: rriggs, dcubed ! src/java.base/share/classes/java/lang/String.java + test/jdk/java/nio/charset/CharsetDecoder/ASCIIDecode.java Changeset: d83cee98 Author: Alexander Matveev Date: 2022-03-18 03:14:32 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d83cee98b5e6628f19f1b5dea11038079dd0c758 8282407: Missing ')' in MacResources.properties Reviewed-by: naoto ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_ja.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_zh_CN.properties Changeset: cab4ff64 Author: Tyler Steele Committer: Thomas Stuefe Date: 2022-03-18 07:02:26 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cab4ff64541393a974ea91e35167668ef0036804 8283225: ClassLoader.c produces incorrect OutOfMemory Exception when length is 0 (aix) Reviewed-by: stuefe, rriggs, dholmes ! src/java.base/share/native/libjava/ClassLoader.c Changeset: b96cb048 Author: Jie Fu Date: 2022-03-18 07:58:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b96cb048f1a7f3ae6e745b245f2b04c64ebb911e 8283353: compiler/c2/cr6865031/Test.java and compiler/runtime/Test6826736.java fails on x86_32 Reviewed-by: chagedorn ! test/hotspot/jtreg/compiler/c2/cr6865031/Test.java ! test/hotspot/jtreg/compiler/runtime/Test6826736.java Changeset: 4b5079b9 Author: Erik Gahlin Date: 2022-03-18 13:18:38 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4b5079b9836c1cc881f571d060b310f58c8a860c 8283202: Potential off-read when checking JFR's status in awaitFinished Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkHeader.java Changeset: c72bcfc1 Author: Erik Gahlin Date: 2022-03-18 13:27:49 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c72bcfc1b230d22137ac7f683cf46dc70b6e3d16 8283289: JFR: Rename CheckPoint Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkParser.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/CheckPointEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/CheckPointPool.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/ChunkWriter.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Summary.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/DiskRepository.java Changeset: 85cc6f14 Author: Andrew Leonard Date: 2022-03-18 13:40:35 +0000 URL: https://git.openjdk.java.net/valhalla/commit/85cc6f1440aa7e073cab894cb9a72d9eed4e8369 8283315: jrt-fs.jar not always deterministically built Reviewed-by: ihse ! make/common/JarArchive.gmk Changeset: b2aa085e Author: Erik Gahlin Date: 2022-03-18 14:54:56 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b2aa085e67711a32e1679b68aabb092058dca044 8283378: JFR: Checkpoint classes not renamed properly Reviewed-by: dcubed = src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/CheckpointEvent.java = src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/filter/CheckpointPool.java Changeset: ff0b0927 Author: Ravi Reddy Committer: Lance Andersen Date: 2022-03-18 15:31:30 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ff0b0927a2df8b36f8fd6ed41bd4e20e71a5b653 8278794: Infinite loop in DeflaterOutputStream.finish() Reviewed-by: coffeys, lancea ! src/java.base/share/classes/java/util/zip/Deflater.java ! src/java.base/share/classes/java/util/zip/DeflaterOutputStream.java ! src/java.base/share/classes/java/util/zip/ZipOutputStream.java - test/jdk/java/util/zip/CloseDeflaterTest.java + test/jdk/java/util/zip/CloseInflaterDeflaterTest.java Changeset: d8893fad Author: Mikael Vidstedt Date: 2022-03-18 20:28:39 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d8893fad23d1ee6841336b96c34599643edb81ce 8283059: Uninitialized warning in check_code.c with GCC 11.2 Reviewed-by: dholmes ! src/java.base/share/native/libverify/check_code.c Changeset: 8384ac4e Author: Mikael Vidstedt Date: 2022-03-18 22:01:27 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8384ac4ed3eaaa18998ab88e1ca36358c212e699 8283057: Update GCC to version 11.2 for Oracle builds on Linux Reviewed-by: erikj ! doc/building.html ! doc/building.md ! make/conf/jib-profiles.js ! make/devkit/Tools.gmk Changeset: 0c3094c8 Author: Ichiroh Takiguchi Date: 2022-03-19 04:43:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/0c3094c8186b4d53e8bad80e2369fc7b9ae9e201 8204541: Correctly support AIX xlC 16.1 symbol visibility flags Reviewed-by: ihse, stuefe ! make/autoconf/flags-ldflags.m4 ! make/common/modules/LauncherCommon.gmk ! make/common/modules/LibCommon.gmk Changeset: 3e58a438 Author: Tyler Steele Committer: Thomas Stuefe Date: 2022-03-19 07:06:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3e58a438e9051d4c976273eea35e36d37d5428c3 8283287: ClassLoader.c cleanups Reviewed-by: stuefe, alanb, rriggs ! src/java.base/share/native/libjava/ClassLoader.c Changeset: 10ccfffa Author: Jie Fu Date: 2022-03-19 07:08:47 +0000 URL: https://git.openjdk.java.net/valhalla/commit/10ccfffae1f18dd1a3d2f3dca53ad547d3d3ecb5 8283352: [CDS] SharedBaseAddress.java fails on x86_32 Reviewed-by: dholmes, iklam, stuefe ! test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java ! test/hotspot/jtreg/runtime/cds/appcds/SharedBaseAddress.java Changeset: e8caf84f Author: Andrey Turbanov Date: 2022-03-19 13:29:49 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e8caf84fb9dfcbb59da6459972724b6780b0871a 8282574: Cleanup unnecessary calls to Throwable.initCause() in jdk.compiler Reviewed-by: darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java Changeset: 80415e04 Author: Andrey Turbanov Date: 2022-03-19 13:31:50 +0000 URL: https://git.openjdk.java.net/valhalla/commit/80415e04c5fd6709e7e5b5ffb7a3d9431b672d99 8282534: Remove redundant null check in ChaCha20Cipher.engineInit Reviewed-by: xuelei ! src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java Changeset: 3f923b82 Author: Daniel D. Daugherty Date: 2022-03-19 13:43:06 +0000 URL: https://git.openjdk.java.net/valhalla/commit/3f923b82c31325504430b50dee262fd460004e7b 8282704: runtime/Thread/StopAtExit.java may leak memory Reviewed-by: dholmes, alanb ! test/hotspot/jtreg/runtime/Thread/StopAtExit.java Changeset: 4df67426 Author: Xue-Lei Andrew Fan Date: 2022-03-20 06:46:13 +0000 URL: https://git.openjdk.java.net/valhalla/commit/4df67426ed02f18af0757897acb28b636a317a91 8282723: Add constructors taking a cause to JSSE exceptions Reviewed-by: wetmore, iris ! src/java.base/share/classes/javax/net/ssl/SSLException.java ! src/java.base/share/classes/javax/net/ssl/SSLHandshakeException.java ! src/java.base/share/classes/javax/net/ssl/SSLKeyException.java ! src/java.base/share/classes/javax/net/ssl/SSLPeerUnverifiedException.java ! src/java.base/share/classes/javax/net/ssl/SSLProtocolException.java ! src/java.base/share/classes/sun/security/ssl/Alert.java ! src/java.base/share/classes/sun/security/ssl/DHClientKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/ECDHKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/KAKeyDerivation.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/SSLBasicKeyDerivation.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLSecretDerivation.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLTrafficKeyDerivation.java ! src/java.base/share/classes/sun/security/ssl/ServerHello.java ! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java ! src/java.naming/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/SSLTube.java ! test/jdk/javax/net/ssl/ALPN/SSLServerSocketAlpnTest.java ! test/jdk/javax/net/ssl/ALPN/SSLSocketAlpnTest.java + test/jdk/javax/net/ssl/SSLException/CheckSSLHandshakeException.java + test/jdk/javax/net/ssl/SSLException/CheckSSLKeyException.java + test/jdk/javax/net/ssl/SSLException/CheckSSLPeerUnverifiedException.java + test/jdk/javax/net/ssl/SSLException/CheckSSLProtocolException.java ! test/jdk/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java Changeset: 8a2d5ab0 Author: Maxim Kartashev Committer: Alexey Ivanov Date: 2022-03-21 07:21:00 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8a2d5ab07e6a1668f3e3918bdc8a30bd28a8f93b 8282270: java/awt/Robot Screen Capture tests fail after 8280861 Reviewed-by: aivanov ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Robot/HiDPIScreenCapture/HiDPIRobotScreenCaptureTest.java ! test/jdk/java/awt/Robot/HiDPIScreenCapture/ScreenCaptureGtkTest.java Changeset: b451273d Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-03-21 07:33:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b451273d209d9dfce3d7c4464defe0df523dfc7c 8282548: Create a regression test for JDK-4330998 Reviewed-by: aivanov + test/jdk/javax/swing/JEditorPane/4330998/JEditorPaneSetTextNullTest.java Changeset: 83a1c904 Author: Manukumar V S Committer: Alexey Ivanov Date: 2022-03-21 07:36:21 +0000 URL: https://git.openjdk.java.net/valhalla/commit/83a1c90433343107eaa2a7fa41b9b07f86b6ce19 8282789: Create a regression test for the JTree usecase of JDK-4618767 Reviewed-by: aivanov + test/jdk/javax/swing/JTree/4618767/JTreeSelectedElementTest.java Changeset: e709cb05 Author: Thomas Schatzl Date: 2022-03-21 08:25:33 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e709cb05dcf67462f266c1f3dae30976b562676d 8283186: Explicitly pass a third temp register to MacroAssembler::store_heap_oop Reviewed-by: eosterlund ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: ec62d90d Author: Albert Mingkun Yang Date: 2022-03-21 08:39:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/ec62d90db2428d0da6ed0f338858f5bc2a76e991 8283365: G1: Remove duplicate assertions in HeapRegion::oops_on_memregion_seq_iterate_careful Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/heapRegion.inline.hpp Changeset: fd930151 Author: Albert Mingkun Yang Date: 2022-03-21 08:40:14 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fd9301514e2093d9dcd7bcd9e4b812146b20dd03 8283332: G1: Stricter assertion in G1BlockOffsetTablePart::forward_to_block_containing_addr Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp Changeset: eb4849e5 Author: Thomas Schatzl Date: 2022-03-21 10:42:38 +0000 URL: https://git.openjdk.java.net/valhalla/commit/eb4849e5615dd307a5abc435a0204a6d26610fcb 8283327: Add methods to save/restore registers when calling into the VM from C1/interpreter barrier code Reviewed-by: eosterlund, dlong ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/register_x86.hpp ! src/hotspot/share/asm/register.hpp Changeset: b617f1db Author: Thomas Schatzl Date: 2022-03-21 11:30:26 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b617f1db4ec5d54b1ea541fb885e296da928f166 8283447: Remove unused LIR_Assembler::_bs Reviewed-by: redestad ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp Changeset: 909986c7 Author: Zhengyu Gu Date: 2022-03-21 12:26:58 +0000 URL: https://git.openjdk.java.net/valhalla/commit/909986c7e110c8ac3ba16750be7707b1ec344ee5 8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c Reviewed-by: prr, aivanov ! src/java.desktop/unix/native/common/awt/fontpath.c Changeset: cb576da5 Author: Zhengyu Gu Date: 2022-03-21 12:28:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/cb576da575ea3c8f14087dd312313843764ca2f4 8283379: Memory leak in FileHeaderHelper Reviewed-by: dholmes, iklam, stuefe ! src/hotspot/share/cds/filemap.cpp Changeset: c4dc58e1 Author: Naoto Sato Date: 2022-03-21 15:33:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c4dc58e12e197562dce90c0027aa74c29047cea6 8283277: ISO 4217 Amendment 171 Update Reviewed-by: iris, joehw ! make/data/currency/CurrencyData.properties ! src/java.base/share/classes/sun/util/resources/CurrencyNames.properties ! test/jdk/java/util/Currency/ValidateISO4217.java ! test/jdk/java/util/Currency/tablea1.txt ! test/jdk/sun/text/resources/LocaleData ! test/jdk/sun/text/resources/LocaleDataTest.java Changeset: 999da9bf Author: Johannes Bechberger Committer: Thomas Stuefe Date: 2022-03-21 15:49:59 +0000 URL: https://git.openjdk.java.net/valhalla/commit/999da9bfc5be703141cdc07af455b4b6b2cc1aae 8282306: os::is_first_C_frame(frame*) crashes on invalid link access Reviewed-by: stuefe, mdoerr ! src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp ! src/hotspot/cpu/arm/frame_arm.inline.hpp ! src/hotspot/cpu/ppc/frame_ppc.inline.hpp ! src/hotspot/cpu/s390/frame_s390.inline.hpp ! src/hotspot/cpu/x86/frame_x86.inline.hpp ! src/hotspot/cpu/zero/frame_zero.inline.hpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/safefetch.inline.hpp ! src/hotspot/share/runtime/thread.cpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 19d34bdf Author: Albert Mingkun Yang Date: 2022-03-21 16:20:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/19d34bdf99e98a9ef614cb7f93c141e6c82bedcb 8281879: Serial: Merge CardGeneration into TenuredGeneration Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp ! src/hotspot/share/gc/serial/vmStructs_serial.hpp - src/hotspot/share/gc/shared/cardGeneration.cpp - src/hotspot/share/gc/shared/cardGeneration.hpp - src/hotspot/share/gc/shared/cardGeneration.inline.hpp ! src/hotspot/share/gc/shared/generation.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/serial/TenuredGeneration.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CardGeneration.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/Generation.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbVmStructsDump.java ! test/hotspot/jtreg/serviceability/sa/TestType.java Changeset: f4f87284 Author: Albert Mingkun Yang Date: 2022-03-21 16:21:30 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f4f87284cbbe95958d8c7d8adc0f5c5e260892ca 8283097: Parallel: Move filler object logic inside PSPromotionLAB::unallocate_object Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/parallel/psPromotionLAB.cpp ! src/hotspot/share/gc/parallel/psPromotionLAB.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp Changeset: 14b9e80b Author: Joe Darcy Date: 2022-03-21 16:57:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/14b9e80b8adcc0ab0634357f5a7c25f24fd6808c 8283415: Update java.lang.ref to use sealed classes Reviewed-by: kbarrett, alanb ! src/java.base/share/classes/java/lang/ref/FinalReference.java ! src/java.base/share/classes/java/lang/ref/PhantomReference.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/lang/ref/SoftReference.java ! src/java.base/share/classes/java/lang/ref/WeakReference.java Changeset: f8878cb0 Author: Magnus Ihse Bursie Date: 2022-03-21 21:34:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f8878cb0cc436993ef1222bc13b00b923d91aad1 8257733: Move module-specific data from make to respective module Reviewed-by: jjg, weijun, naoto, erikj, prr, alanb, mchung ! make/ModuleWrapper.gmk ! make/ToolsJdk.gmk ! make/UpdateX11Wrappers.gmk ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java ! make/modules/java.base/Gendata.gmk ! make/modules/java.base/Gensrc.gmk ! make/modules/java.base/gendata/GendataBlockedCerts.gmk ! make/modules/java.base/gendata/GendataBreakIterator.gmk ! make/modules/java.base/gendata/GendataPublicSuffixList.gmk ! make/modules/java.base/gendata/GendataTZDB.gmk ! make/modules/java.base/gensrc/GensrcBuffer.gmk ! make/modules/java.base/gensrc/GensrcCharacterData.gmk ! make/modules/java.base/gensrc/GensrcCharsetCoder.gmk ! make/modules/java.base/gensrc/GensrcEmojiData.gmk ! make/modules/java.base/gensrc/GensrcExceptions.gmk ! make/modules/java.base/gensrc/GensrcLocaleData.gmk ! make/modules/java.base/gensrc/GensrcScopedMemoryAccess.gmk ! make/modules/java.base/gensrc/GensrcVarHandles.gmk ! make/modules/java.desktop/gendata/GendataFontConfig.gmk ! make/modules/java.desktop/gensrc/GensrcIcons.gmk ! make/modules/java.desktop/gensrc/GensrcSwing.gmk ! make/modules/java.desktop/gensrc/GensrcX11Wrappers.gmk ! make/modules/jdk.charsets/Gensrc.gmk ! make/modules/jdk.compiler/Gendata.gmk ! make/modules/jdk.javadoc/Gendata.gmk ! make/modules/jdk.jdi/Gensrc.gmk ! make/modules/jdk.localedata/Gensrc.gmk ! make/scripts/generate-symbol-data.sh = src/java.base/share/classes/java/lang/CharacterData00.java.template = src/java.base/share/classes/java/lang/CharacterData01.java.template = src/java.base/share/classes/java/lang/CharacterData02.java.template = src/java.base/share/classes/java/lang/CharacterData03.java.template = src/java.base/share/classes/java/lang/CharacterData0E.java.template = src/java.base/share/classes/java/lang/CharacterDataLatin1.java.template = src/java.base/share/data/blockedcertsconverter/blocked.certs.pem = src/java.base/share/data/cacerts/README = src/java.base/share/data/cacerts/actalisauthenticationrootca = src/java.base/share/data/cacerts/addtrustexternalca = src/java.base/share/data/cacerts/addtrustqualifiedca = src/java.base/share/data/cacerts/affirmtrustcommercialca = src/java.base/share/data/cacerts/affirmtrustnetworkingca = src/java.base/share/data/cacerts/affirmtrustpremiumca = src/java.base/share/data/cacerts/affirmtrustpremiumeccca = src/java.base/share/data/cacerts/amazonrootca1 = src/java.base/share/data/cacerts/amazonrootca2 = src/java.base/share/data/cacerts/amazonrootca3 = src/java.base/share/data/cacerts/amazonrootca4 = src/java.base/share/data/cacerts/baltimorecybertrustca = src/java.base/share/data/cacerts/buypassclass2ca = src/java.base/share/data/cacerts/buypassclass3ca = src/java.base/share/data/cacerts/camerfirmachambersca = src/java.base/share/data/cacerts/camerfirmachamberscommerceca = src/java.base/share/data/cacerts/camerfirmachambersignca = src/java.base/share/data/cacerts/certumca = src/java.base/share/data/cacerts/certumtrustednetworkca = src/java.base/share/data/cacerts/chunghwaepkirootca = src/java.base/share/data/cacerts/comodoaaaca = src/java.base/share/data/cacerts/comodoeccca = src/java.base/share/data/cacerts/comodorsaca = src/java.base/share/data/cacerts/digicertassuredidg2 = src/java.base/share/data/cacerts/digicertassuredidg3 = src/java.base/share/data/cacerts/digicertassuredidrootca = src/java.base/share/data/cacerts/digicertglobalrootca = src/java.base/share/data/cacerts/digicertglobalrootg2 = src/java.base/share/data/cacerts/digicertglobalrootg3 = src/java.base/share/data/cacerts/digicerthighassuranceevrootca = src/java.base/share/data/cacerts/digicerttrustedrootg4 = src/java.base/share/data/cacerts/dtrustclass3ca2 = src/java.base/share/data/cacerts/dtrustclass3ca2ev = src/java.base/share/data/cacerts/entrust2048ca = src/java.base/share/data/cacerts/entrustevca = src/java.base/share/data/cacerts/entrustrootcaec1 = src/java.base/share/data/cacerts/entrustrootcag2 = src/java.base/share/data/cacerts/entrustrootcag4 = src/java.base/share/data/cacerts/geotrustglobalca = src/java.base/share/data/cacerts/geotrustprimaryca = src/java.base/share/data/cacerts/geotrustprimarycag2 = src/java.base/share/data/cacerts/geotrustprimarycag3 = src/java.base/share/data/cacerts/geotrustuniversalca = src/java.base/share/data/cacerts/globalsignca = src/java.base/share/data/cacerts/globalsigneccrootcar4 = src/java.base/share/data/cacerts/globalsigneccrootcar5 = src/java.base/share/data/cacerts/globalsignr3ca = src/java.base/share/data/cacerts/globalsignrootcar6 = src/java.base/share/data/cacerts/godaddyclass2ca = src/java.base/share/data/cacerts/godaddyrootg2ca = src/java.base/share/data/cacerts/haricaeccrootca2015 = src/java.base/share/data/cacerts/haricarootca2015 = src/java.base/share/data/cacerts/identrustcommercial = src/java.base/share/data/cacerts/identrustpublicca = src/java.base/share/data/cacerts/letsencryptisrgx1 = src/java.base/share/data/cacerts/luxtrustglobalroot2ca = src/java.base/share/data/cacerts/luxtrustglobalrootca = src/java.base/share/data/cacerts/quovadisrootca = src/java.base/share/data/cacerts/quovadisrootca1g3 = src/java.base/share/data/cacerts/quovadisrootca2 = src/java.base/share/data/cacerts/quovadisrootca2g3 = src/java.base/share/data/cacerts/quovadisrootca3 = src/java.base/share/data/cacerts/quovadisrootca3g3 = src/java.base/share/data/cacerts/secomscrootca1 = src/java.base/share/data/cacerts/secomscrootca2 = src/java.base/share/data/cacerts/securetrustca = src/java.base/share/data/cacerts/sslrooteccca = src/java.base/share/data/cacerts/sslrootevrsaca = src/java.base/share/data/cacerts/sslrootrsaca = src/java.base/share/data/cacerts/starfieldclass2ca = src/java.base/share/data/cacerts/starfieldrootg2ca = src/java.base/share/data/cacerts/starfieldservicesrootg2ca = src/java.base/share/data/cacerts/swisssigngoldg2ca = src/java.base/share/data/cacerts/swisssignplatinumg2ca = src/java.base/share/data/cacerts/swisssignsilverg2ca = src/java.base/share/data/cacerts/teliasonerarootcav1 = src/java.base/share/data/cacerts/thawteprimaryrootca = src/java.base/share/data/cacerts/thawteprimaryrootcag2 = src/java.base/share/data/cacerts/thawteprimaryrootcag3 = src/java.base/share/data/cacerts/ttelesecglobalrootclass2ca = src/java.base/share/data/cacerts/ttelesecglobalrootclass3ca = src/java.base/share/data/cacerts/usertrusteccca = src/java.base/share/data/cacerts/usertrustrsaca = src/java.base/share/data/cacerts/utnuserfirstobjectca = src/java.base/share/data/cacerts/verisignclass3g3ca = src/java.base/share/data/cacerts/verisignclass3g4ca = src/java.base/share/data/cacerts/verisignclass3g5ca = src/java.base/share/data/cacerts/verisignuniversalrootca = src/java.base/share/data/cacerts/xrampglobalca = src/java.base/share/data/currency/CurrencyData.properties = src/java.base/share/data/lsrdata/language-subtag-registry.txt = src/java.base/share/data/publicsuffixlist/VERSION = src/java.base/share/data/publicsuffixlist/public_suffix_list.dat = src/java.base/share/data/tzdata/VERSION = src/java.base/share/data/tzdata/africa = src/java.base/share/data/tzdata/antarctica = src/java.base/share/data/tzdata/asia = src/java.base/share/data/tzdata/australasia = src/java.base/share/data/tzdata/backward = src/java.base/share/data/tzdata/etcetera = src/java.base/share/data/tzdata/europe = src/java.base/share/data/tzdata/factory = src/java.base/share/data/tzdata/gmt = src/java.base/share/data/tzdata/iso3166.tab = src/java.base/share/data/tzdata/jdk11_backward = src/java.base/share/data/tzdata/leapseconds = src/java.base/share/data/tzdata/northamerica = src/java.base/share/data/tzdata/solar87 = src/java.base/share/data/tzdata/solar88 = src/java.base/share/data/tzdata/solar89 = src/java.base/share/data/tzdata/southamerica = src/java.base/share/data/tzdata/zone.tab = src/java.base/share/data/unicodedata/Blocks.txt = src/java.base/share/data/unicodedata/DerivedCoreProperties.txt = src/java.base/share/data/unicodedata/NormalizationTest.txt = src/java.base/share/data/unicodedata/PropList.txt = src/java.base/share/data/unicodedata/PropertyValueAliases.txt = src/java.base/share/data/unicodedata/ReadMe.txt = src/java.base/share/data/unicodedata/Scripts.txt = src/java.base/share/data/unicodedata/SpecialCasing.txt = src/java.base/share/data/unicodedata/UnicodeData.txt = src/java.base/share/data/unicodedata/auxiliary/GraphemeBreakProperty.txt = src/java.base/share/data/unicodedata/auxiliary/GraphemeBreakTest.txt = src/java.base/share/data/unicodedata/emoji/emoji-data.txt = src/java.desktop/aix/data/fontconfig/fontconfig.properties = src/java.desktop/bsd/data/fontconfig/fontconfig.properties = src/java.desktop/macosx/data/fontconfig/fontconfig.properties = src/java.desktop/macosx/data/macosxicons/JavaApp.icns = src/java.desktop/share/data/dtdbuilder/HTMLlat1.sgml = src/java.desktop/share/data/dtdbuilder/HTMLspecial.sgml = src/java.desktop/share/data/dtdbuilder/HTMLsymbol.sgml = src/java.desktop/share/data/dtdbuilder/html32.dtd = src/java.desktop/share/data/dtdbuilder/public.map = src/java.desktop/unix/data/x11wrappergen/sizes-32.txt = src/java.desktop/unix/data/x11wrappergen/sizes-64.txt = src/java.desktop/unix/data/x11wrappergen/xlibtypes.txt = src/java.desktop/windows/data/fontconfig/fontconfig.properties = src/java.se/share/data/jdwp/jdwp.spec = src/jdk.compiler/share/data/symbols/README = src/jdk.compiler/share/data/symbols/include.list = src/jdk.compiler/share/data/symbols/java.activation-8.sym.txt = src/jdk.compiler/share/data/symbols/java.activation-9.sym.txt = src/jdk.compiler/share/data/symbols/java.activation-A.sym.txt = src/jdk.compiler/share/data/symbols/java.activation-B.sym.txt = src/jdk.compiler/share/data/symbols/java.base-7.sym.txt = src/jdk.compiler/share/data/symbols/java.base-8.sym.txt = src/jdk.compiler/share/data/symbols/java.base-9.sym.txt = src/jdk.compiler/share/data/symbols/java.base-A.sym.txt = src/jdk.compiler/share/data/symbols/java.base-B.sym.txt = src/jdk.compiler/share/data/symbols/java.base-C.sym.txt = src/jdk.compiler/share/data/symbols/java.base-D.sym.txt = src/jdk.compiler/share/data/symbols/java.base-E.sym.txt = src/jdk.compiler/share/data/symbols/java.base-F.sym.txt = src/jdk.compiler/share/data/symbols/java.base-G.sym.txt = src/jdk.compiler/share/data/symbols/java.base-H.sym.txt = src/jdk.compiler/share/data/symbols/java.base-I.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-7.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-8.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-9.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-A.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-B.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-C.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-D.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-E.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-F.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-G.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-H.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-I.sym.txt = src/jdk.compiler/share/data/symbols/java.corba-8.sym.txt = src/jdk.compiler/share/data/symbols/java.corba-9.sym.txt = src/jdk.compiler/share/data/symbols/java.corba-A.sym.txt = src/jdk.compiler/share/data/symbols/java.corba-B.sym.txt = src/jdk.compiler/share/data/symbols/java.datatransfer-7.sym.txt = src/jdk.compiler/share/data/symbols/java.datatransfer-8.sym.txt = src/jdk.compiler/share/data/symbols/java.datatransfer-9.sym.txt = src/jdk.compiler/share/data/symbols/java.datatransfer-A.sym.txt = src/jdk.compiler/share/data/symbols/java.datatransfer-B.sym.txt = src/jdk.compiler/share/data/symbols/java.datatransfer-G.sym.txt = src/jdk.compiler/share/data/symbols/java.datatransfer-H.sym.txt = src/jdk.compiler/share/data/symbols/java.datatransfer-I.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-7.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-8.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-9.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-A.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-B.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-C.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-D.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-E.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-F.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-G.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-H.sym.txt = src/jdk.compiler/share/data/symbols/java.desktop-I.sym.txt = src/jdk.compiler/share/data/symbols/java.instrument-8.sym.txt = src/jdk.compiler/share/data/symbols/java.instrument-9.sym.txt = src/jdk.compiler/share/data/symbols/java.instrument-A.sym.txt = src/jdk.compiler/share/data/symbols/java.instrument-B.sym.txt = src/jdk.compiler/share/data/symbols/java.instrument-G.sym.txt = src/jdk.compiler/share/data/symbols/java.instrument-H.sym.txt = src/jdk.compiler/share/data/symbols/java.instrument-I.sym.txt = src/jdk.compiler/share/data/symbols/java.logging-7.sym.txt = src/jdk.compiler/share/data/symbols/java.logging-8.sym.txt = src/jdk.compiler/share/data/symbols/java.logging-9.sym.txt = src/jdk.compiler/share/data/symbols/java.logging-A.sym.txt = src/jdk.compiler/share/data/symbols/java.logging-B.sym.txt = src/jdk.compiler/share/data/symbols/java.logging-G.sym.txt = src/jdk.compiler/share/data/symbols/java.logging-H.sym.txt = src/jdk.compiler/share/data/symbols/java.logging-I.sym.txt = src/jdk.compiler/share/data/symbols/java.management-7.sym.txt = src/jdk.compiler/share/data/symbols/java.management-8.sym.txt = src/jdk.compiler/share/data/symbols/java.management-9.sym.txt = src/jdk.compiler/share/data/symbols/java.management-A.sym.txt = src/jdk.compiler/share/data/symbols/java.management-B.sym.txt = src/jdk.compiler/share/data/symbols/java.management-D.sym.txt = src/jdk.compiler/share/data/symbols/java.management-G.sym.txt = src/jdk.compiler/share/data/symbols/java.management-H.sym.txt = src/jdk.compiler/share/data/symbols/java.management-I.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-8.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-9.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-A.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-B.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-D.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-F.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-G.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-H.sym.txt = src/jdk.compiler/share/data/symbols/java.management.rmi-I.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-7.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-8.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-9.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-A.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-B.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-C.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-F.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-G.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-H.sym.txt = src/jdk.compiler/share/data/symbols/java.naming-I.sym.txt = src/jdk.compiler/share/data/symbols/java.net.http-B.sym.txt = src/jdk.compiler/share/data/symbols/java.net.http-D.sym.txt = src/jdk.compiler/share/data/symbols/java.net.http-G.sym.txt = src/jdk.compiler/share/data/symbols/java.net.http-I.sym.txt = src/jdk.compiler/share/data/symbols/java.prefs-7.sym.txt = src/jdk.compiler/share/data/symbols/java.prefs-8.sym.txt = src/jdk.compiler/share/data/symbols/java.prefs-9.sym.txt = src/jdk.compiler/share/data/symbols/java.prefs-A.sym.txt = src/jdk.compiler/share/data/symbols/java.prefs-B.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-7.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-8.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-9.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-A.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-B.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-C.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-F.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-G.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-H.sym.txt = src/jdk.compiler/share/data/symbols/java.rmi-I.sym.txt = src/jdk.compiler/share/data/symbols/java.scripting-7.sym.txt = src/jdk.compiler/share/data/symbols/java.scripting-8.sym.txt = src/jdk.compiler/share/data/symbols/java.scripting-9.sym.txt = src/jdk.compiler/share/data/symbols/java.scripting-A.sym.txt = src/jdk.compiler/share/data/symbols/java.scripting-B.sym.txt = src/jdk.compiler/share/data/symbols/java.scripting-G.sym.txt = src/jdk.compiler/share/data/symbols/java.scripting-H.sym.txt = src/jdk.compiler/share/data/symbols/java.scripting-I.sym.txt = src/jdk.compiler/share/data/symbols/java.se-9.sym.txt = src/jdk.compiler/share/data/symbols/java.se-A.sym.txt = src/jdk.compiler/share/data/symbols/java.se-B.sym.txt = src/jdk.compiler/share/data/symbols/java.se.ee-9.sym.txt = src/jdk.compiler/share/data/symbols/java.se.ee-A.sym.txt = src/jdk.compiler/share/data/symbols/java.se.ee-B.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-7.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-8.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-9.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-A.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-B.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-D.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-G.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-H.sym.txt = src/jdk.compiler/share/data/symbols/java.security.jgss-I.sym.txt = src/jdk.compiler/share/data/symbols/java.security.sasl-7.sym.txt = src/jdk.compiler/share/data/symbols/java.security.sasl-8.sym.txt = src/jdk.compiler/share/data/symbols/java.security.sasl-9.sym.txt = src/jdk.compiler/share/data/symbols/java.security.sasl-A.sym.txt = src/jdk.compiler/share/data/symbols/java.security.sasl-B.sym.txt = src/jdk.compiler/share/data/symbols/java.security.sasl-G.sym.txt = src/jdk.compiler/share/data/symbols/java.security.sasl-H.sym.txt = src/jdk.compiler/share/data/symbols/java.security.sasl-I.sym.txt = src/jdk.compiler/share/data/symbols/java.smartcardio-9.sym.txt = src/jdk.compiler/share/data/symbols/java.smartcardio-A.sym.txt = src/jdk.compiler/share/data/symbols/java.smartcardio-B.sym.txt = src/jdk.compiler/share/data/symbols/java.smartcardio-G.sym.txt = src/jdk.compiler/share/data/symbols/java.smartcardio-H.sym.txt = src/jdk.compiler/share/data/symbols/java.smartcardio-I.sym.txt = src/jdk.compiler/share/data/symbols/java.sql-7.sym.txt = src/jdk.compiler/share/data/symbols/java.sql-8.sym.txt = src/jdk.compiler/share/data/symbols/java.sql-9.sym.txt = src/jdk.compiler/share/data/symbols/java.sql-A.sym.txt = src/jdk.compiler/share/data/symbols/java.sql-B.sym.txt = src/jdk.compiler/share/data/symbols/java.sql-G.sym.txt = src/jdk.compiler/share/data/symbols/java.sql-H.sym.txt = src/jdk.compiler/share/data/symbols/java.sql-I.sym.txt = src/jdk.compiler/share/data/symbols/java.sql.rowset-7.sym.txt = src/jdk.compiler/share/data/symbols/java.sql.rowset-8.sym.txt = src/jdk.compiler/share/data/symbols/java.sql.rowset-9.sym.txt = src/jdk.compiler/share/data/symbols/java.sql.rowset-A.sym.txt = src/jdk.compiler/share/data/symbols/java.sql.rowset-B.sym.txt = src/jdk.compiler/share/data/symbols/java.sql.rowset-G.sym.txt = src/jdk.compiler/share/data/symbols/java.sql.rowset-H.sym.txt = src/jdk.compiler/share/data/symbols/java.sql.rowset-I.sym.txt = src/jdk.compiler/share/data/symbols/java.transaction-8.sym.txt = src/jdk.compiler/share/data/symbols/java.transaction-9.sym.txt = src/jdk.compiler/share/data/symbols/java.transaction-A.sym.txt = src/jdk.compiler/share/data/symbols/java.transaction-B.sym.txt = src/jdk.compiler/share/data/symbols/java.transaction.xa-B.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-7.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-8.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-9.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-A.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-B.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-C.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-D.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-E.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-F.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-G.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-H.sym.txt = src/jdk.compiler/share/data/symbols/java.xml-I.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.bind-7.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.bind-8.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.bind-9.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.bind-A.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.bind-B.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.crypto-8.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.crypto-9.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.crypto-A.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.crypto-B.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.crypto-D.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.crypto-G.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.crypto-H.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.crypto-I.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws-8.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws-9.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws-A.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws-B.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws.annotation-7.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws.annotation-8.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws.annotation-9.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws.annotation-A.sym.txt = src/jdk.compiler/share/data/symbols/java.xml.ws.annotation-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.accessibility-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.accessibility-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.accessibility-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.accessibility-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.accessibility-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.accessibility-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.attach-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.attach-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.attach-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.attach-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.attach-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.attach-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.charsets-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.charsets-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.charsets-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-C.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-D.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.compiler-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.crypto.cryptoki-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.crypto.cryptoki-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.crypto.cryptoki-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.crypto.ec-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.crypto.ec-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.crypto.ec-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.dynalink-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.dynalink-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.dynalink-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.dynalink-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.dynalink-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.dynalink-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.editpad-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.editpad-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.editpad-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.hotspot.agent-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.hotspot.agent-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.hotspot.agent-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-7.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-8.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-D.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.httpserver-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.httpclient-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.httpclient-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.httpclient-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.jpackage-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.jpackage-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.vector-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.vector-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.incubator.vector-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-D.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.javadoc-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.javadoc-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.javadoc-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.javadoc-D.sym.txt = src/jdk.compiler/share/data/symbols/jdk.javadoc-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.javadoc-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.javadoc-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.javadoc-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jcmd-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jcmd-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jcmd-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jconsole-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jconsole-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jconsole-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jconsole-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jconsole-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jconsole-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdeps-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdeps-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdeps-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdi-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdi-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdi-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdi-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdi-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdi-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdi-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdwp.agent-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdwp.agent-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdwp.agent-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jfr-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jfr-C.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jfr-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jfr-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jfr-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jlink-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jlink-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jlink-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jlink-D.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jlink-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jlink-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jpackage-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jshell-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jshell-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jshell-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jshell-D.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jshell-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jshell-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jshell-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jshell-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-C.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jstatd-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jstatd-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jstatd-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.localedata-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.localedata-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.localedata-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-7.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-8.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management.agent-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management.agent-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management.agent-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management.jfr-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management.jfr-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management.jfr-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.management.jfr-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.naming.dns-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.naming.dns-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.naming.dns-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.naming.rmi-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.naming.rmi-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.naming.rmi-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.net-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.net-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.net-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.net-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.net-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.net-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.net-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.net-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.nio.mapmode-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.pack-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.pack-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.pack-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.pack-E.sym.txt = src/jdk.compiler/share/data/symbols/jdk.policytool-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.policytool-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.rmic-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.rmic-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.rmic-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.rmic-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.scripting.nashorn-7.sym.txt = src/jdk.compiler/share/data/symbols/jdk.scripting.nashorn-8.sym.txt = src/jdk.compiler/share/data/symbols/jdk.scripting.nashorn-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.scripting.nashorn-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.scripting.nashorn-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.scripting.nashorn-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.sctp-7.sym.txt = src/jdk.compiler/share/data/symbols/jdk.sctp-8.sym.txt = src/jdk.compiler/share/data/symbols/jdk.sctp-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.sctp-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.sctp-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.sctp-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.sctp-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.sctp-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.auth-7.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.auth-8.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.auth-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.auth-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.auth-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.auth-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.auth-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.auth-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.jgss-7.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.jgss-8.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.jgss-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.jgss-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.jgss-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.jgss-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.jgss-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.security.jgss-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.unsupported-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.unsupported-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.unsupported-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.unsupported-C.sym.txt = src/jdk.compiler/share/data/symbols/jdk.unsupported-F.sym.txt = src/jdk.compiler/share/data/symbols/jdk.unsupported-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.unsupported-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.unsupported-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.xml.dom-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.xml.dom-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.xml.dom-B.sym.txt = src/jdk.compiler/share/data/symbols/jdk.xml.dom-G.sym.txt = src/jdk.compiler/share/data/symbols/jdk.xml.dom-H.sym.txt = src/jdk.compiler/share/data/symbols/jdk.xml.dom-I.sym.txt = src/jdk.compiler/share/data/symbols/jdk.zipfs-9.sym.txt = src/jdk.compiler/share/data/symbols/jdk.zipfs-A.sym.txt = src/jdk.compiler/share/data/symbols/jdk.zipfs-B.sym.txt = src/jdk.compiler/share/data/symbols/symbols ! test/jdk/java/security/misc/Versions.java ! test/jdk/java/util/Currency/CurrencyTest.java ! test/jdk/java/util/Locale/LSRDataTest.java ! test/jdk/lib/testlibrary/java/lang/UCDFiles.java ! test/jdk/sun/nio/cs/TestCharsetMapping.java ! test/jdk/sun/nio/cs/TestMS950.java ! test/jdk/sun/security/lib/CheckBlockedCerts.java ! test/jdk/sun/util/calendar/zi/TestZoneInfo310.java ! test/langtools/tools/javac/platform/CanHandleClassFilesTest.java ! test/langtools/tools/javac/sym/ElementStructureTest.java Changeset: f3dc0c88 Author: David Holmes Date: 2022-03-22 01:12:29 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f3dc0c88ea00a3745f5f105404e0788a0f616407 8282721: HotSpot Style Guide should allow considered use of C++ thread_local Reviewed-by: kbarrett, jrose, dcubed, stuefe, mdoerr, kvn ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 81d63734 Author: David Holmes Date: 2022-03-22 01:20:31 +0000 URL: https://git.openjdk.java.net/valhalla/commit/81d63734bc2e2a18063cb6afbc53f8813a0ba880 8282469: Allow considered use of C++ thread_local in Hotspot Reviewed-by: kbarrett, dcubed - src/hotspot/share/memory/operator_new.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: 849b1952 Author: Manukumar V S Committer: Sergey Bylokhov Date: 2022-03-22 01:28:06 +0000 URL: https://git.openjdk.java.net/valhalla/commit/849b19523a666bd2ec110876bfd5679b20be77f4 8282937: Write a regression test for JDK-4820080 Reviewed-by: serb + test/jdk/javax/swing/JSplitPane/4820080/JSplitPaneDragColorTest.java Changeset: 37fc77ef Author: Kevin Walls Date: 2022-03-22 07:54:41 +0000 URL: https://git.openjdk.java.net/valhalla/commit/37fc77ef60dd97c4acc468ecfeb6753132974720 8283092: JMX subclass permission check redundant with strong encapsulation Reviewed-by: dfuchs, mchung ! src/java.management/share/classes/java/lang/management/ManagementFactory.java ! src/java.management/share/classes/sun/management/spi/PlatformMBeanProvider.java ! src/jdk.management.agent/share/classes/jdk/internal/agent/spi/AgentProvider.java ! test/jdk/sun/management/PlatformMBeanProviderConstructorCheck.java Changeset: a6fd0b21 Author: Srinivas Mandalika Committer: Sergey Bylokhov Date: 2022-03-22 09:20:12 +0000 URL: https://git.openjdk.java.net/valhalla/commit/a6fd0b21ddc1575366eed8d47191f6b14b2d7cb6 8283087: Create a test or JDK-4715503 Reviewed-by: serb + test/jdk/javax/accessibility/4715503/AccessibleJTableCellBoundingRectangleTest.java Changeset: 85628a87 Author: Roland Westrelin Date: 2022-03-22 10:34:33 +0000 URL: https://git.openjdk.java.net/valhalla/commit/85628a871df3fdeec1b422d1c01c222abe45d0a8 8282592: C2: assert(false) failed: graph should be schedulable Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestSkeletonPredicates.java Changeset: c0f984e5 Author: Zhengyu Gu Date: 2022-03-22 13:30:26 +0000 URL: https://git.openjdk.java.net/valhalla/commit/c0f984e5fbba7b44fa7b0a4309896ef9ccb4e666 8283456: Make CompiledICHolder::live_count/live_not_claimed_count debug only Reviewed-by: dholmes ! src/hotspot/share/oops/compiledICHolder.cpp ! src/hotspot/share/oops/compiledICHolder.hpp Changeset: fabde3b7 Author: Roland Westrelin Date: 2022-03-22 14:06:49 +0000 URL: https://git.openjdk.java.net/valhalla/commit/fabde3b7b8ed5e576febe8138c14696ccdf636d5 8283451: C2: assert(_base == Long) failed: Not a Long Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/c2/TestModDivTopInput.java Changeset: 557ff4b3 Author: Jim Laskey Date: 2022-03-22 15:32:46 +0000 URL: https://git.openjdk.java.net/valhalla/commit/557ff4b3558f95723ebaff680b8524b0cb979559 8282625: Formatter caches Locale/DecimalFormatSymbols poorly Reviewed-by: naoto, rriggs, jpai ! src/java.base/share/classes/java/text/DecimalFormatSymbols.java ! src/java.base/share/classes/java/util/Formatter.java ! test/jdk/java/text/Format/NumberFormat/IntlTestDecimalFormatSymbols.java Changeset: d29c7e74 Author: Emanuel Peter Committer: Tobias Hartmann Date: 2022-03-22 16:23:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d29c7e740d51cb50a1aa0a941a5b460782f8da68 8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/subtypenode.cpp ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyAsLoadsStores.java Changeset: f7d21c35 Author: Joe Darcy Date: 2022-03-22 16:26:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/f7d21c3523d87584b62a1143bfe52d067cf77519 8283480: Make AbstractStringBuilder sealed Reviewed-by: jjg, rriggs, jlaskey, dfuchs ! src/java.base/share/classes/java/lang/AbstractStringBuilder.java Changeset: 33eb89df Author: Phil Race Date: 2022-03-22 21:48:42 +0000 URL: https://git.openjdk.java.net/valhalla/commit/33eb89dfeb4a43e1ad2c3dd657ec3b6ee7abbb3a 8283457: [macos] libpng build failures with Xcode13.3 Reviewed-by: erikj ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 8cc12350 Author: David Holmes Date: 2022-03-23 00:06:53 +0000 URL: https://git.openjdk.java.net/valhalla/commit/8cc12350294c202ae4050471587b95135a9f6ac6 8282952: Thread::exit should be immune to Thread.stop Reviewed-by: dcubed, pchilanomate, alanb ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp Changeset: 6ea996c2 Author: Ichiroh Takiguchi Date: 2022-03-23 01:39:20 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6ea996c20591cafa9673d9c697437ce2c48e4616 8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale Reviewed-by: prr, serb ! src/java.desktop/share/classes/sun/awt/FontConfiguration.java Changeset: b035fda4 Author: Thomas Stuefe Date: 2022-03-23 06:06:51 +0000 URL: https://git.openjdk.java.net/valhalla/commit/b035fda459284fa130bf936743a8579a6888160b 8283497: [windows] print TMP and TEMP in hs_err and VM.info Reviewed-by: ysuenaga, dholmes ! src/hotspot/share/utilities/vmError.cpp Changeset: 82e1a1cf Author: Aleksey Shipilev Date: 2022-03-23 06:30:19 +0000 URL: https://git.openjdk.java.net/valhalla/commit/82e1a1cf8bafddfa2ecf11c2ce88ed4eaa091757 8283257: x86: Clean up invocation/branch counter updates code Reviewed-by: redestad, kvn ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 1443f6b9 Author: Aleksey Shipilev Date: 2022-03-23 06:31:36 +0000 URL: https://git.openjdk.java.net/valhalla/commit/1443f6b9191c127abdae38cadb1a44af3c652f1d 8283199: Linux os::cpu_microcode_revision() stalls cold startup Reviewed-by: dholmes, redestad, stuefe ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp Changeset: 86015e15 Author: Sibabrata Sahoo Date: 2022-03-23 06:45:37 +0000 URL: https://git.openjdk.java.net/valhalla/commit/86015e15a5105a779ee065cca64479c8d4fbc074 8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive Reviewed-by: weijun, rhalade ! src/java.base/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java ! test/jdk/sun/security/krb5/auto/HttpsCB.java Changeset: 58487ddc Author: Thomas Stuefe Date: 2022-03-23 06:46:55 +0000 URL: https://git.openjdk.java.net/valhalla/commit/58487ddc170f73123668f29c99097b16ba84aa9b 8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing Reviewed-by: iklam ! test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java Changeset: 026b8530 Author: Jie Fu Date: 2022-03-23 08:48:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/026b85303c01326bc49a1105a89853d7641fcd50 8283298: Make CodeCacheSegmentSize a product flag Reviewed-by: dlong, kvn ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/arguments/TestCodeEntryAlignment.java Changeset: d8c55725 Author: Quan Anh Mai Committer: Jie Fu Date: 2022-03-23 09:45:23 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d8c55725e0f85e21c16bb81e3f1a9bcfacc59f87 8282204: Use lea instructions for arithmetic operations on x86_64 Reviewed-by: jiefu, sviswanathan, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86_64.ad + test/micro/org/openjdk/bench/vm/compiler/LeaInstruction.java Changeset: 91fab6ad Author: Jaikiran Pai Date: 2022-03-23 09:47:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/91fab6ad59d2a4baf58802fc6e6039af3dd8d578 8283411: InflaterInputStream holds on to a temporary byte array of 512 bytes Reviewed-by: lancea, vtewari, alanb ! src/java.base/share/classes/java/util/zip/InflaterInputStream.java Changeset: 6ed0ba2f Author: Vicente Romero Date: 2022-03-23 10:34:09 +0000 URL: https://git.openjdk.java.net/valhalla/commit/6ed0ba2f8a2af58c45a6b7be684ef30d15af6ead 8283543: indentation error at com.sun.tools.javac.comp.Enter::visitTopLevel Reviewed-by: darcy, iris ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java Changeset: 61d7d868 Author: Kevin Walls Date: 2022-03-23 11:03:25 +0000 URL: https://git.openjdk.java.net/valhalla/commit/61d7d868db030d878f4a1c4467075e8d4e116a6e 8283254: Remove redundant class jdk/internal/agent/spi/AgentProvider Reviewed-by: mchung, redestad, dfuchs ! src/jdk.management.agent/share/classes/jdk/internal/agent/Agent.java - src/jdk.management.agent/share/classes/jdk/internal/agent/spi/AgentProvider.java ! src/jdk.management.agent/share/classes/module-info.java Changeset: 78ef2fde Author: Thomas Stuefe Date: 2022-03-23 12:55:28 +0000 URL: https://git.openjdk.java.net/valhalla/commit/78ef2fdef68c5161c8875296e9479026ac89743a 8283562: JDK-8282306 breaks gtests on zero Reviewed-by: shade ! test/hotspot/gtest/runtime/test_os.cpp Changeset: d909eac7 Author: David Simms Date: 2022-03-30 07:13:17 +0000 URL: https://git.openjdk.java.net/valhalla/commit/d909eac7c5fc71bc33baa3e30e7105dec67134d3 Merge jdk Merge jdk-19+15 ! .github/workflows/submit.yml ! make/Docs.gmk ! make/autoconf/hotspot.m4 ! make/conf/jib-profiles.js ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java ! make/modules/java.base/gensrc/GensrcVarHandles.gmk ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/c1/c1_Compilation.hpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_Instruction.cpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_InstructionPrinter.cpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/c1/c1_ValueMap.hpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciStreams.cpp ! src/hotspot/share/ci/ciStreams.hpp ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/linkResolver.hpp ! src/hotspot/share/interpreter/oopMapCache.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/convertnode.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/split_if.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/subtypenode.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmOperation.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/utilities/constantTag.hpp ! src/hotspot/share/utilities/exceptions.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/ref/PhantomReference.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/lang/ref/SoftReference.java ! src/java.base/share/classes/java/lang/ref/WeakReference.java ! src/java.base/share/classes/java/util/Objects.java ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/compiler/c2/irTests/TestStripMiningDropsSafepoint.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/TestVM.java ! test/hotspot/jtreg/runtime/cds/appcds/customLoader/SameNameInTwoLoadersTest.java ! test/hotspot/jtreg/runtime/cds/appcds/javaldr/LockDuringDump.java ! test/jtreg-ext/requires/VMProps.java ! test/langtools/jdk/jshell/VariablesTest.java ! test/lib/jdk/test/lib/hprof/model/JavaValueArray.java ! test/lib/sun/hotspot/WhiteBox.java ! .github/workflows/submit.yml ! make/Docs.gmk ! make/autoconf/hotspot.m4 ! make/conf/jib-profiles.js ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java ! make/modules/java.base/gensrc/GensrcVarHandles.gmk ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/c1/c1_Compilation.hpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_Instruction.cpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_InstructionPrinter.cpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/c1/c1_ValueMap.hpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciStreams.cpp ! src/hotspot/share/ci/ciStreams.hpp ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/linkResolver.hpp ! src/hotspot/share/interpreter/oopMapCache.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/convertnode.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/split_if.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/subtypenode.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmOperation.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/utilities/constantTag.hpp ! src/hotspot/share/utilities/exceptions.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/ref/PhantomReference.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/lang/ref/SoftReference.java ! src/java.base/share/classes/java/lang/ref/WeakReference.java ! src/java.base/share/classes/java/util/Objects.java ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/compiler/c2/irTests/TestStripMiningDropsSafepoint.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/TestVM.java ! test/hotspot/jtreg/runtime/cds/appcds/customLoader/SameNameInTwoLoadersTest.java ! test/hotspot/jtreg/runtime/cds/appcds/javaldr/LockDuringDump.java ! test/jtreg-ext/requires/VMProps.java ! test/langtools/jdk/jshell/VariablesTest.java ! test/lib/jdk/test/lib/hprof/model/JavaValueArray.java ! test/lib/sun/hotspot/WhiteBox.java From mchung at openjdk.java.net Wed Mar 30 19:26:38 2022 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 30 Mar 2022 19:26:38 GMT Subject: [lworld] RFR: JDK-8284000: [lworld] sun/reflect/ReflectionFactory/ReflectionFactoryTest.java fails after JDK-8283573 Message-ID: <8w1EtmJXQXAM26gru5ACGzz2HxmXM9rLl8YKx2roTTI=.d66de690-5645-4a84-978d-8664eecc523b@github.com> The ReflectionFactory.java test fails in checking the declaring class of an instance returned from calling `Class::newInstance` on `Object.class`. The test should check for `Identity.class` instead. A separate JBS issue will follow up the impact to the core reflection API and `sun.reflect.ReflectionFactory` API. ------------- Commit messages: - JDK-8284000: [lworld] sun/reflect/ReflectionFactory/ReflectionFactoryTest.java fails after JDK-8283573 Changes: https://git.openjdk.java.net/valhalla/pull/674/files Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=674&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8284000 Stats: 4 lines in 1 file changed: 3 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/valhalla/pull/674.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/674/head:pull/674 PR: https://git.openjdk.java.net/valhalla/pull/674 From fparain at openjdk.java.net Wed Mar 30 21:10:02 2022 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 30 Mar 2022 21:10:02 GMT Subject: [lworld] RFR: JDK-8284000: [lworld] sun/reflect/ReflectionFactory/ReflectionFactoryTest.java fails after JDK-8283573 In-Reply-To: <8w1EtmJXQXAM26gru5ACGzz2HxmXM9rLl8YKx2roTTI=.d66de690-5645-4a84-978d-8664eecc523b@github.com> References: <8w1EtmJXQXAM26gru5ACGzz2HxmXM9rLl8YKx2roTTI=.d66de690-5645-4a84-978d-8664eecc523b@github.com> Message-ID: On Wed, 30 Mar 2022 19:19:02 GMT, Mandy Chung wrote: > The ReflectionFactory.java test fails in checking the declaring class of an instance returned from calling `Class::newInstance` on `Object.class`. The test should check for `Identity.class` instead. > > A separate JBS issue will follow up the impact to the core reflection API and `sun.reflect.ReflectionFactory` API. Looks good to me. ------------- Marked as reviewed by fparain (Committer). PR: https://git.openjdk.java.net/valhalla/pull/674