From mchung at openjdk.java.net Wed Jul 1 17:53:56 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 1 Jul 2020 17:53:56 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type Message-ID: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> This patch fixes `LambdaMetaFactory` to allow inline value projection type to convert to its reference projection type. `Class::isAssignableFrom` and `Class::asSubclass` are the APIs to determine if a given type can be safely cast to this Class. - Class::isAssignableFrom tests if a given type can be converted to this Class via a widening reference conversion. - Class::asSubclass tests if a given type can be converted to this Class via a narrowing conversion. The current thought is to keep `Class::isAssignableFrom` and `Class::asSubclass` to respect the class file hierarchy and a cast is needed when converting from `V.val` to `V.ref`. `LambdaMetaFactory` and other frameworks will need to extend the type adaptability check to support inline types. I considered adding `Class::isConvertibleFrom` method but we should wait for more use cases proving the need of such convenience method. This check can be done by calling `Class::referenceType` and `Class::valueType`. ------------- Commit messages: - lambda metafactory supports inline widening/narrowing Changes: https://git.openjdk.java.net/valhalla/pull/102/files Webrev: https://webrevs.openjdk.java.net/valhalla/102/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8247663 Stats: 289 lines in 5 files changed: 284 ins; 1 del; 4 mod Patch: https://git.openjdk.java.net/valhalla/pull/102.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/102/head:pull/102 PR: https://git.openjdk.java.net/valhalla/pull/102 From fparain at openjdk.java.net Wed Jul 1 18:29:15 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 1 Jul 2020 18:29:15 GMT Subject: [lworld] Integrated: 8248662: [lworld][lw3] vmTestbase/nsk/jdwp/ReferenceType/Interfaces/interfaces001/TestDescription.java fails after 8245216 Message-ID: Simple fix to remove a work around related to the IdentityObject interface. Fred ------------- Commit messages: - Fix expected number of interfaces in test Changes: https://git.openjdk.java.net/valhalla/pull/103/files Webrev: https://webrevs.openjdk.java.net/valhalla/103/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8248662 Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod Patch: https://git.openjdk.java.net/valhalla/pull/103.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/103/head:pull/103 PR: https://git.openjdk.java.net/valhalla/pull/103 From fparain at openjdk.java.net Wed Jul 1 18:29:15 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 1 Jul 2020 18:29:15 GMT Subject: [lworld] Integrated: 8248662: [lworld][lw3] vmTestbase/nsk/jdwp/ReferenceType/Interfaces/interfaces001/TestDescription.java fails after 8245216 In-Reply-To: References: Message-ID: On Wed, 1 Jul 2020 18:18:58 GMT, Frederic Parain wrote: > Simple fix to remove a work around related to the IdentityObject interface. > > Fred This pull request has now been integrated. Changeset: f2063f8a Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/f2063f8a Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod 8248662: [lworld][lw3] vmTestbase/nsk/jdwp/ReferenceType/Interfaces/interfaces001/TestDescription.java fails after 8245216 ------------- PR: https://git.openjdk.java.net/valhalla/pull/103 From fparain at openjdk.java.net Wed Jul 1 18:29:15 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 1 Jul 2020 18:29:15 GMT Subject: [lworld] Integrated: 8248662: [lworld][lw3] vmTestbase/nsk/jdwp/ReferenceType/Interfaces/interfaces001/TestDescription.java fails after 8245216 In-Reply-To: References: Message-ID: On Wed, 1 Jul 2020 18:18:58 GMT, Frederic Parain wrote: > Simple fix to remove a work around related to the IdentityObject interface. > > Fred /integrate ------------- PR: https://git.openjdk.java.net/valhalla/pull/103 From fparain at openjdk.java.net Thu Jul 2 13:28:53 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 2 Jul 2020 13:28:53 GMT Subject: [lworld] RFR: 8248163: jdb crashes when invoking "lock" command on inline class Message-ID: Please review this patch which fix an issue with the JVMTI method GetObjectMonitorUsage() and inline types. The behavior of the method when called on an inline type instance is to return a valid result and not throwing an exception. The result will always show that the monitor is not locked and has never been locked. A unit test has been added to cover this case. Thank you, Fred ------------- Commit messages: - Add inline type support to JVMTI GetObjectMonitorUsage Changes: https://git.openjdk.java.net/valhalla/pull/104/files Webrev: https://webrevs.openjdk.java.net/valhalla/104/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8248163 Stats: 319 lines in 6 files changed: 314 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/valhalla/pull/104.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/104/head:pull/104 PR: https://git.openjdk.java.net/valhalla/pull/104 From hseigel at openjdk.java.net Thu Jul 2 14:57:45 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 2 Jul 2020 14:57:45 GMT Subject: [lworld] RFR: 8248163: jdb crashes when invoking "lock" command on inline class In-Reply-To: References: Message-ID: On Thu, 2 Jul 2020 13:16:38 GMT, Frederic Parain wrote: > Please review this patch which fix an issue with the JVMTI method GetObjectMonitorUsage() and inline types. > The behavior of the method when called on an inline type instance is to return a valid result and not throwing an > exception. The result will always show that the monitor is not locked and has never been locked. > > A unit test has been added to cover this case. > > Thank you, > > Fred Hi Fred, It looks good. Could you add a comment above line 964 in jmvtiEnvBase.cpp about inline types and is_always_locked() returning true? Also, the copyrights for the tests shouldn't say "2020, 2020". I don't need to see another version. Thanks, Harold ------------- Marked as reviewed by hseigel (Committer). PR: https://git.openjdk.java.net/valhalla/pull/104 From fparain at openjdk.java.net Thu Jul 2 16:10:19 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 2 Jul 2020 16:10:19 GMT Subject: [lworld] RFR: 8248163: jdb crashes when invoking "lock" command on inline class [v2] In-Reply-To: References: Message-ID: On Thu, 2 Jul 2020 14:55:29 GMT, Harold Seigel wrote: >> Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: >> >> Add comment and fix copyright headers > > Hi Fred, > It looks good. Could you add a comment above line 964 in jmvtiEnvBase.cpp about inline types and is_always_locked() > returning true? Also, the copyrights for the tests shouldn't say "2020, 2020". > > I don't need to see another version. > Thanks, Harold Harold, Thank you for your review. I've added a comment and fixed the copyright years format. Regards, Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/104 From fparain at openjdk.java.net Thu Jul 2 16:10:19 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 2 Jul 2020 16:10:19 GMT Subject: [lworld] RFR: 8248163: jdb crashes when invoking "lock" command on inline class [v2] In-Reply-To: References: Message-ID: > Please review this patch which fix an issue with the JVMTI method GetObjectMonitorUsage() and inline types. > The behavior of the method when called on an inline type instance is to return a valid result and not throwing an > exception. The result will always show that the monitor is not locked and has never been locked. > > A unit test has been added to cover this case. > > Thank you, > > Fred Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: Add comment and fix copyright headers ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/104/files - new: https://git.openjdk.java.net/valhalla/pull/104/files/897ee98e..2ffad6e5 Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/104/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/104/webrev.00-01 Stats: 6 lines in 4 files changed: 3 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/valhalla/pull/104.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/104/head:pull/104 PR: https://git.openjdk.java.net/valhalla/pull/104 From fparain at openjdk.java.net Thu Jul 2 18:31:07 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 2 Jul 2020 18:31:07 GMT Subject: [lworld] Integrated: 8248163: jdb crashes when invoking "lock" command on inline class In-Reply-To: References: Message-ID: <20dgM8hjQj9a_iy2m2RpOA0uQAc2uWsNL9on91XLOOg=.615f97e9-ab30-455d-9bca-ad48e6c7a47b@github.com> On Thu, 2 Jul 2020 13:16:38 GMT, Frederic Parain wrote: > Please review this patch which fix an issue with the JVMTI method GetObjectMonitorUsage() and inline types. > The behavior of the method when called on an inline type instance is to return a valid result and not throwing an > exception. The result will always show that the monitor is not locked and has never been locked. > > A unit test has been added to cover this case. > > Thank you, > > Fred This pull request has now been integrated. Changeset: f5f65c5e Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/f5f65c5e Stats: 322 lines in 6 files changed: 0 ins; 317 del; 5 mod 8248163: jdb crashes when invoking "lock" command on inline class Reviewed-by: hseigel ------------- PR: https://git.openjdk.java.net/valhalla/pull/104 From fparain at openjdk.java.net Mon Jul 6 19:25:48 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 6 Jul 2020 19:25:48 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class Message-ID: Please review this patch which adds a missing check in array class resolution. When an array class is resolved and the bottom type is not a primitive type, the envelope of the bottom type signature is removed in order to extract the class name and load it. Currently, there's no check that the kind of the loaded class matches the enveloped stripped from the signature. The patch adds this check and includes an unit test. Tested on all all platforms with mach5, tiers 1 to 3. Thank you, Fred ------------- Commit messages: - Add element kind check when resolving an array class Changes: https://git.openjdk.java.net/valhalla/pull/105/files Webrev: https://webrevs.openjdk.java.net/valhalla/105/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8242402 Stats: 186 lines in 5 files changed: 186 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/valhalla/pull/105.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/105/head:pull/105 PR: https://git.openjdk.java.net/valhalla/pull/105 From hseigel at openjdk.java.net Mon Jul 6 20:01:39 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 6 Jul 2020 20:01:39 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class In-Reply-To: References: Message-ID: On Mon, 6 Jul 2020 19:13:00 GMT, Frederic Parain wrote: > Please review this patch which adds a missing check in array class resolution. > > When an array class is resolved and the bottom type is not a primitive type, the envelope of the bottom type signature > is removed in order to extract the class name and load it. Currently, there's no check that the kind of the loaded > class matches the enveloped stripped from the signature. The patch adds this check and includes an unit test. > > Tested on all all platforms with mach5, tiers 1 to 3. > > Thank you, > > Fred Marked as reviewed by hseigel (Committer). src/hotspot/share/classfile/systemDictionary.cpp line 365: > 364: THROW_NULL(vmSymbols::java_lang_IncompatibleClassChangeError()); > 365: } > 366: k = k->array_klass(ndims, CHECK_NULL); Is it worthwhile using THROW_MSG_NULL to provide a helpful message with the exception? test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/MultiANewArrayTypeCheck.jcod line 1: > 1: class MultiANewArrayTypeCheck { > 2: 0xCAFEBABE; I think a copyright notice is needed here. Also, could you add a comment containing Java pseudo-code that shows what this file is doing? ------------- PR: https://git.openjdk.java.net/valhalla/pull/105 From fparain at openjdk.java.net Mon Jul 6 20:14:44 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 6 Jul 2020 20:14:44 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class In-Reply-To: References: Message-ID: <1NYFD3cRM5ijsrLKLrzmoZyEV-aAjQMpoP8n_OGf7EE=.3fad2787-f3b8-4299-a9f3-80fb3df7d6e0@github.com> On Mon, 6 Jul 2020 19:57:18 GMT, Harold Seigel wrote: >> Please review this patch which adds a missing check in array class resolution. >> >> When an array class is resolved and the bottom type is not a primitive type, the envelope of the bottom type signature >> is removed in order to extract the class name and load it. Currently, there's no check that the kind of the loaded >> class matches the enveloped stripped from the signature. The patch adds this check and includes an unit test. >> >> Tested on all all platforms with mach5, tiers 1 to 3. >> >> Thank you, >> >> Fred > > src/hotspot/share/classfile/systemDictionary.cpp line 365: > >> 364: THROW_NULL(vmSymbols::java_lang_IncompatibleClassChangeError()); >> 365: } >> 366: k = k->array_klass(ndims, CHECK_NULL); > > Is it worthwhile using THROW_MSG_NULL to provide a helpful message with the exception? Something like this? `THROW_MSG_NULL(vmSymbols::java_lang_IncompatibleClassChangeError(), "L/Q mismatch on bottom type");` Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/105 From hseigel at openjdk.java.net Mon Jul 6 20:14:45 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 6 Jul 2020 20:14:45 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class In-Reply-To: <1NYFD3cRM5ijsrLKLrzmoZyEV-aAjQMpoP8n_OGf7EE=.3fad2787-f3b8-4299-a9f3-80fb3df7d6e0@github.com> References: <1NYFD3cRM5ijsrLKLrzmoZyEV-aAjQMpoP8n_OGf7EE=.3fad2787-f3b8-4299-a9f3-80fb3df7d6e0@github.com> Message-ID: <9AwGcM8O1Or6JYyZS6140w6Y2rMuPG5R1eipr-bAFek=.2f19010c-1910-46bc-a912-443cff71b6fe@github.com> On Mon, 6 Jul 2020 20:09:59 GMT, Frederic Parain wrote: >> src/hotspot/share/classfile/systemDictionary.cpp line 365: >> >>> 364: THROW_NULL(vmSymbols::java_lang_IncompatibleClassChangeError()); >>> 365: } >>> 366: k = k->array_klass(ndims, CHECK_NULL); >> >> Is it worthwhile using THROW_MSG_NULL to provide a helpful message with the exception? > > Something like this? > > `THROW_MSG_NULL(vmSymbols::java_lang_IncompatibleClassChangeError(), "L/Q mismatch on bottom type");` > > Fred Yes. That looks good. Thanks. ------------- PR: https://git.openjdk.java.net/valhalla/pull/105 From fparain at openjdk.java.net Mon Jul 6 20:43:02 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 6 Jul 2020 20:43:02 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class [v2] In-Reply-To: References: Message-ID: > Please review this patch which adds a missing check in array class resolution. > > When an array class is resolved and the bottom type is not a primitive type, the envelope of the bottom type signature > is removed in order to extract the class name and load it. Currently, there's no check that the kind of the loaded > class matches the enveloped stripped from the signature. The patch adds this check and includes an unit test. > > Tested on all all platforms with mach5, tiers 1 to 3. > > Thank you, > > Fred Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: Add message, copyrights and comments ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/105/files - new: https://git.openjdk.java.net/valhalla/pull/105/files/4616eb98..663cbc0c Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/105/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/105/webrev.00-01 Stats: 84 lines in 4 files changed: 82 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/valhalla/pull/105.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/105/head:pull/105 PR: https://git.openjdk.java.net/valhalla/pull/105 From fparain at openjdk.java.net Mon Jul 6 20:43:03 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 6 Jul 2020 20:43:03 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class [v2] In-Reply-To: References: Message-ID: <65JQYAyVW1sFFJ8ZaxQAVp5_GFn4tI8CHBnbiVHDSYM=.4a4af212-4d18-4757-b8b8-e0504afc13b0@github.com> On Mon, 6 Jul 2020 19:58:16 GMT, Harold Seigel wrote: >> Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: >> >> Add message, copyrights and comments > > test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/MultiANewArrayTypeCheck.jcod line 1: > >> 1: class MultiANewArrayTypeCheck { >> 2: 0xCAFEBABE; > > I think a copyright notice is needed here. Also, could you add a comment containing Java pseudo-code that shows what > this file is doing? I've added the missing copyrights and a comment explaining the content of the jcod file. Thank you, Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/105 From fparain at openjdk.java.net Tue Jul 7 13:41:06 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 7 Jul 2020 13:41:06 GMT Subject: git: openjdk/valhalla: lworld: 8242402: multianewarray is missing checks on the bottom class Message-ID: <44c81558-ad4a-4793-8e04-cf92f26d828d@openjdk.org> Changeset: e9c44351 Author: Frederic Parain Date: 2020-07-07 13:40:44 +0000 URL: https://git.openjdk.java.net/valhalla/commit/e9c44351 8242402: multianewarray is missing checks on the bottom class Reviewed-by: hseigel ! src/hotspot/share/classfile/systemDictionary.cpp + test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/Element0.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/Element1.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/MultiANewArrayTest.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/MultiANewArrayTypeCheck.jcod From hseigel at openjdk.java.net Tue Jul 7 13:43:23 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Tue, 7 Jul 2020 13:43:23 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class [v2] In-Reply-To: References: Message-ID: <6KN07GIgTa580djL_YJ3jcKFNCBl9z9trh2HAk_S0Z0=.b12006eb-ed9a-4df5-94d9-997953d00ae2@github.com> On Mon, 6 Jul 2020 20:43:02 GMT, Frederic Parain wrote: >> Please review this patch which adds a missing check in array class resolution. >> >> When an array class is resolved and the bottom type is not a primitive type, the envelope of the bottom type signature >> is removed in order to extract the class name and load it. Currently, there's no check that the kind of the loaded >> class matches the enveloped stripped from the signature. The patch adds this check and includes an unit test. >> >> Tested on all all platforms with mach5, tiers 1 to 3. >> >> Thank you, >> >> Fred > > Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: > > Add message, copyrights and comments All the changes look good! ------------- Marked as reviewed by hseigel (Committer). PR: https://git.openjdk.java.net/valhalla/pull/105 From fparain at openjdk.java.net Tue Jul 7 13:43:23 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 7 Jul 2020 13:43:23 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class [v2] In-Reply-To: <6KN07GIgTa580djL_YJ3jcKFNCBl9z9trh2HAk_S0Z0=.b12006eb-ed9a-4df5-94d9-997953d00ae2@github.com> References: <6KN07GIgTa580djL_YJ3jcKFNCBl9z9trh2HAk_S0Z0=.b12006eb-ed9a-4df5-94d9-997953d00ae2@github.com> Message-ID: On Tue, 7 Jul 2020 13:38:40 GMT, Harold Seigel wrote: >> Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: >> >> Add message, copyrights and comments > > All the changes look good! Harold, Thank you for your review. Fred > On Jul 7, 2020, at 09:38, Harold Seigel wrote: > > > @hseigel approved this pull request. > > All the changes look good! > > In test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/MultiANewArrayTypeCheck.jcod: > > > @@ -0,0 +1,120 @@ > +class MultiANewArrayTypeCheck { > > Looks Good. > > ? > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub, or unsubscribe. > ------------- PR: https://git.openjdk.java.net/valhalla/pull/105 From fparain at openjdk.java.net Tue Jul 7 13:43:23 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 7 Jul 2020 13:43:23 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class [v2] In-Reply-To: References: <6KN07GIgTa580djL_YJ3jcKFNCBl9z9trh2HAk_S0Z0=.b12006eb-ed9a-4df5-94d9-997953d00ae2@github.com> Message-ID: On Tue, 7 Jul 2020 13:39:56 GMT, Frederic Parain wrote: >> All the changes look good! > > Harold, > > Thank you for your review. > > Fred > > >> On Jul 7, 2020, at 09:38, Harold Seigel wrote: >> >> >> @hseigel approved this pull request. >> >> All the changes look good! >> >> In test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/MultiANewArrayTypeCheck.jcod: >> >> > @@ -0,0 +1,120 @@ >> +class MultiANewArrayTypeCheck { >> >> Looks Good. >> >> ? >> You are receiving this because you were mentioned. >> Reply to this email directly, view it on GitHub, or unsubscribe. >> /integrate ------------- PR: https://git.openjdk.java.net/valhalla/pull/105 From fparain at openjdk.java.net Tue Jul 7 13:43:24 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 7 Jul 2020 13:43:24 GMT Subject: [lworld] Integrated: 8242402: multianewarray is missing checks on the bottom class In-Reply-To: References: Message-ID: On Mon, 6 Jul 2020 19:13:00 GMT, Frederic Parain wrote: > Please review this patch which adds a missing check in array class resolution. > > When an array class is resolved and the bottom type is not a primitive type, the envelope of the bottom type signature > is removed in order to extract the class name and load it. Currently, there's no check that the kind of the loaded > class matches the enveloped stripped from the signature. The patch adds this check and includes an unit test. > > Tested on all all platforms with mach5, tiers 1 to 3. > > Thank you, > > Fred This pull request has now been integrated. Changeset: e9c44351 Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/e9c44351 Stats: 268 lines in 5 files changed: 0 ins; 268 del; 0 mod 8242402: multianewarray is missing checks on the bottom class Reviewed-by: hseigel ------------- PR: https://git.openjdk.java.net/valhalla/pull/105 From hseigel at openjdk.java.net Tue Jul 7 13:43:24 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Tue, 7 Jul 2020 13:43:24 GMT Subject: [lworld] RFR: 8242402: multianewarray is missing checks on the bottom class [v2] In-Reply-To: <65JQYAyVW1sFFJ8ZaxQAVp5_GFn4tI8CHBnbiVHDSYM=.4a4af212-4d18-4757-b8b8-e0504afc13b0@github.com> References: <65JQYAyVW1sFFJ8ZaxQAVp5_GFn4tI8CHBnbiVHDSYM=.4a4af212-4d18-4757-b8b8-e0504afc13b0@github.com> Message-ID: On Mon, 6 Jul 2020 20:26:16 GMT, Frederic Parain wrote: >> test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/MultiANewArrayTypeCheck.jcod line 1: >> >>> 1: class MultiANewArrayTypeCheck { >>> 2: 0xCAFEBABE; >> >> I think a copyright notice is needed here. Also, could you add a comment containing Java pseudo-code that shows what >> this file is doing? > > I've added the missing copyrights and a comment explaining the content of the jcod file. > > Thank you, > > Fred Looks Good. ------------- PR: https://git.openjdk.java.net/valhalla/pull/105 From rriggs at openjdk.java.net Wed Jul 8 18:27:03 2020 From: rriggs at openjdk.java.net (Roger Riggs) Date: Wed, 8 Jul 2020 18:27:03 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type In-Reply-To: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> Message-ID: On Wed, 1 Jul 2020 17:19:17 GMT, Mandy Chung wrote: > This patch fixes `LambdaMetaFactory` to allow inline value projection type to convert to its reference projection type. > > `Class::isAssignableFrom` and `Class::asSubclass` are the APIs to determine if a given type can be safely cast to this > Class. > - Class::isAssignableFrom tests if a given type can be converted to this Class via a widening reference conversion. > - Class::asSubclass tests if a given type can be converted to this Class via a narrowing conversion. > > The current thought is to keep `Class::isAssignableFrom` and `Class::asSubclass` to respect the class file hierarchy > and a cast is needed when converting from `V.val` to `V.ref`. `LambdaMetaFactory` and other frameworks will need to > extend the type adaptability check to support inline types. I considered adding `Class::isConvertibleFrom` method but > we should wait for more use cases proving the need of such convenience method. This check can be done by calling > `Class::referenceType` and `Class::valueType`. Marked as reviewed by rriggs (Committer). test/jdk/valhalla/valuetypes/InlineTypeConversionTest.java line 87: > 86: Object v1 = mh.invoke((Object)null); > 87: assertTrue(false); > 88: } catch (NullPointerException e) { Isn't this just Assert.fail("message"); src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java line 398: > 397: */ > 398: private boolean canConvert(Class fromType, Class toType) { > 399: if (toType.isAssignableFrom(fromType)) { Can this be a static method? src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java line 402: > 401: } > 402: > 403: if (!fromType.isInlineClass() && !toType.isInlineClass()) { Since fromType.valueType is an Optional> the code could be rearranged to use is Present() and not double check for inline so many times. If it is a performance issue it should be refactored to do the complete check of one case before the other. ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From rriggs at openjdk.java.net Wed Jul 8 19:42:06 2020 From: rriggs at openjdk.java.net (Roger Riggs) Date: Wed, 8 Jul 2020 19:42:06 GMT Subject: [lworld] RFR: 8249091: [asm] Updates to ASM to support inline opcodes default and withfield Message-ID: A few updates ASM to enable generation of classfiles with default and withfield opcodes and the classfile modified bit for inline classes. ------------- Commit messages: - Updates to ASM to support inline opcodes default and withfield Changes: https://git.openjdk.java.net/valhalla/pull/106/files Webrev: https://webrevs.openjdk.java.net/valhalla/106/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249091 Stats: 9 lines in 2 files changed: 7 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/valhalla/pull/106.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/106/head:pull/106 PR: https://git.openjdk.java.net/valhalla/pull/106 From mchung at openjdk.java.net Wed Jul 8 19:52:33 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 8 Jul 2020 19:52:33 GMT Subject: [lworld] RFR: 8249091: [asm] Updates to ASM to support inline opcodes default and withfield In-Reply-To: References: Message-ID: On Wed, 8 Jul 2020 19:32:21 GMT, Roger Riggs wrote: > A few updates ASM to enable generation of classfiles with default and withfield opcodes > and the classfile modified bit for inline classes. This temporary fix in ASM to support the new opcodes looks fine. ------------- Marked as reviewed by mchung (Committer). PR: https://git.openjdk.java.net/valhalla/pull/106 From mchung at openjdk.java.net Wed Jul 8 19:53:58 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 8 Jul 2020 19:53:58 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type In-Reply-To: References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> Message-ID: On Wed, 8 Jul 2020 18:12:30 GMT, Roger Riggs wrote: >> This patch fixes `LambdaMetaFactory` to allow inline value projection type to convert to its reference projection type. >> >> `Class::isAssignableFrom` and `Class::asSubclass` are the APIs to determine if a given type can be safely cast to this >> Class. >> - Class::isAssignableFrom tests if a given type can be converted to this Class via a widening reference conversion. >> - Class::asSubclass tests if a given type can be converted to this Class via a narrowing conversion. >> >> The current thought is to keep `Class::isAssignableFrom` and `Class::asSubclass` to respect the class file hierarchy >> and a cast is needed when converting from `V.val` to `V.ref`. `LambdaMetaFactory` and other frameworks will need to >> extend the type adaptability check to support inline types. I considered adding `Class::isConvertibleFrom` method but >> we should wait for more use cases proving the need of such convenience method. This check can be done by calling >> `Class::referenceType` and `Class::valueType`. > > test/jdk/valhalla/valuetypes/InlineTypeConversionTest.java line 87: > >> 86: Object v1 = mh.invoke((Object)null); >> 87: assertTrue(false); >> 88: } catch (NullPointerException e) { > > Isn't this just Assert.fail("message"); Good suggestion. I will fix that. ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From rriggs at openjdk.java.net Wed Jul 8 20:01:07 2020 From: rriggs at openjdk.java.net (Roger Riggs) Date: Wed, 8 Jul 2020 20:01:07 GMT Subject: [lworld] Integrated: 8249091: [asm] Updates to ASM to support inline opcodes default and withfield In-Reply-To: References: Message-ID: <3uWEASdUf2a-eBDh-VrRkzg7aYDbHeXTJEunJnhQaOw=.469df820-8ab8-4b6a-923e-578d2ef2f0e3@github.com> On Wed, 8 Jul 2020 19:32:21 GMT, Roger Riggs wrote: > A few updates ASM to enable generation of classfiles with default and withfield opcodes > and the classfile modified bit for inline classes. This pull request has now been integrated. Changeset: 701567c0 Author: Roger Riggs URL: https://git.openjdk.java.net/valhalla/commit/701567c0 Stats: 9 lines in 2 files changed: 0 ins; 7 del; 2 mod 8249091: [asm] Updates to ASM to support inline opcodes default and withfield Reviewed-by: mchung ------------- PR: https://git.openjdk.java.net/valhalla/pull/106 From mchung at openjdk.java.net Wed Jul 8 19:56:46 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 8 Jul 2020 19:56:46 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type In-Reply-To: References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> Message-ID: On Wed, 8 Jul 2020 18:17:55 GMT, Roger Riggs wrote: >> This patch fixes `LambdaMetaFactory` to allow inline value projection type to convert to its reference projection type. >> >> `Class::isAssignableFrom` and `Class::asSubclass` are the APIs to determine if a given type can be safely cast to this >> Class. >> - Class::isAssignableFrom tests if a given type can be converted to this Class via a widening reference conversion. >> - Class::asSubclass tests if a given type can be converted to this Class via a narrowing conversion. >> >> The current thought is to keep `Class::isAssignableFrom` and `Class::asSubclass` to respect the class file hierarchy >> and a cast is needed when converting from `V.val` to `V.ref`. `LambdaMetaFactory` and other frameworks will need to >> extend the type adaptability check to support inline types. I considered adding `Class::isConvertibleFrom` method but >> we should wait for more use cases proving the need of such convenience method. This check can be done by calling >> `Class::referenceType` and `Class::valueType`. > > src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java line 398: > >> 397: */ >> 398: private boolean canConvert(Class fromType, Class toType) { >> 399: if (toType.isAssignableFrom(fromType)) { > > Can this be a static method? Yes. OTOH, this is consistent with the existing convention with other similar methods such as `isAdaptableTo` which are not static. ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From mchung at openjdk.java.net Wed Jul 8 20:26:54 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 8 Jul 2020 20:26:54 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type [v2] In-Reply-To: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> Message-ID: <2jXgKTZXYb62jgEFw1oFRjBmt0TN9IhlQ_V4fdV_XrY=.c3f4c2b2-f930-450c-816c-d320f6700e94@github.com> > This patch fixes `LambdaMetaFactory` to allow inline value projection type to convert to its reference projection type. > > `Class::isAssignableFrom` and `Class::asSubclass` are the APIs to determine if a given type can be safely cast to this > Class. > - Class::isAssignableFrom tests if a given type can be converted to this Class via a widening reference conversion. > - Class::asSubclass tests if a given type can be converted to this Class via a narrowing conversion. > > The current thought is to keep `Class::isAssignableFrom` and `Class::asSubclass` to respect the class file hierarchy > and a cast is needed when converting from `V.val` to `V.ref`. `LambdaMetaFactory` and other frameworks will need to > extend the type adaptability check to support inline types. I considered adding `Class::isConvertibleFrom` method but > we should wait for more use cases proving the need of such convenience method. This check can be done by calling > `Class::referenceType` and `Class::valueType`. Mandy Chung has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Merge - revision per Roger's feedback - lambda metafactory supports inline widening/narrowing ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/102/files - new: https://git.openjdk.java.net/valhalla/pull/102/files/1cde585a..a646c135 Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/102/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/102/webrev.00-01 Stats: 635 lines in 18 files changed: 599 ins; 10 del; 26 mod Patch: https://git.openjdk.java.net/valhalla/pull/102.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/102/head:pull/102 PR: https://git.openjdk.java.net/valhalla/pull/102 From mchung at openjdk.java.net Wed Jul 8 20:26:57 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 8 Jul 2020 20:26:57 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type [v2] In-Reply-To: References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> Message-ID: On Wed, 8 Jul 2020 18:21:43 GMT, Roger Riggs wrote: >> Mandy Chung has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev >> excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since >> the last revision: >> - Merge >> - revision per Roger's feedback >> - lambda metafactory supports inline widening/narrowing > > src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java line 402: > >> 401: } >> 402: >> 403: if (!fromType.isInlineClass() && !toType.isInlineClass()) { > > Since fromType.valueType is an Optional> the code could be rearranged to use is Present() and not double check > for inline so many times. If it is a performance issue it should be refactored to do the complete check of one case > before the other. I simplified the check. I also uncovered a bug in the spec for `Class::valueType` and `Class::referenceType` and included a spec fix in this patch. ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From mchung at openjdk.java.net Wed Jul 8 20:26:59 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 8 Jul 2020 20:26:59 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type [v2] In-Reply-To: References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> Message-ID: On Wed, 8 Jul 2020 20:09:04 GMT, Mandy Chung wrote: >> src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java line 402: >> >>> 401: } >>> 402: >>> 403: if (!fromType.isInlineClass() && !toType.isInlineClass()) { >> >> Since fromType.valueType is an Optional> the code could be rearranged to use is Present() and not double check >> for inline so many times. If it is a performance issue it should be refactored to do the complete check of one case >> before the other. > > I simplified the check. I also uncovered a bug in the spec for `Class::valueType` and `Class::referenceType` and > included a spec fix in this patch. @RogerRiggs can you check out the delta patch: https://github.com/openjdk/valhalla/pull/102/commits/b295ac571e78c12e8bb80a4568aab0d79cdd3d06 ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From rriggs at openjdk.java.net Wed Jul 8 21:11:46 2020 From: rriggs at openjdk.java.net (Roger Riggs) Date: Wed, 8 Jul 2020 21:11:46 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type [v2] In-Reply-To: References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> Message-ID: On Wed, 8 Jul 2020 20:11:18 GMT, Mandy Chung wrote: >> I simplified the check. I also uncovered a bug in the spec for `Class::valueType` and `Class::referenceType` and >> included a spec fix in this patch. > > @RogerRiggs can you check out the delta patch: > https://github.com/openjdk/valhalla/pull/102/commits/b295ac571e78c12e8bb80a4568aab0d79cdd3d06 Looks good. No more comments. ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From mchung at openjdk.java.net Wed Jul 8 21:48:28 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 8 Jul 2020 21:48:28 GMT Subject: [lworld] Integrated: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type In-Reply-To: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> Message-ID: On Wed, 1 Jul 2020 17:19:17 GMT, Mandy Chung wrote: > This patch fixes `LambdaMetaFactory` to allow inline value projection type to convert to its reference projection type. > > `Class::isAssignableFrom` and `Class::asSubclass` are the APIs to determine if a given type can be safely cast to this > Class. > - Class::isAssignableFrom tests if a given type can be converted to this Class via a widening reference conversion. > - Class::asSubclass tests if a given type can be converted to this Class via a narrowing conversion. > > The current thought is to keep `Class::isAssignableFrom` and `Class::asSubclass` to respect the class file hierarchy > and a cast is needed when converting from `V.val` to `V.ref`. `LambdaMetaFactory` and other frameworks will need to > extend the type adaptability check to support inline types. I considered adding `Class::isConvertibleFrom` method but > we should wait for more use cases proving the need of such convenience method. This check can be done by calling > `Class::referenceType` and `Class::valueType`. This pull request has now been integrated. Changeset: 83d6a228 Author: Mandy Chung URL: https://git.openjdk.java.net/valhalla/commit/83d6a228 Stats: 299 lines in 7 files changed: 1 ins; 282 del; 16 mod 8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type Reviewed-by: rriggs ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From github.com+434651+lalithsuresh at openjdk.java.net Fri Jul 10 02:54:25 2020 From: github.com+434651+lalithsuresh at openjdk.java.net (Lalith Suresh) Date: Fri, 10 Jul 2020 02:54:25 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type [v2] In-Reply-To: <2jXgKTZXYb62jgEFw1oFRjBmt0TN9IhlQ_V4fdV_XrY=.c3f4c2b2-f930-450c-816c-d320f6700e94@github.com> References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> <2jXgKTZXYb62jgEFw1oFRjBmt0TN9IhlQ_V4fdV_XrY=.c3f4c2b2-f930-450c-816c-d320f6700e94@github.com> Message-ID: On Wed, 8 Jul 2020 20:26:54 GMT, Mandy Chung wrote: >> This patch fixes `LambdaMetaFactory` to allow inline value projection type to convert to its reference projection type. >> >> `Class::isAssignableFrom` and `Class::asSubclass` are the APIs to determine if a given type can be safely cast to this >> Class. >> - Class::isAssignableFrom tests if a given type can be converted to this Class via a widening reference conversion. >> - Class::asSubclass tests if a given type can be converted to this Class via a narrowing conversion. >> >> The current thought is to keep `Class::isAssignableFrom` and `Class::asSubclass` to respect the class file hierarchy >> and a cast is needed when converting from `V.val` to `V.ref`. `LambdaMetaFactory` and other frameworks will need to >> extend the type adaptability check to support inline types. I considered adding `Class::isConvertibleFrom` method but >> we should wait for more use cases proving the need of such convenience method. This check can be done by calling >> `Class::referenceType` and `Class::valueType`. > > Mandy Chung has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev > excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since > the last revision: > - Merge > - revision per Roger's feedback > - lambda metafactory supports inline widening/narrowing test/jdk/valhalla/valuetypes/InlineTypeConversionTest.java line 89: > 88: } catch (NullPointerException e) { > 89: e.printStackTrace(); > 90: } Needn't print stack trace here or below after invoking mh2. ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From mchung at openjdk.java.net Fri Jul 10 16:49:55 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Fri, 10 Jul 2020 16:49:55 GMT Subject: [lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type [v2] In-Reply-To: References: <3hr07ahlq98fujiYh3A2my4ewcLRP8uUJIb-s5cAVgs=.628b81d6-4e1e-4742-8069-289ae4002212@github.com> <2jXgKTZXYb62jgEFw1oFRjBmt0TN9IhlQ_V4fdV_XrY=.c3f4c2b2-f930-450c-816c-d320f6700e94@github.com> Message-ID: On Fri, 10 Jul 2020 02:51:56 GMT, Lalith Suresh wrote: >> Mandy Chung has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev >> excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since >> the last revision: >> - Merge >> - revision per Roger's feedback >> - lambda metafactory supports inline widening/narrowing > > test/jdk/valhalla/valuetypes/InlineTypeConversionTest.java line 89: > >> 88: } catch (NullPointerException e) { >> 89: e.printStackTrace(); >> 90: } > > Needn't print stack trace here or below after invoking mh2. It's not needed and it's left-over from my debugging. I'll clean it up when we touch this file. ------------- PR: https://git.openjdk.java.net/valhalla/pull/102 From hseigel at openjdk.java.net Mon Jul 13 17:49:11 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 13 Jul 2020 17:49:11 GMT Subject: [lworld] RFR: JDK-8249244 Rename T_VALUETYPE to T_INLINE_TYPE Message-ID: Global rename of T_VALUETYPE to T_INLINE_TYPE in the JVM. Tested with tiers 1,2 and some of tier3 on windows, mac, and Linux x64. ------------- Commit messages: - JDK-8249244 Rename T_VALUETYPE to T_INLINE_TYPE Changes: https://git.openjdk.java.net/valhalla/pull/107/files Webrev: https://webrevs.openjdk.java.net/valhalla/107/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249244 Stats: 287 lines in 86 files changed: 0 ins; 0 del; 287 mod Patch: https://git.openjdk.java.net/valhalla/pull/107.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/107/head:pull/107 PR: https://git.openjdk.java.net/valhalla/pull/107 From mchung at openjdk.java.net Mon Jul 13 19:04:24 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Mon, 13 Jul 2020 19:04:24 GMT Subject: [lworld] RFR: JDK-8249244 Rename T_VALUETYPE to T_INLINE_TYPE In-Reply-To: References: Message-ID: On Mon, 13 Jul 2020 17:33:53 GMT, Harold Seigel wrote: > Global rename of T_VALUETYPE to T_INLINE_TYPE in the JVM. Tested with tiers 1,2 and some of tier3 on windows, mac, and > Linux x64. Marked as reviewed by mchung (Committer). ------------- PR: https://git.openjdk.java.net/valhalla/pull/107 From fparain at openjdk.java.net Mon Jul 13 19:25:48 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 13 Jul 2020 19:25:48 GMT Subject: [lworld] RFR: JDK-8249244 Rename T_VALUETYPE to T_INLINE_TYPE In-Reply-To: References: Message-ID: On Mon, 13 Jul 2020 17:33:53 GMT, Harold Seigel wrote: > Global rename of T_VALUETYPE to T_INLINE_TYPE in the JVM. Tested with tiers 1,2 and some of tier3 on windows, mac, and > Linux x64. LGTM ------------- Marked as reviewed by fparain (Committer). PR: https://git.openjdk.java.net/valhalla/pull/107 From hseigel at openjdk.java.net Mon Jul 13 19:25:49 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 13 Jul 2020 19:25:49 GMT Subject: [lworld] Integrated: JDK-8249244 Rename T_VALUETYPE to T_INLINE_TYPE In-Reply-To: References: Message-ID: On Mon, 13 Jul 2020 17:33:53 GMT, Harold Seigel wrote: > Global rename of T_VALUETYPE to T_INLINE_TYPE in the JVM. Tested with tiers 1,2 and some of tier3 on windows, mac, and > Linux x64. This pull request has now been integrated. Changeset: 9c25fc78 Author: Harold Seigel URL: https://git.openjdk.java.net/valhalla/commit/9c25fc78 Stats: 287 lines in 86 files changed: 0 ins; 0 del; 287 mod 8249244: Rename T_VALUETYPE to T_INLINE_TYPE Reviewed-by: mchung, fparain ------------- PR: https://git.openjdk.java.net/valhalla/pull/107 From fparain at openjdk.java.net Tue Jul 14 22:54:22 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Tue, 14 Jul 2020 22:54:22 GMT Subject: [lworld] RFR: 8249396: JNI function IsSameObject should apply the substitutability test for inline types Message-ID: Please review this patch which fix the implementation of the JNI function IsSameObject by performing a substitutability test when two references to inline type instances are passed in argument. Passed tests tiers 1 to 3 with Mach5. Thank you, Fred ------------- Commit messages: - dd newline at the end of line - Add substitutability semantic to JNI IsSameObject function Changes: https://git.openjdk.java.net/valhalla/pull/108/files Webrev: https://webrevs.openjdk.java.net/valhalla/108/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249396 Stats: 157 lines in 4 files changed: 151 ins; 6 del; 0 mod Patch: https://git.openjdk.java.net/valhalla/pull/108.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/108/head:pull/108 PR: https://git.openjdk.java.net/valhalla/pull/108 From hseigel at openjdk.java.net Wed Jul 15 13:16:39 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 15 Jul 2020 13:16:39 GMT Subject: [lworld] RFR: 8249396: JNI function IsSameObject should apply the substitutability test for inline types In-Reply-To: References: Message-ID: On Tue, 14 Jul 2020 21:41:04 GMT, Frederic Parain wrote: > Please review this patch which fix the implementation of the JNI function IsSameObject by performing a substitutability > test when two references to inline type instances are passed in argument. > Passed tests tiers 1 to 3 with Mach5. > > Thank you, > > Fred src/hotspot/share/runtime/jniHandles.cpp line 357: > 356: ret = result.get_jboolean(); > 357: } > 358: } indentation issue: could lines 338 - 356 should be shifted 2 spaces to the left. ------------- PR: https://git.openjdk.java.net/valhalla/pull/108 From hseigel at openjdk.java.net Wed Jul 15 13:19:06 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 15 Jul 2020 13:19:06 GMT Subject: [lworld] RFR: 8249396: JNI function IsSameObject should apply the substitutability test for inline types In-Reply-To: References: Message-ID: On Tue, 14 Jul 2020 21:41:04 GMT, Frederic Parain wrote: > Please review this patch which fix the implementation of the JNI function IsSameObject by performing a substitutability > test when two references to inline type instances are passed in argument. > Passed tests tiers 1 to 3 with Mach5. > > Thank you, > > Fred Hi Fred, The changes look good. Could you add a comment that the code in JNIHandles::is_same_object() is similar to InterpreterRuntime::is_substitutable()? Thanks, Harold ------------- Marked as reviewed by hseigel (Committer). PR: https://git.openjdk.java.net/valhalla/pull/108 From fparain at openjdk.java.net Wed Jul 15 14:00:43 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 15 Jul 2020 14:00:43 GMT Subject: [lworld] RFR: 8249396: JNI function IsSameObject should apply the substitutability test for inline types [v2] In-Reply-To: References: Message-ID: > Please review this patch which fix the implementation of the JNI function IsSameObject by performing a substitutability > test when two references to inline type instances are passed in argument. > Passed tests tiers 1 to 3 with Mach5. > > Thank you, > > Fred Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: Fix indent and add comment ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/108/files - new: https://git.openjdk.java.net/valhalla/pull/108/files/07a75e33..23dff562 Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/108/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/108/webrev.00-01 Stats: 22 lines in 1 file changed: 4 ins; 1 del; 17 mod Patch: https://git.openjdk.java.net/valhalla/pull/108.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/108/head:pull/108 PR: https://git.openjdk.java.net/valhalla/pull/108 From fparain at openjdk.java.net Wed Jul 15 14:00:44 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 15 Jul 2020 14:00:44 GMT Subject: [lworld] RFR: 8249396: JNI function IsSameObject should apply the substitutability test for inline types [v2] In-Reply-To: References: Message-ID: On Wed, 15 Jul 2020 13:16:41 GMT, Harold Seigel wrote: >> Frederic Parain has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix indent and add comment > > Hi Fred, > The changes look good. Could you add a comment that the code in JNIHandles::is_same_object() is similar to > InterpreterRuntime::is_substitutable()? Thanks, Harold Harold, Thank you for reviewing. I've added a comment to JNIHandles::is_same_object(), let me know if it is explicit enough. Regards, Fred > src/hotspot/share/runtime/jniHandles.cpp line 357: > >> 356: ret = result.get_jboolean(); >> 357: } >> 358: } > > indentation issue: could lines 338 - 356 should be shifted 2 spaces to the left. Fixed ------------- PR: https://git.openjdk.java.net/valhalla/pull/108 From hseigel at openjdk.java.net Wed Jul 15 14:01:14 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 15 Jul 2020 14:01:14 GMT Subject: [lworld] RFR: 8249396: JNI function IsSameObject should apply the substitutability test for inline types [v2] In-Reply-To: References: Message-ID: On Wed, 15 Jul 2020 13:41:30 GMT, Frederic Parain wrote: >> src/hotspot/share/runtime/jniHandles.cpp line 357: >> >>> 356: ret = result.get_jboolean(); >>> 357: } >>> 358: } >> >> indentation issue: could lines 338 - 356 should be shifted 2 spaces to the left. > > Fixed The changes look good! Thanks for making them. ------------- PR: https://git.openjdk.java.net/valhalla/pull/108 From fparain at openjdk.java.net Wed Jul 15 14:01:15 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 15 Jul 2020 14:01:15 GMT Subject: [lworld] Integrated: 8249396: JNI function IsSameObject should apply the substitutability test for inline types In-Reply-To: References: Message-ID: On Tue, 14 Jul 2020 21:41:04 GMT, Frederic Parain wrote: > Please review this patch which fix the implementation of the JNI function IsSameObject by performing a substitutability > test when two references to inline type instances are passed in argument. > Passed tests tiers 1 to 3 with Mach5. > > Thank you, > > Fred This pull request has now been integrated. Changeset: 80115902 Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/80115902 Stats: 160 lines in 4 files changed: 6 ins; 154 del; 0 mod 8249396: JNI function IsSameObject should apply the substitutability test for inline types Reviewed-by: hseigel ------------- PR: https://git.openjdk.java.net/valhalla/pull/108 From hseigel at openjdk.java.net Wed Jul 15 18:12:48 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 15 Jul 2020 18:12:48 GMT Subject: [lworld] RFR: 8249257 Rename ValueKlass to InlineKlass Message-ID: Please review this tedious change. It renames class ValueKlass to InlineKlass and renames its fields and methods. It does not rename ValueArrayKlass. That will be a future change. Also, this change does not rename things defined in gc or jit source files. The change was tested with tiers 1 and 2 on Mac, Windows, and Linux x64, and tiers 3-5 on Linux x64. Thanks, Harold ------------- Commit messages: - 8249257 Rename ValueKlass to InlineKlass Changes: https://git.openjdk.java.net/valhalla/pull/109/files Webrev: https://webrevs.openjdk.java.net/valhalla/109/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249257 Stats: 2240 lines in 81 files changed: 1000 ins; 1002 del; 238 mod Patch: https://git.openjdk.java.net/valhalla/pull/109.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/109/head:pull/109 PR: https://git.openjdk.java.net/valhalla/pull/109 From fparain at openjdk.java.net Wed Jul 15 18:37:42 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 15 Jul 2020 18:37:42 GMT Subject: [lworld] RFR: 8249257 Rename ValueKlass to InlineKlass In-Reply-To: References: Message-ID: On Wed, 15 Jul 2020 16:55:47 GMT, Harold Seigel wrote: > Please review this tedious change. It renames class ValueKlass to InlineKlass and renames its fields and methods. It > does not rename ValueArrayKlass. That will be a future change. > Also, this change does not rename things defined in gc or jit source files. > > The change was tested with tiers 1 and 2 on Mac, Windows, and Linux x64, and tiers 3-5 on Linux x64. > > Thanks, Harold Marked as reviewed by fparain (Committer). src/hotspot/cpu/x86/macroAssembler_x86.hpp line 111: > 110: // The empty value oop, for the given InlineKlass ("empty" as in no instance fields) > 111: // get_default_value_oop with extra assertion for empty value klass > 112: void get_empty_value_oop(Register value_klass, Register temp_reg, Register obj); empty value klass -> empty inline klass src/hotspot/share/memory/oopFactory.cpp line 42: > 41: #include "oops/typeArrayOop.inline.hpp" > 42: #include "oops/inlineKlass.hpp" > 43: #include "oops/valueArrayKlass.hpp" Do we really need this include? InlineKlass is not used directly in this file, ValueArrayKlass is used and valueArrayKlass.hpp includes inlineKlass.hpp. src/hotspot/share/oops/inlineKlass.hpp line 190: > 189: // Use this to return the size of an instance in heap words > 190: // Implementation is currently simple because all inline types are allocated > 191: // in Java heap like Java objects. This comment might need an update, because now, not all inline types are allocated in the Java heap. May be just specifying this size only applies to heap allocated standalone instances. src/hotspot/share/opto/escape.cpp line 3251: > 3250: assert(Metaspace::contains((void*)ptr), "should be klass"); > 3251: assert(((InlineKlass*)ptr)->contains_oops(), "returned value type must contain a reference field"); > 3252: } else { returned value type -> returned inline type src/hotspot/share/runtime/deoptimization.cpp line 1394: > 1393: > 1394: // restore fields of an eliminated value type array > 1395: void Deoptimization::reassign_value_array_elements(frame* fr, RegisterMap* reg_map, ObjectValue* sv, > valueArrayOop obj, ValueArrayKlass* vak, TRAPS) { value type array -> inline type array src/hotspot/share/runtime/deoptimization.cpp line 1397: > 1396: InlineKlass* vk = vak->element_klass(); > 1397: assert(vk->flatten_array(), "should only be used for flattened value type arrays"); > 1398: // Adjust offset to omit oop header flattened value type array -> flattened inline type array src/hotspot/share/runtime/sharedRuntime.cpp line 2836: > 2835: void CompiledEntrySignature::compute_calling_conventions() { > 2836: // Get the (non-scalarized) signature and check for value type arguments > 2837: if (!_method->is_static()) { value type arguments -> inline type arguments src/hotspot/share/runtime/signature.hpp line 575: > 574: // Used for adapter generation. One SigEntry is used per element of > 575: // the signature of the method. Value type arguments are treated > 576: // specially. See comment for InlineKlass::collect_fields(). Value type argument -> Inline type argument ------------- PR: https://git.openjdk.java.net/valhalla/pull/109 From fparain at openjdk.java.net Wed Jul 15 18:39:43 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 15 Jul 2020 18:39:43 GMT Subject: [lworld] RFR: 8249257 Rename ValueKlass to InlineKlass In-Reply-To: References: Message-ID: On Wed, 15 Jul 2020 18:35:07 GMT, Frederic Parain wrote: >> Please review this tedious change. It renames class ValueKlass to InlineKlass and renames its fields and methods. It >> does not rename ValueArrayKlass. That will be a future change. >> Also, this change does not rename things defined in gc or jit source files. >> >> The change was tested with tiers 1 and 2 on Mac, Windows, and Linux x64, and tiers 3-5 on Linux x64. >> >> Thanks, Harold > > Marked as reviewed by fparain (Committer). Harold, Thank you for doing this tedious but necessary renaming job. Looks good to me, just a few comments, mostly about fixing comments (no need for another review). Regards, Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/109 From hseigel at openjdk.java.net Wed Jul 15 19:15:53 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 15 Jul 2020 19:15:53 GMT Subject: [lworld] RFR: 8249257 Rename ValueKlass to InlineKlass In-Reply-To: References: Message-ID: <_DJXcn3oflWxpyNHAHan0yG0P4hUT3heImkh58OhbLI=.fa78c462-a085-4295-b3b3-6e498fd77668@github.com> On Wed, 15 Jul 2020 18:37:22 GMT, Frederic Parain wrote: >> Marked as reviewed by fparain (Committer). > > Harold, > > Thank you for doing this tedious but necessary renaming job. > Looks good to me, just a few comments, mostly about fixing comments (no need for another review). > > Regards, > > Fred Thanks Fred! I'll fix the issues that you found before integrating the change. Harold ------------- PR: https://git.openjdk.java.net/valhalla/pull/109 From hseigel at openjdk.java.net Wed Jul 15 20:37:48 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 15 Jul 2020 20:37:48 GMT Subject: [lworld] RFR: 8249257 Rename ValueKlass to InlineKlass [v2] In-Reply-To: References: Message-ID: > Please review this tedious change. It renames class ValueKlass to InlineKlass and renames its fields and methods. It > does not rename ValueArrayKlass. That will be a future change. > Also, this change does not rename things defined in gc or jit source files. > > The change was tested with tiers 1 and 2 on Mac, Windows, and Linux x64, and tiers 3-5 on Linux x64. > > Thanks, Harold Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: 8249257 Rename ValueKlass to InlineKlass ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/109/files - new: https://git.openjdk.java.net/valhalla/pull/109/files/e832a5c4..7f77bec7 Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/109/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/109/webrev.00-01 Stats: 15 lines in 7 files changed: 0 ins; 2 del; 13 mod Patch: https://git.openjdk.java.net/valhalla/pull/109.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/109/head:pull/109 PR: https://git.openjdk.java.net/valhalla/pull/109 From hseigel at openjdk.java.net Wed Jul 15 20:38:10 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 15 Jul 2020 20:38:10 GMT Subject: [lworld] Integrated: 8249257 Rename ValueKlass to InlineKlass In-Reply-To: References: Message-ID: <2wnPkfUZVBH3Ejxpc3eAFucDdth28aizCv7eevE-7Og=.d9950f10-0ce6-411d-b891-741dd01a60cc@github.com> On Wed, 15 Jul 2020 16:55:47 GMT, Harold Seigel wrote: > Please review this tedious change. It renames class ValueKlass to InlineKlass and renames its fields and methods. It > does not rename ValueArrayKlass. That will be a future change. > Also, this change does not rename things defined in gc or jit source files. > > The change was tested with tiers 1 and 2 on Mac, Windows, and Linux x64, and tiers 3-5 on Linux x64. > > Thanks, Harold This pull request has now been integrated. Changeset: 39d2ef3f Author: Harold Seigel URL: https://git.openjdk.java.net/valhalla/commit/39d2ef3f Stats: 2249 lines in 81 files changed: 1003 ins; 999 del; 247 mod 8249257: Rename ValueKlass to InlineKlass Reviewed-by: fparain ------------- PR: https://git.openjdk.java.net/valhalla/pull/109 From fparain at openjdk.java.net Thu Jul 16 15:55:47 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 16 Jul 2020 15:55:47 GMT Subject: [lworld] RFR: 8249613: [lworld] Use initialization free allocation when copying a value Message-ID: Please review this patch which removes some unnecessary zeroing of heap allocated inline type instances. Passed tests tier 1 to 3 with Mach5. Thank you, Fred ------------- Commit messages: - Use initialization free allocation of value when possible Changes: https://git.openjdk.java.net/valhalla/pull/110/files Webrev: https://webrevs.openjdk.java.net/valhalla/110/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249613 Stats: 4 lines in 4 files changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/valhalla/pull/110.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/110/head:pull/110 PR: https://git.openjdk.java.net/valhalla/pull/110 From hseigel at openjdk.java.net Thu Jul 16 18:02:41 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 16 Jul 2020 18:02:41 GMT Subject: [lworld] RFR: 8249613: [lworld] Use initialization free allocation when copying a value In-Reply-To: References: Message-ID: <64OIf0vhszCwlu-Y1wHMYf9oZXXFuEsHmgdRZKNf9gE=.f1ab9089-044e-43a9-9ef4-d4d63299347c@github.com> On Thu, 16 Jul 2020 15:44:24 GMT, Frederic Parain wrote: > Please review this patch which removes some unnecessary zeroing of heap allocated inline type instances. > > Passed tests tier 1 to 3 with Mach5. > > Thank you, > > Fred The changes look good! Thanks, Harold ------------- Marked as reviewed by hseigel (Committer). PR: https://git.openjdk.java.net/valhalla/pull/110 From fparain at openjdk.java.net Thu Jul 16 18:07:58 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 16 Jul 2020 18:07:58 GMT Subject: [lworld] RFR: 8249613: [lworld] Use initialization free allocation when copying a value In-Reply-To: <64OIf0vhszCwlu-Y1wHMYf9oZXXFuEsHmgdRZKNf9gE=.f1ab9089-044e-43a9-9ef4-d4d63299347c@github.com> References: <64OIf0vhszCwlu-Y1wHMYf9oZXXFuEsHmgdRZKNf9gE=.f1ab9089-044e-43a9-9ef4-d4d63299347c@github.com> Message-ID: <1DRDJRjx7BKVhnzuPWkEdfhidXRno9EqtvUTi2SlxTo=.75c4553f-3c65-4cd5-85a8-bebc7fb877e3@github.com> On Thu, 16 Jul 2020 18:00:15 GMT, Harold Seigel wrote: >> Please review this patch which removes some unnecessary zeroing of heap allocated inline type instances. >> >> Passed tests tier 1 to 3 with Mach5. >> >> Thank you, >> >> Fred > > The changes look good! > Thanks, Harold Thanks Harold! Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/110 From fparain at openjdk.java.net Thu Jul 16 18:07:58 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 16 Jul 2020 18:07:58 GMT Subject: [lworld] RFR: 8249613: [lworld] Use initialization free allocation when copying a value In-Reply-To: <1DRDJRjx7BKVhnzuPWkEdfhidXRno9EqtvUTi2SlxTo=.75c4553f-3c65-4cd5-85a8-bebc7fb877e3@github.com> References: <64OIf0vhszCwlu-Y1wHMYf9oZXXFuEsHmgdRZKNf9gE=.f1ab9089-044e-43a9-9ef4-d4d63299347c@github.com> <1DRDJRjx7BKVhnzuPWkEdfhidXRno9EqtvUTi2SlxTo=.75c4553f-3c65-4cd5-85a8-bebc7fb877e3@github.com> Message-ID: <-ZEdLgfIpwSFB1vx8l1-3DcuDrYbE_xxJR39Enbr-rE=.a032ec6d-6acd-4e05-9cb3-4fee63a6b816@github.com> On Thu, 16 Jul 2020 18:04:47 GMT, Frederic Parain wrote: >> The changes look good! >> Thanks, Harold > > Thanks Harold! > > Fred /integrate ------------- PR: https://git.openjdk.java.net/valhalla/pull/110 From fparain at openjdk.java.net Thu Jul 16 18:07:59 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 16 Jul 2020 18:07:59 GMT Subject: [lworld] Integrated: 8249613: [lworld] Use initialization free allocation when copying a value In-Reply-To: References: Message-ID: On Thu, 16 Jul 2020 15:44:24 GMT, Frederic Parain wrote: > Please review this patch which removes some unnecessary zeroing of heap allocated inline type instances. > > Passed tests tier 1 to 3 with Mach5. > > Thank you, > > Fred This pull request has now been integrated. Changeset: 068a27a7 Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/068a27a7 Stats: 4 lines in 4 files changed: 0 ins; 0 del; 4 mod 8249613: [lworld] Use initialization free allocation when copying a value Reviewed-by: hseigel ------------- PR: https://git.openjdk.java.net/valhalla/pull/110 From hseigel at openjdk.java.net Thu Jul 16 20:27:09 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 16 Jul 2020 20:27:09 GMT Subject: [lworld] RFR: 8249555 Rename valueArray* source files to inlineArray* Message-ID: Please review this monotonous change that renames valueArrayKlass.cpp/hpp/.inline.hpp to inlineArrayKlass.cpp/hpp/.inline.hpp, renames valueArrayOop.cpp/hpp/.inline.hpp to inlineArrayOop.cpp/hpp/.inline.hpp, and renames appropriate classes, fields and methods in these files. It does not rename things defined in gc or jit source files. These changes were tested by running tiers 1-2 on Mac OS, Windows, and Linux x64, and running tiers 3-5 on Linux x64. Thanks! Harold ------------- Commit messages: - 8249555 Rename valueArray* source files to inlineArray* Changes: https://git.openjdk.java.net/valhalla/pull/111/files Webrev: https://webrevs.openjdk.java.net/valhalla/111/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249555 Stats: 2173 lines in 65 files changed: 998 ins; 999 del; 176 mod Patch: https://git.openjdk.java.net/valhalla/pull/111.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/111/head:pull/111 PR: https://git.openjdk.java.net/valhalla/pull/111 From hseigel at openjdk.java.net Fri Jul 17 19:23:24 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Fri, 17 Jul 2020 19:23:24 GMT Subject: [lworld] RFR: 8249660 TestJNIArrays.java fails when run with -Xcheck:jni Message-ID: Please review this small fix for a TestJNIArrays.java failure. The fix changes check_is_obj_array() in jniCheck.cpp to accept both identity object arrays and inline type arrays. Thanks, Harold ------------- Commit messages: - 8249660 TestJNIArrays.java fails when run with -Xcheck:jni Changes: https://git.openjdk.java.net/valhalla/pull/112/files Webrev: https://webrevs.openjdk.java.net/valhalla/112/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249660 Stats: 5 lines in 1 file changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/valhalla/pull/112.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/112/head:pull/112 PR: https://git.openjdk.java.net/valhalla/pull/112 From fparain at openjdk.java.net Fri Jul 17 19:30:00 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Fri, 17 Jul 2020 19:30:00 GMT Subject: [lworld] RFR: 8249660 TestJNIArrays.java fails when run with -Xcheck:jni In-Reply-To: References: Message-ID: On Fri, 17 Jul 2020 19:10:13 GMT, Harold Seigel wrote: > Please review this small fix for a TestJNIArrays.java failure. The fix changes check_is_obj_array() in jniCheck.cpp to > accept both identity object arrays and inline type arrays. > Thanks, Harold Looks good to me. Thank you for fixing this. Fred ------------- Marked as reviewed by fparain (Committer). PR: https://git.openjdk.java.net/valhalla/pull/112 From hseigel at openjdk.java.net Fri Jul 17 19:30:00 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Fri, 17 Jul 2020 19:30:00 GMT Subject: [lworld] RFR: 8249660 TestJNIArrays.java fails when run with -Xcheck:jni In-Reply-To: References: Message-ID: On Fri, 17 Jul 2020 19:25:24 GMT, Frederic Parain wrote: >> Please review this small fix for a TestJNIArrays.java failure. The fix changes check_is_obj_array() in jniCheck.cpp to >> accept both identity object arrays and inline type arrays. >> Thanks, Harold > > Looks good to me. > Thank you for fixing this. > > Fred Thanks Fred! ------------- PR: https://git.openjdk.java.net/valhalla/pull/112 From hseigel at openjdk.java.net Fri Jul 17 19:30:01 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Fri, 17 Jul 2020 19:30:01 GMT Subject: [lworld] Integrated: 8249660 TestJNIArrays.java fails when run with -Xcheck:jni In-Reply-To: References: Message-ID: <7GearHLzlp1Ju6JKRuxKC4HirwHKrdycneenIB_g0dY=.e617b35e-5493-4e18-a1b7-76a1cb0c6d16@github.com> On Fri, 17 Jul 2020 19:10:13 GMT, Harold Seigel wrote: > Please review this small fix for a TestJNIArrays.java failure. The fix changes check_is_obj_array() in jniCheck.cpp to > accept both identity object arrays and inline type arrays. > Thanks, Harold This pull request has now been integrated. Changeset: 1c8718af Author: Harold Seigel URL: https://git.openjdk.java.net/valhalla/commit/1c8718af Stats: 5 lines in 1 file changed: 0 ins; 0 del; 5 mod 8249660: TestJNIArrays.java fails when run with -Xcheck:jni Reviewed-by: fparain ------------- PR: https://git.openjdk.java.net/valhalla/pull/112 From hseigel at openjdk.java.net Fri Jul 17 20:35:08 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Fri, 17 Jul 2020 20:35:08 GMT Subject: [lworld] RFR: 8249555 Rename valueArray* source files to inlineArray* [v2] In-Reply-To: References: Message-ID: > Please review this monotonous change that renames valueArrayKlass.cpp/hpp/.inline.hpp to > inlineArrayKlass.cpp/hpp/.inline.hpp, renames valueArrayOop.cpp/hpp/.inline.hpp to inlineArrayOop.cpp/hpp/.inline.hpp, > and renames appropriate classes, fields and methods in these files. It does not rename things defined in gc or jit > source files. > These changes were tested by running tiers 1-2 on Mac OS, Windows, and Linux x64, and running tiers 3-5 on Linux x64. > > Thanks! Harold Harold Seigel has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - 8249555 Rename valueArray* source files to inlineArray* - Merge branch 'lworld' into renameValueArray - 8249555 Rename valueArray* source files to inlineArray* ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/111/files - new: https://git.openjdk.java.net/valhalla/pull/111/files/2ebf2d19..0780687e Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/111/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/111/webrev.00-01 Stats: 5 lines in 1 file changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/valhalla/pull/111.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/111/head:pull/111 PR: https://git.openjdk.java.net/valhalla/pull/111 From fparain at openjdk.java.net Mon Jul 20 13:48:36 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 20 Jul 2020 13:48:36 GMT Subject: [lworld] RFR: More renaming from value type to inline type Message-ID: Please review this small patch with more renaming of symbols from "value type" to "inline type". Thank you, Fred ------------- Commit messages: - More renaming from value type to inline type Changes: https://git.openjdk.java.net/valhalla/pull/113/files Webrev: https://webrevs.openjdk.java.net/valhalla/113/webrev.00 Stats: 57 lines in 9 files changed: 0 ins; 0 del; 57 mod Patch: https://git.openjdk.java.net/valhalla/pull/113.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/113/head:pull/113 PR: https://git.openjdk.java.net/valhalla/pull/113 From hseigel at openjdk.java.net Mon Jul 20 13:55:12 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 20 Jul 2020 13:55:12 GMT Subject: [lworld] RFR: More renaming from value type to inline type In-Reply-To: References: Message-ID: On Mon, 20 Jul 2020 13:25:59 GMT, Frederic Parain wrote: > Please review this small patch with more renaming of symbols from "value type" to "inline type". > > Thank you, > > Fred The changes look good! Thanks, Harold ------------- Marked as reviewed by hseigel (Committer). PR: https://git.openjdk.java.net/valhalla/pull/113 From fparain at openjdk.java.net Mon Jul 20 14:28:25 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 20 Jul 2020 14:28:25 GMT Subject: [lworld] RFR: More renaming from value type to inline type In-Reply-To: References: Message-ID: <3Rk9jECf9-EIl81ZNB0WN5w_ak0Vqqn15UyRFi48wcw=.3ec88939-9cab-44c5-b8e4-b839b1439fe9@github.com> On Mon, 20 Jul 2020 13:52:52 GMT, Harold Seigel wrote: >> Please review this small patch with more renaming of symbols from "value type" to "inline type". >> >> Thank you, >> >> Fred > > The changes look good! > Thanks, Harold Thanks Harold! Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/113 From fparain at openjdk.java.net Mon Jul 20 14:28:26 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Mon, 20 Jul 2020 14:28:26 GMT Subject: [lworld] Integrated: More renaming from value type to inline type In-Reply-To: References: Message-ID: <5nZzWQS7VYVtGoXSNGEPHl_ZcSFD7b5T5GG0SHE4NGQ=.a58fe7d0-aeaf-4c59-bb1b-fcb97c647fcd@github.com> On Mon, 20 Jul 2020 13:25:59 GMT, Frederic Parain wrote: > Please review this small patch with more renaming of symbols from "value type" to "inline type". > > Thank you, > > Fred This pull request has now been integrated. Changeset: 2cd5c0ef Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/2cd5c0ef Stats: 57 lines in 9 files changed: 0 ins; 0 del; 57 mod More renaming from value type to inline type Reviewed-by: hseigel ------------- PR: https://git.openjdk.java.net/valhalla/pull/113 From hseigel at openjdk.java.net Tue Jul 21 13:31:44 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Tue, 21 Jul 2020 13:31:44 GMT Subject: [lworld] RFR: 8249555 Rename valueArray* source files to inlineArray* In-Reply-To: References: Message-ID: On Thu, 16 Jul 2020 20:08:23 GMT, Harold Seigel wrote: > Please review this monotonous change that renames valueArrayKlass.cpp/hpp/.inline.hpp to > inlineArrayKlass.cpp/hpp/.inline.hpp, renames valueArrayOop.cpp/hpp/.inline.hpp to inlineArrayOop.cpp/hpp/.inline.hpp, > and renames appropriate classes, fields and methods in these files. It does not rename things defined in gc or jit > source files. > These changes were tested by running tiers 1-2 on Mac OS, Windows, and Linux x64, and running tiers 3-5 on Linux x64. > > Thanks! Harold Closing this pull request. It will be replaced with a future pull request that will rename valueArray* to flatArray*. ------------- PR: https://git.openjdk.java.net/valhalla/pull/111 From hseigel at openjdk.java.net Tue Jul 21 13:31:44 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Tue, 21 Jul 2020 13:31:44 GMT Subject: [lworld] Withdrawn: 8249555 Rename valueArray* source files to inlineArray* In-Reply-To: References: Message-ID: <4mFxGkpdGTPPAysAxxOFHHQpMaBLUlu_IhSqKvaaRMg=.a2200bef-8edf-46d0-b8b1-5c688824bf43@github.com> On Thu, 16 Jul 2020 20:08:23 GMT, Harold Seigel wrote: > Please review this monotonous change that renames valueArrayKlass.cpp/hpp/.inline.hpp to > inlineArrayKlass.cpp/hpp/.inline.hpp, renames valueArrayOop.cpp/hpp/.inline.hpp to inlineArrayOop.cpp/hpp/.inline.hpp, > and renames appropriate classes, fields and methods in these files. It does not rename things defined in gc or jit > source files. > These changes were tested by running tiers 1-2 on Mac OS, Windows, and Linux x64, and running tiers 3-5 on Linux x64. > > Thanks! Harold This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.java.net/valhalla/pull/111 From mchung at openjdk.java.net Tue Jul 21 18:19:36 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Tue, 21 Jul 2020 18:19:36 GMT Subject: [lworld] RFR: JDK-8234364: [lworld] ValueBootstrapMethods::isSubstitutable0 should do null check and type check Message-ID: NPE was only reproducible with LW2 but not in LW3. This patch adds null check and type check in `ValueBootstrapMethods::isSubstitutable0` to ensure the invoker is called only when the parameters are non-null and of the same type. ------------- Commit messages: - check if both arguments are null - Merge - [lworld] ValueBootstrapMethods::isSubstitutable0 should do null check and type check - Merge - Merge - revision per Roger's feedback - lambda metafactory supports inline widening/narrowing Changes: https://git.openjdk.java.net/valhalla/pull/114/files Webrev: https://webrevs.openjdk.java.net/valhalla/114/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8234364 Stats: 118 lines in 2 files changed: 111 ins; 0 del; 7 mod Patch: https://git.openjdk.java.net/valhalla/pull/114.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/114/head:pull/114 PR: https://git.openjdk.java.net/valhalla/pull/114 From hseigel at openjdk.java.net Tue Jul 21 19:19:15 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Tue, 21 Jul 2020 19:19:15 GMT Subject: [lworld] RFR: jdk-8249555 Rename valueArray* source files to flatArray* Message-ID: Please review this change which renames the appropriate hotspot runtime source files, methods, fields, etc. from "valueArray*" to "flatArray*". The change does not rename any gc or jit source files. The change was tested with tiers 1 and 2 on Windows, Mac, and Linux x64, and tiers 3-5 on Linux x64. Thanks! Harold ------------- Commit messages: - jdk-8249555 Rename valueArray* source files to flatArray* Changes: https://git.openjdk.java.net/valhalla/pull/115/files Webrev: https://webrevs.openjdk.java.net/valhalla/115/webrev.00 Stats: 2178 lines in 67 files changed: 1000 ins; 1001 del; 177 mod Patch: https://git.openjdk.java.net/valhalla/pull/115.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/115/head:pull/115 PR: https://git.openjdk.java.net/valhalla/pull/115 From rriggs at openjdk.java.net Tue Jul 21 19:58:05 2020 From: rriggs at openjdk.java.net (Roger Riggs) Date: Tue, 21 Jul 2020 19:58:05 GMT Subject: [lworld] RFR: JDK-8234364: [lworld] ValueBootstrapMethods::isSubstitutable0 should do null check and type check In-Reply-To: References: Message-ID: On Tue, 21 Jul 2020 18:07:07 GMT, Mandy Chung wrote: > NPE was only reproducible with LW2 but not in LW3. This patch adds null check and type check in > `ValueBootstrapMethods::isSubstitutable0` to ensure the invoker is called only when the parameters are non-null and of > the same type. Looks ok. ------------- PR: https://git.openjdk.java.net/valhalla/pull/114 From thartmann at openjdk.java.net Wed Jul 22 11:40:50 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Wed, 22 Jul 2020 11:40:50 GMT Subject: [lworld] RFR: 8249869: [lworld] Remove LW2 specific code from the JIT Message-ID: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> The concept of flattenable fields needs some cleanup (inline types are always flattenable/null-free). We can remove the side-channel introduced by JDK-8212190. See JDK-8247357 for details. ------------- Commit messages: - 8249869: [lworld] Remove LW2 specific code from the JIT Changes: https://git.openjdk.java.net/valhalla/pull/116/files Webrev: https://webrevs.openjdk.java.net/valhalla/116/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249869 Stats: 362 lines in 36 files changed: 16 ins; 193 del; 153 mod Patch: https://git.openjdk.java.net/valhalla/pull/116.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/116/head:pull/116 PR: https://git.openjdk.java.net/valhalla/pull/116 From fparain at openjdk.java.net Wed Jul 22 13:30:02 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 22 Jul 2020 13:30:02 GMT Subject: [lworld] RFR: jdk-8249555 Rename valueArray* source files to flatArray* In-Reply-To: References: Message-ID: On Tue, 21 Jul 2020 19:07:56 GMT, Harold Seigel wrote: > Please review this change which renames the appropriate hotspot runtime source files, methods, fields, etc. from > "valueArray*" to "flatArray*". The change does not rename any gc or jit source files. > The change was tested with tiers 1 and 2 on Windows, Mac, and Linux x64, and tiers 3-5 on Linux x64. > > Thanks! Harold Harold, Thank you for doing this fastidious renaming work a second time. Overall it looks good and new names sound explicit to me. Just three comments about names that could be improved. Looks good to me. Fred src/hotspot/cpu/aarch64/templateTable_aarch64.cpp line 813: > 812: index_check(r0, r1); // leaves index in r1, kills rscratch1 > 813: if (FlatArrayFlatten) { > 814: Label is_flat_array, done; FlatArrayFlatten is not very explicit. What about UseFlatArray? src/hotspot/share/ci/ciTypeFlow.hpp line 345: > 344: // Value type arrays may contain oop or flattened representation > 345: assert(array->is_obj_array_klass() || (FlatArrayFlatten && array->is_value_array_klass()), > 346: "must be value or object array type"); Shouldn't is_value_array_klass() be is_flat_array_klass()? src/hotspot/share/runtime/globals.hpp line 769: > 768: \ > 769: product(intx, InlineArrayElemMaxFlatSize, -1, \ > 770: "Max size for flattening inline array elements, <0 no limit") \ InlineArrayElementMaxFlatSize -> FlatArrayElementMaxSize ? ------------- Marked as reviewed by fparain (Committer). PR: https://git.openjdk.java.net/valhalla/pull/115 From hseigel at openjdk.java.net Wed Jul 22 13:47:57 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 22 Jul 2020 13:47:57 GMT Subject: [lworld] RFR: jdk-8249555 Rename valueArray* source files to flatArray* In-Reply-To: References: Message-ID: On Wed, 22 Jul 2020 13:27:23 GMT, Frederic Parain wrote: >> Please review this change which renames the appropriate hotspot runtime source files, methods, fields, etc. from >> "valueArray*" to "flatArray*". The change does not rename any gc or jit source files. >> The change was tested with tiers 1 and 2 on Windows, Mac, and Linux x64, and tiers 3-5 on Linux x64. >> >> Thanks! Harold > > Harold, > > Thank you for doing this fastidious renaming work a second time. > Overall it looks good and new names sound explicit to me. > Just three comments about names that could be improved. > > Looks good to me. > > Fred Thanks Fred for reviewing these changes! > src/hotspot/share/ci/ciTypeFlow.hpp line 345: > >> 344: // Value type arrays may contain oop or flattened representation >> 345: assert(array->is_obj_array_klass() || (FlatArrayFlatten && array->is_value_array_klass()), >> 346: "must be value or object array type"); > > Shouldn't is_value_array_klass() be is_flat_array_klass()? I think is_value_array_klass() is correct because array is a ciType*, and I did not rename ci related functions. > src/hotspot/cpu/aarch64/templateTable_aarch64.cpp line 813: > >> 812: index_check(r0, r1); // leaves index in r1, kills rscratch1 >> 813: if (FlatArrayFlatten) { >> 814: Label is_flat_array, done; > > FlatArrayFlatten is not very explicit. > What about UseFlatArray? Sure. That's a better name. > src/hotspot/share/runtime/globals.hpp line 769: > >> 768: \ >> 769: product(intx, InlineArrayElemMaxFlatSize, -1, \ >> 770: "Max size for flattening inline array elements, <0 no limit") \ > > InlineArrayElementMaxFlatSize -> FlatArrayElementMaxSize ? How about if I change InlineArrayElementMaxFlatSize and InlineArrayElemMaxFlatOops in the next change because changing them affects a lot of tests and would make this change even bigger? ------------- PR: https://git.openjdk.java.net/valhalla/pull/115 From frederic.parain at oracle.com Wed Jul 22 14:08:17 2020 From: frederic.parain at oracle.com (Frederic Parain) Date: Wed, 22 Jul 2020 10:08:17 -0400 Subject: [lworld] RFR: jdk-8249555 Rename valueArray* source files to flatArray* In-Reply-To: References: Message-ID: > On Jul 22, 2020, at 09:47, Harold Seigel wrote: > > On Wed, 22 Jul 2020 13:27:23 GMT, Frederic Parain wrote: > >>> Please review this change which renames the appropriate hotspot runtime source files, methods, fields, etc. from >>> "valueArray*" to "flatArray*". The change does not rename any gc or jit source files. >>> The change was tested with tiers 1 and 2 on Windows, Mac, and Linux x64, and tiers 3-5 on Linux x64. >>> >>> Thanks! Harold >> >> Harold, >> >> Thank you for doing this fastidious renaming work a second time. >> Overall it looks good and new names sound explicit to me. >> Just three comments about names that could be improved. >> >> Looks good to me. >> >> Fred > > Thanks Fred for reviewing these changes! > >> src/hotspot/share/ci/ciTypeFlow.hpp line 345: >> >>> 344: // Value type arrays may contain oop or flattened representation >>> 345: assert(array->is_obj_array_klass() || (FlatArrayFlatten && array->is_value_array_klass()), >>> 346: "must be value or object array type"); >> >> Shouldn't is_value_array_klass() be is_flat_array_klass()? > > I think is_value_array_klass() is correct because array is a ciType*, and I did not rename ci related functions. OK. We?ll let the compiler team do the renaming. > >> src/hotspot/cpu/aarch64/templateTable_aarch64.cpp line 813: >> >>> 812: index_check(r0, r1); // leaves index in r1, kills rscratch1 >>> 813: if (FlatArrayFlatten) { >>> 814: Label is_flat_array, done; >> >> FlatArrayFlatten is not very explicit. >> What about UseFlatArray? > > Sure. That's a better name. > >> src/hotspot/share/runtime/globals.hpp line 769: >> >>> 768: \ >>> 769: product(intx, InlineArrayElemMaxFlatSize, -1, \ >>> 770: "Max size for flattening inline array elements, <0 no limit") \ >> >> InlineArrayElementMaxFlatSize -> FlatArrayElementMaxSize ? > > How about if I change InlineArrayElementMaxFlatSize and InlineArrayElemMaxFlatOops in the next change because changing > them affects a lot of tests and would make this change even bigger? It doesn?t really matter if the name is changed in this patch or in the next one. Thank you, Fred > > ------------- > > PR: https://git.openjdk.java.net/valhalla/pull/115 From mchung at openjdk.java.net Wed Jul 22 16:16:54 2020 From: mchung at openjdk.java.net (Mandy Chung) Date: Wed, 22 Jul 2020 16:16:54 GMT Subject: [lworld] Integrated: JDK-8234364: [lworld] ValueBootstrapMethods::isSubstitutable0 should do null check and type check In-Reply-To: References: Message-ID: On Tue, 21 Jul 2020 18:07:07 GMT, Mandy Chung wrote: > NPE was only reproducible with LW2 but not in LW3. This patch adds null check and type check in > `ValueBootstrapMethods::isSubstitutable0` to ensure the invoker is called only when the parameters are non-null and of > the same type. This pull request has now been integrated. Changeset: d5187c50 Author: Mandy Chung URL: https://git.openjdk.java.net/valhalla/commit/d5187c50 Stats: 118 lines in 2 files changed: 0 ins; 111 del; 7 mod 8234364: [lworld] ValueBootstrapMethods::isSubstitutable0 should do null check and type check ------------- PR: https://git.openjdk.java.net/valhalla/pull/114 From fparain at openjdk.java.net Wed Jul 22 16:41:33 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 22 Jul 2020 16:41:33 GMT Subject: [lworld] Integrated: Remove unused type Message-ID: Removing unused type. ------------- Commit messages: - Remove unused type Changes: https://git.openjdk.java.net/valhalla/pull/117/files Webrev: https://webrevs.openjdk.java.net/valhalla/117/webrev.00 Stats: 6 lines in 1 file changed: 0 ins; 6 del; 0 mod Patch: https://git.openjdk.java.net/valhalla/pull/117.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/117/head:pull/117 PR: https://git.openjdk.java.net/valhalla/pull/117 From fparain at openjdk.java.net Wed Jul 22 16:41:36 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 22 Jul 2020 16:41:36 GMT Subject: [lworld] Integrated: Remove unused type In-Reply-To: References: Message-ID: On Wed, 22 Jul 2020 15:07:47 GMT, Frederic Parain wrote: > Removing unused type. This pull request has now been integrated. Changeset: 2d0df70a Author: Frederic Parain URL: https://git.openjdk.java.net/valhalla/commit/2d0df70a Stats: 6 lines in 1 file changed: 6 ins; 0 del; 0 mod Remove unused type ------------- PR: https://git.openjdk.java.net/valhalla/pull/117 From thartmann at openjdk.java.net Wed Jul 22 16:46:32 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Wed, 22 Jul 2020 16:46:32 GMT Subject: [lworld] RFR: 8249869: [lworld] Remove LW2 specific code from the JIT [v2] In-Reply-To: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> References: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> Message-ID: > The concept of flattenable fields needs some cleanup (inline types are always flattenable/null-free). We can remove the > side-channel introduced by JDK-8212190. See JDK-8247357 for details. Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision: Minor follow-up fix to handle unloaded inline klasses in C1 and correct casting of OSR inline args in C2 ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/116/files - new: https://git.openjdk.java.net/valhalla/pull/116/files/823daf0a..73cca1f2 Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/116/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/116/webrev.00-01 Stats: 5 lines in 4 files changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/valhalla/pull/116.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/116/head:pull/116 PR: https://git.openjdk.java.net/valhalla/pull/116 From hseigel at openjdk.java.net Wed Jul 22 16:49:22 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 22 Jul 2020 16:49:22 GMT Subject: [lworld] RFR: jdk-8249555 Rename valueArray* source files to flatArray* [v2] In-Reply-To: References: Message-ID: > Please review this change which renames the appropriate hotspot runtime source files, methods, fields, etc. from > "valueArray*" to "flatArray*". The change does not rename any gc or jit source files. > The change was tested with tiers 1 and 2 on Windows, Mac, and Linux x64, and tiers 3-5 on Linux x64. > > Thanks! Harold Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: JDK-8249555 Rename valueArray* source files to flatArray* ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/115/files - new: https://git.openjdk.java.net/valhalla/pull/115/files/39a92a9f..7d90c7db Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/115/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/115/webrev.00-01 Stats: 22 lines in 14 files changed: 0 ins; 0 del; 22 mod Patch: https://git.openjdk.java.net/valhalla/pull/115.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/115/head:pull/115 PR: https://git.openjdk.java.net/valhalla/pull/115 From hseigel at openjdk.java.net Wed Jul 22 16:49:25 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 22 Jul 2020 16:49:25 GMT Subject: [lworld] Integrated: jdk-8249555 Rename valueArray* source files to flatArray* In-Reply-To: References: Message-ID: On Tue, 21 Jul 2020 19:07:56 GMT, Harold Seigel wrote: > Please review this change which renames the appropriate hotspot runtime source files, methods, fields, etc. from > "valueArray*" to "flatArray*". The change does not rename any gc or jit source files. > The change was tested with tiers 1 and 2 on Windows, Mac, and Linux x64, and tiers 3-5 on Linux x64. > > Thanks! Harold This pull request has now been integrated. Changeset: 9f56cb6a Author: Harold Seigel URL: https://git.openjdk.java.net/valhalla/commit/9f56cb6a Stats: 2178 lines in 67 files changed: 1001 ins; 1000 del; 177 mod jdk-8249555 Rename valueArray* source files to flatArray* Reviewed-by: fparain ------------- PR: https://git.openjdk.java.net/valhalla/pull/115 From thartmann at openjdk.java.net Thu Jul 23 09:12:37 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Thu, 23 Jul 2020 09:12:37 GMT Subject: [lworld] RFR: 8249869: [lworld] Remove LW2 specific code from the JIT [v3] In-Reply-To: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> References: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> Message-ID: > The concept of flattenable fields needs some cleanup (inline types are always flattenable/null-free). We can remove the > side-channel introduced by JDK-8212190. See JDK-8247357 for details. Tobias Hartmann has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: - Merge lworld - Minor follow-up fix to handle unloaded inline klasses in C1 and correct casting of OSR inline args in C2 - 8249869: [lworld] Remove LW2 specific code from the JIT ------------- Changes: https://git.openjdk.java.net/valhalla/pull/116/files Webrev: https://webrevs.openjdk.java.net/valhalla/116/webrev.02 Stats: 363 lines in 37 files changed: 16 ins; 193 del; 154 mod Patch: https://git.openjdk.java.net/valhalla/pull/116.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/116/head:pull/116 PR: https://git.openjdk.java.net/valhalla/pull/116 From thartmann at openjdk.java.net Thu Jul 23 09:33:39 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Thu, 23 Jul 2020 09:33:39 GMT Subject: [lworld] RFR: 8249869: [lworld] Remove LW2 specific code from the JIT [v4] In-Reply-To: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> References: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> Message-ID: > The concept of flattenable fields needs some cleanup (inline types are always flattenable/null-free). We can remove the > side-channel introduced by JDK-8212190. See JDK-8247357 for details. Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision: Renaming ValueArrayFlatten -> UseFlatArray ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/116/files - new: https://git.openjdk.java.net/valhalla/pull/116/files/7564397b..3edaa382 Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/116/webrev.03 - incr: https://webrevs.openjdk.java.net/valhalla/116/webrev.02-03 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/valhalla/pull/116.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/116/head:pull/116 PR: https://git.openjdk.java.net/valhalla/pull/116 From thartmann at openjdk.java.net Thu Jul 23 09:34:01 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Thu, 23 Jul 2020 09:34:01 GMT Subject: [lworld] Integrated: 8249869: [lworld] Remove LW2 specific code from the JIT In-Reply-To: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> References: <5AHusUGx9mq7bTyjWY8AbhSIutHROVIVIR1NvFAwgCE=.f9c66501-00a6-46b1-989c-65e817021052@github.com> Message-ID: <4cwMPKMn9e45PILrO-msoaMIMPvmDN0g4SGqCRuEZcI=.408a587a-169c-46dc-b9ef-678df4014c73@github.com> On Wed, 22 Jul 2020 11:21:52 GMT, Tobias Hartmann wrote: > The concept of flattenable fields needs some cleanup (inline types are always flattenable/null-free). We can remove the > side-channel introduced by JDK-8212190. See JDK-8247357 for details. This pull request has now been integrated. Changeset: 22dd0da1 Author: Tobias Hartmann URL: https://git.openjdk.java.net/valhalla/commit/22dd0da1 Stats: 363 lines in 37 files changed: 193 ins; 16 del; 154 mod 8249869: [lworld] Remove LW2 specific code from the JIT ------------- PR: https://git.openjdk.java.net/valhalla/pull/116 From thartmann at openjdk.java.net Thu Jul 23 14:15:46 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Thu, 23 Jul 2020 14:15:46 GMT Subject: [lworld] Integrated: 8220710: [lworld] Improve propagation of nullability information In-Reply-To: References: Message-ID: On Thu, 23 Jul 2020 12:06:01 GMT, Tobias Hartmann wrote: > There are cases where C2 is not able to keep track of the fact that an inline type is never null. For example, after > explicit null checks and implicit receiver null checks on MyValue.ref. This pull request has now been integrated. Changeset: 93fb98e8 Author: Tobias Hartmann URL: https://git.openjdk.java.net/valhalla/commit/93fb98e8 Stats: 64 lines in 2 files changed: 0 ins; 64 del; 0 mod 8220710: [lworld] Improve propagation of nullability information ------------- PR: https://git.openjdk.java.net/valhalla/pull/118 From hseigel at openjdk.java.net Thu Jul 23 17:22:15 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 23 Jul 2020 17:22:15 GMT Subject: [lworld] RFR: 8249886: Rename -XX: InlineArrayElemMaxFlat* options Message-ID: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> Hi Please review this change to rename InlineArrayElemMaxFlatSize to FlatArrayElemMaxFlatSize and rename InlineArrayElemMaxFlatOops to FlatArrayElemMaxFlatOops. The change was tested with tiers 1-2 on Windows, MacOSX, and Linux x64. Thanks, Harold ------------- Commit messages: - 8249886: Rename -XX: InlineArrayElemMaxFlat* options Changes: https://git.openjdk.java.net/valhalla/pull/119/files Webrev: https://webrevs.openjdk.java.net/valhalla/119/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8249886 Stats: 57 lines in 21 files changed: 0 ins; 0 del; 57 mod Patch: https://git.openjdk.java.net/valhalla/pull/119.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/119/head:pull/119 PR: https://git.openjdk.java.net/valhalla/pull/119 From fparain at openjdk.java.net Thu Jul 23 18:18:39 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 23 Jul 2020 18:18:39 GMT Subject: [lworld] RFR: 8249886: Rename -XX: InlineArrayElemMaxFlat* options In-Reply-To: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> References: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> Message-ID: On Thu, 23 Jul 2020 17:06:10 GMT, Harold Seigel wrote: > Hi > Please review this change to rename InlineArrayElemMaxFlatSize to FlatArrayElemMaxFlatSize and rename > InlineArrayElemMaxFlatOops to FlatArrayElemMaxFlatOops. > The change was tested with tiers 1-2 on Windows, MacOSX, and Linux x64. > > Thanks, Harold Harold, Thank you for continuing the renaming effort. However, the new names of the VM options sound weird. Instead of InlineArrayElemMaxFlatSize, could you use FlatArrayElementMaxSize (no need to repeat Flat). And FlatArrayElemMaxFlatOops seems confusing with the term FlatOops. Could you replace it with FlatArrayElementMaxOops? Thank you, Fred ------------- PR: https://git.openjdk.java.net/valhalla/pull/119 From hseigel at openjdk.java.net Thu Jul 23 21:12:07 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 23 Jul 2020 21:12:07 GMT Subject: [lworld] RFR: 8249886: Rename -XX: InlineArrayElemMaxFlat* options [v2] In-Reply-To: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> References: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> Message-ID: > Hi > Please review this change to rename InlineArrayElemMaxFlatSize to FlatArrayElemMaxFlatSize and rename > InlineArrayElemMaxFlatOops to FlatArrayElemMaxFlatOops. > The change was tested with tiers 1-2 on Windows, MacOSX, and Linux x64. > > Thanks, Harold Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: 8249886: Rename -XX: InlineArrayElemMaxFlat* options ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/119/files - new: https://git.openjdk.java.net/valhalla/pull/119/files/75ee3007..3c777f7e Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/119/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/119/webrev.00-01 Stats: 57 lines in 21 files changed: 0 ins; 0 del; 57 mod Patch: https://git.openjdk.java.net/valhalla/pull/119.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/119/head:pull/119 PR: https://git.openjdk.java.net/valhalla/pull/119 From hseigel at openjdk.java.net Thu Jul 23 21:12:07 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 23 Jul 2020 21:12:07 GMT Subject: [lworld] RFR: 8249886: Rename -XX: InlineArrayElemMaxFlat* options In-Reply-To: References: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> Message-ID: On Thu, 23 Jul 2020 18:16:09 GMT, Frederic Parain wrote: >> Hi >> Please review this change to rename InlineArrayElemMaxFlatSize to FlatArrayElemMaxFlatSize and rename >> InlineArrayElemMaxFlatOops to FlatArrayElemMaxFlatOops. >> The change was tested with tiers 1-2 on Windows, MacOSX, and Linux x64. >> >> Thanks, Harold > > Harold, > > Thank you for continuing the renaming effort. > However, the new names of the VM options sound weird. > Instead of InlineArrayElemMaxFlatSize, could you use FlatArrayElementMaxSize (no need to repeat Flat). > And FlatArrayElemMaxFlatOops seems confusing with the term FlatOops. Could you replace it with FlatArrayElementMaxOops? > > Thank you, > > Fred HI Fred, I changed the fix to use the names that you suggested. Thanks! Harold ------------- PR: https://git.openjdk.java.net/valhalla/pull/119 From fparain at openjdk.java.net Thu Jul 23 21:27:27 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Thu, 23 Jul 2020 21:27:27 GMT Subject: [lworld] RFR: 8249886: Rename -XX: InlineArrayElemMaxFlat* options [v2] In-Reply-To: References: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> Message-ID: On Thu, 23 Jul 2020 21:12:07 GMT, Harold Seigel wrote: >> Hi >> Please review this change to rename InlineArrayElemMaxFlatSize to FlatArrayElemMaxFlatSize and rename >> InlineArrayElemMaxFlatOops to FlatArrayElemMaxFlatOops. >> The change was tested with tiers 1-2 on Windows, MacOSX, and Linux x64. >> >> Thanks, Harold > > Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: > > 8249886: Rename -XX: InlineArrayElemMaxFlat* options Thank you for having changed the names. Looks good to me. Fred ------------- Marked as reviewed by fparain (Committer). PR: https://git.openjdk.java.net/valhalla/pull/119 From hseigel at openjdk.java.net Fri Jul 24 12:20:22 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Fri, 24 Jul 2020 12:20:22 GMT Subject: [lworld] Integrated: 8249886: Rename -XX: InlineArrayElemMaxFlat* options In-Reply-To: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> References: <5azLm-Vb6HTLjCrstqmvhaeRzOxr1ZWN74Uu_GeJxrg=.5e6b5fb4-a7b9-4012-97a7-57fe2c09c161@github.com> Message-ID: On Thu, 23 Jul 2020 17:06:10 GMT, Harold Seigel wrote: > Hi > Please review this change to rename InlineArrayElemMaxFlatSize to FlatArrayElemMaxFlatSize and rename > InlineArrayElemMaxFlatOops to FlatArrayElemMaxFlatOops. > The change was tested with tiers 1-2 on Windows, MacOSX, and Linux x64. > > Thanks, Harold This pull request has now been integrated. Changeset: 22265ecb Author: Harold Seigel URL: https://git.openjdk.java.net/valhalla/commit/22265ecb Stats: 57 lines in 21 files changed: 0 ins; 0 del; 57 mod 8249886: Rename -XX: InlineArrayElemMaxFlat* options Reviewed-by: fparain ------------- PR: https://git.openjdk.java.net/valhalla/pull/119 From hseigel at openjdk.java.net Mon Jul 27 17:28:48 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 27 Jul 2020 17:28:48 GMT Subject: [lworld] RFR: rename load_value_type_fields_in_regs and store_value_type_fields_to_buf Message-ID: Hi, Please review this small change to rename (_)load_value_type_fields_in_regs to (_)load_value_inline_type_fields_in_regs and rename (_)store_value_type_fields_to_buf to (_)store_inline_type_fields_to_buf. The change was tested with tiers 1-2 and some of tier 3. Thanks, Harold ------------- Commit messages: - rename load_value_type_fields_in_regs and store_value_type_fields_to_buf Changes: https://git.openjdk.java.net/valhalla/pull/120/files Webrev: https://webrevs.openjdk.java.net/valhalla/120/webrev.00 Stats: 47 lines in 19 files changed: 0 ins; 0 del; 47 mod Patch: https://git.openjdk.java.net/valhalla/pull/120.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/120/head:pull/120 PR: https://git.openjdk.java.net/valhalla/pull/120 From github.com+66382410+lfoltan at openjdk.java.net Mon Jul 27 17:59:24 2020 From: github.com+66382410+lfoltan at openjdk.java.net (Lois Foltan) Date: Mon, 27 Jul 2020 17:59:24 GMT Subject: [lworld] RFR: rename load_value_type_fields_in_regs and store_value_type_fields_to_buf In-Reply-To: References: Message-ID: On Mon, 27 Jul 2020 17:13:46 GMT, Harold Seigel wrote: > Hi, > Please review this small change to rename (_)load_value_type_fields_in_regs to (_)load_value_inline_type_fields_in_regs > and rename (_)store_value_type_fields_to_buf to (_)store_inline_type_fields_to_buf. > The change was tested with tiers 1-2 and some of tier 3. > Thanks, Harold Marked as reviewed by lfoltan at github.com (no known OpenJDK username). ------------- PR: https://git.openjdk.java.net/valhalla/pull/120 From hseigel at openjdk.java.net Mon Jul 27 18:02:15 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 27 Jul 2020 18:02:15 GMT Subject: [lworld] RFR: rename load_value_type_fields_in_regs and store_value_type_fields_to_buf In-Reply-To: References: Message-ID: On Mon, 27 Jul 2020 17:56:56 GMT, Lois Foltan wrote: >> Hi, >> Please review this small change to rename (_)load_value_type_fields_in_regs to (_)load_value_inline_type_fields_in_regs >> and rename (_)store_value_type_fields_to_buf to (_)store_inline_type_fields_to_buf. >> The change was tested with tiers 1-2 and some of tier 3. >> Thanks, Harold > > Marked as reviewed by lfoltan at github.com (no known OpenJDK username). Thanks Lois! ------------- PR: https://git.openjdk.java.net/valhalla/pull/120 From hseigel at openjdk.java.net Mon Jul 27 19:14:39 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Mon, 27 Jul 2020 19:14:39 GMT Subject: [lworld] Integrated: rename load_value_type_fields_in_regs and store_value_type_fields_to_buf In-Reply-To: References: Message-ID: On Mon, 27 Jul 2020 17:13:46 GMT, Harold Seigel wrote: > Hi, > Please review this small change to rename (_)load_value_type_fields_in_regs to (_)load_value_inline_type_fields_in_regs > and rename (_)store_value_type_fields_to_buf to (_)store_inline_type_fields_to_buf. > The change was tested with tiers 1-2 and some of tier 3. > Thanks, Harold This pull request has now been integrated. Changeset: c5fb63d0 Author: Harold Seigel URL: https://git.openjdk.java.net/valhalla/commit/c5fb63d0 Stats: 47 lines in 19 files changed: 0 ins; 0 del; 47 mod rename load_value_type_fields_in_regs and store_value_type_fields_to_buf ------------- PR: https://git.openjdk.java.net/valhalla/pull/120 From thartmann at openjdk.java.net Tue Jul 28 09:09:48 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Tue, 28 Jul 2020 09:09:48 GMT Subject: [lworld] RFR: 8250664: [lworld] Rename 'value type' to 'inline type' Message-ID: Renamed all inline type specific occurrences of "value" to "inline" in JIT code and tests. I did not rename: - Variable names "vt" (for value type) and "vk" (for value klass) because alternative naming "it" and "ik" is already used for iterators and instance klasses. - "MyValue" inline class names in the tests because these are user defined "values". ------------- Commit messages: - Fixed trailing whitespace - 8250664: [lworld] Rename 'value type' to 'inline type' Changes: https://git.openjdk.java.net/valhalla/pull/121/files Webrev: https://webrevs.openjdk.java.net/valhalla/121/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8250664 Stats: 40240 lines in 242 files changed: 19347 ins; 19356 del; 1537 mod Patch: https://git.openjdk.java.net/valhalla/pull/121.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/121/head:pull/121 PR: https://git.openjdk.java.net/valhalla/pull/121 From thartmann at openjdk.java.net Tue Jul 28 10:41:14 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Tue, 28 Jul 2020 10:41:14 GMT Subject: [lworld] RFR: 8250664: [lworld] Rename 'value type' to 'inline type' [v2] In-Reply-To: References: Message-ID: > Renamed all inline type specific occurrences of "value" to "inline" in JIT code and tests. > > I did not rename: > - Variable names "vt" (for value type) and "vk" (for value klass) because alternative naming "it" and "ik" is already > used for iterators and instance klasses. > - "MyValue" inline class names in the tests because these are user defined "values". Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision: Some more renaming and whitespace fixes ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/121/files - new: https://git.openjdk.java.net/valhalla/pull/121/files/91933190..c72a5578 Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/121/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/121/webrev.00-01 Stats: 104 lines in 28 files changed: 0 ins; 7 del; 97 mod Patch: https://git.openjdk.java.net/valhalla/pull/121.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/121/head:pull/121 PR: https://git.openjdk.java.net/valhalla/pull/121 From hseigel at openjdk.java.net Tue Jul 28 13:44:57 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Tue, 28 Jul 2020 13:44:57 GMT Subject: [lworld] RFR: 8250664: [lworld] Rename 'value type' to 'inline type' [v2] In-Reply-To: References: Message-ID: On Tue, 28 Jul 2020 10:41:14 GMT, Tobias Hartmann wrote: >> Renamed all inline type specific occurrences of "value" to "inline" in JIT code and tests. >> >> I did not rename: >> - Variable names "vt" (for value type) and "vk" (for value klass) because alternative naming "it" and "ik" is already >> used for iterators and instance klasses. >> - "MyValue" inline class names in the tests because these are user defined "values". > > Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision: > > Some more renaming and whitespace fixes Hi Tobias, This exhaustive change looks good. I have three minor comments that can be addressed before or after pushing this change, or ignored. I don't need to see a new webrev. 1. In sharedRuntime_x86_64.cpp, change 'value' to 'inline' in line 890. 2. In nmethod.cpp, change these from "Value Entry" to "Inline Entry"? n += maybe_print_entry_label(stream, block_begin, inline_entry_point(), "[Value Entry Point]"); n += maybe_print_entry_label(stream, block_begin, verified_entry_point(), "[Verified Entry Point]"); n += maybe_print_entry_label(stream, block_begin, verified_inline_entry_point(), "[Verified Value Entry Point]"); n += maybe_print_entry_label(stream, block_begin, verified_inline_ro_entry_point(), "[Verified Value Entry Point (RO)]"); 3. (Very minor nit) some of the tests say "a inline type" instead of "an inline type". Thanks for doing this! Harold ------------- Marked as reviewed by hseigel (Committer). PR: https://git.openjdk.java.net/valhalla/pull/121 From thartmann at openjdk.java.net Tue Jul 28 13:50:26 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Tue, 28 Jul 2020 13:50:26 GMT Subject: [lworld] RFR: 8250664: [lworld] Rename 'value type' to 'inline type' [v2] In-Reply-To: References: Message-ID: On Tue, 28 Jul 2020 13:42:30 GMT, Harold Seigel wrote: >> Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision: >> >> Some more renaming and whitespace fixes > > Hi Tobias, > This exhaustive change looks good. I have three minor comments that can be addressed before or after pushing this > change, or ignored. I don't need to see a new webrev. > 1. In sharedRuntime_x86_64.cpp, change 'value' to 'inline' in line 890. > > 2. In nmethod.cpp, change these from "Value Entry" to "Inline Entry"? > n += maybe_print_entry_label(stream, block_begin, inline_entry_point(), "[Value Entry Point]"); > n += maybe_print_entry_label(stream, block_begin, verified_entry_point(), "[Verified Entry Point]"); > n += maybe_print_entry_label(stream, block_begin, verified_inline_entry_point(), "[Verified Value Entry Point]"); > n += maybe_print_entry_label(stream, block_begin, verified_inline_ro_entry_point(), "[Verified Value Entry Point > (RO)]"); > 3. (Very minor nit) some of the tests say "a inline type" instead of "an inline type". > > Thanks for doing this! > Harold Thanks Harold, good catch! I'll fix these as well before pushing (found some more minor issues). ------------- PR: https://git.openjdk.java.net/valhalla/pull/121 From thartmann at openjdk.java.net Tue Jul 28 14:28:40 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Tue, 28 Jul 2020 14:28:40 GMT Subject: [lworld] RFR: 8250664: [lworld] Rename 'value type' to 'inline type' [v3] In-Reply-To: References: Message-ID: > Renamed all inline type specific occurrences of "value" to "inline" in JIT code and tests. > > I did not rename: > - Variable names "vt" (for value type) and "vk" (for value klass) because alternative naming "it" and "ik" is already > used for iterators and instance klasses. > - "MyValue" inline class names in the tests because these are user defined "values". Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision: Some more missing renaming and whitespace fixes ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/121/files - new: https://git.openjdk.java.net/valhalla/pull/121/files/c72a5578..6a9c9137 Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/121/webrev.02 - incr: https://webrevs.openjdk.java.net/valhalla/121/webrev.01-02 Stats: 80 lines in 31 files changed: 0 ins; 0 del; 80 mod Patch: https://git.openjdk.java.net/valhalla/pull/121.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/121/head:pull/121 PR: https://git.openjdk.java.net/valhalla/pull/121 From thartmann at openjdk.java.net Tue Jul 28 14:28:41 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Tue, 28 Jul 2020 14:28:41 GMT Subject: [lworld] Integrated: 8250664: [lworld] Rename 'value type' to 'inline type' In-Reply-To: References: Message-ID: On Tue, 28 Jul 2020 08:49:33 GMT, Tobias Hartmann wrote: > Renamed all inline type specific occurrences of "value" to "inline" in JIT code and tests. > > I did not rename: > - Variable names "vt" (for value type) and "vk" (for value klass) because alternative naming "it" and "ik" is already > used for iterators and instance klasses. > - "MyValue" inline class names in the tests because these are user defined "values". This pull request has now been integrated. Changeset: 2fa48054 Author: Tobias Hartmann URL: https://git.openjdk.java.net/valhalla/commit/2fa48054 Stats: 40310 lines in 242 files changed: 19356 ins; 19340 del; 1614 mod 8250664: [lworld] Rename 'value type' to 'inline type' Reviewed-by: hseigel ------------- PR: https://git.openjdk.java.net/valhalla/pull/121 From hseigel at openjdk.java.net Wed Jul 29 14:48:14 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 29 Jul 2020 14:48:14 GMT Subject: [lworld] RFR: rename valhalla runtime tests to 'inline' In-Reply-To: References: Message-ID: On Wed, 29 Jul 2020 12:31:35 GMT, Harold Seigel wrote: > Please review this tiresome change to rename the directory containing the JVM runtime valhalla tests to 'inlinetypes', > and to rename the tests and their contents as needed. > Thanks, Harold Please review this updated pull request that replaces 's with blanks. Thanks, Harold ------------- PR: https://git.openjdk.java.net/valhalla/pull/122 From hseigel at openjdk.java.net Wed Jul 29 14:48:13 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Wed, 29 Jul 2020 14:48:13 GMT Subject: [lworld] RFR: rename valhalla runtime tests to 'inline' Message-ID: Please review this tiresome change to rename the directory containing the JVM runtime valhalla tests to 'inlinetypes', and to rename the tests and their contents as needed. Thanks, Harold ------------- Commit messages: - remove characters - rename valhalla runtime tests to 'inline' Changes: https://git.openjdk.java.net/valhalla/pull/122/files Webrev: https://webrevs.openjdk.java.net/valhalla/122/webrev.00 Stats: 14589 lines in 126 files changed: 7293 ins; 7293 del; 3 mod Patch: https://git.openjdk.java.net/valhalla/pull/122.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/122/head:pull/122 PR: https://git.openjdk.java.net/valhalla/pull/122 From jlaskey at openjdk.java.net Wed Jul 29 17:26:25 2020 From: jlaskey at openjdk.java.net (Jim Laskey) Date: Wed, 29 Jul 2020 17:26:25 GMT Subject: [lworld] RFR: JDK-8244315 [lworld] The hierarchy between V$ref and V$val must be sealed Message-ID: - Remove final flag from V$ref. - Set V$ref as SEALED. - Add value V$val to list of V$ref's permitted classes. Test ensures that the permitted classes of Point$ref is exactly Point$val ("Point"). ------------- Commit messages: - JDK-8244315 [lworld] The hierarchy between V$ref and V$val must be sealed. Changes: https://git.openjdk.java.net/valhalla/pull/123/files Webrev: https://webrevs.openjdk.java.net/valhalla/123/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8244315 Stats: 51 lines in 2 files changed: 50 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/valhalla/pull/123.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/123/head:pull/123 PR: https://git.openjdk.java.net/valhalla/pull/123 From jlaskey at openjdk.java.net Wed Jul 29 17:36:32 2020 From: jlaskey at openjdk.java.net (Jim Laskey) Date: Wed, 29 Jul 2020 17:36:32 GMT Subject: [lworld] RFR: JDK-8244314 [lworld] V.ref and V.val are supposed to be nest mates Message-ID: - Reworked nest list to use LinkedHashSet (had unnecessary step.) - Only attempt to add nested members if set is non-empty. - If top level and an inline class don't use as host, use referenceProjection instead. - If top level and an inline class do add as a nest member. Test ensures that the correct host (Point$ref) is selected and that nest members are exactly just Point$val ("Point"). ------------- Commit messages: - JDK-8244314 [lworld] V.ref and V.val are supposed to be nest mates Changes: https://git.openjdk.java.net/valhalla/pull/124/files Webrev: https://webrevs.openjdk.java.net/valhalla/124/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8244314 Stats: 85 lines in 2 files changed: 72 ins; 2 del; 11 mod Patch: https://git.openjdk.java.net/valhalla/pull/124.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/124/head:pull/124 PR: https://git.openjdk.java.net/valhalla/pull/124 From fparain at openjdk.java.net Wed Jul 29 18:32:03 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Wed, 29 Jul 2020 18:32:03 GMT Subject: [lworld] RFR: rename valhalla runtime tests to 'inline' In-Reply-To: References: Message-ID: On Wed, 29 Jul 2020 12:31:35 GMT, Harold Seigel wrote: > Please review this tiresome change to rename the directory containing the JVM runtime valhalla tests to 'inlinetypes', > and to rename the tests and their contents as needed. > Thanks, Harold Just a few minor comments. CircularityTest.java and EmptyInlineTest.java appear as deleted/new instead of renamed, I don't know why. Otherwise, looks good to me. Thank you, Fred test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineTypeDensity.java line 228: > 227: long inlineArraySize = WHITE_BOX.getObjectSize(inlineArray); > 228: System.out.println("Object array and elements: " + objectArraySize + " versus Value Array: " + > inlineArraySize); 229: Asserts.assertLessThan(inlineArraySize, objectArraySize, "Inline array accounts for more > heap than object array + elements !"); versus Value Array -> versus Flat Array test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineTypeDensity.java line 229: > 228: System.out.println("Object array and elements: " + objectArraySize + " versus Value Array: " + > inlineArraySize); 229: Asserts.assertLessThan(inlineArraySize, objectArraySize, "Inline array accounts for more > heap than object array + elements !"); 230: } Inline array -> Flat array test/hotspot/jtreg/runtime/valhalla/inlinetypes/UninitializedInlineFieldsTest.java line 31: > 30: * @library /test/lib > 31: * @compile -XDemitQtypes -XDenableValueTypes -XDallowWithFieldOperator -XDallowFlattenabilityModifiers Point.java > JumboInline.java UninitializedInlineFieldsTest.java 32: * @run main/othervm -Xint -XX:InlineFieldMaxFlatSize=64 > runtime.valhalla.inlinetypes.UninitializedInlineFieldsTest Do we still need -XDemitQtypes and -XDenableValueTypes options? ------------- Marked as reviewed by fparain (Committer). PR: https://git.openjdk.java.net/valhalla/pull/122 From hseigel at openjdk.java.net Thu Jul 30 13:23:46 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 30 Jul 2020 13:23:46 GMT Subject: [lworld] RFR: rename valhalla runtime tests to 'inline' [v2] In-Reply-To: References: Message-ID: > Please review this tiresome change to rename the directory containing the JVM runtime valhalla tests to 'inlinetypes', > and to rename the tests and their contents as needed. > Thanks, Harold Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: remove -XDemitQtypes and -XDenableValueTypes and other small changes ------------- Changes: - all: https://git.openjdk.java.net/valhalla/pull/122/files - new: https://git.openjdk.java.net/valhalla/pull/122/files/0c73cdb2..82f2ca1c Webrevs: - full: https://webrevs.openjdk.java.net/valhalla/122/webrev.01 - incr: https://webrevs.openjdk.java.net/valhalla/122/webrev.00-01 Stats: 45 lines in 20 files changed: 0 ins; 0 del; 45 mod Patch: https://git.openjdk.java.net/valhalla/pull/122.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/122/head:pull/122 PR: https://git.openjdk.java.net/valhalla/pull/122 From hseigel at openjdk.java.net Thu Jul 30 13:23:50 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 30 Jul 2020 13:23:50 GMT Subject: [lworld] RFR: rename valhalla runtime tests to 'inline' [v2] In-Reply-To: References: Message-ID: On Wed, 29 Jul 2020 18:29:40 GMT, Frederic Parain wrote: >> Harold Seigel has updated the pull request incrementally with one additional commit since the last revision: >> >> remove -XDemitQtypes and -XDenableValueTypes and other small changes > > Just a few minor comments. > CircularityTest.java and EmptyInlineTest.java appear as deleted/new instead of renamed, I don't know why. > Otherwise, looks good to me. > > Thank you, > > Fred Hi Fred, Thanks for the review. I made the changes that you suggested. I also don't know why CircularityTest.java and EmptyInlineTest.java appear as deleted/new instead of renamed, It happened after I replaced the tabs with spaces. Harold > test/hotspot/jtreg/runtime/valhalla/inlinetypes/UninitializedInlineFieldsTest.java line 31: > >> 30: * @library /test/lib >> 31: * @compile -XDemitQtypes -XDenableValueTypes -XDallowWithFieldOperator -XDallowFlattenabilityModifiers Point.java >> JumboInline.java UninitializedInlineFieldsTest.java 32: * @run main/othervm -Xint -XX:InlineFieldMaxFlatSize=64 >> runtime.valhalla.inlinetypes.UninitializedInlineFieldsTest > > Do we still need -XDemitQtypes and -XDenableValueTypes options? The -XDemitQtypes and -XDenableValueTypes options are no longer needed. I removed them from all the runtime valhalla tests. ------------- PR: https://git.openjdk.java.net/valhalla/pull/122 From hseigel at openjdk.java.net Thu Jul 30 13:23:54 2020 From: hseigel at openjdk.java.net (Harold Seigel) Date: Thu, 30 Jul 2020 13:23:54 GMT Subject: [lworld] Integrated: rename valhalla runtime tests to 'inline' In-Reply-To: References: Message-ID: <-3HlxXbAbfaB02ZZeA6-vQWU7I4elxGqlW6Ei9U9-Wk=.ea012d92-cc54-48e7-b08c-36e4bb6207ac@github.com> On Wed, 29 Jul 2020 12:31:35 GMT, Harold Seigel wrote: > Please review this tiresome change to rename the directory containing the JVM runtime valhalla tests to 'inlinetypes', > and to rename the tests and their contents as needed. > Thanks, Harold This pull request has now been integrated. Changeset: 66005d4d Author: Harold Seigel URL: https://git.openjdk.java.net/valhalla/commit/66005d4d Stats: 15015 lines in 130 files changed: 7504 ins; 7504 del; 7 mod rename valhalla runtime tests to 'inline' Reviewed-by: fparain ------------- PR: https://git.openjdk.java.net/valhalla/pull/122 From thartmann at openjdk.java.net Thu Jul 30 15:54:09 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Thu, 30 Jul 2020 15:54:09 GMT Subject: [lworld] Integrated: 8250823: [lworld] Various cleanups and small fixes in JIT code Message-ID: - Rename is_never_null -> is_null_free in C1 code - Use is_invalid_super() in ciInstanceKlass::can_be_inline_klass() and clean up code - Handle OOM when creating ciFlatArrayKlass - Removed some dead code from inlinetypenode.cpp and did various refactorings - Make sure non-captured initializing stores are removed when removing the corresponding allocation - Added @key randomness to tests ------------- Commit messages: - 8250823: [lworld] Various cleanups and small fixes in JIT code Changes: https://git.openjdk.java.net/valhalla/pull/125/files Webrev: https://webrevs.openjdk.java.net/valhalla/125/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8250823 Stats: 195 lines in 35 files changed: 60 ins; 58 del; 77 mod Patch: https://git.openjdk.java.net/valhalla/pull/125.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/125/head:pull/125 PR: https://git.openjdk.java.net/valhalla/pull/125 From thartmann at openjdk.java.net Thu Jul 30 15:54:09 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Thu, 30 Jul 2020 15:54:09 GMT Subject: [lworld] Integrated: 8250823: [lworld] Various cleanups and small fixes in JIT code In-Reply-To: References: Message-ID: On Thu, 30 Jul 2020 13:31:48 GMT, Tobias Hartmann wrote: > - Rename is_never_null -> is_null_free in C1 code > - Use is_invalid_super() in ciInstanceKlass::can_be_inline_klass() and clean up code > - Handle OOM when creating ciFlatArrayKlass > - Removed some dead code from inlinetypenode.cpp and did various refactorings > - Make sure non-captured initializing stores are removed when removing the corresponding allocation > - Added @key randomness to tests This pull request has now been integrated. Changeset: 9feaf059 Author: Tobias Hartmann URL: https://git.openjdk.java.net/valhalla/commit/9feaf059 Stats: 195 lines in 35 files changed: 58 ins; 60 del; 77 mod 8250823: [lworld] Various cleanups and small fixes in JIT code ------------- PR: https://git.openjdk.java.net/valhalla/pull/125 From thartmann at openjdk.java.net Thu Jul 23 12:20:35 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Thu, 23 Jul 2020 12:20:35 GMT Subject: [lworld] RFR: 8220710: [lworld] Improve propagation of nullability information Message-ID: There are cases where C2 is not able to keep track of the fact that an inline type is never null. For example, after explicit null checks and implicit receiver null checks on MyValue.ref. ------------- Commit messages: - 8220710: [lworld] Improve propagation of nullability information Changes: https://git.openjdk.java.net/valhalla/pull/118/files Webrev: https://webrevs.openjdk.java.net/valhalla/118/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8220710 Stats: 64 lines in 2 files changed: 64 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/valhalla/pull/118.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/118/head:pull/118 PR: https://git.openjdk.java.net/valhalla/pull/118 From thartmann at openjdk.java.net Fri Jul 31 08:53:06 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Fri, 31 Jul 2020 08:53:06 GMT Subject: [lworld] RFR: 8250877: [lworld] Remove special acmp handling for isSubstitutable0 method in the JIT Message-ID: The isSubstitutable0 Java method called by the VM to perform a substitutability test does not perform == on its arguments. Special casing can be removed from the JIT. ------------- Commit messages: - 8250877: [lworld] Remove special acmp handling for isSubstitutable0 method in the JIT Changes: https://git.openjdk.java.net/valhalla/pull/126/files Webrev: https://webrevs.openjdk.java.net/valhalla/126/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8250877 Stats: 11 lines in 2 files changed: 1 ins; 8 del; 2 mod Patch: https://git.openjdk.java.net/valhalla/pull/126.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/126/head:pull/126 PR: https://git.openjdk.java.net/valhalla/pull/126 From thartmann at openjdk.java.net Fri Jul 31 10:06:50 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Fri, 31 Jul 2020 10:06:50 GMT Subject: [lworld] RFR: 8250881: [lworld] Crash in AOT code with -XX:-EnableValhalla Message-ID: We need to set the new entry points in AOTCompiledMethod because they are used even if EnableValhalla is not set (although they all point to the same location). ------------- Commit messages: - 8250881: [lworld] Crash in AOT code with -XX:-EnableValhalla Changes: https://git.openjdk.java.net/valhalla/pull/127/files Webrev: https://webrevs.openjdk.java.net/valhalla/127/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8250881 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/valhalla/pull/127.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/127/head:pull/127 PR: https://git.openjdk.java.net/valhalla/pull/127 From thartmann at openjdk.java.net Fri Jul 31 10:07:11 2020 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Fri, 31 Jul 2020 10:07:11 GMT Subject: [lworld] Integrated: 8250881: [lworld] Crash in AOT code with -XX:-EnableValhalla In-Reply-To: References: Message-ID: On Fri, 31 Jul 2020 09:51:45 GMT, Tobias Hartmann wrote: > We need to set the new entry points in AOTCompiledMethod because they are used even if EnableValhalla is not set > (although they all point to the same location). This pull request has now been integrated. Changeset: cecd9c5b Author: Tobias Hartmann URL: https://git.openjdk.java.net/valhalla/commit/cecd9c5b Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod 8250881: [lworld] Crash in AOT code with -XX:-EnableValhalla ------------- PR: https://git.openjdk.java.net/valhalla/pull/127 From fparain at openjdk.java.net Fri Jul 31 14:32:13 2020 From: fparain at openjdk.java.net (Frederic Parain) Date: Fri, 31 Jul 2020 14:32:13 GMT Subject: [lworld] RFR: 8250234: [lworld] [lw3] jdk/valhalla/valuetypes/SubstitutabilityTest.java fails with C1 Message-ID: <350jmQMh9Fy4KPxlCkMczLiggZHR3J9bwjana-Aqj58=.8ccbed77-0872-4d77-8235-dbc8cdcc0e71@github.com> Please review this small changes to fix a bug in C1 transformations which cause an acmp involving inline types to be translated into a pointer comparison instead of a substitutability test. The patch also includes a few fixes in C1 debugging features. Thank you. Fred ------------- Commit messages: - Renaming - Fix handling of substitutability tests during block merges Changes: https://git.openjdk.java.net/valhalla/pull/128/files Webrev: https://webrevs.openjdk.java.net/valhalla/128/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8250234 Stats: 18 lines in 4 files changed: 12 ins; 0 del; 6 mod Patch: https://git.openjdk.java.net/valhalla/pull/128.diff Fetch: git fetch https://git.openjdk.java.net/valhalla pull/128/head:pull/128 PR: https://git.openjdk.java.net/valhalla/pull/128