From srikanth.adayapalam at oracle.com Mon Jul 2 05:59:16 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Mon, 02 Jul 2018 05:59:16 +0000 Subject: hg: valhalla/valhalla: [lworld] At compile time, disallow declaring value classes with no instance fields Message-ID: <201807020559.w625xH65017799@aojmv0008.oracle.com> Changeset: ca3920a44255 Author: sadayapalam Date: 2018-07-02 11:29 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ca3920a44255 [lworld] At compile time, disallow declaring value classes with no instance fields ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/valhalla/lworld-values/CheckClone.out ! test/langtools/tools/javac/valhalla/lworld-values/CheckEquals.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckFinalize.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckIdentityHash.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckIdentityHash01.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckMakeDefault.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckNullAssign.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckNullCastable.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckStaticFinalAssign.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckSync.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckSynchronized.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueFactoryWithReference.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOperatorTest.java From forax at univ-mlv.fr Mon Jul 2 06:54:47 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Mon, 2 Jul 2018 08:54:47 +0200 (CEST) Subject: Value type alignment in array ? Message-ID: <681874196.34340.1530514487574.JavaMail.zimbra@u-pem.fr> Let say i've a 64 bits VM with compressed oops, as far as i know, a heap allocate instance of a class will be aligned to 64bits because it can contain a long or a double that need to be 64 bits aligned, now let suppose i declare a value type with no long or double, if the value type is allocated in the heap it will be aligned to 64 bits but if the value type is a cell of an array, in that case will it be 32 bits aligned ? regards, R?mi From srikanth.adayapalam at oracle.com Mon Jul 2 07:04:49 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Mon, 02 Jul 2018 07:04:49 +0000 Subject: hg: valhalla/valhalla: [lworld] Fix pack200 failure due to unevolved attribute visitor Message-ID: <201807020704.w6274oYZ007557@aojmv0008.oracle.com> Changeset: 33221a8bbc16 Author: sadayapalam Date: 2018-07-02 12:34 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/33221a8bbc16 [lworld] Fix pack200 failure due to unevolved attribute visitor ! test/jdk/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java From john.r.rose at oracle.com Mon Jul 2 07:13:14 2018 From: john.r.rose at oracle.com (John Rose) Date: Mon, 2 Jul 2018 00:13:14 -0700 Subject: Value type alignment in array ? In-Reply-To: <681874196.34340.1530514487574.JavaMail.zimbra@u-pem.fr> References: <681874196.34340.1530514487574.JavaMail.zimbra@u-pem.fr> Message-ID: On Jul 1, 2018, at 11:54 PM, Remi Forax wrote: > > Let say i've a 64 bits VM with compressed oops, > as far as i know, a heap allocate instance of a class will be aligned to 64bits because it can contain a long or a double that need to be 64 bits aligned, > now let suppose i declare a value type with no long or double, if the value type is allocated in the heap it will be aligned to 64 bits but if the value type is a cell of an array, in that case will it be 32 bits aligned ? As a matter of quality, the flattened array should be as dense as possible, but the JVM doesn't actually specify how much padding it inserts around array elements. I expect we will eventually mimic the way C handles structs: The C struct size includes per-struct padding and therefore determines array element padding. That size is computed as a multiple of the most demanding alignment requirement within the struct. Thus, if you have a struct of three bytes, your arrays will have a strict of three. But if you have a struct of one byte and a short, your array will have a stride of four. Value type arrays should do something close to this, while balancing index arithmetic speed and cache friendliness, as needed. But they don't need to, in the short term. And, someone besides me can say what they really do, but I suspect there is a round-up to a power of two bytes at present. See ValueArrayKlass::array_layout_helper. That's optimizing for indexing speed, at the expense of density. So both of the examples above will live in four bytes, even though the first struct could live in three. ? John From tobias.hartmann at oracle.com Mon Jul 2 08:46:14 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 2 Jul 2018 10:46:14 +0200 Subject: Traversing an array of value types seen as an array of Object is slow In-Reply-To: References: <1826106725.1109413.1530125799135.JavaMail.zimbra@u-pem.fr> <314850162.1281145.1530177727856.JavaMail.zimbra@u-pem.fr> Message-ID: Hi, I've filed JDK-8206141 [1] to keep track of this. Thanks, Tobias [1] https://bugs.openjdk.java.net/browse/JDK-8206141 On 28.06.2018 12:18, Roland Westrelin wrote: > >> You can have a generic assembly code that loads the flattened value >> type as a reference (you need this kind of code for >> java.lang.reflect.Array.get() too) or/and you can consider that >> accessing the array is like a method call and profile the value type >> array and deoptimize only once. In that case, the profile should be >> the size of the layout of the value type. > > Right, we realize that. So a small matter of implementation... > > Roland. > From tobias.hartmann at oracle.com Mon Jul 2 10:01:26 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 2 Jul 2018 12:01:26 +0200 Subject: RFR: JDK-8205549 JDK-8205698 Support of flattened values in Unsafe In-Reply-To: <278B279F-837F-4B74-A7A7-8DB7EC0B752E@oracle.com> References: <93F26824-C920-4747-AE9D-C2A44E43C2C7@oracle.com> <8B69B0DE-3A03-472B-86B4-0FD7A8740D3A@oracle.com> <808e8ffa-f283-6493-04e2-2229b3d1f858@oracle.com> <644d5e62-372b-afef-9426-65c2ce8d4cc5@oracle.com> <80808535-AB5D-44A4-AC5A-54E237BE564F@oracle.com> <278B279F-837F-4B74-A7A7-8DB7EC0B752E@oracle.com> Message-ID: <6addc08f-a749-d311-f308-84df33bc80e0@oracle.com> Hi Karen, On 29.06.2018 23:40, Karen Kinnear wrote: > Step 1: > Have Frederic check in his native changes including getObject/putObject native changes. Remove @HotspotIntrinsic for getObject/putObject. Please note that just removing the @HotspotIntrinsic is not enough (the method will still be intrinsified by C2). Changes to C2 are required to disable intrinsification. > My expectation of intrinsics is: > 1. The new getReference/putReference will use exactly the same code as today?s getObject/putObject, so > it could use the same intrinsics Yes. > 2. The new getValue/putValue will need new intrinsics - which have additional challenges for example due to scalarization Right, I've filed JDK-8206144 to keep track of this. > 3. getObject/putObject will no longer be intensified Sounds reasonable if these methods will go away soon. We will wait until the classlibraries/runtime changes are in and then fix C2 accordingly. Thanks, Tobias From mandy.chung at oracle.com Mon Jul 2 16:54:30 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 02 Jul 2018 16:54:30 +0000 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type Message-ID: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> Changeset: 0dd8795826b3 Author: mchung Date: 2018-07-02 09:53 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0dd8795826b3 8205549: [lworld] Unsafe support for flattened field of value type Reviewed-by: psandoz ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/utilities/accessFlags.hpp ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template ! src/java.base/share/classes/java/lang/reflect/Modifier.java ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java ! test/jdk/valhalla/valuetypes/Line.java + test/jdk/valhalla/valuetypes/MethodHandleTest.java + test/jdk/valhalla/valuetypes/MutablePath.java ! test/jdk/valhalla/valuetypes/ObjectMethods.java ! test/jdk/valhalla/valuetypes/Point.java ! test/jdk/valhalla/valuetypes/Reflection.java From mandy.chung at oracle.com Mon Jul 2 18:59:01 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 02 Jul 2018 18:59:01 +0000 Subject: hg: valhalla/valhalla: Add #include logging/log.hpp in unsafe.cpp Message-ID: <201807021859.w62Ix1hJ008456@aojmv0008.oracle.com> Changeset: c0cdd1e0e24a Author: mchung Date: 2018-07-02 11:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c0cdd1e0e24a Add #include logging/log.hpp in unsafe.cpp ! src/hotspot/share/prims/unsafe.cpp From tobias.hartmann at oracle.com Tue Jul 3 07:31:54 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 3 Jul 2018 09:31:54 +0200 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> Message-ID: <52b366e1-091c-fb0c-48aa-52cbe384764c@oracle.com> Hi Mandy, with this patch, I still get a NPE with the following test public class Test { __ByValue final class MyValue1 { //__NotFlattened final int x = 42; final int x = 42; } public void test() { MyValue1 vt = __MakeDefault MyValue1(); System.out.println(vt.toString()); } public static void main(String[] args) { (new Test()).test(); } } Exception in thread "main" java.lang.NullPointerException at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at java.base/java.lang.invoke.ValueBootstrapMethods.toString(ValueBootstrapMethods.java:236) at Test$MyValue1.toString(Test.java:4) at Test.test(Test.java:10) at Test.main(Test.java:14) I get this with both versions (flattened and non-flattened field x). Thanks, Tobias On 02.07.2018 18:54, mandy.chung at oracle.com wrote: > Changeset: 0dd8795826b3 > Author: mchung > Date: 2018-07-02 09:53 -0700 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0dd8795826b3 > > 8205549: [lworld] Unsafe support for flattened field of value type > Reviewed-by: psandoz > > ! src/hotspot/share/prims/methodHandles.cpp > ! src/hotspot/share/prims/unsafe.cpp > ! src/hotspot/share/runtime/reflection.cpp > ! src/hotspot/share/utilities/accessFlags.hpp > ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java > ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java > ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java > ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java > ! src/java.base/share/classes/java/lang/invoke/MemberName.java > ! src/java.base/share/classes/java/lang/invoke/VarHandles.java > ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template > ! src/java.base/share/classes/java/lang/reflect/Modifier.java > ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java > ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java > ! src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java > ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java > ! test/jdk/valhalla/valuetypes/Line.java > + test/jdk/valhalla/valuetypes/MethodHandleTest.java > + test/jdk/valhalla/valuetypes/MutablePath.java > ! test/jdk/valhalla/valuetypes/ObjectMethods.java > ! test/jdk/valhalla/valuetypes/Point.java > ! test/jdk/valhalla/valuetypes/Reflection.java > From srikanth.adayapalam at oracle.com Tue Jul 3 07:56:28 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Tue, 03 Jul 2018 07:56:28 +0000 Subject: hg: valhalla/valhalla: 8206147: [lworld] Javac crashes with assertion failure while handing withField when field involved is private and of inner type Message-ID: <201807030756.w637uTgq017506@aojmv0008.oracle.com> Changeset: 840330d6d1cb Author: sadayapalam Date: 2018-07-03 13:26 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/840330d6d1cb 8206147: [lworld] Javac crashes with assertion failure while handing withField when field involved is private and of inner type ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java + test/langtools/tools/javac/valhalla/lworld-values/WithFieldAccessorTest.java From tobias.hartmann at oracle.com Tue Jul 3 09:31:19 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 3 Jul 2018 11:31:19 +0200 Subject: RFR(S): 8206245: [lworld] C2 crashes when merging values with different types Message-ID: <05f10c48-75bd-2986-968c-fa6e84ed0d50@oracle.com> Hi, please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8206245 http://cr.openjdk.java.net/~thartmann/8206245/webrev.00/ 1) We hit an assert in Parse::merge_common() with test67 because m is top() and phi is NULL (we are merging into a dead path caused by an uncommon trap). The assert is too strong. I've removed it because we are checking both m and n when calling as_ValueType() anyway. 2) We hit an assert with test67 because we are trying to push ValueTypePtrNodes of different types merged by a Phi node through that phi. We should check if the input types are equal. Thanks, Tobias From srikanth.adayapalam at oracle.com Tue Jul 3 09:51:26 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Tue, 03 Jul 2018 09:51:26 +0000 Subject: hg: valhalla/valhalla: 8205686: [lworld] __WithField seems to have trouble if the value type is a generic type. Message-ID: <201807030951.w639pRcD022826@aojmv0008.oracle.com> Changeset: 32bf267ee453 Author: sadayapalam Date: 2018-07-03 15:21 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/32bf267ee453 8205686: [lworld] __WithField seems to have trouble if the value type is a generic type. ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfGenericType.java From mandy.chung at oracle.com Tue Jul 3 14:39:07 2018 From: mandy.chung at oracle.com (mandy chung) Date: Tue, 3 Jul 2018 07:39:07 -0700 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: <52b366e1-091c-fb0c-48aa-52cbe384764c@oracle.com> References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> <52b366e1-091c-fb0c-48aa-52cbe384764c@oracle.com> Message-ID: <3656147e-5158-8067-87d5-d7923544c312@oracle.com> I see the problem as this is not fully initialized value object. I created https://bugs.openjdk.java.net/browse/JDK-8206274 to track it. Mandy On 7/3/18 12:31 AM, Tobias Hartmann wrote: > Hi Mandy, > > with this patch, I still get a NPE with the following test > > public class Test { > > __ByValue final class MyValue1 { > //__NotFlattened final int x = 42; > final int x = 42; > } > > public void test() { > MyValue1 vt = __MakeDefault MyValue1(); > System.out.println(vt.toString()); > } > > public static void main(String[] args) { > (new Test()).test(); > } > } > > Exception in thread "main" java.lang.NullPointerException > at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) > at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) > at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) > at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) > at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) > at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) > at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) > at java.base/java.lang.invoke.ValueBootstrapMethods.toString(ValueBootstrapMethods.java:236) > at Test$MyValue1.toString(Test.java:4) > at Test.test(Test.java:10) > at Test.main(Test.java:14) > > I get this with both versions (flattened and non-flattened field x). > > Thanks, > Tobias > > On 02.07.2018 18:54, mandy.chung at oracle.com wrote: >> Changeset: 0dd8795826b3 >> Author: mchung >> Date: 2018-07-02 09:53 -0700 >> URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0dd8795826b3 >> >> 8205549: [lworld] Unsafe support for flattened field of value type >> Reviewed-by: psandoz >> >> ! src/hotspot/share/prims/methodHandles.cpp >> ! src/hotspot/share/prims/unsafe.cpp >> ! src/hotspot/share/runtime/reflection.cpp >> ! src/hotspot/share/utilities/accessFlags.hpp >> ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java >> ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java >> ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java >> ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java >> ! src/java.base/share/classes/java/lang/invoke/MemberName.java >> ! src/java.base/share/classes/java/lang/invoke/VarHandles.java >> ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template >> ! src/java.base/share/classes/java/lang/reflect/Modifier.java >> ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java >> ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java >> ! src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java >> ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java >> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java >> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java >> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java >> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java >> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java >> ! test/jdk/valhalla/valuetypes/Line.java >> + test/jdk/valhalla/valuetypes/MethodHandleTest.java >> + test/jdk/valhalla/valuetypes/MutablePath.java >> ! test/jdk/valhalla/valuetypes/ObjectMethods.java >> ! test/jdk/valhalla/valuetypes/Point.java >> ! test/jdk/valhalla/valuetypes/Reflection.java >> From tobias.hartmann at oracle.com Tue Jul 3 14:46:39 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 3 Jul 2018 16:46:39 +0200 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: <3656147e-5158-8067-87d5-d7923544c312@oracle.com> References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> <52b366e1-091c-fb0c-48aa-52cbe384764c@oracle.com> <3656147e-5158-8067-87d5-d7923544c312@oracle.com> Message-ID: <2d2145a1-5252-3878-e046-03b677ce4ca9@oracle.com> Thanks Mandy. Best regards, Tobias On 03.07.2018 16:39, mandy chung wrote: > I see the problem as this is not fully initialized value object.? I created > https://bugs.openjdk.java.net/browse/JDK-8206274 to track it. > > Mandy > > On 7/3/18 12:31 AM, Tobias Hartmann wrote: >> Hi Mandy, >> >> with this patch, I still get a NPE with the following test >> >> public class Test { >> >> ???? __ByValue final class MyValue1 { >> ???????? //__NotFlattened final int x = 42; >> ???????? final int x = 42; >> ???? } >> >> ???? public void test() { >> ???????? MyValue1 vt = __MakeDefault MyValue1(); >> ???????? System.out.println(vt.toString()); >> ???? } >> >> ???? public static void main(String[] args) { >> ???????? (new Test()).test(); >> ???? } >> } >> >> Exception in thread "main" java.lang.NullPointerException >> ????at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) >> ????at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) >> ????at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) >> ????at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) >> ????at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) >> ????at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) >> ????at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) >> ????at java.base/java.lang.invoke.ValueBootstrapMethods.toString(ValueBootstrapMethods.java:236) >> ????at Test$MyValue1.toString(Test.java:4) >> ????at Test.test(Test.java:10) >> ????at Test.main(Test.java:14) >> >> I get this with both versions (flattened and non-flattened field x). >> >> Thanks, >> Tobias >> >> On 02.07.2018 18:54, mandy.chung at oracle.com wrote: >>> Changeset: 0dd8795826b3 >>> Author:??? mchung >>> Date:????? 2018-07-02 09:53 -0700 >>> URL:?????? http://hg.openjdk.java.net/valhalla/valhalla/rev/0dd8795826b3 >>> >>> 8205549: [lworld] Unsafe support for flattened field of value type >>> Reviewed-by: psandoz >>> >>> ! src/hotspot/share/prims/methodHandles.cpp >>> ! src/hotspot/share/prims/unsafe.cpp >>> ! src/hotspot/share/runtime/reflection.cpp >>> ! src/hotspot/share/utilities/accessFlags.hpp >>> ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java >>> ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java >>> ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java >>> ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java >>> ! src/java.base/share/classes/java/lang/invoke/MemberName.java >>> ! src/java.base/share/classes/java/lang/invoke/VarHandles.java >>> ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template >>> ! src/java.base/share/classes/java/lang/reflect/Modifier.java >>> ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java >>> ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java >>> ! src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java >>> ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java >>> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java >>> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java >>> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java >>> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java >>> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java >>> ! test/jdk/valhalla/valuetypes/Line.java >>> + test/jdk/valhalla/valuetypes/MethodHandleTest.java >>> + test/jdk/valhalla/valuetypes/MutablePath.java >>> ! test/jdk/valhalla/valuetypes/ObjectMethods.java >>> ! test/jdk/valhalla/valuetypes/Point.java >>> ! test/jdk/valhalla/valuetypes/Reflection.java >>> From john.r.rose at oracle.com Tue Jul 3 18:44:07 2018 From: john.r.rose at oracle.com (John Rose) Date: Tue, 3 Jul 2018 11:44:07 -0700 Subject: Empty value type ? In-Reply-To: <20424203-0E1C-418E-BAD8-4A09603FCD59@oracle.com> References: <562018221.662106.1530019170659.JavaMail.zimbra@u-pem.fr> <783083966.669860.1530019680824.JavaMail.zimbra@u-pem.fr> <548A46F3-5DF7-4674-A374-5E9DDF0C4C09@gmail.com> <2F97DE9B-80EA-4E10-BE1C-E2924F57DC19@oracle.com> <20424203-0E1C-418E-BAD8-4A09603FCD59@oracle.com> Message-ID: <7CA1D746-9019-4C2D-8666-A146456E520C@oracle.com> I filed an RFE to track and document this issue: https://bugs.openjdk.java.net/browse/JDK-8206305 From mandy.chung at oracle.com Tue Jul 3 21:41:58 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Tue, 03 Jul 2018 21:41:58 +0000 Subject: hg: valhalla/valhalla: 8205437: [lworld] java/lang/invoke/condy/ConstantBootstrapsTest.java fails to compile Message-ID: <201807032141.w63LfxLS008851@aojmv0008.oracle.com> Changeset: efee31ddc695 Author: mchung Date: 2018-07-03 14:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/efee31ddc695 8205437: [lworld] java/lang/invoke/condy/ConstantBootstrapsTest.java fails to compile ! test/jdk/java/lang/invoke/condy/ConstantBootstrapsTest.java From srikanth.adayapalam at oracle.com Wed Jul 4 06:01:18 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Wed, 04 Jul 2018 06:01:18 +0000 Subject: hg: valhalla/valhalla: lworld: Allow empty values under the option -XDallowEmptyValues Message-ID: <201807040601.w6461Ief003253@aojmv0008.oracle.com> Changeset: 31b9bbb46aa9 Author: sadayapalam Date: 2018-07-04 11:31 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/31b9bbb46aa9 lworld: Allow empty values under the option -XDallowEmptyValues ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/valhalla/lworld-values/EmptyValueTest.java + test/langtools/tools/javac/valhalla/lworld-values/EmptyValueTest.out From rwestrel at redhat.com Wed Jul 4 12:42:09 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 04 Jul 2018 14:42:09 +0200 Subject: RFR(S): 8206245: [lworld] C2 crashes when merging values with different types In-Reply-To: <05f10c48-75bd-2986-968c-fa6e84ed0d50@oracle.com> References: <05f10c48-75bd-2986-968c-fa6e84ed0d50@oracle.com> Message-ID: > http://cr.openjdk.java.net/~thartmann/8206245/webrev.00/ Looks ok to me. Roland. From tobias.hartmann at oracle.com Wed Jul 4 12:42:47 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 4 Jul 2018 14:42:47 +0200 Subject: RFR(S): 8206245: [lworld] C2 crashes when merging values with different types In-Reply-To: References: <05f10c48-75bd-2986-968c-fa6e84ed0d50@oracle.com> Message-ID: Thanks Roland. Best regards, Tobias On 04.07.2018 14:42, Roland Westrelin wrote: > >> http://cr.openjdk.java.net/~thartmann/8206245/webrev.00/ > > Looks ok to me. > > Roland. > From tobias.hartmann at oracle.com Wed Jul 4 12:44:11 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Wed, 04 Jul 2018 12:44:11 +0000 Subject: hg: valhalla/valhalla: 8206245: [lworld] C2 crashes when merging values with different types Message-ID: <201807041244.w64CiCPe029949@aojmv0008.oracle.com> Changeset: 1b791424da6b Author: thartmann Date: 2018-07-04 14:43 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1b791424da6b 8206245: [lworld] C2 crashes when merging values with different types Reviewed-by: roland ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/parse1.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java From tobias.hartmann at oracle.com Wed Jul 4 15:09:31 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 4 Jul 2018 17:09:31 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types Message-ID: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> Hi, please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8204615 http://cr.openjdk.java.net/~thartmann/8204615/webrev.00/ Based on [1], I've implemented C2 support for java.lang.Object methods on value types. Most of the changes are required to deoptimize in the slow path for monitorenter on a value type. The problem is that C2 compiled code for monitorenter cannot handle an exception installed by the runtime, so we need to deoptimize the compiled caller if there's a pending exception (see SharedRuntime::complete_monitor_locking_C()). During deoptimization, we need to update the bci in vframeArray.cpp to make sure that we continue execution in the range of the exception handler (see comments around line 210). I'm not sure if all the changes to the deoptimization/locking code are correct but I've added lots of tests and could not find any problems. The changes in graphKit.cpp:1775 are required to handle the case where we optimize a virtual call to a java.lang.Object method on a value type receiver. In this case, we might see a ValueTypePtrNode as receiver argument. Thanks, Tobias [1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-May/004275.html From rwestrel at redhat.com Thu Jul 5 13:18:22 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 05 Jul 2018 15:18:22 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> Message-ID: Hi Tobias, > Based on [1], I've implemented C2 support for java.lang.Object methods on value types. Most of the > changes are required to deoptimize in the slow path for monitorenter on a value type. The problem is > that C2 compiled code for monitorenter cannot handle an exception installed by the runtime, so we > need to deoptimize the compiled caller if there's a pending exception (see > SharedRuntime::complete_monitor_locking_C()). > > During deoptimization, we need to update the bci in vframeArray.cpp to make sure that we continue > execution in the range of the exception handler (see comments around line 210). I'm not sure if all > the changes to the deoptimization/locking code are correct but I've added lots of tests and could > not find any problems. After deoptimization, is the monitorenter re-executed by the interpreter? Do we deoptimize with a pending exception? Roland. From tobias.hartmann at oracle.com Thu Jul 5 13:56:17 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 5 Jul 2018 15:56:17 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> Message-ID: <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> Hi Roland, On 05.07.2018 15:18, Roland Westrelin wrote: > After deoptimization, is the monitorenter re-executed by the > interpreter? No, it's not re-executed. > Do we deoptimize with a pending exception? Yes, we deoptimize with the pending exception that was installed by CHECK_THROW_NOSYNC_IMSE if the obj is a value type (i.e., always locked) in synchronizer.cpp. Thanks, Tobias From rwestrel at redhat.com Thu Jul 5 14:36:01 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 05 Jul 2018 16:36:01 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> Message-ID: > Yes, we deoptimize with the pending exception that was installed by CHECK_THROW_NOSYNC_IMSE if the > obj is a value type (i.e., always locked) in synchronizer.cpp. Wouldn't it be simpler to clear the exception, deoptimize and let the interpreter re-execute the monitorenter and throw the exception? Roland. From tobias.hartmann at oracle.com Thu Jul 5 14:48:04 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 5 Jul 2018 16:48:04 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> Message-ID: <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> On 05.07.2018 16:36, Roland Westrelin wrote: >> Yes, we deoptimize with the pending exception that was installed by CHECK_THROW_NOSYNC_IMSE if the >> obj is a value type (i.e., always locked) in synchronizer.cpp. > > Wouldn't it be simpler to clear the exception, deoptimize and let the > interpreter re-execute the monitorenter and throw the exception? I've tried that when prototyping but it didn't work (I don't remember why). Let me try again. Thanks, Tobias From mandy.chung at oracle.com Thu Jul 5 16:02:34 2018 From: mandy.chung at oracle.com (mandy chung) Date: Thu, 5 Jul 2018 09:02:34 -0700 Subject: Review Request JDK-8206121: [lworld] ensure non-nullable on setting value field via reflection and VarHandle Message-ID: <94dc8351-b11c-d48f-dccd-4cb29947354e@oracle.com> Webrev at: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8206121/webrev.00 Add null check in value field access in LambdaForm for DMH and VarHandle. For DMH, a new FT_CHECK_VALUE kind indicates that a value field requires a null check. A value may be flattened or non-flattened that will use the linker method with and without the field type. So adjust the way to compute the index to the ACCESSOR_FORMS cache as it will have a different LF for flattened and non-flattened value field. The test verifies nullability and immutability. Mandy From harold.seigel at oracle.com Thu Jul 5 18:04:49 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Thu, 5 Jul 2018 14:04:49 -0400 Subject: [LWORLD] fix test ./test/hotspot/jtreg/runtime/valhalla/valuetypes/Empty.java Message-ID: Hi, Please review this small fix to enable hotspot JTRegtest valhalla/valuetypes/Empty.java to compile: Open Webrev: http://cr.openjdk.java.net/~hseigel/lwordEmptyTest/webrev/ Thanks, Harold ** From forax at univ-mlv.fr Thu Jul 5 18:12:36 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Thu, 05 Jul 2018 18:12:36 +0000 Subject: [LWORLD] fix test ./test/hotspot/jtreg/runtime/valhalla/valuetypes/Empty.java In-Reply-To: References: Message-ID: Looks good. R?mi On July 5, 2018 6:04:49 PM UTC, Harold David Seigel wrote: >Hi, > >Please review this small fix to enable hotspot JTRegtest >valhalla/valuetypes/Empty.java to compile: > >Open Webrev: http://cr.openjdk.java.net/~hseigel/lwordEmptyTest/webrev/ > >Thanks, Harold >** -- Sent from my Android device with K-9 Mail. Please excuse my brevity. From harold.seigel at oracle.com Thu Jul 5 18:14:37 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Thu, 5 Jul 2018 14:14:37 -0400 Subject: [LWORLD] fix test ./test/hotspot/jtreg/runtime/valhalla/valuetypes/Empty.java In-Reply-To: References: Message-ID: Thanks Remi! Harold On 7/5/2018 2:12 PM, Remi Forax wrote: > Looks good. > > R?mi > > > On July 5, 2018 6:04:49 PM UTC, Harold David Seigel > wrote: > > Hi, > > Please review this small fix to enable hotspot JTRegtest > valhalla/valuetypes/Empty.java to compile: > > Open Webrev:http://cr.openjdk.java.net/~hseigel/lwordEmptyTest/webrev/ > > > Thanks, Harold > ** > > > -- > Sent from my Android device with K-9 Mail. Please excuse my brevity. From harold.seigel at oracle.com Thu Jul 5 18:18:07 2018 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Thu, 05 Jul 2018 18:18:07 +0000 Subject: hg: valhalla/valhalla: Summary: Add -XDallowEmptyValues to JTReg test .../valuetypes/Empty.java so it will compile Message-ID: <201807051818.w65II81h029663@aojmv0008.oracle.com> Changeset: afd996f10a3b Author: hseigel Date: 2018-07-05 14:17 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/afd996f10a3b Summary: Add -XDallowEmptyValues to JTReg test .../valuetypes/Empty.java so it will compile Reviewed-by: forax ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Empty.java From paul.sandoz at oracle.com Thu Jul 5 18:29:54 2018 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 5 Jul 2018 11:29:54 -0700 Subject: Review Request JDK-8206121: [lworld] ensure non-nullable on setting value field via reflection and VarHandle In-Reply-To: <94dc8351-b11c-d48f-dccd-4cb29947354e@oracle.com> References: <94dc8351-b11c-d48f-dccd-4cb29947354e@oracle.com> Message-ID: <50EBA968-DD6A-404A-9C3E-BCF930288CEF@oracle.com> Hi Mandy, It looks reasonable as an initial solution but i think the right long term solution should be for Class.cast to fail. Perhaps that is already tracked under a different issue? Both the VarHandle code and the LF code perform cast checks for refs so we should be able to piggy back off them for values without an explicit null check. MethodHandleTest.java ? 130 if (c.isValue()) 131 ensureImmutable(f); 132 else 133 ensureNullableOrNot(f); 134 } s/ensureImmutable/ensureNonNullable/ s/ensureNullableOrNot/ensureNullable/ ? AFAICT you are not checking finality of a value type held in a ref but the the assignment of null. Paul. > On Jul 5, 2018, at 9:02 AM, mandy chung wrote: > > Webrev at: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8206121/webrev.00 > > Add null check in value field access in LambdaForm for DMH and VarHandle. For DMH, a new FT_CHECK_VALUE kind indicates that > a value field requires a null check. A value may be flattened > or non-flattened that will use the linker method with and without > the field type. So adjust the way to compute the index to the > ACCESSOR_FORMS cache as it will have a different LF for flattened > and non-flattened value field. The test verifies nullability > and immutability. > > Mandy From forax at univ-mlv.fr Thu Jul 5 18:47:26 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Thu, 5 Jul 2018 20:47:26 +0200 (CEST) Subject: hg: valhalla/valhalla: 8205686: [lworld] __WithField seems to have trouble if the value type is a generic type. In-Reply-To: <201807030951.w639pRcD022826@aojmv0008.oracle.com> References: <201807030951.w639pRcD022826@aojmv0008.oracle.com> Message-ID: <1269593138.1537030.1530816446325.JavaMail.zimbra@u-pem.fr> Just to confirm that this fix works :) R?mi ----- Mail original ----- > De: "Srikanth" > ?: "valhalla-dev" > Envoy?: Mardi 3 Juillet 2018 11:51:26 > Objet: hg: valhalla/valhalla: 8205686: [lworld] __WithField seems to have trouble if the value type is a generic type. > Changeset: 32bf267ee453 > Author: sadayapalam > Date: 2018-07-03 15:21 +0530 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/32bf267ee453 > > 8205686: [lworld] __WithField seems to have trouble if the value type is a > generic type. > > ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java > + test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfGenericType.java From rwestrel at redhat.com Thu Jul 5 18:56:41 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 05 Jul 2018 20:56:41 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> Message-ID: > I've tried that when prototyping but it didn't work (I don't remember > why). Let me try again. The monitorenter debug info doesn't include the object being locked so that can't work. Roland. From mandy.chung at oracle.com Fri Jul 6 05:44:36 2018 From: mandy.chung at oracle.com (mandy chung) Date: Thu, 5 Jul 2018 22:44:36 -0700 Subject: Review Request JDK-8206121: [lworld] ensure non-nullable on setting value field via reflection and VarHandle In-Reply-To: <50EBA968-DD6A-404A-9C3E-BCF930288CEF@oracle.com> References: <94dc8351-b11c-d48f-dccd-4cb29947354e@oracle.com> <50EBA968-DD6A-404A-9C3E-BCF930288CEF@oracle.com> Message-ID: <21590c2d-a86f-472c-bff7-f74ad680d1f0@oracle.com> Frederic points out that only ACC_FLATTENABLE field whose type is listed in ValueTypes attribute is non-nullable and a field of value type may be nullable in LW1 (e.g. static value field). I have revised the patch to be consistent with JVMS. Updated webrev: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8206121/webrev.01/index.html MemberName::isFlattenable and Field::isFlattenable only looks at the modifiers/flags set by the JVM. Frederic - I believe the type of the field has been resolved and validated with the field's declaring class's ValueTypes attribute. Is that correct? Therefore the library does not inspect ValueTypes attribute. VarHandleObjects.ValueFieldReadOnly and ValueFieldReadWrite classes may be better to rename to FlatValueFieldReadOnly and FlatValueFieldReadWrite to be explicit. I can do it another day. Comments inlined below. On 7/5/18 11:29 AM, Paul Sandoz wrote: > Hi Mandy, > > It looks reasonable as an initial solution but i think the right long > term solution should be for Class.cast to fail. Perhaps that is > already tracked under a different issue? As we chatted offline, a non-flattenable field of a value type does not need the null check. For example C.f of type T and T is not value type when compiled and hence C.f is not flattenable. T can be combined later separately as a value type. In that case, C.f is nullable. > Both the VarHandle code and the LF code perform cast checks for refs > so we should be able to piggy back off them for values without an > explicit null check. That's a good suggestion. I added ValueAccessor and StaticValueAccessor subclass of the ref accessor class to override checkCast method. No need to change LF code. > > s/ensureImmutable/ensureNonNullable/ It's checking immutability that throws IAE (UOE for VarHandle case). I changed the test to the field to non-null that may help avoid the confusion. > s/ensureNullableOrNot/ensureNullable/ +1 > ? AFAICT you are not checking finality of a value type held in a ref > but the the assignment of null. I'll add that. Mandy From tobias.hartmann at oracle.com Fri Jul 6 07:22:41 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 6 Jul 2018 09:22:41 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> Message-ID: Hi Roland, On 05.07.2018 20:56, Roland Westrelin wrote: > The monitorenter debug info doesn't include the object being locked so > that can't work. Yes, I've tried again and I get all kinds of crashes. I think we could make it work by changing the debug info for monitorenter but it's definitely more complex than my webrev.00. We already deoptimize with a pending exception for other runtime calls, for example, OptoRuntime::new_instance_C -> deoptimize_caller_frame. The difference here is that monitorenter is usually not expected to throw an exception in the slow path. Since this is one of the last missing pieces for LW1, I would like to push the patch and enhance it later if we find a better way. What do you think? Thanks, Tobias From rwestrel at redhat.com Fri Jul 6 08:51:56 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 06 Jul 2018 10:51:56 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> Message-ID: Hi Tobias, > Yes, I've tried again and I get all kinds of crashes. I think we could make it work by changing the > debug info for monitorenter but it's definitely more complex than my webrev.00. If the method is deoptimized once the the monitor is being locked (by a concurrent class loading), then we would not want to reexecute the bytecode. Not sure if we can have a single bytecode where sometimes we want to reexecute the bytecode, sometimes not. > Since this is one of the last missing pieces for LW1, I would like to push the patch and enhance it > later if we find a better way. What do you think? Sure. The thing I still don't understand is why the bci of the monitorenter, given it can throw, is not included in the range covered by the exception handler. Shouldn't it be? Roland. From tobias.hartmann at oracle.com Fri Jul 6 10:26:41 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 6 Jul 2018 12:26:41 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> Message-ID: <171610ec-3b94-b2c6-b799-d22336ddabf1@oracle.com> Hi Roland, On 06.07.2018 10:51, Roland Westrelin wrote: > If the method is deoptimized once the the monitor is being locked (by a > concurrent class loading), then we would not want to reexecute the > bytecode. Not sure if we can have a single bytecode where sometimes we > want to reexecute the bytecode, sometimes not. Yes, we would need to be able to control re-execution from the runtime and only re-execute if we deoptimize due to an exception when trying to lock on a value type. Sounds complicated. > Sure. The thing I still don't understand is why the bci of the > monitorenter, given it can throw, is not included in the range covered > by the exception handler. Shouldn't it be? I'm not sure either but if I don't increment the bci, for example test76 fails with: Caused by: java.lang.IllegalMonitorStateException at compiler.valhalla.valuetypes.TestLWorld.test76(TestLWorld.java:2066) at compiler.valhalla.valuetypes.TestLWorld.test76_verifier(TestLWorld.java:2073) ... 6 more In the interpreter, we increment rbcp as well before locking the object which may throw: // Increment bcp to point to the next bytecode, so exception // handling for async. exceptions work correctly. // The object has already been poped from the stack, so the // expression stack looks correct. __ increment(rbcp); [...] __ lock_object(rmon); http://hg.openjdk.java.net/valhalla/valhalla/file/afd996f10a3b/src/hotspot/cpu/x86/templateTable_x86.cpp#l4788 But I'm not sure why that is necessary.. Best regards, Tobias From rwestrel at redhat.com Fri Jul 6 13:17:26 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 06 Jul 2018 15:17:26 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: <171610ec-3b94-b2c6-b799-d22336ddabf1@oracle.com> References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> <171610ec-3b94-b2c6-b799-d22336ddabf1@oracle.com> Message-ID: >> Sure. The thing I still don't understand is why the bci of the >> monitorenter, given it can throw, is not included in the range covered >> by the exception handler. Shouldn't it be? > > I'm not sure either but if I don't increment the bci, for example test76 fails with: > Caused by: java.lang.IllegalMonitorStateException > at compiler.valhalla.valuetypes.TestLWorld.test76(TestLWorld.java:2066) > at compiler.valhalla.valuetypes.TestLWorld.test76_verifier(TestLWorld.java:2073) > ... 6 more It seems it tries to unlock the monitor that's not locked because it thinks it's locked but it finds it's not locked? Debug info includes monitors that are locked. Given debug info for monitorenter includes the execution of that bytecode, the monitor that can't be locked is included in that list. I wonder if that messes things up on deoptimization (where locked monitors are pushed on the interpreter stack). Roland. From paul.sandoz at oracle.com Fri Jul 6 20:19:26 2018 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Fri, 6 Jul 2018 13:19:26 -0700 Subject: Review Request JDK-8206121: [lworld] ensure non-nullable on setting value field via reflection and VarHandle In-Reply-To: <21590c2d-a86f-472c-bff7-f74ad680d1f0@oracle.com> References: <94dc8351-b11c-d48f-dccd-4cb29947354e@oracle.com> <50EBA968-DD6A-404A-9C3E-BCF930288CEF@oracle.com> <21590c2d-a86f-472c-bff7-f74ad680d1f0@oracle.com> Message-ID: <0570A109-3E28-46F4-ADA7-34671311176C@oracle.com> > On Jul 5, 2018, at 10:44 PM, mandy chung wrote: > > Frederic points out that only ACC_FLATTENABLE field whose type is listed > in ValueTypes attribute is non-nullable and a field of value type may be nullable in LW1 (e.g. static value field). I have revised the patch to > be consistent with JVMS. > Ok, i see (thanks Frederic for explaining), your patch looks good with regards to the consistency of the current runtime design and behavior (operating on a flattenable flattened (!) field). That?s good progress IMHO. (Also i realize my point about Class.cast is wrong, i don?t see how that could work since it lacks the context of what classes are present in the ValueTypes attribute.) ? However, AFAICT, with this design it does appear to introduce a discrepancy between the language and the runtime. Perhaps this is something to tackle after LW1? The runtime appears to be assuming non-nullability and flattenability are one and the same thing rather than non-nullability being a dominant property that, among other value type properties, enables the emergent runtime property of flattening. Further, the runtime could choose to not flatten depending on certain size constraints, such as the number of fields in a value type, where as presumably it cannot choose to allow not not-null. This suggests to me ACC_FLATTENABLE is redundant, non-nullablity and therefore flattenability can be determined from presence of a field's type in the ValuesTypes attribute (and the same runtime constraints on flattening would still apply). At the language level i would expect a strong guarantee (placing aside emotional types and backwards compatibility) that a value should never be null, but the runtime currently makes this ambiguous. For example: __ByValue class V { ? void operate(V v) { // is v null? // ... } } class A { static V sfv = V.makeV(); V fv = V.makeV(); void fiddle() { // attempt to assign null to fields sfv, and fv // ... } } // separate compilation unit to A // the developer knows nothing about ACC_FLATTENABLE of fields of A class B { void b(A a) { a.fiddle(); // Javac currently does not allow assignment to null // All the following cause a compilation failure // a.sfv = null; // a.fv = null; // V v1 = null; V v1 = a.sfv; // is v1 null? V v2 = a.fv; // is v2 null? b(v1, v2); b(v2, v1); } void b(V v1, V v2) { v1.operate(v2); // NPE on null receiver v1? } } Paul. > Updated webrev: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8206121/webrev.01/index.html > > MemberName::isFlattenable and Field::isFlattenable only looks at the > modifiers/flags set by the JVM. Frederic - I believe the type of > the field has been resolved and validated with the field's declaring > class's ValueTypes attribute. Is that correct? Therefore the library > does not inspect ValueTypes attribute. > > VarHandleObjects.ValueFieldReadOnly and ValueFieldReadWrite classes > may be better to rename to FlatValueFieldReadOnly and > FlatValueFieldReadWrite to be explicit. I can do it another day. > > Comments inlined below. > > On 7/5/18 11:29 AM, Paul Sandoz wrote: >> Hi Mandy, >> It looks reasonable as an initial solution but i think the right long >> term solution should be for Class.cast to fail. Perhaps that is >> already tracked under a different issue? > > As we chatted offline, a non-flattenable field of a value type does not > need the null check. For example C.f of type T and T is not value type > when compiled and hence C.f is not flattenable. T can be combined later > separately as a value type. In that case, C.f is nullable. > >> Both the VarHandle code and the LF code perform cast checks for refs >> so we should be able to piggy back off them for values without an >> explicit null check. > > That's a good suggestion. I added ValueAccessor and StaticValueAccessor > subclass of the ref accessor class to override checkCast method. No > need to change LF code. > > >> s/ensureImmutable/ensureNonNullable/ > > It's checking immutability that throws IAE (UOE for VarHandle case). > I changed the test to the field to non-null that may help avoid the > confusion. > >> s/ensureNullableOrNot/ensureNullable/ > > +1 > >> ? AFAICT you are not checking finality of a value type held in a ref >> but the the assignment of null. > > I'll add that. > > Mandy From frederic.parain at oracle.com Fri Jul 6 20:26:47 2018 From: frederic.parain at oracle.com (Frederic Parain) Date: Fri, 6 Jul 2018 16:26:47 -0400 Subject: RFR: Value types consistency checks In-Reply-To: <4E9AA19D-1954-4838-896E-3E2D8D1A8A81@oracle.com> References: <71EB54F5-FAA9-4A9F-AEF7-DC1E756DF7E0@oracle.com> <4E9AA19D-1954-4838-896E-3E2D8D1A8A81@oracle.com> Message-ID: <98D40945-3D6C-4656-98C7-A1B72904BEBA@oracle.com> Karen, Thank you for the review. Here?s a updated version of the patch: http://cr.openjdk.java.net/~fparain/VTAttributeChecks/webrev.02/index.html I?ve added support for declarer/overrider checks, fixed a few bugs and added asserts to check ?L? in array signatures. I?ve tried to generate ValueTypes attribute meta-data only when EnableValhalla was set to true, unfortunately, it causes some failures with verifier tests. I?ll look at his in more details after my vacations. Testing is tricky, I?m currently using some Java source files and a script to test mismatch scenarios, but in their current form, they cannot be integrated with jtreg. I?ve attached the test files to this mail if you want to use them. Regards, Fred -------------- next part -------------- > On Jun 29, 2018, at 16:51, Karen Kinnear wrote: > > Frederic, > > Many thanks for doing this and doing this so cleanly. > > Couple of questions: > 1. instanceKlass.cpp: > if (has_value_types_attribute) line 632 ? does this want to also be if EnableValhalla? > my understanding is that extra attributes are ignored so classFileParser should just allow them > > 2. instanceKlass.cpp check_symbol/signature_for_value_types_consistency > In the array part, did you want to check for ?L? or is that just me being over cautious? > > 3. klassVtable.cpp > In update_inherited_vtable when you override a method (this is the vtable part), > there is a if (check constraints & !targer_method()->is_overpass() - which needs > a declarer/overridder match check. Also in initialize_itable_for_interface under if (check constraints) > > 4. Thank you for adding the ValueTypes attributes in the class files for the tests. > Did you add any tests that fail consistency? > > many thanks, > Karen > >> On Jun 28, 2018, at 4:38 PM, Frederic Parain wrote: >> >> Please review this changeset implementing consistency checks based on the >> ValueTypes attribute. These checks ensure that the assumptions a class has >> about value types, as encoded in its ValueTypes attribute, match the >> reality, or the assumptions of another class it links to. >> >> The details of the consistency checks have been summarized by Karen in >> this document: >> http://cr.openjdk.java.net/~acorn/value-types-consistency-checking-details.pdf >> >> If the implementation doesn?t match the document, this is likely to be bug, >> so please, report it. >> >> Some tests using the Bytecodes API have been updated to include a >> ValueTypes attribute in the class files they generate (thanks to Srikanth >> for adding this feature to the Bytecodes API). >> >> Webrev: >> http://cr.openjdk.java.net/~fparain/VTAttributeChecks/webrev.01/ >> >> Thank you, >> >> Fred >> > From mandy.chung at oracle.com Fri Jul 6 21:28:44 2018 From: mandy.chung at oracle.com (mandy chung) Date: Fri, 6 Jul 2018 14:28:44 -0700 Subject: Review Request JDK-8206121: [lworld] ensure non-nullable on setting value field via reflection and VarHandle In-Reply-To: <0570A109-3E28-46F4-ADA7-34671311176C@oracle.com> References: <94dc8351-b11c-d48f-dccd-4cb29947354e@oracle.com> <50EBA968-DD6A-404A-9C3E-BCF930288CEF@oracle.com> <21590c2d-a86f-472c-bff7-f74ad680d1f0@oracle.com> <0570A109-3E28-46F4-ADA7-34671311176C@oracle.com> Message-ID: <18039ac8-073b-d759-0efa-28bacec155b5@oracle.com> On 7/6/18 1:19 PM, Paul Sandoz wrote: > Ok, i see (thanks Frederic for explaining), your patch looks good > with regards to the consistency of the current runtime design and > behavior (operating on a flattenable flattened (!) field). That?s > good progress IMHO. FYI. I have renamed s/isFlattened/isFlatValue and the nested classes in VarHandleObjects to make it easier to read and differentiate the differences [1]. Mandy [1] http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8206121/webrev.02/index.html From mandy.chung at oracle.com Fri Jul 6 21:29:36 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Fri, 06 Jul 2018 21:29:36 +0000 Subject: hg: valhalla/valhalla: 8206121: [lworld] ensure non-nullable on setting value field via reflection and VarHandle Message-ID: <201807062129.w66LTbOF029617@aojmv0008.oracle.com> Changeset: 46092c6022e3 Author: mchung Date: 2018-07-06 14:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/46092c6022e3 8206121: [lworld] ensure non-nullable on setting value field via reflection and VarHandle Reviewed-by: psandoz ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template ! src/java.base/share/classes/java/lang/reflect/Modifier.java ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java ! src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java ! test/jdk/valhalla/valuetypes/MethodHandleTest.java From john.r.rose at oracle.com Sat Jul 7 06:38:33 2018 From: john.r.rose at oracle.com (John Rose) Date: Fri, 6 Jul 2018 23:38:33 -0700 Subject: RFR: Value types consistency checks In-Reply-To: <98D40945-3D6C-4656-98C7-A1B72904BEBA@oracle.com> References: <71EB54F5-FAA9-4A9F-AEF7-DC1E756DF7E0@oracle.com> <4E9AA19D-1954-4838-896E-3E2D8D1A8A81@oracle.com> <98D40945-3D6C-4656-98C7-A1B72904BEBA@oracle.com> Message-ID: <7D8F241E-9CFC-4EE1-8F25-890D2BEB832F@oracle.com> Reviewed. Looks good; ship it! The class loader constraint checks and value type consistency checks should be factored together more closely. I noticed this when I had to manually check each of the six places where CLC checks are initiated in linkResolver.cpp and klassVTable.cpp. Each of those places need to initiate value type consistency checks also?and they do. But the code would hang together better if these two tasks were more aligned, so that both kinds of consistency checks were handled by one subroutine call. I would also put the field and method versions of signature checking together; they don't differ much and it's trivial to decide what to do given the signature symbol based on a boolean. This is what the common checking logic routine does (SD:: check_signature_loaders), so pull that pattern up the call chain. I suggest renaming check_method_loader_constraints to something like check_linkage_constraints, and then inlining and removing the new function check_method_value_types_consistency. I also suggest refactoring check_field_loader_constraints so that it calls the same function check_linkage_constraints, with a boolean is_method of false (true for the other calls) just like SD::csl. This will pay off some technical debt relating to loader constraints, as well as folding in VT checks almost for free. What I'm asking for is some code cleanup, not a change to this patch. I'm glad to see this moving forward as-is. One other topic prompted by this review, and by thinking about factoring: The question about whether to constrain arrays is an interesting one. There are two answers: Require agreement about value-ness of the array element, or don't require. The answers can be given independently in two places: When stuffing vtable/itable slots (klassVT), and when linking method/field calls (linkRes). In the end I think simpler is better, so unless we have a strong reason, we should not require value-ness consistency of array elements. I seem to remember that there *might* have been a pretty strong reason suggested at one point, but I don't remember it (and it's late, in a holiday week). If in the end we can't state a very sharp reason why array elements need to be constrained across classfiles, then we should drop value-type constraints. In the end, if two classes are sharing access to a single array (via a non-null reference), that array will be the "source of truth" about value-ness, and there's probably not much point in having the classes confer ahead of time about the array. For non-array values, the early conference is necessary in order to fix call-by-value calling sequences. But arrays are passed by reference, regardless of element type: reference, primitive, or value. Thus, agreement about the status of their elements is less valuable than agreement of the basic shape of each argument and return value. If we take the simple answer, after all, or if we decide to check array elements in *both* places, then we should consider refactoring the signature scanning and error reporting code in linkRes and klassVT so that it is in common. Perhaps it can factor all the way up to the function InstanceKlass::check_value_type_consistency (which I am imagining would handle both field and method types). Or maybe it can be pushed to SystemDictionary and live with the SD::csl. ? John On Jul 6, 2018, at 1:26 PM, Frederic Parain wrote: > > Karen, > > Thank you for the review. > > Here?s a updated version of the patch: > http://cr.openjdk.java.net/~fparain/VTAttributeChecks/webrev.02/index.html > > I?ve added support for declarer/overrider checks, fixed a few bugs and > added asserts to check ?L? in array signatures. > > I?ve tried to generate ValueTypes attribute meta-data only when > EnableValhalla was set to true, unfortunately, it causes some > failures with verifier tests. I?ll look at his in more details after > my vacations. > > Testing is tricky, I?m currently using some Java source files > and a script to test mismatch scenarios, but in their current > form, they cannot be integrated with jtreg. I?ve attached the > test files to this mail if you want to use them. > > Regards, > > Fred > > > > >> On Jun 29, 2018, at 16:51, Karen Kinnear wrote: >> >> Frederic, >> >> Many thanks for doing this and doing this so cleanly. >> >> Couple of questions: >> 1. instanceKlass.cpp: >> if (has_value_types_attribute) line 632 ? does this want to also be if EnableValhalla? >> my understanding is that extra attributes are ignored so classFileParser should just allow them >> >> 2. instanceKlass.cpp check_symbol/signature_for_value_types_consistency >> In the array part, did you want to check for ?L? or is that just me being over cautious? >> >> 3. klassVtable.cpp >> In update_inherited_vtable when you override a method (this is the vtable part), >> there is a if (check constraints & !targer_method()->is_overpass() - which needs >> a declarer/overridder match check. Also in initialize_itable_for_interface under if (check constraints) >> >> 4. Thank you for adding the ValueTypes attributes in the class files for the tests. >> Did you add any tests that fail consistency? >> >> many thanks, >> Karen >> >>> On Jun 28, 2018, at 4:38 PM, Frederic Parain wrote: >>> >>> Please review this changeset implementing consistency checks based on the >>> ValueTypes attribute. These checks ensure that the assumptions a class has >>> about value types, as encoded in its ValueTypes attribute, match the >>> reality, or the assumptions of another class it links to. >>> >>> The details of the consistency checks have been summarized by Karen in >>> this document: >>> http://cr.openjdk.java.net/~acorn/value-types-consistency-checking-details.pdf >>> >>> If the implementation doesn?t match the document, this is likely to be bug, >>> so please, report it. >>> >>> Some tests using the Bytecodes API have been updated to include a >>> ValueTypes attribute in the class files they generate (thanks to Srikanth >>> for adding this feature to the Bytecodes API). >>> >>> Webrev: >>> http://cr.openjdk.java.net/~fparain/VTAttributeChecks/webrev.01/ >>> >>> Thank you, >>> >>> Fred >>> >> > From tobias.hartmann at oracle.com Mon Jul 9 13:03:19 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 9 Jul 2018 15:03:19 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> <171610ec-3b94-b2c6-b799-d22336ddabf1@oracle.com> Message-ID: <204bf91a-259f-0159-b410-ac29f482c686@oracle.com> Hi Roland, as we've discussed off-thread I added a runtime check for now to avoid the potentially unstable changes to the deoptimization code: http://cr.openjdk.java.net/~thartmann/8204615/webrev.01/ We can improve this later by either moving the guard to the macro expansion phase or improve webrev.00 once we understand why these changes are necessary. I'll file a RFE for that. I've also re-enabled the hashCode tests and removed the PrintInlining flag from the tests because it's not needed and increases test output and runtime significantly. All tests pass. Thanks, Tobias On 06.07.2018 15:17, Roland Westrelin wrote: > >>> Sure. The thing I still don't understand is why the bci of the >>> monitorenter, given it can throw, is not included in the range covered >>> by the exception handler. Shouldn't it be? >> >> I'm not sure either but if I don't increment the bci, for example test76 fails with: >> Caused by: java.lang.IllegalMonitorStateException >> at compiler.valhalla.valuetypes.TestLWorld.test76(TestLWorld.java:2066) >> at compiler.valhalla.valuetypes.TestLWorld.test76_verifier(TestLWorld.java:2073) >> ... 6 more > > It seems it tries to unlock the monitor that's not locked because it > thinks it's locked but it finds it's not locked? > > Debug info includes monitors that are locked. Given debug info for > monitorenter includes the execution of that bytecode, the monitor that > can't be locked is included in that list. I wonder if that messes things > up on deoptimization (where locked monitors are pushed on the > interpreter stack). > > Roland. > From rwestrel at redhat.com Mon Jul 9 13:14:59 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 09 Jul 2018 15:14:59 +0200 Subject: RFR: 8206904: [lworld] fix Unsafe get* with value types Message-ID: http://cr.openjdk.java.net/~roland/8206904/webrev.00/ This fixes the existing Unsafe.get* methods so they can be used to read fields from a value. This doesn't add new intrinsics for the new Unsafe.get* methods. Roland. From rwestrel at redhat.com Mon Jul 9 13:18:16 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 09 Jul 2018 15:18:16 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: <204bf91a-259f-0159-b410-ac29f482c686@oracle.com> References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> <171610ec-3b94-b2c6-b799-d22336ddabf1@oracle.com> <204bf91a-259f-0159-b410-ac29f482c686@oracle.com> Message-ID: > http://cr.openjdk.java.net/~thartmann/8204615/webrev.01/ That looks good to me. Roland. From tobias.hartmann at oracle.com Mon Jul 9 13:19:30 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 9 Jul 2018 15:19:30 +0200 Subject: RFR(M): 8204615: [lworld] C2 support for java.lang.Object methods on value types In-Reply-To: References: <4f0e40e3-2287-917f-c060-302e9ab12419@oracle.com> <45d52c64-f1df-ab75-0f5d-0c6b76a7d352@oracle.com> <5e4a5105-3581-c7a1-aa43-f4de7c043608@oracle.com> <171610ec-3b94-b2c6-b799-d22336ddabf1@oracle.com> <204bf91a-259f-0159-b410-ac29f482c686@oracle.com> Message-ID: <46719da7-f1db-99d5-e441-cbcb9654b060@oracle.com> Thanks, Roland! Tobias On 09.07.2018 15:18, Roland Westrelin wrote: > >> http://cr.openjdk.java.net/~thartmann/8204615/webrev.01/ > > That looks good to me. > > Roland. > From tobias.hartmann at oracle.com Mon Jul 9 13:21:16 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Mon, 09 Jul 2018 13:21:16 +0000 Subject: hg: valhalla/valhalla: 8204615: [lworld] C2 support for java.lang.Object methods on value types Message-ID: <201807091321.w69DLHvX029792@aojmv0008.oracle.com> Changeset: 8fcfd93be23c Author: thartmann Date: 2018-07-09 15:20 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8fcfd93be23c 8204615: [lworld] C2 support for java.lang.Object methods on value types Reviewed-by: roland ! src/hotspot/share/oops/klass.inline.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/macro.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ObjectMethods.java From tobias.hartmann at oracle.com Mon Jul 9 13:35:46 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 9 Jul 2018 15:35:46 +0200 Subject: RFR: 8206904: [lworld] fix Unsafe get* with value types In-Reply-To: References: Message-ID: <86c8e116-70b2-74b2-b0c1-7f4b19d958f4@oracle.com> Hi Roland, in TestIntrinsics::test20_verifier(), 'h' is not used and there is an excess whitespace in line 363. Why do you need the (long)(int) cast in library_call.cpp? Thanks, Tobias On 09.07.2018 15:14, Roland Westrelin wrote: > > http://cr.openjdk.java.net/~roland/8206904/webrev.00/ > > This fixes the existing Unsafe.get* methods so they can be used to read > fields from a value. This doesn't add new intrinsics for the new > Unsafe.get* methods. > > Roland. > From rwestrel at redhat.com Mon Jul 9 13:43:15 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 09 Jul 2018 15:43:15 +0200 Subject: RFR: 8206904: [lworld] fix Unsafe get* with value types In-Reply-To: <86c8e116-70b2-74b2-b0c1-7f4b19d958f4@oracle.com> References: <86c8e116-70b2-74b2-b0c1-7f4b19d958f4@oracle.com> Message-ID: Hi Tobias, > in TestIntrinsics::test20_verifier(), 'h' is not used and there is an excess whitespace in line 363. Ok. > Why do you need the (long)(int) cast in library_call.cpp? A giant offset, once truncated to int, could still pass: vk->contains_field_offset(off). Roland. From tobias.hartmann at oracle.com Mon Jul 9 13:45:58 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 9 Jul 2018 15:45:58 +0200 Subject: RFR: 8206904: [lworld] fix Unsafe get* with value types In-Reply-To: References: <86c8e116-70b2-74b2-b0c1-7f4b19d958f4@oracle.com> Message-ID: <33091b96-0a12-736f-4f62-5db515fb2567@oracle.com> Hi Roland, On 09.07.2018 15:43, Roland Westrelin wrote: >> Why do you need the (long)(int) cast in library_call.cpp? > > A giant offset, once truncated to int, could still pass: > vk->contains_field_offset(off). Right, thanks for the explanation. Looks good. Tobias From rwestrel at redhat.com Mon Jul 9 14:18:02 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 09 Jul 2018 16:18:02 +0200 Subject: RFR: 8206904: [lworld] fix Unsafe get* with value types In-Reply-To: <33091b96-0a12-736f-4f62-5db515fb2567@oracle.com> References: <86c8e116-70b2-74b2-b0c1-7f4b19d958f4@oracle.com> <33091b96-0a12-736f-4f62-5db515fb2567@oracle.com> Message-ID: > Right, thanks for the explanation. Looks good. Thanks. Roland. From rwestrel at redhat.com Mon Jul 9 14:42:38 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Mon, 09 Jul 2018 14:42:38 +0000 Subject: hg: valhalla/valhalla: 8206904: [lworld] fix Unsafe get* with value types Message-ID: <201807091442.w69Egdcw029462@aojmv0008.oracle.com> Changeset: 7405ce3f56ee Author: roland Date: 2018-07-09 15:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7405ce3f56ee 8206904: [lworld] fix Unsafe get* with value types Reviewed-by: ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java From harold.seigel at oracle.com Mon Jul 9 20:53:55 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Mon, 9 Jul 2018 16:53:55 -0400 Subject: valhalla/valhalla repo Message-ID: <37486ba6-0d16-89a3-c2c6-14476fd62367@oracle.com> Hi, Tomorrow morning (10-Jul), I plan to update the open valhalla/valhalla repo with today's http://hg.openjdk.java.net/jdk/jdk repo. Please let me know if this update causes a problem for you. This is the first step towards merging it into lworld. Thanks, Harold From ioi.lam at oracle.com Mon Jul 9 22:44:24 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Mon, 9 Jul 2018 15:44:24 -0700 Subject: [lworld] Handling of missing ValueTypes attributes Message-ID: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> In lworld, how are we suppose to handle cases where the ValueTypes attribute should have been there for a classfile, but is missing? E.g., ? class MyHack { ? ? ? Point getPoint() { ????????? if (onceInAWhile) { ????????????? return Point.makePoint(1, 2); ????????? } else { ????????????? return null; ????????? } ????? } ? } Normally, Point will be included in MyHack's ValueTypes attribute, and the Point class will be aggressively loaded. So we'd know for sure that getPoint returns a ValueType. However, someone can write this class by hand and omit the ValueTypes attribute. In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). Is this understanding correct? Thanks - Ioi From john.r.rose at oracle.com Tue Jul 10 00:08:25 2018 From: john.r.rose at oracle.com (John Rose) Date: Mon, 9 Jul 2018 17:08:25 -0700 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> Message-ID: On Jul 9, 2018, at 3:44 PM, Ioi Lam wrote: > > In lworld, how are we suppose to handle cases where the ValueTypes attribute should have been there for a classfile, but is missing? > > E.g., > > class MyHack { > Point getPoint() { > if (onceInAWhile) { > return Point.makePoint(1, 2); > } else { > return null; > } > } > } > > Normally, Point will be included in MyHack's ValueTypes attribute, and the Point class will be aggressively loaded. So we'd know for sure that getPoint returns a ValueType. > > However, someone can write this class by hand and omit the ValueTypes attribute. In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). > > Is this understanding correct? Yes, that is correct. This model is intended to make it easier for old-school classfiles to link to old types which have (over time) been upgraded to value types. From ioi.lam at oracle.com Tue Jul 10 05:07:46 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Mon, 9 Jul 2018 22:07:46 -0700 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee Message-ID: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> https://bugs.openjdk.java.net/browse/JDK-8206140 http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v02/ First of all, thank you Tobias for helping me get started with Valhalla and the compiler, both of which I am still mostly clueless ... When a callee method has a VT return type, the method may return a null value. The null check used to be done inside the compiled code of the method's caller. With this fix, the null check is now done by the callee, inside the areturn bytecode handler in the interpreter. When areturn sees a null value, it calls into the VM to deoptimize the caller, so the caller will continue running in interpreter mode and handle the NULL value appropriately. To improve interpreter speed (so we won't excessively trap into the VM whenever a null is returned -- this is especially important for methods that are NOT returning a VT), I added 2 bits in Method::_flags. These allow the interpreter to quickly check if the areturn is working on a method that returns a VT. The flags handling is complicated by the fact that "legacy" classes may return a VT (see [1]). Please see my comments around Method::check_returning_vt. I added a new test case for this -- see TestLWorld::test78). Anyway, I am not happy with this check, so if you can think of a better way, please let me know. Thanks - Ioi [1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004567.html From tobias.hartmann at oracle.com Tue Jul 10 12:01:44 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 10 Jul 2018 14:01:44 +0200 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> Message-ID: Hi Ioi, thanks for looking at this! On 10.07.2018 07:07, Ioi Lam wrote: > http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v02/ - doCall.cpp: The cast to NOTNULL is only correct if we know that the return value is a value type (which can never be null). Currently, you are always casting to NOTNULL which is not correct. - TestLWorld.java: Where is GetNullAsm and RarelyUsedValueUserAsm defined? > To improve interpreter speed (so we won't excessively trap into the VM whenever a > null is returned -- this is especially important for methods that are NOT returning > a VT), I added 2 bits in Method::_flags. These allow the interpreter to quickly > check if the areturn is working on a method that returns a VT. > > The flags handling is complicated by the fact that "legacy" classes may return a VT > (see [1]). Please see my comments around Method::check_returning_vt. I added a new > test case for this -- see TestLWorld::test78). Anyway, I am not happy with this check, > so if you can think of a better way, please let me know. Great that you were able to create a test for this. I don't think we can easily avoid that check but I think it's sufficient if you add the detailed explanation to the test and remove the else branch (or add a short comment) in method.cpp. Someone more familiar with the interpreter/runtime should look at this as well. Thanks, Tobias From tobias.hartmann at oracle.com Tue Jul 10 12:22:48 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 10 Jul 2018 14:22:48 +0200 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> Message-ID: <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> Hi John, On 10.07.2018 02:08, John Rose wrote: > On Jul 9, 2018, at 3:44 PM, Ioi Lam wrote: >> In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). >> >> Is this understanding correct? > > Yes, that is correct. This model is intended to make it easier for old-school classfiles > to link to old types which have (over time) been upgraded to value types. How do we then handle the following scenario? We have a method m1(MyValue vt) in a class that has no value types attribute set although MyValue is a value type. Once the calling convention for that method is determined (i.e. at adapter creation), we therefore don't know that MyValue is a value type and as a result, m1 will expect vt to be passed as oop. Now another compiled method m2 that calls compiled m1 might be well aware that vt is a value type but has no way to know that m1 does *not* expect vt to be passed as fields (especially if the call is virtual). Thanks, Tobias From harold.seigel at oracle.com Tue Jul 10 13:34:36 2018 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Tue, 10 Jul 2018 13:34:36 +0000 Subject: hg: valhalla/valhalla: 639 new changesets Message-ID: <201807101335.w6ADZNko022444@aojmv0008.oracle.com> Changeset: da74e543020e Author: rgoel Date: 2018-05-31 15:11 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/da74e543020e 8203474: Update description of "Cyrillic Supplementary" block name in Character.UnicodeBlock class. Summary: Updated description of cyrillic supplementary block. Reviewed-by: naoto ! src/java.base/share/classes/java/lang/Character.java Changeset: df02866807b6 Author: stefank Date: 2018-05-31 10:41 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/df02866807b6 8203923: Add @requires feature to check flag values for the running JVM Reviewed-by: kvn, dholmes ! test/jtreg-ext/requires/VMProps.java Changeset: b186322970f4 Author: mgronlun Date: 2018-05-31 13:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b186322970f4 8203321: assert(current_query_index < process_query_set->size) failed: invariant Reviewed-by: rehn ! src/hotspot/os/windows/os_perf_windows.cpp Changeset: c75f3cdeb48c Author: coleenp Date: 2018-05-31 09:19 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c75f3cdeb48c 8204087: C++ Interpreter code left over in MethodData Summary: remove unused code Reviewed-by: kvn, lfoltan, thartmann ! src/hotspot/share/interpreter/bytecodeInterpreterProfiling.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp Changeset: 25d711fca885 Author: jnimeh Date: 2018-05-31 07:05 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/25d711fca885 8153029: ChaCha20 Cipher Implementation Summary: Add the ChaCha20 and ChaCha20-Poly1305 Cipher implementations Reviewed-by: mullan + src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java + src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Poly1305Parameters.java ! src/java.base/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java + src/java.base/share/classes/com/sun/crypto/provider/Poly1305.java ! src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java ! src/java.base/share/classes/javax/crypto/Cipher.java + src/java.base/share/classes/javax/crypto/spec/ChaCha20ParameterSpec.java + test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20KAT.java + test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20NoReuse.java + test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20Poly1305ParamTest.java Changeset: a29b954314d2 Author: bpb Date: 2018-05-31 07:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a29b954314d2 8203765: java/nio/channels/Selector/SelectAndClose: add some prints and @intermittent tag Reviewed-by: alanb ! test/jdk/java/nio/channels/Selector/SelectAndClose.java Changeset: 462453f3c7f6 Author: hseigel Date: 2018-05-31 10:38 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/462453f3c7f6 8202913: loader constraint message for fields specifies incorrect referring class Summary: Improve the message to display the right referring class. Reviewed-by: acorn, goetz, dholmes ! src/hotspot/share/interpreter/linkResolver.cpp + test/hotspot/jtreg/runtime/LoaderConstraints/ldrCnstrFldMsg/LdrCnstrFldMsgTest.java + test/hotspot/jtreg/runtime/LoaderConstraints/ldrCnstrFldMsg/pkg/Child.jasm + test/hotspot/jtreg/runtime/LoaderConstraints/ldrCnstrFldMsg/pkg/ClassLoaderForChildGrandFoo.java + test/hotspot/jtreg/runtime/LoaderConstraints/ldrCnstrFldMsg/pkg/ClassLoaderForParentFoo.java + test/hotspot/jtreg/runtime/LoaderConstraints/ldrCnstrFldMsg/pkg/Foo.java + test/hotspot/jtreg/runtime/LoaderConstraints/ldrCnstrFldMsg/pkg/Grand.java + test/hotspot/jtreg/runtime/LoaderConstraints/ldrCnstrFldMsg/pkg/Parent.java Changeset: ec55eadfc2ab Author: hseigel Date: 2018-05-31 10:39 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ec55eadfc2ab Merge Changeset: 801fcfb698c9 Author: gziemski Date: 2018-05-31 09:51 -0500 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/801fcfb698c9 8202360: [TESTBUG] runtime/LoadClass/TestResize.java needs to print output when it fails Summary: Print out output from PrintSystemDictionaryAtExit at failure Reviewed-by: mseledtsov, dholmes ! test/hotspot/jtreg/runtime/LoadClass/TestResize.java Changeset: 6e9805157cf6 Author: vtheeyarath Date: 2018-05-25 22:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6e9805157cf6 8177276: MethodHandles.insertArguments doesn't specify IllegalArgumentException on index mismatch Summary: Correct MethodHandles.insertArguments spec Reviewed-by: psandoz, mchung, ntv ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! test/jdk/java/lang/invoke/MethodHandlesInsertArgumentsTest.java Changeset: 18fba780c1d1 Author: amenkov Date: 2018-05-31 10:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/18fba780c1d1 8203031: segfaults from jvmti_AddToBootstrapClassLoaderSearch Reviewed-by: sspitsyn, iklam, jiangli ! src/hotspot/share/classfile/classLoaderExt.cpp Changeset: 2cbc42a5764b Author: dlong Date: 2018-05-31 10:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2cbc42a5764b 8202670: Update Graal Reviewed-by: kvn, aph ! make/CompileJavaModules.gmk ! make/CompileToolsHotspot.gmk ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/Bytecodes.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/GraalBailoutException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/PermanentBailoutException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/RetryableBailoutException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/IntegerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.match.processor/src/org/graalvm/compiler/core/match/processor/MatchProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCNodeMatchRules.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ArrayLengthProviderTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CanonicalizedConversionTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest15.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraalCompilerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InfopointReasonTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/InvokeGraal.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/GraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/DebugContextTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/CausableByCompilerAssert.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugConfigImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugContext.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugValueMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/PathUtilities.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/ScopeImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Graph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotCRuntimeCallEpilogueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotCRuntimeCallPrologueOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotConstantRetrievalOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLIRGenerator.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoadAddressOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoadConfigValueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompilationWrapperTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/aaa ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilerConfigurationFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalRuntime.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotNodePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotWordOperationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/LoadIndexedPointerNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/WriteBarrierAdditionPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/DivisionByZeroExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/OutOfBoundsExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/StubUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BciBlockMapping.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParser.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/UnsafeAllocateInstance01.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/CE_InstanceOf.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/InstanceOf.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64AtomicMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Call.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64LIRFlagsVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Move.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64RestoreRegistersOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64SaveRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Move.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopTransformations.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/CountedLoopInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentInside.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/MathUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/GraalCompilerState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo.processor/src/org/graalvm/compiler/nodeinfo/processor/GraphNodeProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo.processor/src/org/graalvm/compiler/nodeinfo/processor/GraphNodeVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/IntegerStampTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractFixedGuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractMergeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DeoptimizingGuard.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FixedGuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/IfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/InliningLog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LogicNegationNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LogicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/PiArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ShortCircuitOrNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/UnaryOpLogicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValuePhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerBelowNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerDivRemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignedDivNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignedRemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnsignedDivNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnsignedRemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BoxNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BytecodeExceptionNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/LoadArrayComponentHubNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GeneratedInvocationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/NodePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AbstractNewArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AccessIndexedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ArrayLengthNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AtomicReadAndAddNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/InstanceOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoadIndexedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LogicCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoweredAtomicReadAndWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewMultiArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/StoreIndexedNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ValueCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/ReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/ArrayLengthProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LoweringTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/GraphUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/AllocatedObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualBoxingNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualInstanceNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options.processor/src/org/graalvm/compiler/options/processor/OptionProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/CanonicalizerPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ConditionalEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/DeoptimizationGroupingPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ExpandLogicPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/GuardLoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoopSafepointInsertionPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/InliningUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraphPrinter.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.processor/src/org/graalvm/compiler/processor/AbstractProcessor.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.processor/src/org/graalvm/compiler/processor/SuppressFBWarnings.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64IntegerArithmeticSnippets.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64RoundNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/META-INF/services/javax.annotation.processing.Processor + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/APHotSpotSignature.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/AnnotationHandler.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/ClassSubstitutionHandler.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/FoldHandler.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedFoldPlugin.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedNodeIntrinsicPlugin.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedPlugin.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/InjectedDependencies.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/MethodSubstitutionHandler.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/NodeIntrinsicHandler.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/PluginGenerator.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/ReplacementsAnnotationProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.sparc/src/org/graalvm/compiler/replacements/sparc/SPARCGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ArrayStoreBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/BytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ClassCastBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IndexOobBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/NullBytecodeExceptionTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/META-INF/services/javax.annotation.processing.Processor - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/APHotSpotSignature.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/AbstractVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/ClassSubstitutionVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/FoldVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedFoldPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedNodeIntrinsicPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/InjectedDependencies.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/MethodSubstitutionVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/NodeIntrinsicVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/PluginGenerator.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/VerifierAnnotationProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/GraphKit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetTemplate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/D ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MethodHandleNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider.processor/src/org/graalvm/compiler/serviceprovider/processor/ServiceProviderProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/Word.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordOperationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphJavadocSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphProtocol.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/ProtocolImpl.java Changeset: 2712cf4711d1 Author: ccheung Date: 2018-05-31 11:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2712cf4711d1 8203960: [TESTBUG] runtime/logging/DefaultMethodsTest.java failed when running in CDS mode Summary: Added an interface with a default method. The InnerClass implements the interface. Reviewed-by: iklam, dholmes ! test/hotspot/jtreg/runtime/logging/DefaultMethodsTest.java Changeset: d0d933d61610 Author: kbarrett Date: 2018-05-31 15:37 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d0d933d61610 8204179: [BACKOUT] OopStorage should use GlobalCounter Summary: Backout JDK-8202945 Reviewed-by: eosterlund, pliden ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/oopStorage.hpp Changeset: 7cea35f78b50 Author: dtitov Date: 2018-05-31 14:09 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7cea35f78b50 8197387: jcmd started by "root" must be allowed to access all VM processes Reviewed-by: sspitsyn, stuefe ! src/hotspot/os/aix/attachListener_aix.cpp ! src/hotspot/os/bsd/attachListener_bsd.cpp ! src/hotspot/os/linux/attachListener_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/os/solaris/attachListener_solaris.cpp ! src/jdk.attach/aix/native/libattach/VirtualMachineImpl.c ! src/jdk.attach/linux/native/libattach/VirtualMachineImpl.c ! src/jdk.attach/macosx/native/libattach/VirtualMachineImpl.c ! src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c Changeset: 928a93482dd7 Author: rhalade Date: 2018-05-31 14:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/928a93482dd7 8191031: Remove several Symantec Root CAs Reviewed-by: mullan ! src/java.base/share/lib/security/cacerts ! test/jdk/lib/security/cacerts/VerifyCACerts.java Changeset: 01e20d8850e3 Author: dholmes Date: 2018-05-31 18:47 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/01e20d8850e3 8204055: SIGSEGV in java -XX: Reviewed-by: iklam, stuefe, ccheung ! src/hotspot/share/utilities/stringUtils.cpp ! test/hotspot/gtest/logging/test_logConfiguration.cpp ! test/hotspot/jtreg/runtime/CommandLine/UnrecognizedVMOption.java Changeset: 1b6ea6bcd21a Author: rwestberg Date: 2018-06-01 10:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1b6ea6bcd21a 8203237: JFR TestBiasedLockRevocationEvents should ignore events unrelated to the test Reviewed-by: egahlin, mgronlun ! test/jdk/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java Changeset: 4d1393781fef Author: redestad Date: 2018-06-01 11:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4d1393781fef 8204194: Lazily create MethodHandleImpl$AsVarargsCollector.asCollectorCache Reviewed-by: psandoz ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java Changeset: 1d5694c1aa03 Author: jlahoda Date: 2018-06-01 13:04 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1d5694c1aa03 8203827: Upgrade JLine to 2.14.6 Reviewed-by: alanb, hannesw, rfield + src/jdk.internal.le/share/classes/jdk/internal/jline/DefaultTerminal2.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/NoInterruptUnixTerminal.java + src/jdk.internal.le/share/classes/jdk/internal/jline/OSvTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/Terminal.java + src/jdk.internal.le/share/classes/jdk/internal/jline/Terminal2.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/TerminalFactory.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/TerminalSupport.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/UnixTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/UnsupportedTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/WindowsTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/ConsoleKeys.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/ConsoleReader.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/CursorBuffer.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/KeyMap.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/KillRing.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/Operation.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/UserInterruptException.java + src/jdk.internal.le/share/classes/jdk/internal/jline/console/WCWidth.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/AggregateCompleter.java + src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/AnsiStringsCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/ArgumentCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/CandidateListCompletionHandler.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/CandidateListCompletionHandler.properties ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/Completer.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/CompletionHandler.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/EnumCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/FileNameCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/NullCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/StringsCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/completer/package-info.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/history/FileHistory.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/history/History.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/history/MemoryHistory.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/history/PersistentHistory.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/history/package-info.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/internal/ConsoleReaderInputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/internal/ConsoleRunner.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/package-info.java + src/jdk.internal.le/share/classes/jdk/internal/jline/extra/AnsiInterpretingOutputStream.java + src/jdk.internal.le/share/classes/jdk/internal/jline/internal/Ansi.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/Configuration.java + src/jdk.internal.le/share/classes/jdk/internal/jline/internal/Curses.java + src/jdk.internal.le/share/classes/jdk/internal/jline/internal/InfoCmp.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/InputStreamReader.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/Log.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/NonBlockingInputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/Nullable.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/Preconditions.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/ShutdownHooks.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/TerminalLineSettings.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/TestAccessible.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/Urls.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/internal/package-info.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/package-info.java ! src/jdk.internal.le/share/legal/jline.md ! src/jdk.internal.le/windows/native/lible/WindowsTerminal.cpp ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java ! src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/Console.java ! test/jdk/jdk/internal/jline/console/StripAnsiTest.java + test/jdk/jdk/internal/jline/extra/AnsiInterpretingOutputStreamTest.java ! test/langtools/jdk/jshell/PasteAndMeasurementsUITest.java ! test/langtools/jdk/jshell/ToolTabSnippetTest.java ! test/langtools/jdk/jshell/UITesting.java Changeset: ede65c4fb6da Author: gromero Date: 2018-05-21 13:23 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ede65c4fb6da 8203669: PPC64: Fix jtreg RTM tests after "8203305: Improve TM detection for enabling RTM on Linux / POWER9" Reviewed-by: mdoerr, goetz ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/ppc/vm_version_ppc.hpp ! test/hotspot/jtreg/compiler/rtm/cli/RTMGenericCommandLineOptionTest.java ! test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedCPU.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/sun/hotspot/cpuinfo/CPUInfo.java Changeset: d52bba1f19aa Author: lancea Date: 2018-06-01 12:28 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d52bba1f19aa 8190417: javadoc updates to java.util.regex.Matcher Reviewed-by: lancea, alanb, dholmes Contributed-by: Michal Vala ! src/java.base/share/classes/java/util/regex/Matcher.java Changeset: b933614e855e Author: serb Date: 2018-05-16 16:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b933614e855e 8194327: [macos] AWT windows have incorrect main/key window behaviors Reviewed-by: serb, erikj Contributed-by: Alan Snyder ! make/test/JtregNativeJdk.gmk ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuBar.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.h + test/jdk/java/awt/Window/MainKeyWindowTest/TestMainKeyWindow.java + test/jdk/java/awt/Window/MainKeyWindowTest/libTestMainKeyWindow.c Changeset: ddbd2037f9ef Author: jdv Date: 2018-05-17 11:40 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ddbd2037f9ef 5109146: PNGMetadata Background color initialization from standard metadata is incomplete Reviewed-by: prr, kaddepalli ! src/java.desktop/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java ! test/jdk/javax/imageio/plugins/png/VerifyRGBValuesFromBKGDChunk.java Changeset: 80a5ff734fcd Author: serb Date: 2018-05-17 14:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/80a5ff734fcd 8201364: [macosx] Component.getLocation() gives inconsistent coordinate for a component at (0,0) Reviewed-by: dmarkov ! src/java.desktop/macosx/classes/sun/lwawt/LWWindowPeer.java ! test/jdk/ProblemList.txt + test/jdk/java/awt/Window/LocationAtScreenCorner/LocationAtScreenCorner.java Changeset: 8039dc75f125 Author: serb Date: 2018-05-22 17:33 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8039dc75f125 8203027: Open source tests for "java.awt.geom" Reviewed-by: prr, jdv + test/jdk/java/awt/geom/AffineTransform/QuadRotInverseBug.java + test/jdk/java/awt/geom/Arc2D/Arc2DIntersectsTest.java + test/jdk/java/awt/geom/Arc2D/ChordContainsTest.java + test/jdk/java/awt/geom/Arc2D/NotConvexPieTest.java + test/jdk/java/awt/geom/Arc2D/SetAnglesTest.java + test/jdk/java/awt/geom/Arc2D/SmallExtAngleTest.java + test/jdk/java/awt/geom/Area/ArcSubtractEllipseBug.java + test/jdk/java/awt/geom/Area/AreaNaNBug.java + test/jdk/java/awt/geom/Area/AreaTransformTest.java + test/jdk/java/awt/geom/Area/BoundsCache.java + test/jdk/java/awt/geom/Area/EqualsNull.java + test/jdk/java/awt/geom/Area/NPETests.java + test/jdk/java/awt/geom/Area/PolygonAdd.java + test/jdk/java/awt/geom/Area/PolygonSubtract.java + test/jdk/java/awt/geom/Area/QuadCurveOOMBug.java + test/jdk/java/awt/geom/Area/TightBBox.java + test/jdk/java/awt/geom/Area/TransformPrecision.java + test/jdk/java/awt/geom/CubicCurve2D/ContainsHang.java + test/jdk/java/awt/geom/CubicCurve2D/ContainsPoint.java + test/jdk/java/awt/geom/EqualsHashcode.java + test/jdk/java/awt/geom/GeneralPath/ContainsNaN.java + test/jdk/java/awt/geom/GeneralPath/ContainsPoint.java + test/jdk/java/awt/geom/GeneralPath/CreateTxReturnsGP.java + test/jdk/java/awt/geom/GeneralPath/EmptyRectHitTest.java + test/jdk/java/awt/geom/GeneralPath/IntersectsRect.java + test/jdk/java/awt/geom/Line2D/AALineTest.java + test/jdk/java/awt/geom/Line2D/NegLineDistSqBug.java + test/jdk/java/awt/geom/Path2D/CreateTxReturnsSame.java + test/jdk/java/awt/geom/Path2D/NonFiniteTests.java + test/jdk/java/awt/geom/Path2D/UnitTest.java + test/jdk/java/awt/geom/QuadCurve2D/Quad2DContainsTest.java + test/jdk/java/awt/geom/Rectangle2D/CreateIntersectBug.java + test/jdk/java/awt/geom/Rectangle2D/IntersectsLineHang.java + test/jdk/java/awt/geom/SerialTest.java + test/jdk/java/awt/geom/serial_1_6.out Changeset: 276cb4b17f79 Author: serb Date: 2018-05-23 23:02 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/276cb4b17f79 8203498: The specification for java.applet package should be updated Reviewed-by: prr ! src/java.desktop/share/classes/java/applet/Applet.java ! src/java.desktop/share/classes/java/applet/AppletContext.java ! src/java.desktop/share/classes/java/applet/AppletStub.java ! src/java.desktop/share/classes/java/applet/AudioClip.java ! src/java.desktop/share/classes/java/applet/package-info.java ! src/java.desktop/share/classes/javax/swing/JApplet.java Changeset: 9e530b150333 Author: bae Date: 2018-05-25 11:35 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9e530b150333 8203485: [freetype] text rotated on 180 degrees is too narrow Reviewed-by: prr, serb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c + test/jdk/java/awt/font/Rotate/RotatedTextTest.java Changeset: b2f046ae8eb6 Author: prr Date: 2018-05-25 12:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b2f046ae8eb6 Merge - src/hotspot/os/aix/jvm_aix.cpp - src/hotspot/os/bsd/jvm_bsd.cpp - src/hotspot/os/linux/jvm_linux.cpp - src/hotspot/os/solaris/jvm_solaris.cpp - src/hotspot/share/jfr/metadata/GenerateJfrFiles.java - src/hotspot/share/memory/metachunk.cpp - src/hotspot/share/memory/metachunk.hpp - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseExecutableMemberTaglet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseInlineTaglet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/HiddenTaglet.java ! test/jdk/ProblemList.txt - test/jdk/java/lang/Character/Blocks.txt - test/jdk/java/lang/Character/CheckBlocks.java - test/jdk/java/lang/Character/TestISOControls.java Changeset: 008f416a79cb Author: prr Date: 2018-05-25 16:23 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/008f416a79cb 8191522: Remove Bigelow&Holmes Lucida fonts from JDK sources Reviewed-by: serb, erikj ! make/data/fontconfig/macosx.fontconfig.properties ! make/data/fontconfig/solaris.fontconfig.properties ! make/data/fontconfig/windows.fontconfig.properties ! make/gendata/GendataFontConfig.gmk ! src/demo/share/java2d/J2DBench/options/default.opt - src/java.desktop/linux/conf/oblique-fonts/fonts.dir ! src/java.desktop/macosx/classes/sun/font/CFont.java ! src/java.desktop/macosx/classes/sun/font/CFontManager.java ! src/java.desktop/share/classes/sun/awt/FontConfiguration.java ! src/java.desktop/share/classes/sun/font/CMap.java ! src/java.desktop/share/classes/sun/font/FontManagerNativeLibrary.java ! src/java.desktop/share/classes/sun/font/FontUtilities.java ! src/java.desktop/share/classes/sun/font/SunFontManager.java ! src/java.desktop/unix/classes/sun/awt/FcFontManager.java ! src/java.desktop/unix/classes/sun/awt/X11FontManager.java ! src/java.desktop/unix/classes/sun/font/FontConfigManager.java - src/java.desktop/unix/conf/fonts/fonts.dir ! test/jdk/java/awt/font/StyledMetrics/BoldSpace.java ! test/jdk/java/awt/font/TextLayout/LigatureCaretTest.java ! test/jdk/java/awt/font/TextLayout/TestHebrewMark.java ! test/jdk/java/awt/font/TextLayout/TestSinhalaChar.java ! test/jdk/java/awt/font/Underline/UnderlineTest.java ! test/jdk/java/awt/print/PrinterJob/PaintText.java ! test/jdk/java/awt/print/PrinterJob/PrintRotatedText.java ! test/jdk/java/awt/print/PrinterJob/PrintTextLayout.java ! test/jdk/java/awt/print/PrinterJob/PrintTextTest.java Changeset: b3a654c6fbcc Author: serb Date: 2018-05-29 11:22 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b3a654c6fbcc 8201279: javax.sound tests should not set java.home system property Reviewed-by: prr, rriggs ! src/java.desktop/share/classes/com/sun/media/sound/JDK13Services.java ! src/java.desktop/share/classes/com/sun/media/sound/JSSecurityManager.java ! src/java.desktop/share/classes/javax/sound/midi/MidiSystem.java ! src/java.desktop/share/classes/javax/sound/sampled/AudioSystem.java - test/jdk/javax/sound/midi/MidiSystem/DefaultProperties.java + test/jdk/javax/sound/midi/MidiSystem/DefaultProperties/DefaultProperties.java + test/jdk/javax/sound/midi/MidiSystem/DefaultProperties/DefaultPropertiesNegative.java + test/jdk/javax/sound/midi/MidiSystem/DefaultProperties/java.policy + test/jdk/javax/sound/midi/MidiSystem/DefaultProperties/negative.policy + test/jdk/javax/sound/midi/MidiSystem/DefaultProperties/testdata/conf/sound.properties - test/jdk/javax/sound/midi/MidiSystem/testdata/conf/sound.properties - test/jdk/javax/sound/sampled/AudioSystem/DefaultProperties.java + test/jdk/javax/sound/sampled/AudioSystem/DefaultProperties/DefaultProperties.java + test/jdk/javax/sound/sampled/AudioSystem/DefaultProperties/DefaultPropertiesNegative.java + test/jdk/javax/sound/sampled/AudioSystem/DefaultProperties/java.policy + test/jdk/javax/sound/sampled/AudioSystem/DefaultProperties/negative.policy + test/jdk/javax/sound/sampled/AudioSystem/DefaultProperties/testdata/conf/sound.properties - test/jdk/javax/sound/sampled/AudioSystem/testdata/conf/sound.properties Changeset: 668463f93ec0 Author: clanger Date: 2018-05-30 08:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/668463f93ec0 8201429: Support AIX Input Method Editor (IME) for AWT Input Method Framework (IMF) Reviewed-by: prr Contributed-by: takiguc at linux.vnet.ibm.com, christoph.langer at sap.com ! make/lib/Awt2dLibraries.gmk + src/java.desktop/aix/classes/sun/awt/X11InputMethod.java + src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/classes/sun/awt/X11InputMethod.java + src/java.desktop/unix/classes/sun/awt/X11InputMethodBase.java ! src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c Changeset: 9289c4214a35 Author: serb Date: 2018-05-30 08:10 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9289c4214a35 8196373: Introspector does not see overridden generic setter method Reviewed-by: malenkov ! src/java.desktop/share/classes/com/sun/beans/introspect/PropertyInfo.java + test/jdk/java/beans/Introspector/GenericPropertyType.java + test/jdk/java/beans/Introspector/OverloadedSetter.java + test/jdk/java/beans/Introspector/OverriddenGenericGetter.java + test/jdk/java/beans/Introspector/OverriddenGenericSetter.java Changeset: 25db2c8f3cf8 Author: prr Date: 2018-05-30 12:20 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/25db2c8f3cf8 8199530: Upgrade to harfbuzz 1.7.6 Reviewed-by: srl, serb ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-serialize.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-common.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-coretext.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-coretext.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-debug.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-dsalgs.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ft.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-cbdt-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-cmap-table.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-color-cbdt-table.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-color-colr-table.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-color-cpal-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-font.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-glyf-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-head-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-hhea-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-hmtx-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-kern-table.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-base-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gdef-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gpos-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsub-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-maxp-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-name-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-os2-table.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-os2-unicode-ranges.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-post-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-fallback.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-win1256.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-hebrew.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-machine.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-table.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic.cc + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-machine.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-private.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-machine.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-machine.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-table.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var-avar-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var-fvar-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var-hvar-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var-mvar-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-digest-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-string-array.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-glyf.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-plan.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-version.h Changeset: 204621ae8e7c Author: prr Date: 2018-05-30 15:19 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/204621ae8e7c 8204122: Update harfbuzz.md Reviewed-by: srl ! src/java.desktop/share/legal/harfbuzz.md Changeset: 35190b496542 Author: serb Date: 2018-05-30 21:30 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/35190b496542 8203380: Missing platform and bug information for MouseModifiersInKeyEvent test Reviewed-by: prr ! test/jdk/ProblemList.txt Changeset: 8c4be5bd58bb Author: serb Date: 2018-05-30 22:03 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8c4be5bd58bb 8195624: Desktop API cannot be used without permission to read "os.version" Reviewed-by: prr ! src/java.desktop/windows/classes/sun/awt/windows/WDesktopPeer.java + test/jdk/java/awt/Desktop/DefaultPermissions/DefaultPermissions.java + test/jdk/java/awt/Desktop/DefaultPermissions/java.policy Changeset: 27d982661042 Author: sveerabhadra Date: 2018-05-31 16:50 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/27d982661042 8199723: Test java/awt/TextComponent/DeselectionDuringDoSelectionNonVisibleTest/DeselectionDuringDoSelectionNonVisibleTest.java fails Reviewed-by: serb + test/jdk/javax/swing/text/DefaultCaret/HidingSelection/MultiSelectionTest.java Changeset: 2e0c4b2d567b Author: serb Date: 2018-05-31 09:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2e0c4b2d567b 8202051: Address compilation warnings in libawt with VS2017 Reviewed-by: prr ! make/lib/Awt2dLibraries.gmk ! src/java.desktop/windows/native/libawt/windows/awt_Debug.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Debug.h ! src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp Changeset: 1ba28f0dbc33 Author: serb Date: 2018-05-31 09:52 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1ba28f0dbc33 8199150: Accessibility issues in java.desktop 8150156: Update bugs.sun.com references to bugs.java.com Reviewed-by: prr ! src/java.desktop/share/classes/com/sun/beans/TypeResolver.java ! src/java.desktop/share/classes/java/awt/doc-files/AWTThreadIssues.html ! src/java.desktop/share/classes/java/awt/doc-files/DesktopProperties.html ! src/java.desktop/share/classes/java/awt/doc-files/FocusSpec.html ! src/java.desktop/share/classes/java/awt/doc-files/Modality.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/bmp_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/jpeg_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/png_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/standard_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/tiff_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/wbmp_metadata.html ! src/java.desktop/share/classes/javax/swing/JTree.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/java.desktop/share/classes/javax/swing/plaf/multi/doc-files/multi_tsc.html ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html ! src/java.desktop/share/classes/javax/swing/text/JTextComponent.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java Changeset: dd9ec7e7e35a Author: prr Date: 2018-05-31 13:04 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dd9ec7e7e35a Merge - make/BuildNashorn.gmk - make/UnpackSecurity.gmk - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugValueMap.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/aaa - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/META-INF/services/javax.annotation.processing.Processor - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/APHotSpotSignature.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/AbstractVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/ClassSubstitutionVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/FoldVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedFoldPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedNodeIntrinsicPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/InjectedDependencies.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/MethodSubstitutionVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/NodeIntrinsicVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/PluginGenerator.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/VerifierAnnotationProcessor.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/D Changeset: 8fbbd19bf3a1 Author: mbaesken Date: 2018-05-30 15:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8fbbd19bf3a1 8204085: avoid printing uninitialized pointer in java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp Reviewed-by: clanger, prr, serb, stuefe ! src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp Changeset: 071f1fe0df5f Author: prr Date: 2018-06-01 09:16 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/071f1fe0df5f 8200052: libjavajpeg: Fix compile warning in jchuff.c Reviewed-by: prr Contributed-by: adam.farley at uk.ibm.com, thomas.stuefe at sap.com ! src/java.desktop/share/native/libjavajpeg/jchuff.c Changeset: 86ac3ffaf991 Author: prr Date: 2018-06-01 09:18 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/86ac3ffaf991 Merge Changeset: 5d371a4dc47d Author: prr Date: 2018-06-01 09:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5d371a4dc47d Merge Changeset: 00ebc17f3cc6 Author: mbalao Date: 2018-06-01 19:46 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/00ebc17f3cc6 8203182: Release session if initialization of SunPKCS11 Signature fails Summary: Ensure session is properly released in P11Signature class Reviewed-by: valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java Changeset: 18e65332ac5c Author: rhalade Date: 2018-06-01 15:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/18e65332ac5c 8204250: Problem list pkcs11 tests on windows Reviewed-by: wetmore ! test/jdk/ProblemList.txt Changeset: 4d85990f9c4a Author: iignatyev Date: 2018-06-01 15:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4d85990f9c4a 8202812: [TESTBUG] Open source VM testbase compiler tests Reviewed-by: kvn, mseledtsov ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/vmTestbase/jit/Arrays/ArrayBounds/ArrayBounds.java + test/hotspot/jtreg/vmTestbase/jit/Arrays/ArrayStoreCheck/ArrayStoreCheck.java + test/hotspot/jtreg/vmTestbase/jit/Arrays/ArrayTests/ArrayTests.java + test/hotspot/jtreg/vmTestbase/jit/CEETest/CEETest.java + test/hotspot/jtreg/vmTestbase/jit/CondExpr/CondExpr.java + test/hotspot/jtreg/vmTestbase/jit/DivTest/DivTest.java + test/hotspot/jtreg/vmTestbase/jit/ExcOpt/ExcOpt.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/FPCompare/TestFPBinop/TestFPBinop.gold + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/FPCompare/TestFPBinop/TestFPBinop.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Filtering/Filtering.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Loops01/Loops01.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Loops02/Loops02.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Loops03/Loops03.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Loops04/Loops04.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Loops05/Loops05.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Loops06/Loops06.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Loops07/Loops07.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Matrix_3d/Matrix_3d.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/ShortCircuitTest/ShortCircuitTest.java + test/hotspot/jtreg/vmTestbase/jit/FloatingPoint/gen_math/Summ/Summ.java + test/hotspot/jtreg/vmTestbase/jit/PrintProperties/PrintProperties.java + test/hotspot/jtreg/vmTestbase/jit/PrintThis/PrintThis.java + test/hotspot/jtreg/vmTestbase/jit/Robert/Robert.java + test/hotspot/jtreg/vmTestbase/jit/Sleeper/Sleeper.java + test/hotspot/jtreg/vmTestbase/jit/bounds/bounds.java + test/hotspot/jtreg/vmTestbase/jit/collapse/collapse.gold + test/hotspot/jtreg/vmTestbase/jit/collapse/collapse.java + test/hotspot/jtreg/vmTestbase/jit/deoptimization/test01/test01.java + test/hotspot/jtreg/vmTestbase/jit/deoptimization/test02/test02.java + test/hotspot/jtreg/vmTestbase/jit/deoptimization/test03/test03.java + test/hotspot/jtreg/vmTestbase/jit/deoptimization/test04/test04.java + test/hotspot/jtreg/vmTestbase/jit/deoptimization/test05/test05.java + test/hotspot/jtreg/vmTestbase/jit/deoptimization/test06/test06.java + test/hotspot/jtreg/vmTestbase/jit/deoptimization/test07/test07.java + test/hotspot/jtreg/vmTestbase/jit/deoptimization/test08/test08.java + test/hotspot/jtreg/vmTestbase/jit/description.txt + test/hotspot/jtreg/vmTestbase/jit/escape/AdaptiveBlocking/AdaptiveBlocking001/AdaptiveBlocking001.java + test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/LockCoarsening.java + test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/LockCoarsening001/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/LockCoarsening002/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/readme + test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/run.sh + test/hotspot/jtreg/vmTestbase/jit/escape/LockElision/MatMul/MatMul.java + test/hotspot/jtreg/vmTestbase/jit/exception/exception.java + test/hotspot/jtreg/vmTestbase/jit/graph/CGT.java + test/hotspot/jtreg/vmTestbase/jit/graph/CGTThread.java + test/hotspot/jtreg/vmTestbase/jit/graph/Globals.java + test/hotspot/jtreg/vmTestbase/jit/graph/MethodData.java + test/hotspot/jtreg/vmTestbase/jit/graph/Node.java + test/hotspot/jtreg/vmTestbase/jit/graph/RBTree.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt0/cgt0.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt1/cgt1.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt10/cgt10.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt11/cgt11.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt2/cgt2.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt3/cgt3.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt4/cgt4.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt5/cgt5.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt6/cgt6.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt7/cgt7.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt8/cgt8.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt9/cgt9.java + test/hotspot/jtreg/vmTestbase/jit/graph/data/main.data + test/hotspot/jtreg/vmTestbase/jit/graph/test1.java + test/hotspot/jtreg/vmTestbase/jit/graph/test2.java + test/hotspot/jtreg/vmTestbase/jit/graph/test3.java + test/hotspot/jtreg/vmTestbase/jit/graph/test4.java + test/hotspot/jtreg/vmTestbase/jit/graph/test5.java + test/hotspot/jtreg/vmTestbase/jit/graph/test6.java + test/hotspot/jtreg/vmTestbase/jit/incomplete_tests.txt + test/hotspot/jtreg/vmTestbase/jit/init/init01/init01.java + test/hotspot/jtreg/vmTestbase/jit/init/init02/init02.java + test/hotspot/jtreg/vmTestbase/jit/inline/inline003/inline003.gold + test/hotspot/jtreg/vmTestbase/jit/inline/inline003/inline003.java + test/hotspot/jtreg/vmTestbase/jit/inline/inline004/inline004.gold + test/hotspot/jtreg/vmTestbase/jit/inline/inline004/inline004.java + test/hotspot/jtreg/vmTestbase/jit/inline/inline005/inline005.java + test/hotspot/jtreg/vmTestbase/jit/inline/inline007/inline007.gold + test/hotspot/jtreg/vmTestbase/jit/inline/inline007/inline007.java + test/hotspot/jtreg/vmTestbase/jit/misctests/JitBug1/JitBug1.java + test/hotspot/jtreg/vmTestbase/jit/misctests/Pi/Pi.java + test/hotspot/jtreg/vmTestbase/jit/misctests/clss14702/clss14702.java + test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/GraphApplet.java + test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/GraphPanel.java + test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/Node.java + test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/ilayout.java + test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/layout.java + test/hotspot/jtreg/vmTestbase/jit/misctests/putfield00802/putfield00802.java + test/hotspot/jtreg/vmTestbase/jit/misctests/t5/t5.java + test/hotspot/jtreg/vmTestbase/jit/non_jit_tests.txt + test/hotspot/jtreg/vmTestbase/jit/non_reporting_tests.txt + test/hotspot/jtreg/vmTestbase/jit/overflow/overflow.java + test/hotspot/jtreg/vmTestbase/jit/regression/CrashC1/CrashC1.java + test/hotspot/jtreg/vmTestbase/jit/regression/b4427606/b4427606.java + test/hotspot/jtreg/vmTestbase/jit/regression/b4446672/b4446672.java + test/hotspot/jtreg/vmTestbase/jit/removal_candidates.txt + test/hotspot/jtreg/vmTestbase/jit/series/series.gold + test/hotspot/jtreg/vmTestbase/jit/series/series.java + test/hotspot/jtreg/vmTestbase/jit/t/t001/t001.gold + test/hotspot/jtreg/vmTestbase/jit/t/t001/t001.java + test/hotspot/jtreg/vmTestbase/jit/t/t002/t002.gold + test/hotspot/jtreg/vmTestbase/jit/t/t002/t002.java + test/hotspot/jtreg/vmTestbase/jit/t/t003/t003.gold + test/hotspot/jtreg/vmTestbase/jit/t/t003/t003.java + test/hotspot/jtreg/vmTestbase/jit/t/t004/t004.gold + test/hotspot/jtreg/vmTestbase/jit/t/t004/t004.java + test/hotspot/jtreg/vmTestbase/jit/t/t005/t005.gold + test/hotspot/jtreg/vmTestbase/jit/t/t005/t005.java + test/hotspot/jtreg/vmTestbase/jit/t/t006/t006.gold + test/hotspot/jtreg/vmTestbase/jit/t/t006/t006.java + test/hotspot/jtreg/vmTestbase/jit/t/t007/t007.java + test/hotspot/jtreg/vmTestbase/jit/t/t008/t008.java + test/hotspot/jtreg/vmTestbase/jit/t/t009/t009.java + test/hotspot/jtreg/vmTestbase/jit/t/t011/t011.gold + test/hotspot/jtreg/vmTestbase/jit/t/t011/t011.java + test/hotspot/jtreg/vmTestbase/jit/t/t012/t012.java + test/hotspot/jtreg/vmTestbase/jit/t/t013/t013.gold + test/hotspot/jtreg/vmTestbase/jit/t/t013/t013.java + test/hotspot/jtreg/vmTestbase/jit/t/t014/t014.java + test/hotspot/jtreg/vmTestbase/jit/t/t015/t015.gold + test/hotspot/jtreg/vmTestbase/jit/t/t015/t015.java + test/hotspot/jtreg/vmTestbase/jit/t/t016/t016.gold + test/hotspot/jtreg/vmTestbase/jit/t/t016/t016.java + test/hotspot/jtreg/vmTestbase/jit/t/t017/t017.gold + test/hotspot/jtreg/vmTestbase/jit/t/t017/t017.java + test/hotspot/jtreg/vmTestbase/jit/t/t018/t018.gold + test/hotspot/jtreg/vmTestbase/jit/t/t018/t018.java + test/hotspot/jtreg/vmTestbase/jit/t/t019/t019.gold + test/hotspot/jtreg/vmTestbase/jit/t/t019/t019.java + test/hotspot/jtreg/vmTestbase/jit/t/t020/t020.gold + test/hotspot/jtreg/vmTestbase/jit/t/t020/t020.java + test/hotspot/jtreg/vmTestbase/jit/t/t021/t021.gold + test/hotspot/jtreg/vmTestbase/jit/t/t021/t021.java + test/hotspot/jtreg/vmTestbase/jit/t/t022/t022.gold + test/hotspot/jtreg/vmTestbase/jit/t/t022/t022.java + test/hotspot/jtreg/vmTestbase/jit/t/t023/t023.gold + test/hotspot/jtreg/vmTestbase/jit/t/t023/t023.java + test/hotspot/jtreg/vmTestbase/jit/t/t024/t024.gold + test/hotspot/jtreg/vmTestbase/jit/t/t024/t024.java + test/hotspot/jtreg/vmTestbase/jit/t/t025/t025.gold + test/hotspot/jtreg/vmTestbase/jit/t/t025/t025.java + test/hotspot/jtreg/vmTestbase/jit/t/t026/t026.java + test/hotspot/jtreg/vmTestbase/jit/t/t027/t027.gold + test/hotspot/jtreg/vmTestbase/jit/t/t027/t027.java + test/hotspot/jtreg/vmTestbase/jit/t/t028/t028.gold + test/hotspot/jtreg/vmTestbase/jit/t/t028/t028.java + test/hotspot/jtreg/vmTestbase/jit/t/t029/t029.gold + test/hotspot/jtreg/vmTestbase/jit/t/t029/t029.java + test/hotspot/jtreg/vmTestbase/jit/t/t030/t030.gold + test/hotspot/jtreg/vmTestbase/jit/t/t030/t030.java + test/hotspot/jtreg/vmTestbase/jit/t/t031/t031.gold + test/hotspot/jtreg/vmTestbase/jit/t/t031/t031.java + test/hotspot/jtreg/vmTestbase/jit/t/t032/t032.gold + test/hotspot/jtreg/vmTestbase/jit/t/t032/t032.java + test/hotspot/jtreg/vmTestbase/jit/t/t033/t033.gold + test/hotspot/jtreg/vmTestbase/jit/t/t033/t033.java + test/hotspot/jtreg/vmTestbase/jit/t/t034/t034.gold + test/hotspot/jtreg/vmTestbase/jit/t/t034/t034.java + test/hotspot/jtreg/vmTestbase/jit/t/t035/t035.gold + test/hotspot/jtreg/vmTestbase/jit/t/t035/t035.java + test/hotspot/jtreg/vmTestbase/jit/t/t036/t036.gold + test/hotspot/jtreg/vmTestbase/jit/t/t036/t036.java + test/hotspot/jtreg/vmTestbase/jit/t/t037/t037.gold + test/hotspot/jtreg/vmTestbase/jit/t/t037/t037.java + test/hotspot/jtreg/vmTestbase/jit/t/t038/t038.gold + test/hotspot/jtreg/vmTestbase/jit/t/t038/t038.java + test/hotspot/jtreg/vmTestbase/jit/t/t039/t039.gold + test/hotspot/jtreg/vmTestbase/jit/t/t039/t039.java + test/hotspot/jtreg/vmTestbase/jit/t/t040/t040.gold + test/hotspot/jtreg/vmTestbase/jit/t/t040/t040.java + test/hotspot/jtreg/vmTestbase/jit/t/t041/t041.java + test/hotspot/jtreg/vmTestbase/jit/t/t042/t042.gold + test/hotspot/jtreg/vmTestbase/jit/t/t042/t042.java + test/hotspot/jtreg/vmTestbase/jit/t/t043/t043.gold + test/hotspot/jtreg/vmTestbase/jit/t/t043/t043.java + test/hotspot/jtreg/vmTestbase/jit/t/t044/t044.java + test/hotspot/jtreg/vmTestbase/jit/t/t045/t045.java + test/hotspot/jtreg/vmTestbase/jit/t/t046/t046.gold + test/hotspot/jtreg/vmTestbase/jit/t/t046/t046.java + test/hotspot/jtreg/vmTestbase/jit/t/t047/t047.gold + test/hotspot/jtreg/vmTestbase/jit/t/t047/t047.java + test/hotspot/jtreg/vmTestbase/jit/t/t048/t048.gold + test/hotspot/jtreg/vmTestbase/jit/t/t048/t048.java + test/hotspot/jtreg/vmTestbase/jit/t/t049/t049.gold + test/hotspot/jtreg/vmTestbase/jit/t/t049/t049.java + test/hotspot/jtreg/vmTestbase/jit/t/t050/t050.java + test/hotspot/jtreg/vmTestbase/jit/t/t051/t051.gold + test/hotspot/jtreg/vmTestbase/jit/t/t051/t051.java + test/hotspot/jtreg/vmTestbase/jit/t/t052/t052.gold + test/hotspot/jtreg/vmTestbase/jit/t/t052/t052.java + test/hotspot/jtreg/vmTestbase/jit/t/t053/t053.gold + test/hotspot/jtreg/vmTestbase/jit/t/t053/t053.java + test/hotspot/jtreg/vmTestbase/jit/t/t054/t054.gold + test/hotspot/jtreg/vmTestbase/jit/t/t054/t054.java + test/hotspot/jtreg/vmTestbase/jit/t/t055/t055.gold + test/hotspot/jtreg/vmTestbase/jit/t/t055/t055.java + test/hotspot/jtreg/vmTestbase/jit/t/t056/t056.gold + test/hotspot/jtreg/vmTestbase/jit/t/t056/t056.java + test/hotspot/jtreg/vmTestbase/jit/t/t057/t057.gold + test/hotspot/jtreg/vmTestbase/jit/t/t057/t057.java + test/hotspot/jtreg/vmTestbase/jit/t/t058/t058.gold + test/hotspot/jtreg/vmTestbase/jit/t/t058/t058.java + test/hotspot/jtreg/vmTestbase/jit/t/t059/t059.gold + test/hotspot/jtreg/vmTestbase/jit/t/t059/t059.java + test/hotspot/jtreg/vmTestbase/jit/t/t060/t060.gold + test/hotspot/jtreg/vmTestbase/jit/t/t060/t060.java + test/hotspot/jtreg/vmTestbase/jit/t/t061/t061.gold + test/hotspot/jtreg/vmTestbase/jit/t/t061/t061.java + test/hotspot/jtreg/vmTestbase/jit/t/t062/t062.gold + test/hotspot/jtreg/vmTestbase/jit/t/t062/t062.java + test/hotspot/jtreg/vmTestbase/jit/t/t063/t063.gold + test/hotspot/jtreg/vmTestbase/jit/t/t063/t063.java + test/hotspot/jtreg/vmTestbase/jit/t/t064/t064.gold + test/hotspot/jtreg/vmTestbase/jit/t/t064/t064.java + test/hotspot/jtreg/vmTestbase/jit/t/t065/t065.gold + test/hotspot/jtreg/vmTestbase/jit/t/t065/t065.java + test/hotspot/jtreg/vmTestbase/jit/t/t066/t066.java + test/hotspot/jtreg/vmTestbase/jit/t/t067/t067.gold + test/hotspot/jtreg/vmTestbase/jit/t/t067/t067.java + test/hotspot/jtreg/vmTestbase/jit/t/t068/t068.gold + test/hotspot/jtreg/vmTestbase/jit/t/t068/t068.java + test/hotspot/jtreg/vmTestbase/jit/t/t069/t069.gold + test/hotspot/jtreg/vmTestbase/jit/t/t069/t069.java + test/hotspot/jtreg/vmTestbase/jit/t/t070/t070.gold + test/hotspot/jtreg/vmTestbase/jit/t/t070/t070.java + test/hotspot/jtreg/vmTestbase/jit/t/t071/t071.gold + test/hotspot/jtreg/vmTestbase/jit/t/t071/t071.java + test/hotspot/jtreg/vmTestbase/jit/t/t072/t072.gold + test/hotspot/jtreg/vmTestbase/jit/t/t072/t072.java + test/hotspot/jtreg/vmTestbase/jit/t/t073/t073.gold + test/hotspot/jtreg/vmTestbase/jit/t/t073/t073.java + test/hotspot/jtreg/vmTestbase/jit/t/t074/t074.gold + test/hotspot/jtreg/vmTestbase/jit/t/t074/t074.java + test/hotspot/jtreg/vmTestbase/jit/t/t075/t075.gold + test/hotspot/jtreg/vmTestbase/jit/t/t075/t075.java + test/hotspot/jtreg/vmTestbase/jit/t/t076/t076.gold + test/hotspot/jtreg/vmTestbase/jit/t/t076/t076.java + test/hotspot/jtreg/vmTestbase/jit/t/t077/t077.gold + test/hotspot/jtreg/vmTestbase/jit/t/t077/t077.java + test/hotspot/jtreg/vmTestbase/jit/t/t078/t078.gold + test/hotspot/jtreg/vmTestbase/jit/t/t078/t078.java + test/hotspot/jtreg/vmTestbase/jit/t/t079/t079.gold + test/hotspot/jtreg/vmTestbase/jit/t/t079/t079.java + test/hotspot/jtreg/vmTestbase/jit/t/t080/t080.gold + test/hotspot/jtreg/vmTestbase/jit/t/t080/t080.java + test/hotspot/jtreg/vmTestbase/jit/t/t081/t081.gold + test/hotspot/jtreg/vmTestbase/jit/t/t081/t081.java + test/hotspot/jtreg/vmTestbase/jit/t/t086/t086.gold + test/hotspot/jtreg/vmTestbase/jit/t/t086/t086.java + test/hotspot/jtreg/vmTestbase/jit/t/t087/t087.gold + test/hotspot/jtreg/vmTestbase/jit/t/t087/t087.java + test/hotspot/jtreg/vmTestbase/jit/t/t088/t088.gold + test/hotspot/jtreg/vmTestbase/jit/t/t088/t088.java + test/hotspot/jtreg/vmTestbase/jit/t/t091/t091.gold + test/hotspot/jtreg/vmTestbase/jit/t/t091/t091.java + test/hotspot/jtreg/vmTestbase/jit/t/t093/t093.gold + test/hotspot/jtreg/vmTestbase/jit/t/t093/t093.java + test/hotspot/jtreg/vmTestbase/jit/t/t094/t094.gold + test/hotspot/jtreg/vmTestbase/jit/t/t094/t094.java + test/hotspot/jtreg/vmTestbase/jit/t/t095/t095.gold + test/hotspot/jtreg/vmTestbase/jit/t/t095/t095.java + test/hotspot/jtreg/vmTestbase/jit/t/t096/t096.gold + test/hotspot/jtreg/vmTestbase/jit/t/t096/t096.java + test/hotspot/jtreg/vmTestbase/jit/t/t098/t098.gold + test/hotspot/jtreg/vmTestbase/jit/t/t098/t098.java + test/hotspot/jtreg/vmTestbase/jit/t/t099/t099.gold + test/hotspot/jtreg/vmTestbase/jit/t/t099/t099.java + test/hotspot/jtreg/vmTestbase/jit/t/t100/t100.gold + test/hotspot/jtreg/vmTestbase/jit/t/t100/t100.java + test/hotspot/jtreg/vmTestbase/jit/t/t101/t101.gold + test/hotspot/jtreg/vmTestbase/jit/t/t101/t101.java + test/hotspot/jtreg/vmTestbase/jit/t/t102/t102.gold + test/hotspot/jtreg/vmTestbase/jit/t/t102/t102.java + test/hotspot/jtreg/vmTestbase/jit/t/t103/t103.gold + test/hotspot/jtreg/vmTestbase/jit/t/t103/t103.java + test/hotspot/jtreg/vmTestbase/jit/t/t104/t104.gold + test/hotspot/jtreg/vmTestbase/jit/t/t104/t104.java + test/hotspot/jtreg/vmTestbase/jit/t/t105/t105.gold + test/hotspot/jtreg/vmTestbase/jit/t/t105/t105.java + test/hotspot/jtreg/vmTestbase/jit/t/t106/t106.gold + test/hotspot/jtreg/vmTestbase/jit/t/t106/t106.java + test/hotspot/jtreg/vmTestbase/jit/t/t107/t107.gold + test/hotspot/jtreg/vmTestbase/jit/t/t107/t107.java + test/hotspot/jtreg/vmTestbase/jit/t/t108/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/t/t108/t108.gold + test/hotspot/jtreg/vmTestbase/jit/t/t108/t108.java + test/hotspot/jtreg/vmTestbase/jit/t/t109/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/t/t109/t109.gold + test/hotspot/jtreg/vmTestbase/jit/t/t109/t109.java + test/hotspot/jtreg/vmTestbase/jit/t/t110/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/t/t110/t110.gold + test/hotspot/jtreg/vmTestbase/jit/t/t110/t110.java + test/hotspot/jtreg/vmTestbase/jit/t/t111/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/t/t111/t111.gold + test/hotspot/jtreg/vmTestbase/jit/t/t111/t111.java + test/hotspot/jtreg/vmTestbase/jit/t/t112/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/t/t112/t112.gold + test/hotspot/jtreg/vmTestbase/jit/t/t112/t112.java + test/hotspot/jtreg/vmTestbase/jit/t/t113/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/t/t113/t113.gold + test/hotspot/jtreg/vmTestbase/jit/t/t113/t113.java + test/hotspot/jtreg/vmTestbase/jit/test_duplicates.txt + test/hotspot/jtreg/vmTestbase/jit/tiered/TestDescription.java + test/hotspot/jtreg/vmTestbase/jit/tiered/tieredTest.sh + test/hotspot/jtreg/vmTestbase/jit/unclear_tests.txt + test/hotspot/jtreg/vmTestbase/jit/verifier/VerifyInitLocal/VerifyInitLocal.java + test/hotspot/jtreg/vmTestbase/jit/verifier/VerifyInitLocal/VerifyInitLocal1P.jasm + test/hotspot/jtreg/vmTestbase/jit/verifier/VerifyInitLocal/VerifyInitLocal2N.jasm + test/hotspot/jtreg/vmTestbase/jit/verifier/VerifyInitLocal/VerifyInitLocal3N.jasm + test/hotspot/jtreg/vmTestbase/jit/verifier/VerifyMergeStack/MergeStack.jasm + test/hotspot/jtreg/vmTestbase/jit/verifier/VerifyMergeStack/VerifyMergeStack.java + test/hotspot/jtreg/vmTestbase/jit/wide/wide01/wide01.java + test/hotspot/jtreg/vmTestbase/jit/wide/wide02/wide02.java + test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/run.sh + test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/PrintOnCall.java + test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/run.sh + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/share/Constants.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/share/LogCompilationParser.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/share/LogCompilationTest.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/UninitializedTrapCounter.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit001/uninit001.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit002/uninit002.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit003/uninit003.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit004/uninit004.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit005/uninit005.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit006/uninit006.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit007/uninit007.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit008/uninit008.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit009/uninit009.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit010/uninit010.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit011/uninit011.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit012/uninit012.java + test/hotspot/jtreg/vmTestbase/vm/compiler/complog/uninit/uninit013/uninit013.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/Parentheses.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/HotspotInstructionsExecutor.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/Instruction.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/InstructionSequence.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/InstructionsExecutor.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/TinyInstructionsExecutor.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/generation/ParenthesesGenerator.java + test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/generation/RandomInstructionsGenerator.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/combine/README + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/constprop/README + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/constprop/constprop01/constprop01.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/constprop/constprop02/constprop02.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/README + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead01/dead01.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead02/dead02.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead03/dead03.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead04/dead04.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead05/dead05.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead06/dead06.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead07/dead07.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead08/dead08.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead09/dead09.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead10/dead10.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead11/dead11.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead12/dead12.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead13/dead13.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead14/dead14.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead15/dead15.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/dead/dead16/dead16.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/hoist/README + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/hoist/hoist01/hoist01.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/hoist/hoist02/hoist02.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/hoist/hoist03/hoist03.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/hoist/hoist04/hoist04.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/strengthreduc/README + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/subcommon/README + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/subcommon/subcommon01/subcommon01.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/subcommon/subcommon02/subcommon02.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/subcommon/subcommon03/subcommon03.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/subcommon/subcommon04/subcommon04.java + test/hotspot/jtreg/vmTestbase/vm/compiler/jbe/subcommon/subcommon05/subcommon05.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/Do.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/Do/Do.gold + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/Do/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/ForWhile.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/ForWhile/ForWhile.gold + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/ForWhile/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/While.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/While/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/While/While.gold + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/WhileWhile.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/WhileWhile/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/partialpeel/WhileWhile/WhileWhile.gold + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/explicit/Explicit01.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/explicit/Explicit01/README + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/explicit/Explicit01/cs_disabled/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/explicit/Explicit01/cs_enabled/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/explicit/Merge01.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/explicit/Merge01/README + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/explicit/Merge01/cs_disabled/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/explicit/Merge01/cs_enabled/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/implicit/Implicit01.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/implicit/Implicit01/README + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/implicit/Implicit01/cs_disabled/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/implicit/Implicit01/cs_enabled/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/implicit/Merge01.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/implicit/Merge01/README + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/implicit/Merge01/cs_disabled/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/optimizations/stringconcat/implicit/Merge01/cs_enabled/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/compiler/share/CompilerTest.java + test/hotspot/jtreg/vmTestbase/vm/compiler/share/CompilerTestLauncher.java + test/hotspot/jtreg/vmTestbase/vm/compiler/share/Random.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/JniArmHFTestGenerator.java.txt + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/LTTest.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/README + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/libLTTest.c + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc1/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc10/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc11/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc12/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc13/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc14/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc15/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc16/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc17/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc18/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc19/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc2/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc20/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc21/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc22/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc23/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc24/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc25/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc26/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc27/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc28/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc29/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc3/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc30/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc31/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc32/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc33/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc34/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc35/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc36/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc37/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc38/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc39/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc4/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc40/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc41/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc42/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc43/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc44/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc45/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc46/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc47/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc48/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc49/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc5/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc50/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc51/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc52/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc6/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc7/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc8/TestDescription.java + test/hotspot/jtreg/vmTestbase/vm/jit/LongTransitions/nativeFnc9/TestDescription.java Changeset: b73f9723aa54 Author: jjiang Date: 2018-06-01 17:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b73f9723aa54 8199388: Test development for ChaCha20 and Poly1305 algorithms Summary: Add test for ChaCha20KeyGenerator Reviewed-by: mullan + test/jdk/com/sun/crypto/provider/Cipher/ChaCha20/ChaCha20KeyGeneratorTest.java ! test/lib/jdk/test/lib/Utils.java Changeset: 6df37b01ebf5 Author: pmuthuswamy Date: 2018-06-03 12:04 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6df37b01ebf5 8199268: docs/api/jdk.javadoc/com/sun/javadoc/package-summary.html contain low contrast text Reviewed-by: jjg ! src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java Changeset: 09bd89dde2f9 Author: gromero Date: 2018-06-03 09:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/09bd89dde2f9 8204136: jtreg: Fix failing RTM test RTMSpinLoopCount Reviewed-by: iignatyev, goetz ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMSpinLoopCount.java Changeset: 676b7c44eeae Author: pmuthuswamy Date: 2018-06-03 19:21 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/676b7c44eeae 8202627: javadoc generates broken links to deprecated items when -nodeprecated is used Reviewed-by: ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java + test/langtools/jdk/javadoc/doclet/testLinksWithNoDeprecatedOption/TestLinksWithNoDeprecatedOption.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java Changeset: 72d0baab31bc Author: gromero Date: 2018-06-03 14:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/72d0baab31bc 8204134: jtreg: Fix RTM abort provoker for various tests after "8149159: Clean up Unsafe" Reviewed-by: kvn, iignatyev ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMAbortRatio.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMLockingThreshold.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMTotalCountIncrRate.java ! test/hotspot/jtreg/compiler/testlibrary/rtm/XAbortProvoker.java Changeset: 7a013fbf6fc3 Author: stuefe Date: 2018-06-04 07:12 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7a013fbf6fc3 8204164: OOM-only logging in Metaspace Reviewed-by: gziemski, coleenp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/memory/metaspace.cpp Changeset: 22f611c395b3 Author: mgronlun Date: 2018-06-04 12:51 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/22f611c395b3 8203921: JFR thread sampling is missing fixes from JDK-8194552 Reviewed-by: egahlin ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.hpp Changeset: 2d0647b9ac18 Author: jlahoda Date: 2018-06-04 12:54 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2d0647b9ac18 8198378: javac crash when checking imports and a broken class is present Summary: Properly handling bad classfile while processing imports. Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Scope.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! test/langtools/tools/javac/6330997/T6330997.java ! test/langtools/tools/javac/T6435291/T6435291.java ! test/langtools/tools/javac/api/6400303/T6400303.java ! test/langtools/tools/javac/classreader/8171132/BadConstantValue.java + test/langtools/tools/javac/importscope/BadClassFileDuringImport.java Changeset: bfbe7d8369bb Author: eosterlund Date: 2018-06-04 12:59 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bfbe7d8369bb 8202547: Move G1 runtime calls used by generated code to G1BarrierSetRuntime Reviewed-by: rkennke, tschatzl ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/sparc/gc/g1/g1BarrierSetAssembler_sparc.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.hpp + src/hotspot/share/gc/g1/g1BarrierSetRuntime.cpp + src/hotspot/share/gc/g1/g1BarrierSetRuntime.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: 18202c2506c4 Author: goetz Date: 2018-06-04 12:29 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/18202c2506c4 8204277: [testbug] fix DisassembleCodeBlobTest. Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java Changeset: 1d476feca3c9 Author: sgehwolf Date: 2018-06-04 11:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1d476feca3c9 8203924: Zero: bootcycle-images build fails on x86_64 Summary: Use big java settings for jdk.compiler's annotation processing. Reviewed-by: dholmes, erikj ! make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk Changeset: fceae121625e Author: lfoltan Date: 2018-06-04 11:07 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fceae121625e 8202758: SIGSEGV calling Class.forName(String,Boolean,ClassLoader) with mocked loader Summary: Check that the unnamed module for a given ClassLoader is an instance of java.lang.Module. Reviewed-by: alanb, acorn, coleenp, dholmes, hseigel ! src/hotspot/share/classfile/moduleEntry.cpp + test/hotspot/jtreg/runtime/modules/ClassLoaderNoUnnamedModule.java + test/hotspot/jtreg/runtime/modules/ClassLoaderNoUnnamedModuleTest.java Changeset: 0ace935706ca Author: lfoltan Date: 2018-06-04 11:32 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0ace935706ca 8203435: Circular nested dynamic constant test needed to confirm JVMS resolution behavior Summary: Additional of circular nested dynamic constant test. Reviewed-by: acorn, psandoz + test/jdk/java/lang/invoke/condy/CondyNestedResolution.jcod + test/jdk/java/lang/invoke/condy/CondyNestedResolutionTest.java Changeset: bec342339138 Author: coleenp Date: 2018-06-04 10:18 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bec342339138 8204195: Clean up macroAssembler.inline.hpp and other inline.hpp files included in .hpp files Summary: Moved macroAssembler.inline.hpp out of header file and distributed to .cpp files that included them: ie. c1_MacroAssembler.hpp and interp_masm.hpp. Also freeList.inline.hpp and allocation.inline.hpp. Reviewed-by: jiangli, kvn ! src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp ! src/hotspot/cpu/aarch64/register_definitions_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/aarch64/vtableStubs_aarch64.cpp ! src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/arm/c1_Runtime1_arm.cpp ! src/hotspot/cpu/arm/interp_masm_arm.cpp ! src/hotspot/cpu/arm/interp_masm_arm.hpp ! src/hotspot/cpu/arm/interpreterRT_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/arm/vtableStubs_arm.cpp ! src/hotspot/cpu/ppc/c1_CodeStubs_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_Runtime1_s390.cpp ! src/hotspot/cpu/sparc/c1_CodeStubs_sparc.cpp ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp ! src/hotspot/cpu/sparc/c1_MacroAssembler_sparc.cpp ! src/hotspot/cpu/sparc/c1_Runtime1_sparc.cpp ! src/hotspot/cpu/sparc/gc/shared/barrierSetAssembler_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.hpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.cpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.hpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.inline.hpp ! src/hotspot/cpu/sparc/memset_with_concurrent_readers_sparc.cpp ! src/hotspot/cpu/sparc/methodHandles_sparc.cpp ! src/hotspot/cpu/sparc/relocInfo_sparc.cpp ! src/hotspot/cpu/sparc/templateInterpreterGenerator_sparc.cpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/zero/interp_masm_zero.hpp ! src/hotspot/cpu/zero/relocInfo_zero.cpp ! src/hotspot/cpu/zero/vtableStubs_zero.cpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_MacroAssembler.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/chunkManager.cpp ! src/hotspot/share/memory/metaspace/chunkManager.hpp ! src/hotspot/share/runtime/os_perf.hpp Changeset: 55eaaf4e2108 Author: coleenp Date: 2018-06-04 11:49 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/55eaaf4e2108 Merge Changeset: ce5352719340 Author: ccheung Date: 2018-06-04 08:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ce5352719340 8203445: [TESTBUG] Remove appcds/jigsaw/limitmods/LimitModsTests.java Reviewed-by: jiangli - test/hotspot/jtreg/runtime/appcds/jigsaw/limitmods/LimitModsHelper.java - test/hotspot/jtreg/runtime/appcds/jigsaw/limitmods/LimitModsTests.java - test/hotspot/jtreg/runtime/appcds/test-classes/jdk/dynalink/DynamicLinker.jasm Changeset: 9e6cd9974016 Author: gziemski Date: 2018-06-04 12:14 -0500 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9e6cd9974016 8203939: JVMFlag::printError missing ATTRIBUTE_PRINTF Summary: Added missing ATTRIBUTE_PRINTF Reviewed-by: kbarrett, hseigel ! src/hotspot/share/runtime/flags/jvmFlag.hpp Changeset: 4d03087dd257 Author: bsrbnd Date: 2018-06-04 10:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4d03087dd257 8189335: javac exception when referencing private inner class with same name as normal class with dollar_1 Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java + test/langtools/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateInnerClassConstructorsTest.java Changeset: 50bfe66c499f Author: amenkov Date: 2018-06-04 10:25 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/50bfe66c499f 8187289: NotifyFramePop request is not cleared if JVMTI_EVENT_FRAME_POP is disabled Reviewed-by: sspitsyn, cjplummer ! src/hotspot/share/prims/jvmtiEventController.cpp ! src/hotspot/share/prims/jvmtiExport.cpp + test/hotspot/jtreg/serviceability/jvmti/NotifyFramePop/NotifyFramePopTest.java + test/hotspot/jtreg/serviceability/jvmti/NotifyFramePop/libNotifyFramePopTest.c Changeset: a869e556dc4e Author: amenkov Date: 2018-06-04 10:27 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a869e556dc4e Merge Changeset: 3b52a76c7902 Author: gziemski Date: 2018-06-04 13:53 -0500 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3b52a76c7902 8204295: [BACKOUT] - JVMFlag::printError missing ATTRIBUTE_PRINTF Summary: Backed out the original fix. Reviewed-by: kbarrett, lfoltan ! src/hotspot/share/runtime/flags/jvmFlag.hpp Changeset: 55fac6146d31 Author: egahlin Date: 2018-06-04 22:03 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/55fac6146d31 8203919: Remove "-add-modules" hint from error message Reviewed-by: mgronlun ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! test/jdk/jdk/jfr/jvm/TestJfrJavaBase.java Changeset: 7e8c0409a747 Author: rkennke Date: 2018-06-04 23:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7e8c0409a747 8198285: More consistent Access API for arraycopy Reviewed-by: eosterlund, shade ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/gc/shared/barrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp ! src/hotspot/share/oops/access.hpp ! src/hotspot/share/oops/access.inline.hpp ! src/hotspot/share/oops/accessBackend.cpp ! src/hotspot/share/oops/accessBackend.hpp ! src/hotspot/share/oops/accessBackend.inline.hpp ! src/hotspot/share/oops/arrayOop.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/objArrayKlass.hpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/oops/typeArrayOop.hpp ! src/hotspot/share/oops/typeArrayOop.inline.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/stubRoutines.cpp Changeset: f4c4a86d1c12 Author: egahlin Date: 2018-06-04 23:07 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f4c4a86d1c12 8202094: jdk/jfr/api/recording/event/TestEventTime.java intermittently times out Reviewed-by: mgronlun ! test/lib/jdk/test/lib/jfr/CommonHelper.java Changeset: 2bea53d7a27b Author: rwestberg Date: 2018-06-04 16:21 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2bea53d7a27b 8202095: JFR TestBiasedLockRevocationEvents should cope with multiple events during a single safepoint Reviewed-by: mgronlun, egahlin ! test/jdk/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java Changeset: 625f9432612a Author: kbarrett Date: 2018-06-04 20:14 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/625f9432612a 8203948: Expand JVMTI callback notion of "internal threads" Summary: Allow any NamedThreads in some contexts. Reviewed-by: coleenp, dholmes ! src/hotspot/share/prims/jvmtiEnter.xsl ! src/hotspot/share/prims/jvmtiEnv.cpp Changeset: 5488cccb6bbd Author: jwilhelm Date: 2018-06-05 02:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5488cccb6bbd 8204103: Mark test serviceability/dcmd/compiler/CompilerQueueTest.java as intermittent and exclude it from tier1 Reviewed-by: kvn, jwilhelm Contributed-by: leonid.mesnik at oracle.com ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/serviceability/dcmd/compiler/CompilerQueueTest.java Changeset: 89dc31d7572b Author: sundar Date: 2018-06-05 08:10 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/89dc31d7572b 8203780: javadoc should be updated to use jquery 1.12.4, jquery-ui 1.12.1 and jszip v3.1.5 Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/external/jquery/jquery.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-1.10.2.js + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-1.12.4.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.min.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java ! src/jdk.javadoc/share/legal/jquery.md ! src/jdk.javadoc/share/legal/jszip.md Changeset: 41258f041b24 Author: sangheki Date: 2018-06-04 21:19 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/41258f041b24 8204095: [TESTBUG] TestPrintReferences.java fails if multiple concurrent mark happens Reviewed-by: kbarrett, tschatzl ! test/hotspot/jtreg/gc/logging/TestPrintReferences.java Changeset: 7f48bff40a9a Author: sangheki Date: 2018-06-04 21:20 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7f48bff40a9a 8204094: assert(worker_i < _length) failed: Worker 15 is greater than max: 11 at ReferenceProcessorPhaseTimes Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp ! src/hotspot/share/gc/parallel/psMarkSweep.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp Changeset: ea262754f8a9 Author: mdoerr Date: 2018-06-05 09:23 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ea262754f8a9 8204292: PPC64: Fix missing includes after 8204195 Reviewed-by: coleenp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_Runtime1_ppc.cpp Changeset: 4d6a5c267541 Author: mhorie Date: 2018-06-05 09:29 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4d6a5c267541 8154736: enhancement of cmpxchg and copy_to_survivor for ppc64 Reviewed-by: eosterlund, mdoerr, kbarrett ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp Changeset: ee87876734c9 Author: glaubitz Date: 2018-06-05 13:02 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ee87876734c9 8203787: Hotspot build broken on linux-sparc after 8202377 Reviewed-by: dholmes, eosterlund ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp Changeset: dcbbc6fb0b69 Author: jlahoda Date: 2018-06-05 14:55 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dcbbc6fb0b69 8200166: Repeating annotations refering to to-be-generated classes don't work. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java + test/langtools/tools/javac/annotations/repeatingAnnotations/generatedInRepeating/GeneratedInRepeating.java + test/langtools/tools/javac/annotations/repeatingAnnotations/generatedInRepeating/Processor.java Changeset: bf7eb61349d2 Author: kbarrett Date: 2018-06-05 09:15 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bf7eb61349d2 8203319: JDK-8201487 disabled too much queue balancing Summary: Sometimes ignore ParallelRefProcBalancingEnabled. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp Changeset: 42ed6e9af319 Author: stefank Date: 2018-06-05 15:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/42ed6e9af319 8204160: BiasedLockingTest needs -XX:+UseBiasedLocking Reviewed-by: eosterlund, dholmes ! test/hotspot/jtreg/runtime/logging/BiasedLockingTest.java Changeset: 4602de5feb24 Author: stefank Date: 2018-06-05 15:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4602de5feb24 8204162: TestG1HeapRegion needs @requires vm.gc.G1 Reviewed-by: eosterlund ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java Changeset: 5193c6b98cc7 Author: stefank Date: 2018-06-05 15:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5193c6b98cc7 8204163: Also detect concurrent GCs in MetaspaceBaseGC.java Reviewed-by: eosterlund, pliden ! test/hotspot/jtreg/vmTestbase/metaspace/gc/HighWaterMarkTest.java ! test/hotspot/jtreg/vmTestbase/metaspace/gc/MetaspaceBaseGC.java Changeset: 449cbde4c40c Author: stefank Date: 2018-06-05 15:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/449cbde4c40c 8204165: Filter out tests requiring class unloading when ClassUnloading is disabled Reviewed-by: coleenp, kbarrett ! test/hotspot/jtreg/compiler/jsr292/CallSiteDepContextTest.java ! test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/GCTest.java ! test/hotspot/jtreg/runtime/ClassUnload/KeepAliveClass.java ! test/hotspot/jtreg/runtime/ClassUnload/KeepAliveClassLoader.java ! test/hotspot/jtreg/runtime/ClassUnload/KeepAliveObject.java ! test/hotspot/jtreg/runtime/ClassUnload/KeepAliveSoftReference.java ! test/hotspot/jtreg/runtime/ClassUnload/UnloadTest.java ! test/hotspot/jtreg/runtime/Metaspace/DefineClass.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java ! test/hotspot/jtreg/runtime/SelectionResolution/AbstractMethodErrorTest.java ! test/hotspot/jtreg/runtime/SelectionResolution/InvokeInterfaceICCE.java ! test/hotspot/jtreg/runtime/SelectionResolution/InvokeInterfaceSuccessTest.java ! test/hotspot/jtreg/runtime/SelectionResolution/InvokeVirtualICCE.java ! test/hotspot/jtreg/runtime/SelectionResolution/InvokeVirtualSuccessTest.java ! test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java ! test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java ! test/hotspot/jtreg/runtime/modules/LoadUnloadModuleStress.java ! test/hotspot/jtreg/vmTestbase/gc/gctests/LoadUnloadGC/LoadUnloadGC.java ! test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/shrink_grow/ShrinkGrowMultiJVM/ShrinkGrowMultiJVM.java ! test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/StaticReferences.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy003/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy004/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy005/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy006/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy007/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy008/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy009/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy010/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy011/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy012/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy013/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy014/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy015/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts003/instancecounts003.java ! test/jdk/javax/management/Introspector/ClassLeakTest.java ! test/jdk/javax/management/mxbean/LeakTest.java ! test/jdk/javax/management/mxbean/MXBeanLoadingTest1.java Changeset: 314af5e1e787 Author: stefank Date: 2018-06-05 15:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/314af5e1e787 8204167: Filter out tests requiring compressed oops when CompressedOops is disabled Reviewed-by: coleenp, kbarrett ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/gc/metaspace/TestMetaspaceMemoryPool.java ! test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java ! test/hotspot/jtreg/runtime/CompressedOops/CompressedClassSpaceSize.java ! test/hotspot/jtreg/runtime/Metaspace/MaxMetaspaceSizeTest.java ! test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java Changeset: 3dfdcca00ecc Author: stefank Date: 2018-06-05 15:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3dfdcca00ecc 8204168: Increase small heap sizes in tests to accommodate ZGC Reviewed-by: pliden, ehelin ! test/hotspot/jtreg/compiler/c2/Test6910605_2.java ! test/hotspot/jtreg/compiler/c2/Test7199742.java ! test/hotspot/jtreg/compiler/c2/Test8002069.java ! test/hotspot/jtreg/compiler/c2/Test8004741.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestByteVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestDoubleVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestFloatVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestIntVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestLongVect.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestShortVect.java ! test/hotspot/jtreg/compiler/c2/cr7192963/TestByteVect.java ! test/hotspot/jtreg/compiler/c2/cr7192963/TestDoubleVect.java ! test/hotspot/jtreg/compiler/c2/cr7192963/TestFloatVect.java ! test/hotspot/jtreg/compiler/c2/cr7192963/TestIntVect.java ! test/hotspot/jtreg/compiler/c2/cr7192963/TestLongVect.java ! test/hotspot/jtreg/compiler/c2/cr7192963/TestShortVect.java ! test/hotspot/jtreg/compiler/ciReplay/CiReplayBase.java ! test/hotspot/jtreg/compiler/codegen/Test6942326.java ! test/hotspot/jtreg/compiler/codegen/TestCharVect2.java ! test/hotspot/jtreg/compiler/intrinsics/Test8005419.java ! test/hotspot/jtreg/compiler/runtime/Test7196199.java ! test/hotspot/jtreg/compiler/runtime/Test8010927.java ! test/hotspot/jtreg/gc/TestBigObj.java ! test/hotspot/jtreg/gc/TestNUMAPageSize.java ! test/hotspot/jtreg/runtime/ErrorHandling/CreateCoredumpOnCrash.java ! test/hotspot/jtreg/runtime/ErrorHandling/TestCrashOnOutOfMemoryError.java ! test/hotspot/jtreg/runtime/ErrorHandling/TestExitOnOutOfMemoryError.java ! test/hotspot/jtreg/runtime/InternalApi/ThreadCpuTimesDeadlock.java ! test/hotspot/jtreg/runtime/Safepoint/AssertSafepointCheckConsistency1.java ! test/hotspot/jtreg/runtime/Safepoint/AssertSafepointCheckConsistency2.java ! test/hotspot/jtreg/runtime/Unsafe/RangeCheck.java ! test/hotspot/jtreg/runtime/logging/ClassInitializationTest.java ! test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java ! test/hotspot/jtreg/runtime/logging/VMOperationTest.java ! test/hotspot/jtreg/runtime/memory/MultiAllocateNullCheck.java ! test/hotspot/jtreg/runtime/memory/ReadFromNoaccessArea.java ! test/hotspot/jtreg/runtime/memory/ReserveMemory.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/disableCollection/disablecollection002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/instances/instances001/instances001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VMOutOfMemoryException/VMOutOfMemoryException001/VMOutOfMemoryException001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts003/instancecounts003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts004/instancecounts004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/heapwalking001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/heapwalking002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/mixed001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/mixed002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ObjectReference/ReferringObjects/referringObjects001/referringObjects001.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/func/regression/b7127687/TestDescription.java Changeset: a5fc0fb1d31d Author: stefank Date: 2018-06-05 15:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a5fc0fb1d31d 8204173: Lower the minimum number of heap memory pools in MemoryTest.java Reviewed-by: mchung, sjohanss ! test/jdk/java/lang/management/MemoryMXBean/MemoryTest.java ! test/jdk/java/lang/management/MemoryMXBean/MemoryTestAllGC.sh Changeset: 76bca6678913 Author: coleenp Date: 2018-06-05 11:11 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/76bca6678913 8204237: Clean up incorrectly included .inline.hpp files from jvmciJavaClasses.hpp Summary: Reexpand macro to provide non-inline functions. Reviewed-by: kvn, dnsimon ! src/hotspot/share/jvmci/jvmciJavaClasses.cpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 01e4ddc3c23f Author: naoto Date: 2018-06-05 08:33 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/01e4ddc3c23f 8203324: Use out of scope in getMacOSXLocale of java_props_macosx.c:120 Reviewed-by: rriggs ! src/java.base/macosx/native/libjava/java_props_macosx.c Changeset: 0191ac1da300 Author: aph Date: 2018-06-05 16:12 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0191ac1da300 8204341: AArch64: AOT runtime does not need a workaround for far calls Reviewed-by: kvn ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp Changeset: 3d658c910e83 Author: aph Date: 2018-06-05 17:14 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3d658c910e83 Merge Changeset: 1234ff7199c7 Author: sherman Date: 2018-06-05 10:03 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1234ff7199c7 8200530: '\r' is not supported as "newline" in java.util.jar.Manifest Reviewed-by: jlaskey ! src/java.base/share/classes/java/util/jar/Attributes.java ! src/java.base/share/classes/java/util/jar/Manifest.java + test/jdk/java/util/jar/Attributes/TestAttrsNL.java Changeset: 7efd1291e962 Author: rkennke Date: 2018-06-05 19:13 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7efd1291e962 8202776: Modularize GC allocations in runtime Reviewed-by: eosterlund, shade ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.inline.hpp Changeset: e4301f8c3aaa Author: sundar Date: 2018-06-05 23:10 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e4301f8c3aaa 8204321: javadoc tests fail after JDK-8203780 Reviewed-by: jjg ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java ! test/langtools/tools/javadoc/api/basic/APITest.java Changeset: ef980b9ac191 Author: coleenp Date: 2018-05-02 11:28 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ef980b9ac191 8203837: Split nmethod unloading from inline cache cleaning Summary: Refactor cleaning inline caches to after GC do_unloading. Reviewed-by: thartmann, eosterlund ! src/hotspot/share/aot/aotCompiledMethod.cpp ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/compiledIC.cpp ! src/hotspot/share/code/compiledIC.hpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: aad24ac930ee Author: sherman Date: 2018-06-05 12:27 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/aad24ac930ee 8197989: java/util/zip/ZipFile/TestCleaner.java failed with "cleaner failed to clean zipfile Reviewed-by: rriggs ! test/jdk/java/util/zip/ZipFile/TestCleaner.java Changeset: c35f0c531c6c Author: rkennke Date: 2018-06-05 21:38 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c35f0c531c6c 8200623: Primitive heap access for interpreter BarrierSetAssembler/x86 Reviewed-by: eosterlund, adinn ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 146c60525d4a Author: dholmes Date: 2018-06-05 19:58 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/146c60525d4a 8199882: compiler/uncommontrap/TestDeoptOOM.java failed w/ fatal error: ExceptionMark constructor expects no pending exceptions Summary: Pre-load AbstractOwnableSynchronizer class instead of lazy loading it. Reviewed-by: sspitsyn, cjplummer, coleenp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/runtime/vm_operations.cpp ! src/hotspot/share/runtime/vm_operations.hpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/threadService.cpp Changeset: 912c5c042c19 Author: pmuthuswamy Date: 2018-06-06 08:37 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/912c5c042c19 8199893: the javadoc tool generates pages with a low constrast Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css Changeset: ac888403369e Author: pmuthuswamy Date: 2018-06-06 09:07 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ac888403369e 8190875: modules not listed in overview/index page Reviewed-by: jjg, sundar ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java + test/langtools/jdk/javadoc/doclet/testIndexWithModules/TestIndexWithModules.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java Changeset: 04b3e0cc53bb Author: ljiang Date: 2018-06-05 23:06 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/04b3e0cc53bb 8193552: ISO 4217 amendment 165 8202026: ISO 4217 amendment 166 8204269: ISO 4217 amendment 167 Reviewed-by: naoto Contributed-by: li.jiang at oracle.com ! make/data/currency/CurrencyData.properties ! src/java.base/share/classes/sun/util/resources/CurrencyNames.properties ! test/jdk/java/util/Currency/ValidateISO4217.java ! test/jdk/java/util/Currency/tablea1.txt ! test/jdk/sun/text/resources/LocaleData ! test/jdk/sun/text/resources/LocaleDataTest.java Changeset: 82599d53dd6d Author: mdoerr Date: 2018-06-06 10:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/82599d53dd6d 8204345: [s390]: no precompiled headers build broken Reviewed-by: simonis, shade, coleenp ! src/hotspot/cpu/s390/assembler_s390.hpp ! src/hotspot/cpu/s390/assembler_s390.inline.hpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.hpp Changeset: e878fcf66678 Author: nishjain Date: 2018-06-06 14:16 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e878fcf66678 8203872: Upgrading JDK with latest available LSR data from IANA. Reviewed-by: naoto ! make/data/lsrdata/language-subtag-registry.txt ! test/jdk/java/util/Locale/Bug8040211.java Changeset: 43b54a307c89 Author: alanb Date: 2018-06-06 12:17 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/43b54a307c89 8203937: Not possible to read data from socket after write detects connection reset Reviewed-by: chegar ! src/java.base/share/classes/java/net/SocketOutputStream.java ! src/java.base/unix/native/libnet/SocketOutputStream.c + test/jdk/java/net/Socket/ReadAfterReset.java Changeset: 4e47a0f6d688 Author: aph Date: 2018-06-05 17:50 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4e47a0f6d688 8204348: AArch64: Remove C2 address reshaping code Reviewed-by: kvn ! src/hotspot/cpu/aarch64/aarch64.ad Changeset: b06f330492cd Author: aph Date: 2018-06-06 13:06 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b06f330492cd Merge Changeset: 8c88df2e8a78 Author: jlahoda Date: 2018-06-06 15:36 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8c88df2e8a78 8203891: Upgrade JOpt Simple to 5.0.4 Reviewed-by: alanb, chegar, mchung ! make/CompileJavaModules.gmk ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/AbstractOptionSpec.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/AlternativeLongOptionSpec.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/ArgumentAcceptingOptionSpec.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/ArgumentList.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/BuiltinHelpFormatter.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/ExceptionMessages.properties ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/HelpFormatter.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/HelpFormatterMessages.properties ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/IllegalOptionSpecificationException.java - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/MissingRequiredOptionException.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/MissingRequiredOptionsException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/MultipleArgumentsForOptionException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/NoArgumentOptionSpec.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/NonOptionArgumentSpec.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionArgumentConversionException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionDeclarer.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionDescriptor.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionMissingRequiredArgumentException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionParser.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionParserState.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionSet.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionSpec.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionSpecBuilder.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionSpecTokenizer.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionalArgumentOptionSpec.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/ParserRules.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/README ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/RequiredArgumentOptionSpec.java - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/UnacceptableNumberOfNonOptionsException.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/UnavailableOptionException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/UnconfiguredOptionException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/UnrecognizedOptionException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/ValueConversionException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/ValueConverter.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/AbbreviationMap.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Classes.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Columns.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/ConstructorInvokingValueConverter.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Messages.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/MethodInvokingValueConverter.java - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Objects.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/OptionNameMap.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Reflection.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/ReflectionException.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Row.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Rows.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/SimpleOptionNameMap.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Strings.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/util/DateConverter.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/util/EnumConverter.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/util/InetAddressConverter.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/util/KeyValuePair.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/util/PathConverter.java + src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/util/PathProperties.java ! src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/util/RegexMatcher.java ! src/jdk.internal.opt/share/legal/jopt-simple.md ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java ! test/jdk/tools/jmod/JmodNegativeTest.java ! test/jdk/tools/jmod/JmodTest.java Changeset: 83aec1d357d4 Author: coleenp Date: 2018-06-06 10:45 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/83aec1d357d4 8204301: Make OrderAccess functions available to hpp rather than inline.hpp files Summary: move orderAccess.inline.hpp into orderAccess.hpp and remove os.hpp inclusion and conditional os::is_MP() for fence on x86 platforms Reviewed-by: dholmes, hseigel ! src/hotspot/cpu/arm/relocInfo_arm.cpp ! src/hotspot/cpu/ppc/nativeInst_ppc.cpp ! src/hotspot/cpu/zero/cppInterpreter_zero.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/os/windows/os_windows.cpp + src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.hpp - src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.inline.hpp + src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.hpp - src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.inline.hpp + src/hotspot/os_cpu/bsd_zero/orderAccess_bsd_zero.hpp - src/hotspot/os_cpu/bsd_zero/orderAccess_bsd_zero.inline.hpp + src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.hpp - src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.inline.hpp + src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp - src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp + src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.hpp - src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.inline.hpp + src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.hpp - src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.inline.hpp + src/hotspot/os_cpu/linux_sparc/orderAccess_linux_sparc.hpp - src/hotspot/os_cpu/linux_sparc/orderAccess_linux_sparc.inline.hpp + src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.hpp - src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.inline.hpp + src/hotspot/os_cpu/linux_zero/orderAccess_linux_zero.hpp - src/hotspot/os_cpu/linux_zero/orderAccess_linux_zero.inline.hpp + src/hotspot/os_cpu/solaris_sparc/orderAccess_solaris_sparc.hpp - src/hotspot/os_cpu/solaris_sparc/orderAccess_solaris_sparc.inline.hpp + src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp - src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.inline.hpp + src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.hpp - src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.inline.hpp ! src/hotspot/share/classfile/classLoader.inline.hpp ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/dictionary.inline.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/gc/cms/adaptiveFreeList.cpp ! src/hotspot/share/gc/cms/cmsCardTable.cpp ! src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1CardTable.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/parallel/gcTaskManager.cpp ! src/hotspot/share/gc/shared/cardTableBarrierSet.inline.hpp ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/taskqueue.inline.hpp ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp ! src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.cpp ! src/hotspot/share/jfr/recorder/service/jfrPostBox.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/storage/jfrBuffer.cpp ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp ! src/hotspot/share/jfr/recorder/storage/jfrStorageControl.cpp ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp ! src/hotspot/share/jfr/recorder/stringpool/jfrStringPool.cpp ! src/hotspot/share/jfr/recorder/stringpool/jfrStringPoolBuffer.cpp ! src/hotspot/share/jfr/utilities/jfrAllocation.cpp ! src/hotspot/share/jfr/utilities/jfrHashtable.hpp ! src/hotspot/share/logging/logOutputList.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceList.cpp ! src/hotspot/share/oops/array.inline.hpp ! src/hotspot/share/oops/arrayKlass.inline.hpp ! src/hotspot/share/oops/constantPool.inline.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/cpCache.inline.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.inline.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.inline.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/precompiled/precompiled.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiRawMonitor.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/interfaceSupport.cpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/orderAccess.hpp - src/hotspot/share/runtime/orderAccess.inline.hpp ! src/hotspot/share/runtime/perfMemory.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/sweeper.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.inline.hpp ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memoryManager.cpp ! src/hotspot/share/services/memoryPool.cpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! src/hotspot/share/utilities/globalCounter.cpp ! src/hotspot/share/utilities/globalCounter.inline.hpp ! src/hotspot/share/utilities/hashtable.inline.hpp ! test/hotspot/gtest/utilities/test_globalCounter.cpp Changeset: 6659a8f57d78 Author: vromero Date: 2018-06-06 08:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6659a8f57d78 8204322: "+=" applied to String operands can provoke side effects Reviewed-by: mcimadamore, jlahoda, shade ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/StringConcat.java + test/jdk/java/lang/String/concat/ImplicitStringConcatAssignLHS.java Changeset: 64e4b1686141 Author: dlong Date: 2018-06-06 09:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/64e4b1686141 8204199: Test fails after 8202670 Graal update Reviewed-by: thartmann, kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java Changeset: 3a91f09a46be Author: dholmes Date: 2018-06-06 17:10 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3a91f09a46be 8174734: Safepoint sync time did not increase Reviewed-by: coleenp, hseigel ! test/jdk/ProblemList.txt ! test/jdk/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java Changeset: 2bafeb7a1f6b Author: sherman Date: 2018-06-06 14:36 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2bafeb7a1f6b 8204494: Fix for 8200530 triggered regression, closed/test/jdk/security/infra/java/security/KeyStore/BouncyCastleInterop.java failed Reviewed-by: rriggs ! src/java.base/share/classes/java/util/jar/Manifest.java Changeset: 505d944de3c5 Author: jjg Date: 2018-06-06 15:10 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/505d944de3c5 8204303: Add redirect for overview-summary.html Reviewed-by: sundar, hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java Changeset: d45eb971ad87 Author: jwilhelm Date: 2018-06-07 01:33 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d45eb971ad87 Added tag jdk-11+17 for changeset 64e4b1686141 ! .hgtags Changeset: 48ec3c25fe99 Author: sspitsyn Date: 2018-06-06 19:47 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/48ec3c25fe99 8200387: [Graal] fromTonga/nsk/jdi tests hang with Graal as JIT Summary: Increase the OVERLOADED_QUEUE value in the JDI client Reviewed-by: cjplummer, amenkov ! src/jdk.jdi/share/classes/com/sun/tools/jdi/TargetVM.java ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 46a5f26cb95b Author: dtitov Date: 2018-06-06 13:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/46a5f26cb95b 8203033: [Testbug] vmTestbase/nsk/jdi/TypeComponent/isSynthetic/issynthetic002/TestDescription.java fails with nestmates Reviewed-by: sspitsyn, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/isSynthetic/issynthetic002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/isSynthetic/issynthetic002a.java Changeset: 66d0ded78cce Author: sjohanss Date: 2018-06-07 09:02 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/66d0ded78cce 8204287: Phase timings not updated correctly after JDK-6672778 Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp Changeset: c5c827f3bf72 Author: alanb Date: 2018-06-07 09:18 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c5c827f3bf72 6350055: (se) SelectionKey.interestOps variants to atomically update interest ops Reviewed-by: bpb Contributed-by: david.lloyd at redhat.com, alan.bateman at oracle.com ! src/java.base/share/classes/java/nio/channels/SelectionKey.java ! src/java.base/share/classes/sun/nio/ch/SelectionKeyImpl.java + test/jdk/java/nio/channels/SelectionKey/AtomicUpdates.java Changeset: cfdd37095f66 Author: tschatzl Date: 2018-06-07 11:20 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cfdd37095f66 8204084: Remove the G1RSBarrierRegionFilter develop flag Reviewed-by: sjohanss, shade ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/sparc/gc/g1/g1BarrierSetAssembler_sparc.cpp ! src/hotspot/share/gc/g1/g1_globals.hpp Changeset: 523c2a73a3dc Author: tschatzl Date: 2018-06-07 11:20 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/523c2a73a3dc 8204081: Mismatch in rebuild policy and collection set chooser causes remembered sets to be kept errorneously Summary: Due to mismatch in which region's remembered sets should be rebuilt and the ones that are looked at in the collection set chooser superfluous remembered sets might be built and kept alive until the next marking. Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/collectionSetChooser.cpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp Changeset: ab967988f850 Author: tschatzl Date: 2018-06-07 11:20 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ab967988f850 8202049: G1: ReferenceProcessor doesn't handle mark stack overflow Summary: Issue a fatal error when mark stack overflows during reference processing in the Remark phase Reviewed-by: kbarrett ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp Changeset: 8e56de95ce10 Author: stuefe Date: 2018-06-07 12:23 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8e56de95ce10 8203682: Add jcmd "VM.classloaders" command to print out class loader hierarchy, details Reviewed-by: coleenp, dholmes + src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp + src/hotspot/share/classfile/classLoaderHierarchyDCmd.hpp ! src/hotspot/share/runtime/vm_operations.hpp ! src/hotspot/share/services/diagnosticCommand.cpp + test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderHierarchyTest.java Changeset: db65921e9a9b Author: lancea Date: 2018-06-07 06:27 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/db65921e9a9b 8201608: fix broken links in javax/sql/rowset/package.html and javax/sql/rowset/spi/package.html Reviewed-by: rriggs, psandoz + src/java.sql.rowset/share/classes/javax/sql/rowset/package-info.java - src/java.sql.rowset/share/classes/javax/sql/rowset/package.html + src/java.sql.rowset/share/classes/javax/sql/rowset/spi/package-info.java - src/java.sql.rowset/share/classes/javax/sql/rowset/spi/package.html Changeset: bd6b78feb6a3 Author: rehn Date: 2018-06-07 14:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bd6b78feb6a3 8195097: Make it possible to process StringTable outside safepoint Reviewed-by: coleenp, gziemski, iklam, jiangli ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/gc/cms/cmsHeap.cpp ! src/hotspot/share/gc/cms/cmsHeap.hpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1RootProcessor.cpp ! src/hotspot/share/gc/g1/g1RootProcessor.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.hpp ! src/hotspot/share/gc/shared/strongRootsScope.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/weakHandle.cpp ! src/hotspot/share/oops/weakHandle.hpp ! src/hotspot/share/oops/weakHandle.inline.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/serviceThread.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/StringTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: 39ca7558bc43 Author: eosterlund Date: 2018-06-07 15:10 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/39ca7558bc43 8203353: Fixup inferred decorators in the interpreter Reviewed-by: rkennke, coleenp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp Changeset: 3111982511ee Author: bpb Date: 2018-06-07 07:43 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3111982511ee 8201407: Files.move throws DirectoryNonEmptyException when moving directory across file system Reviewed-by: alanb ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/unix/classes/sun/nio/fs/UnixCopyFile.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileCopy.java ! test/jdk/java/nio/file/Files/CopyAndMove.java Changeset: db8036093504 Author: eosterlund Date: 2018-06-07 17:40 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/db8036093504 8204554: JFR TLAB tracing broken after 8202776 Reviewed-by: rkennke, stefank ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.inline.hpp Changeset: acdfeede95ff Author: vlivanov Date: 2018-06-06 23:36 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/acdfeede95ff 8203480: IncompatibleClassChangeError thrown at sites linked to default interface methods Reviewed-by: kvn ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/InvokeTest.java Changeset: 517f76115e5a Author: pliden Date: 2018-06-07 21:57 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/517f76115e5a 8204474: Have instanceRefKlass use HeapAccess when loading the referent Reviewed-by: stefank, eosterlund ! src/hotspot/share/oops/instanceRefKlass.inline.hpp Changeset: c9513ce29c18 Author: sherman Date: 2018-06-07 13:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c9513ce29c18 8203839: API clarification: versioned jar entry verification in multi-release jar file Reviewed-by: darcy, psandoz, alanb, weijun ! src/java.base/share/classes/java/util/jar/JarFile.java Changeset: ccb2c0d5da93 Author: ihse Date: 2018-06-07 23:30 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ccb2c0d5da93 8203822: AIX version of jsig.c was not removed in JDK-8200298 Reviewed-by: erikj - src/java.base/aix/native/libjsig/jsig.c Changeset: f91927a2c8d3 Author: jjg Date: 2018-06-07 16:06 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f91927a2c8d3 8201274: Launch Single-File Source-Code Programs Reviewed-by: mcimadamore, jlahoda, ksrini, mchung, ihse, alanb ! make/gensrc/Gensrc-jdk.compiler.gmk ! make/langtools/build.properties ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/native/launcher/main.c ! src/java.base/share/native/libjli/args.c ! src/java.base/share/native/libjli/emessages.h ! src/java.base/share/native/libjli/java.c ! src/java.base/share/native/libjli/java.h ! src/java.base/share/native/libjli/jli_util.c ! src/java.base/share/native/libjli/jli_util.h ! src/java.base/windows/native/libjli/cmdtoargs.c + src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java + src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher.properties + test/jdk/tools/launcher/SourceMode.java ! test/langtools/tools/javac/diags/CheckResourceKeys.java + test/langtools/tools/javac/launcher/SourceLauncherTest.java Changeset: d134badc8a42 Author: iignatyev Date: 2018-06-07 17:10 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d134badc8a42 8204577: jittester generator doesn't kill processes on timeout Reviewed-by: kvn, epavlova ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/TestsGenerator.java Changeset: 2b73cce96dce Author: kvn Date: 2018-06-07 17:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2b73cce96dce 8202611: [GRAAL] Exclude CMS GC testing from runs with Graal Reviewed-by: iignatyev, kbarrett ! test/hotspot/jtreg/gc/TestAgeOutput.java ! test/hotspot/jtreg/gc/TestGenerationPerfCounter.java ! test/hotspot/jtreg/gc/TestMemoryInitializationWithCMS.java ! test/hotspot/jtreg/gc/TestMemoryMXBeansAndPoolsPresence.java ! test/hotspot/jtreg/gc/TestNumWorkerOutput.java ! test/hotspot/jtreg/gc/TestSystemGC.java ! test/hotspot/jtreg/gc/arguments/TestAlignmentToUseLargePages.java ! test/hotspot/jtreg/gc/arguments/TestCMSHeapSizeFlags.java ! test/hotspot/jtreg/gc/arguments/TestMaxNewSize.java ! test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgo.java ! test/hotspot/jtreg/gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java ! test/hotspot/jtreg/gc/class_unloading/TestClassUnloadingDisabled.java ! test/hotspot/jtreg/gc/cms/DisableResizePLAB.java ! test/hotspot/jtreg/gc/cms/GuardShrinkWarning.java ! test/hotspot/jtreg/gc/cms/TestBubbleUpRef.java ! test/hotspot/jtreg/gc/cms/TestCMSScavengeBeforeRemark.java ! test/hotspot/jtreg/gc/cms/TestMBeanCMS.java ! test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlCMS.java ! test/hotspot/jtreg/gc/metaspace/TestMetaspaceCMSCancel.java ! test/hotspot/jtreg/gc/startup_warnings/TestCMS.java ! test/hotspot/jtreg/gc/stress/TestReclaimStringsLeaksMemory.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithCMS.java ! test/hotspot/jtreg/gc/stress/gclocker/TestGCLockerWithCMS.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithCMS.java ! test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithCMS.java ! test/hotspot/jtreg/runtime/CompressedOops/UseCompressedOops.java ! test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java ! test/hotspot/jtreg/runtime/appcds/CommandLineFlagCombo.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/jdk/ProblemList-graal.txt ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java ! test/jdk/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java ! test/jdk/java/lang/management/MemoryMXBean/LowMemoryTest.java ! test/jdk/java/lang/management/MemoryMXBean/MemoryManagementConcMarkSweepGC.sh ! test/jdk/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java ! test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithCMSConcurrent.java ! test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithCMSMarkSweep.java ! test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSConcurrent.java ! test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSMarkSweep.java ! test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithParNew.java ! test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParNew.java ! test/jdk/jdk/jfr/event/gc/detailed/TestCMSConcurrentModeFailureEvent.java ! test/jdk/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParNew.java ! test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithCMS.java ! test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParNew.java ! test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithCMS.java ! test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParNew.java ! test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventConcurrentCMS.java ! test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventParNewCMS.java ! test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSConcurrent.java ! test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSMarkSweep.java ! test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSConcurrent.java ! test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSMarkSweep.java ! test/jdk/jdk/jfr/event/gc/stacktrace/TestConcMarkSweepAllocationPendingStackTrace.java ! test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace.java ! test/jdk/jdk/jfr/event/gc/stacktrace/TestParNewAllocationPendingStackTrace.java ! test/jdk/jdk/jfr/event/oldobject/TestCMS.java ! test/jdk/jdk/jfr/event/runtime/TestModuleEvents.java ! test/jtreg-ext/requires/VMProps.java + test/lib/sun/hotspot/code/Compiler.java Changeset: cb75455ada5a Author: cjplummer Date: 2018-06-07 19:01 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cb75455ada5a 8203329: JDWP/JDI VM information string is incorrect Summary: make sure the native java.vm.info property also gets updated when the java version is. Reviewed-by: sspitsyn, dholmes ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/serviceability/jvmti/GetSystemProperty/JvmtiGetSystemPropertyTest.java + test/hotspot/jtreg/serviceability/jvmti/GetSystemProperty/libJvmtiGetSystemPropertyTest.c Changeset: 538dd69b60c0 Author: dholmes Date: 2018-06-07 22:26 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/538dd69b60c0 8204589: ProblemList failing launcher tests Reviewed-by: darcy ! test/jdk/ProblemList.txt ! test/langtools/ProblemList.txt Changeset: 976334531950 Author: rrich Date: 2018-06-08 06:59 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/976334531950 8204561: JVM_GetClassSigners: wrap signers oop in an objArrayHandle for subsequent safepoint Reviewed-by: coleenp, stuefe ! src/hotspot/share/prims/jvm.cpp Changeset: 6ed16c1cafc5 Author: goetz Date: 2018-06-07 15:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6ed16c1cafc5 8204549: [aix][testbug] signal tests fail because vm can not start in primordial thread. Reviewed-by: stuefe, dholmes ! test/hotspot/jtreg/runtime/signal/TestSigalrm.java ! test/hotspot/jtreg/runtime/signal/TestSigbus.java ! test/hotspot/jtreg/runtime/signal/TestSigcld.java ! test/hotspot/jtreg/runtime/signal/TestSigcont.java ! test/hotspot/jtreg/runtime/signal/TestSigemt.java ! test/hotspot/jtreg/runtime/signal/TestSigfpe.java ! test/hotspot/jtreg/runtime/signal/TestSigfreeze.java ! test/hotspot/jtreg/runtime/signal/TestSighup.java ! test/hotspot/jtreg/runtime/signal/TestSigill.java ! test/hotspot/jtreg/runtime/signal/TestSigint.java ! test/hotspot/jtreg/runtime/signal/TestSigiot.java ! test/hotspot/jtreg/runtime/signal/TestSiglost.java ! test/hotspot/jtreg/runtime/signal/TestSiglwp.java ! test/hotspot/jtreg/runtime/signal/TestSigpipe.java ! test/hotspot/jtreg/runtime/signal/TestSigpoll.java ! test/hotspot/jtreg/runtime/signal/TestSigprof.java ! test/hotspot/jtreg/runtime/signal/TestSigpwr.java ! test/hotspot/jtreg/runtime/signal/TestSigquit.java ! test/hotspot/jtreg/runtime/signal/TestSigsegv.java ! test/hotspot/jtreg/runtime/signal/TestSigstop.java ! test/hotspot/jtreg/runtime/signal/TestSigsys.java ! test/hotspot/jtreg/runtime/signal/TestSigterm.java ! test/hotspot/jtreg/runtime/signal/TestSigthaw.java ! test/hotspot/jtreg/runtime/signal/TestSigtrap.java ! test/hotspot/jtreg/runtime/signal/TestSigtstp.java ! test/hotspot/jtreg/runtime/signal/TestSigttin.java ! test/hotspot/jtreg/runtime/signal/TestSigttou.java ! test/hotspot/jtreg/runtime/signal/TestSigurg.java ! test/hotspot/jtreg/runtime/signal/TestSigusr1.java ! test/hotspot/jtreg/runtime/signal/TestSigusr2.java ! test/hotspot/jtreg/runtime/signal/TestSigvtalrm.java ! test/hotspot/jtreg/runtime/signal/TestSigwinch.java ! test/hotspot/jtreg/runtime/signal/TestSigxcpu.java ! test/hotspot/jtreg/runtime/signal/TestSigxfsz.java ! test/hotspot/jtreg/runtime/signal/TestSigxres.java Changeset: ec70aad8aebe Author: simonis Date: 2018-06-08 10:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ec70aad8aebe 8204335: [ppc] Assembler::add_const_optimized incorrect for some inputs Reviewed-by: mdoerr, goetz ! src/hotspot/cpu/ppc/assembler_ppc.cpp Changeset: 3fd625131017 Author: hannesw Date: 2018-06-08 11:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3fd625131017 8204288: Matching the end of a string followed by an empty greedy regex and a word boundary fails Reviewed-by: sundar, jlaskey ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/ByteCodeMachine.java + test/nashorn/script/basic/JDK-8204288.js Changeset: 1f49c9794ad8 Author: hannesw Date: 2018-06-08 11:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1f49c9794ad8 8204290: Add check to limit number of capture groups Reviewed-by: sundar, jlaskey ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/Config.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/exception/ErrorMessages.java + test/nashorn/script/basic/JDK-8204290.js Changeset: 929cd9246fc9 Author: shade Date: 2018-06-08 11:41 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/929cd9246fc9 8204479: Bitwise AND on byte value sometimes produces wrong result Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/x86_64.ad + test/hotspot/jtreg/compiler/c2/TestUnsignedByteCompare.java Changeset: 102ae98c917c Author: mbaesken Date: 2018-06-08 13:06 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/102ae98c917c 8204539: improve error messages in matchJavaTZ [windows] Reviewed-by: coffeys, clanger, goetz ! src/java.base/windows/native/libjava/TimeZone_md.c Changeset: 7b004b4548d8 Author: neliasso Date: 2018-06-08 14:50 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7b004b4548d8 8203425: assert(is_Loop()) failed: invalid node class Summary: Revert 8203215 Reviewed-by: thartmann ! src/hotspot/share/opto/loopnode.cpp Changeset: cb1d8c083db0 Author: bpb Date: 2018-06-08 07:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cb1d8c083db0 8204576: (fs) java/nio/file/Files/CopyAndMove.java does not set isUnix = true on macOS Reviewed-by: alanb ! test/jdk/java/nio/file/Files/CopyAndMove.java Changeset: e0a32b178e6f Author: mchung Date: 2018-06-08 08:30 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e0a32b178e6f 8204584: jdeps generates illegal dot file containing ranksep=0,600000 Reviewed-by: jjg ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleDotGraph.java Changeset: 4a5fd709e286 Author: mcimadamore Date: 2018-06-08 16:33 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4a5fd709e286 8204610: Compiler confused by parenthesized "this" in final fields assignments Summary: parenthesis are not skipped consistently in DA/DU, forward reference analysis Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/langtools/tools/javac/DefiniteAssignment/T8204610.java Changeset: 1476689320e0 Author: sdama Date: 2018-06-08 21:06 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1476689320e0 8196990: Resolve disabled warnings for libjli Summary: initialized uninitialzed data to avoid maybe-uninitialized warnings from gcc Reviewed-by: jlaskey ! make/lib/CoreLibraries.gmk ! src/java.base/share/native/libjli/args.c Changeset: f3aac763a315 Author: eosterlund Date: 2018-06-08 11:30 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f3aac763a315 8204504: Fix for 8198285 breaks slowdebug builds Reviewed-by: rkennke, mgronlun ! src/hotspot/share/oops/accessBackend.inline.hpp Changeset: f0aeede1b855 Author: ihse Date: 2018-06-08 18:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f0aeede1b855 8204572: SetupJdkLibrary should setup SRC and -I flags automatically Reviewed-by: erikj ! make/common/JdkNativeCompilation.gmk ! make/common/MakeBase.gmk ! make/lib/Awt2dLibraries.gmk ! make/lib/CoreLibraries.gmk ! make/lib/Lib-java.base.gmk ! make/lib/Lib-java.desktop.gmk ! make/lib/Lib-java.instrument.gmk ! make/lib/Lib-java.management.gmk ! make/lib/Lib-java.prefs.gmk ! make/lib/Lib-java.rmi.gmk ! make/lib/Lib-java.security.jgss.gmk ! make/lib/Lib-java.smartcardio.gmk ! make/lib/Lib-jdk.accessibility.gmk ! make/lib/Lib-jdk.attach.gmk ! make/lib/Lib-jdk.crypto.cryptoki.gmk ! make/lib/Lib-jdk.crypto.ec.gmk ! make/lib/Lib-jdk.crypto.mscapi.gmk ! make/lib/Lib-jdk.crypto.ucrypto.gmk ! make/lib/Lib-jdk.hotspot.agent.gmk ! make/lib/Lib-jdk.internal.le.gmk ! make/lib/Lib-jdk.jdi.gmk ! make/lib/Lib-jdk.jdwp.agent.gmk ! make/lib/Lib-jdk.management.agent.gmk ! make/lib/Lib-jdk.management.gmk ! make/lib/Lib-jdk.net.gmk ! make/lib/Lib-jdk.pack.gmk ! make/lib/Lib-jdk.sctp.gmk ! make/lib/Lib-jdk.security.auth.gmk ! make/lib/LibCommon.gmk - src/java.desktop/macosx/native/libsplashscreen/libpng/zlib.h + src/java.desktop/macosx/native/libsplashscreen/libpng/zlibwrapper/zlib.h ! src/java.desktop/share/native/libsplashscreen/java_awt_SplashScreen.c ! src/java.prefs/macosx/native/libprefs/MacOSXPreferencesFile.m ! src/java.prefs/unix/native/libprefs/FileSystemPreferences.c ! src/java.prefs/windows/native/libprefs/WindowsPreferences.c ! src/java.security.jgss/windows/native/libw2k_lsa_auth/NativeCreds.c ! src/java.security.jgss/windows/native/libw2k_lsa_auth/WindowsDirectory.c ! src/jdk.crypto.ec/share/native/libsunec/ECC_JNI.cpp ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp ! src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c ! src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCryptoMD.c ! src/jdk.net/linux/native/libextnet/LinuxSocketOptions.c Changeset: ee1a0ddb2590 Author: ihse Date: 2018-06-08 18:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ee1a0ddb2590 8204602: Add devkit for linux-arm32 Reviewed-by: erikj ! make/conf/jib-profiles.js ! make/devkit/Makefile ! make/devkit/Tools.gmk Changeset: bef0ed237504 Author: martin Date: 2018-06-08 09:36 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bef0ed237504 8204444: java.time cleanup Reviewed-by: scolebourne, rriggs ! src/java.base/share/classes/java/time/Clock.java ! src/java.base/share/classes/java/time/Duration.java ! src/java.base/share/classes/java/time/Instant.java ! src/java.base/share/classes/java/time/LocalTime.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDateImpl.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTime.java ! src/java.base/share/classes/java/time/chrono/Chronology.java ! src/java.base/share/classes/java/time/chrono/IsoChronology.java ! src/java.base/share/classes/java/time/chrono/JapaneseChronology.java ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/java.base/share/classes/java/time/format/DecimalStyle.java ! src/java.base/share/classes/java/time/zone/ZoneRulesProvider.java Changeset: 5d905cc4c358 Author: martin Date: 2018-06-08 09:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5d905cc4c358 8204377: Rename Object#wait parameter name from "timeout" to "timeoutMillis" Reviewed-by: dholmes, scolebourne, alanb, rriggs ! src/java.base/share/classes/java/lang/Object.java Changeset: 0e25d6367884 Author: sherman Date: 2018-06-08 10:09 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0e25d6367884 8204229: Formatter and String.format ignore the width with the percent modifier (%5%) Reviewed-by: jlaskey ! src/java.base/share/classes/java/util/Formatter.java ! test/jdk/java/util/Formatter/Basic-X.java.template ! test/jdk/java/util/Formatter/Basic.java ! test/jdk/java/util/Formatter/BasicBigDecimal.java ! test/jdk/java/util/Formatter/BasicBigInteger.java ! test/jdk/java/util/Formatter/BasicBoolean.java ! test/jdk/java/util/Formatter/BasicBooleanObject.java ! test/jdk/java/util/Formatter/BasicByte.java ! test/jdk/java/util/Formatter/BasicByteObject.java ! test/jdk/java/util/Formatter/BasicChar.java ! test/jdk/java/util/Formatter/BasicCharObject.java ! test/jdk/java/util/Formatter/BasicDateTime.java ! test/jdk/java/util/Formatter/BasicDouble.java ! test/jdk/java/util/Formatter/BasicDoubleObject.java ! test/jdk/java/util/Formatter/BasicFloat.java ! test/jdk/java/util/Formatter/BasicFloatObject.java ! test/jdk/java/util/Formatter/BasicInt.java ! test/jdk/java/util/Formatter/BasicIntObject.java ! test/jdk/java/util/Formatter/BasicLong.java ! test/jdk/java/util/Formatter/BasicLongObject.java ! test/jdk/java/util/Formatter/BasicShort.java ! test/jdk/java/util/Formatter/BasicShortObject.java ! test/jdk/java/util/Formatter/genBasic.sh Changeset: 30d5bca69eae Author: ccheung Date: 2018-06-08 11:04 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/30d5bca69eae 8204110: serviceability/sa/ClhsdbSymbol.java and ClhsdbInspect.java failed when running in CDS mode Summary: ClhsdbSymbol - added printing of symbols from shared table. ClhsdbInspect - find type via FileMapInfo if guessTypeForAddress returns null and sharing is enabled. Reviewed-by: jgeorge, sspitsyn, iklam ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/CompactHashTable.java Changeset: cb0efe0cc20e Author: dl Date: 2018-06-08 11:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cb0efe0cc20e 8204375: Add TimeUnit#convert(Duration) Reviewed-by: martin, scolebourne, plevart, rriggs ! src/java.base/share/classes/java/util/concurrent/TimeUnit.java ! test/jdk/java/util/concurrent/tck/TimeUnit8Test.java Changeset: 2e3f73b616c2 Author: naoto Date: 2017-08-09 14:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2e3f73b616c2 8202088: Japanese new era implementation Reviewed-by: scolebourne, rriggs, nishjain, weijun ! src/java.base/share/classes/java/time/chrono/JapaneseEra.java ! src/java.base/share/classes/java/util/JapaneseImperialCalendar.java ! src/java.base/share/classes/sun/text/resources/FormatData.java ! src/java.base/share/classes/sun/text/resources/JavaTimeSupplementary.java ! src/java.base/share/classes/sun/util/calendar/Era.java ! src/java.base/share/classes/sun/util/calendar/LocalGregorianCalendar.java ! src/java.base/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_ja.java ! src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ja.java ! test/jdk/java/text/Format/DateFormat/WeekDateTest.java ! test/jdk/java/time/tck/java/time/chrono/TCKJapaneseChronology.java ! test/jdk/java/time/tck/java/time/chrono/TCKJapaneseEra.java ! test/jdk/java/time/test/java/time/chrono/TestJapaneseChronology.java ! test/jdk/java/time/test/java/time/chrono/TestUmmAlQuraChronology.java ! test/jdk/java/util/Calendar/Bug8007038.java ! test/jdk/java/util/Calendar/Builder/BuilderTest.java + test/jdk/java/util/Calendar/JapaneseEraNameTest.java ! test/jdk/java/util/Calendar/NarrowNamesTest.java ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.java ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.sh ! test/jdk/java/util/Calendar/ZoneOffsets.java Changeset: 70e706c85f1d Author: prr Date: 2018-06-04 10:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/70e706c85f1d 8203367: Upgrade to freetype 2.9.1 Reviewed-by: serb ! make/lib/Awt2dLibraries.gmk ! src/java.desktop/share/legal/freetype.md ! src/java.desktop/share/native/libfreetype/UPDATING.txt ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftconfig.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h ! src/java.desktop/share/native/libfreetype/include/freetype/freetype.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftdriver.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftgasp.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftobjs.h ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.c ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.dat ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.h ! src/java.desktop/share/native/libfreetype/src/autofit/afranges.c ! src/java.desktop/share/native/libfreetype/src/autofit/afscript.h ! src/java.desktop/share/native/libfreetype/src/autofit/aftypes.h ! src/java.desktop/share/native/libfreetype/src/base/ftbitmap.c ! src/java.desktop/share/native/libfreetype/src/base/ftlcdfil.c ! src/java.desktop/share/native/libfreetype/src/base/ftoutln.c ! src/java.desktop/share/native/libfreetype/src/cff/cffload.c ! src/java.desktop/share/native/libfreetype/src/psaux/psintrp.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshglob.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.c ! src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.c ! src/java.desktop/share/native/libfreetype/src/type1/t1load.c Changeset: 544cb09baada Author: serb Date: 2018-06-04 19:01 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/544cb09baada 8203308: Remove the appletviewer classes Reviewed-by: prr, erikj ! make/gensrc/Gensrc-java.desktop.gmk ! src/java.desktop/share/classes/sun/applet/AppletClassLoader.java - src/java.desktop/share/classes/sun/applet/AppletEvent.java - src/java.desktop/share/classes/sun/applet/AppletEventMulticaster.java - src/java.desktop/share/classes/sun/applet/AppletIOException.java - src/java.desktop/share/classes/sun/applet/AppletIllegalArgumentException.java - src/java.desktop/share/classes/sun/applet/AppletImageRef.java - src/java.desktop/share/classes/sun/applet/AppletListener.java - src/java.desktop/share/classes/sun/applet/AppletMessageHandler.java - src/java.desktop/share/classes/sun/applet/AppletObjectInputStream.java - src/java.desktop/share/classes/sun/applet/AppletPanel.java - src/java.desktop/share/classes/sun/applet/AppletProps.java - src/java.desktop/share/classes/sun/applet/AppletResourceLoader.java - src/java.desktop/share/classes/sun/applet/AppletSecurityException.java - src/java.desktop/share/classes/sun/applet/AppletViewer.java - src/java.desktop/share/classes/sun/applet/AppletViewerFactory.java - src/java.desktop/share/classes/sun/applet/AppletViewerPanel.java - src/java.desktop/share/classes/sun/applet/Main.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_de.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_es.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_fr.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_it.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ja.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ko.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_sv.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java ! test/jdk/TEST.ROOT ! test/jdk/TEST.groups - test/jdk/sun/applet/DeprecatedAppletViewer/DeprecatedAppletViewer.java - test/jdk/sun/applet/TEST.properties Changeset: 93879c0753ec Author: serb Date: 2018-06-04 19:36 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/93879c0753ec 8204118: [macos] Nonsensical self == [super init] in CFileDialog.m Reviewed-by: kaddepalli, sveerabhadra ! src/java.desktop/macosx/native/libawt_lwawt/awt/CFileDialog.m Changeset: 18f8e3b6f3b7 Author: serb Date: 2018-06-04 20:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/18f8e3b6f3b7 8196030: AWT Robot mouseMove fails on Windows 10 1709 with HiDPI 8190326: Robot.mouseMove uses scaling factor of main display on unscaled second display Reviewed-by: prr, kcr ! src/java.desktop/share/classes/java/awt/Robot.java ! src/java.desktop/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/java.desktop/share/classes/sun/swing/SwingUtilities2.java ! src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp + test/jdk/java/awt/Robot/MouseLocationOnScreen/MouseLocationOnScreen.java Changeset: 10b8e57899b3 Author: prr Date: 2018-06-05 14:42 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/10b8e57899b3 8203499: Uninitialised memory in WinAccessBridge.cpp Reviewed-by: serb ! src/jdk.accessibility/windows/native/libwindowsaccessbridge/WinAccessBridge.cpp Changeset: f8c15a2f2ae9 Author: mbaesken Date: 2018-06-04 16:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f8c15a2f2ae9 8204211: windows : handle potential C++ exception in GDIRenderer Reviewed-by: clanger, prr, serb ! make/lib/Awt2dLibraries.gmk ! src/java.desktop/windows/native/libawt/java2d/windows/GDIRenderer.cpp ! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp Changeset: e2acd1ba1ee5 Author: prr Date: 2018-06-06 09:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e2acd1ba1ee5 Merge - src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.inline.hpp - src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.inline.hpp - src/hotspot/os_cpu/bsd_zero/orderAccess_bsd_zero.inline.hpp - src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.inline.hpp - src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp - src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.inline.hpp - src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.inline.hpp - src/hotspot/os_cpu/linux_sparc/orderAccess_linux_sparc.inline.hpp - src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.inline.hpp - src/hotspot/os_cpu/linux_zero/orderAccess_linux_zero.inline.hpp - src/hotspot/os_cpu/solaris_sparc/orderAccess_solaris_sparc.inline.hpp - src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.inline.hpp - src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.inline.hpp - src/hotspot/share/runtime/orderAccess.inline.hpp - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/MissingRequiredOptionException.java - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/UnacceptableNumberOfNonOptionsException.java - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Objects.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-1.10.2.js - test/hotspot/jtreg/runtime/appcds/jigsaw/limitmods/LimitModsHelper.java - test/hotspot/jtreg/runtime/appcds/jigsaw/limitmods/LimitModsTests.java - test/hotspot/jtreg/runtime/appcds/test-classes/jdk/dynalink/DynamicLinker.jasm Changeset: 143c539c00dc Author: prr Date: 2018-06-06 10:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/143c539c00dc 8203499: Uninitialised memory in WinAccessBridge.cpp Reviewed-by: serb ! src/java.desktop/share/classes/javax/print/ServiceUI.java + src/java.desktop/share/classes/javax/print/attribute/standard/DialogOwner.java - src/java.desktop/share/classes/sun/print/DialogOnTop.java - src/java.desktop/share/classes/sun/print/DialogOwner.java + src/java.desktop/share/classes/sun/print/DialogOwnerAccessor.java ! src/java.desktop/share/classes/sun/print/PrintJob2D.java ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java ! src/java.desktop/share/classes/sun/print/ServiceDialog.java ! src/java.desktop/unix/classes/sun/print/IPPPrintService.java ! src/java.desktop/unix/classes/sun/print/UnixPrintService.java ! src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java ! src/java.desktop/windows/classes/sun/print/Win32PrintService.java + test/jdk/java/awt/print/Dialog/DialogOwnerTest.java Changeset: fe3e444e7fbe Author: prr Date: 2018-06-06 12:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fe3e444e7fbe 8204496: backout fix for 8203796 which was pushed under another ID Reviewed-by: serb ! src/java.desktop/share/classes/javax/print/ServiceUI.java + src/java.desktop/share/classes/sun/print/DialogOnTop.java ! src/java.desktop/share/classes/sun/print/DialogOwner.java < src/java.desktop/share/classes/javax/print/attribute/standard/DialogOwner.java - src/java.desktop/share/classes/sun/print/DialogOwnerAccessor.java ! src/java.desktop/share/classes/sun/print/PrintJob2D.java ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java ! src/java.desktop/share/classes/sun/print/ServiceDialog.java ! src/java.desktop/unix/classes/sun/print/IPPPrintService.java ! src/java.desktop/unix/classes/sun/print/UnixPrintService.java ! src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java ! src/java.desktop/windows/classes/sun/print/Win32PrintService.java - test/jdk/java/awt/print/Dialog/DialogOwnerTest.java Changeset: 15a2ef1e418e Author: prr Date: 2018-06-06 12:51 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/15a2ef1e418e 8203796: Define API to support specifying ownership of print dialogs Reviewed-by: serb, kcr ! src/java.desktop/share/classes/javax/print/ServiceUI.java + src/java.desktop/share/classes/javax/print/attribute/standard/DialogOwner.java - src/java.desktop/share/classes/sun/print/DialogOnTop.java - src/java.desktop/share/classes/sun/print/DialogOwner.java + src/java.desktop/share/classes/sun/print/DialogOwnerAccessor.java ! src/java.desktop/share/classes/sun/print/PrintJob2D.java ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java ! src/java.desktop/share/classes/sun/print/ServiceDialog.java ! src/java.desktop/unix/classes/sun/print/IPPPrintService.java ! src/java.desktop/unix/classes/sun/print/UnixPrintService.java ! src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java ! src/java.desktop/windows/classes/sun/print/Win32PrintService.java + test/jdk/java/awt/print/Dialog/DialogOwnerTest.java Changeset: 580159eeac07 Author: prr Date: 2018-06-06 13:04 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/580159eeac07 8204187: Remove proprietary JPEG code from javax.imageio Reviewed-by: bpb, serb, kaddepalli ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterSpi.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/SOFMarkerSegment.java ! src/java.desktop/share/native/libjavajpeg/imageioJPEG.c ! src/java.desktop/share/native/libjavajpeg/jpegdecoder.c + test/jdk/javax/imageio/plugins/jpeg/TestWriteARGBJPEG.java ! test/jdk/javax/imageio/plugins/shared/BitDepth.java Changeset: cbae0e359538 Author: erikj Date: 2018-06-06 13:16 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cbae0e359538 8200132: Remove jre images and bundles Reviewed-by: alanb, ihse ! doc/building.html ! doc/building.md ! make/Bundles.gmk ! make/Help.gmk ! make/Images.gmk ! make/Main.gmk ! make/autoconf/spec.gmk.in ! make/conf/jib-profiles.js ! make/scripts/compare.sh Changeset: 78aa1b2c4c6d Author: serb Date: 2018-06-06 15:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/78aa1b2c4c6d 8203224: java.awt.desktop.*Event classes could not be instantiated if Desktop feature is not supported Reviewed-by: prr, kaddepalli ! src/java.desktop/share/classes/java/awt/desktop/AboutEvent.java ! src/java.desktop/share/classes/java/awt/desktop/AppEvent.java ! src/java.desktop/share/classes/java/awt/desktop/AppForegroundEvent.java ! src/java.desktop/share/classes/java/awt/desktop/AppHiddenEvent.java ! src/java.desktop/share/classes/java/awt/desktop/AppReopenedEvent.java ! src/java.desktop/share/classes/java/awt/desktop/FilesEvent.java ! src/java.desktop/share/classes/java/awt/desktop/OpenFilesEvent.java ! src/java.desktop/share/classes/java/awt/desktop/OpenURIEvent.java ! src/java.desktop/share/classes/java/awt/desktop/PreferencesEvent.java ! src/java.desktop/share/classes/java/awt/desktop/PrintFilesEvent.java ! src/java.desktop/share/classes/java/awt/desktop/QuitEvent.java ! src/java.desktop/share/classes/java/awt/desktop/ScreenSleepEvent.java ! src/java.desktop/share/classes/java/awt/desktop/SystemSleepEvent.java ! src/java.desktop/share/classes/java/awt/desktop/UserSessionEvent.java + test/jdk/java/awt/Desktop/DesktopEventsExceptions/DesktopEventsExceptions.java Changeset: bc4563382e8f Author: prr Date: 2018-06-07 11:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bc4563382e8f 8204126: MonospacedGlyphWidthTest.java failed again Reviewed-by: serb ! test/jdk/java/awt/font/MonospacedGlyphWidth/MonospacedGlyphWidthTest.java Changeset: 8a3b993c6adc Author: psadhukhan Date: 2018-06-08 12:52 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8a3b993c6adc 8202864: [TESTBUG] Need to replace the image used in two Swing tests Reviewed-by: prr, jdv ! test/jdk/javax/swing/JLayer/8041982/bug8041982.java - test/jdk/javax/swing/JLayer/8041982/cupanim.gif + test/jdk/javax/swing/JLayer/8041982/duke.gif ! test/jdk/javax/swing/JSlider/4987336/bug4987336.html ! test/jdk/javax/swing/JSlider/4987336/bug4987336.java - test/jdk/javax/swing/JSlider/4987336/cupanim.gif + test/jdk/javax/swing/JSlider/4987336/duke.gif Changeset: 1ac60dacaafb Author: prr Date: 2018-06-08 12:51 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1ac60dacaafb Merge ! make/conf/jib-profiles.js ! make/lib/Awt2dLibraries.gmk - src/java.base/aix/native/libjsig/jsig.c - src/java.desktop/macosx/native/libsplashscreen/libpng/zlib.h - src/java.sql.rowset/share/classes/javax/sql/rowset/package.html - src/java.sql.rowset/share/classes/javax/sql/rowset/spi/package.html - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/StringTable.java Changeset: 0d47e89382ed Author: prr Date: 2018-06-08 13:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0d47e89382ed Merge Changeset: 6d021f0a2bf8 Author: rkennke Date: 2018-06-04 15:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6d021f0a2bf8 8203172: Primitive heap access for interpreter BarrierSetAssembler/aarch64 Reviewed-by: eosterlund, adinn ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Changeset: ee8524126794 Author: jjg Date: 2018-06-08 15:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ee8524126794 8204588: Test failures after "Launch Single-File Source-Code Programs" Reviewed-by: mchung ! test/jdk/ProblemList.txt ! test/jdk/tools/launcher/SourceMode.java ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/launcher/SourceLauncherTest.java Changeset: 6c12c0bf0962 Author: mchung Date: 2018-06-09 20:57 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6c12c0bf0962 8204648: test/jdk/tools/launchers/SourceMode.java fails with long shebang line Reviewed-by: darcy ! test/jdk/tools/launcher/SourceMode.java Changeset: 65e65d5905bc Author: dsamersoff Date: 2018-06-10 12:58 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/65e65d5905bc 8202705: ARM32 build crashes on long JavaThread offsets Summary: Account extra bytes at the beginning of JavaThread Reviewed-by: shade, roland, dsamersoff Contributed-by: boris.ulasevich at bell-sw.com ! src/hotspot/cpu/arm/macroAssembler_arm.cpp Changeset: ade54c345982 Author: tschatzl Date: 2018-06-11 12:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ade54c345982 8204617: ParallelGC parallel reference processing does not set MT degree in reference processor Reviewed-by: sangheki, kbarrett ! src/hotspot/share/gc/parallel/psParallelCompact.cpp Changeset: 3787e9158925 Author: tschatzl Date: 2018-06-11 12:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3787e9158925 8204618: The parallel GC reference processing task executor enqueues a wrong number of tasks into the queue Reviewed-by: sangheki, kbarrett ! src/hotspot/share/gc/parallel/pcTasks.cpp Changeset: 9c361050293f Author: goetz Date: 2018-06-10 17:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9c361050293f 8204652: [aix] fix thread stack allocation, too big stack sizes not recognized Reviewed-by: stuefe, dholmes ! src/hotspot/os/aix/os_aix.cpp Changeset: f07979db6cb2 Author: roland Date: 2018-06-11 14:16 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f07979db6cb2 8202747: C2: assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node Reviewed-by: neliasso, kvn ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopstripmining/UnexpectedNodeInOuterLoopWhenCloning.java Changeset: 6dfe5ae92fa8 Author: mbaesken Date: 2018-06-08 14:14 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6dfe5ae92fa8 8204598: add more thread-related system settings info to hs_error file on Linux Reviewed-by: dholmes, stuefe ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp Changeset: 50469fb301c4 Author: ccheung Date: 2018-06-11 09:40 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/50469fb301c4 8204563: UseAppCDS obsolete message confusing Reviewed-by: jiangli, mseledtsov, dholmes ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/runtime/appcds/CommandLineFlagComboNegative.java Changeset: 54fcaffa8fac Author: simonis Date: 2018-06-11 19:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/54fcaffa8fac 8204684: [AIX] Build of libjli_static broken after change 8204572 (SetupJdkLibrary) Reviewed-by: stuefe, erikj ! make/lib/CoreLibraries.gmk Changeset: e5cdf2569510 Author: ihse Date: 2018-06-11 20:18 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e5cdf2569510 8204682: Parsing for LOG=report=none is broken when combined with other keywords Reviewed-by: erikj ! make/InitSupport.gmk Changeset: 6aa873a6dae9 Author: valeriep Date: 2018-06-11 19:39 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6aa873a6dae9 8194073: Invalid SunNativeProvider.INSTANCE initialization Summary: Changed to always construct INSTANCE after MECH_MAP Reviewed-by: valeriep Contributed-by: Jan Kalina ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Changeset: 2b940ad6816f Author: epavlova Date: 2018-06-11 14:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2b940ad6816f 8204694: Add failed compiler/stable tests into ProblemList-graal.txt Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: e93ba293e962 Author: valeriep Date: 2018-06-11 21:56 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e93ba293e962 8178374: Problematic ByteBuffer handling in CipherSpi.bufferCrypt method Summary: Updated the impl and added reg test to cover all 4 combinations of ByteBuffers Reviewed-by: ascarpino ! src/java.base/share/classes/javax/crypto/CipherSpi.java + test/jdk/javax/crypto/CipherSpi/TestGCMWithByteBuffer.java Changeset: 075e9982b409 Author: erikj Date: 2018-06-12 01:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/075e9982b409 8204127: Change bundle format on Windows to zip Reviewed-by: ihse ! make/autoconf/spec.gmk.in ! make/conf/jib-profiles.js Changeset: 2a94ab65b026 Author: xyin Date: 2018-06-12 08:51 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2a94ab65b026 8201528: Add new test to check for package versioning information in OpenJDK Reviewed-by: mchung + test/jdk/java/lang/Package/PackageFromManifest.java Changeset: 7f166e010af4 Author: kbarrett Date: 2018-06-11 22:35 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7f166e010af4 8204097: Simplify OopStorage::AllocateList block entry access Summary: Removed obsolete support for blocks being in multiple lists. Reviewed-by: coleenp, tschatzl ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/oopStorage.hpp ! src/hotspot/share/gc/shared/oopStorage.inline.hpp ! test/hotspot/gtest/gc/shared/test_oopStorage.cpp Changeset: 2a524e603529 Author: sdama Date: 2018-06-12 14:16 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2a524e603529 8196993: Resolve disabled warnings for libunpack Summary: captured return values and labelled as fall through to avoid unused-result and implicit-fallthrough gcc warnings Reviewed-by: mchung ! make/launcher/Launcher-jdk.pack.gmk ! src/jdk.pack/share/native/common-unpack/unpack.cpp ! src/jdk.pack/share/native/common-unpack/zip.cpp Changeset: 1ce463f497ad Author: goetz Date: 2018-05-30 14:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1ce463f497ad 8204476: Add additional statistics to CodeCache::print_summary Reviewed-by: kvn, stuefe Contributed-by: Rene Schuenemann ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp Changeset: 77f9fece2f19 Author: goetz Date: 2018-05-30 14:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/77f9fece2f19 8204477: Count linkage errors and print in Exceptions::print_exception_counts_on_error Reviewed-by: stuefe, coleenp Contributed-by: Rene Schuenemann ! src/hotspot/share/utilities/exceptions.cpp ! src/hotspot/share/utilities/exceptions.hpp Changeset: 618526574f8b Author: smonteith Date: 2018-06-10 20:53 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/618526574f8b 8204628: [AArch64] Assertion failure in BarrierSetAssembler::load_at Reviewed-by: aph, drwhite, eosterlund, adinn ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: e775444c555e Author: jlahoda Date: 2018-06-12 12:14 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e775444c555e 8204674: Inconsistent lambda parameter span Summary: Correcting parameter spans for lambda parameters. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/tree/VarTree.java Changeset: 17bde7f98889 Author: aph Date: 2018-06-12 10:27 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/17bde7f98889 8204606: [Aarch64] SIGSEGVs caused by C1 because of improper register usage Summary: Use correct registers for pasing arguments Reviewed-by: adinn, smonteith ! src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 12be4323b0a5 Author: adinn Date: 2018-06-12 11:11 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/12be4323b0a5 Merge Changeset: 32ab7150a270 Author: shade Date: 2018-06-12 10:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/32ab7150a270 8204850: BarrierSet::make_* should be static Reviewed-by: stuefe, tschatzl ! src/hotspot/share/gc/shared/barrierSet.hpp Changeset: 99f4d3b6d487 Author: sdama Date: 2018-06-12 18:30 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/99f4d3b6d487 8204861: fix for 8196993 has broken the build on linux Summary: undo the changes done for 8196993 Reviewed-by: stefank, shade ! make/launcher/Launcher-jdk.pack.gmk ! src/jdk.pack/share/native/common-unpack/unpack.cpp ! src/jdk.pack/share/native/common-unpack/zip.cpp Changeset: 7b7c75d87f9b Author: shade Date: 2018-06-12 15:03 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector Summary: Introduce Epsilon GC Reviewed-by: rkennke, ihse, pliden, eosterlund, lmesnik, jgeorge, stefank ! make/autoconf/hotspot.m4 ! make/hotspot/lib/JvmFeatures.gmk + src/hotspot/share/gc/epsilon/epsilonArguments.cpp + src/hotspot/share/gc/epsilon/epsilonArguments.hpp + src/hotspot/share/gc/epsilon/epsilonBarrierSet.cpp + src/hotspot/share/gc/epsilon/epsilonBarrierSet.hpp + src/hotspot/share/gc/epsilon/epsilonCollectorPolicy.hpp + src/hotspot/share/gc/epsilon/epsilonHeap.cpp + src/hotspot/share/gc/epsilon/epsilonHeap.hpp + src/hotspot/share/gc/epsilon/epsilonMemoryPool.cpp + src/hotspot/share/gc/epsilon/epsilonMemoryPool.hpp + src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.cpp + src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.hpp + src/hotspot/share/gc/epsilon/epsilonThreadLocalData.hpp + src/hotspot/share/gc/epsilon/epsilon_globals.hpp + src/hotspot/share/gc/epsilon/vmStructs_epsilon.hpp ! src/hotspot/share/gc/shared/barrierSetConfig.hpp ! src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp ! src/hotspot/share/utilities/macros.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HSDB.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/epsilon/EpsilonHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeapName.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/Universe.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/gc/epsilon/TestAlwaysPretouch.java + test/hotspot/jtreg/gc/epsilon/TestByteArrays.java + test/hotspot/jtreg/gc/epsilon/TestDieDefault.java + test/hotspot/jtreg/gc/epsilon/TestDieWithHeapDump.java + test/hotspot/jtreg/gc/epsilon/TestDieWithOnError.java + test/hotspot/jtreg/gc/epsilon/TestElasticTLAB.java + test/hotspot/jtreg/gc/epsilon/TestElasticTLABDecay.java + test/hotspot/jtreg/gc/epsilon/TestEpsilonEnabled.java + test/hotspot/jtreg/gc/epsilon/TestHelloWorld.java + test/hotspot/jtreg/gc/epsilon/TestLogTrace.java + test/hotspot/jtreg/gc/epsilon/TestManyThreads.java + test/hotspot/jtreg/gc/epsilon/TestMemoryMXBeans.java + test/hotspot/jtreg/gc/epsilon/TestMemoryPools.java + test/hotspot/jtreg/gc/epsilon/TestObjects.java + test/hotspot/jtreg/gc/epsilon/TestPrintHeapSteps.java + test/hotspot/jtreg/gc/epsilon/TestRefArrays.java + test/hotspot/jtreg/gc/epsilon/TestUpdateCountersSteps.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/lib/sun/hotspot/gc/GC.java Changeset: 04f4e983c2f7 Author: kvn Date: 2018-06-12 07:52 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/04f4e983c2f7 8204113: Upgrade linker used in AOT tests to be same version as build toolchain Reviewed-by: erikj, iignatyev ! test/hotspot/jtreg/compiler/aot/AotCompiler.java Changeset: 767cdb97f103 Author: pliden Date: 2018-06-12 17:40 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) Reviewed-by: pliden, stefank, eosterlund, ehelin, sjohanss, rbackman, coleenp, ihse, jgeorge, lmesnik, rkennke Contributed-by: per.liden at oracle.com, stefan.karlsson at oracle.com, erik.osterlund at oracle.com, mikael.gerdin at oracle.com, kim.barrett at oracle.com, nils.eliasson at oracle.com, rickard.backman at oracle.com, rwestrel at redhat.com, coleen.phillimore at oracle.com, robbin.ehn at oracle.com, gerard.ziemski at oracle.com, hugh.wilkinson at intel.com, sandhya.viswanathan at intel.com, bill.npo.wheeler at intel.com, vinay.k.awasthi at intel.com, yasuenag at gmail.com ! make/autoconf/hotspot.m4 ! make/conf/jib-profiles.js ! make/hotspot/lib/JvmFeatures.gmk ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp + src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp + src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_64.ad + src/hotspot/os_cpu/linux_x86/gc/z/zAddress_linux_x86.inline.hpp + src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.cpp + src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.hpp + src/hotspot/os_cpu/linux_x86/gc/z/zBackingPath_linux_x86.cpp + src/hotspot/os_cpu/linux_x86/gc/z/zBackingPath_linux_x86.hpp + src/hotspot/os_cpu/linux_x86/gc/z/zGlobals_linux_x86.cpp + src/hotspot/os_cpu/linux_x86/gc/z/zGlobals_linux_x86.hpp + src/hotspot/os_cpu/linux_x86/gc/z/zLargePages_linux_x86.cpp + src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp + src/hotspot/os_cpu/linux_x86/gc/z/zPhysicalMemoryBacking_linux_x86.cpp + src/hotspot/os_cpu/linux_x86/gc/z/zPhysicalMemoryBacking_linux_x86.hpp + src/hotspot/os_cpu/linux_x86/gc/z/zVirtualMemory_linux_x86.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/gc/shared/barrierSetConfig.hpp ! src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/gc/shared/gcConfiguration.cpp ! src/hotspot/share/gc/shared/gcName.hpp ! src/hotspot/share/gc/shared/gcThreadLocalData.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/specialized_oop_closures.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp + src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp + src/hotspot/share/gc/z/c1/zBarrierSetC1.hpp + src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp + src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp + src/hotspot/share/gc/z/vmStructs_z.cpp + src/hotspot/share/gc/z/vmStructs_z.hpp + src/hotspot/share/gc/z/zAddress.cpp + src/hotspot/share/gc/z/zAddress.hpp + src/hotspot/share/gc/z/zAddress.inline.hpp + src/hotspot/share/gc/z/zAddressRangeMap.hpp + src/hotspot/share/gc/z/zAddressRangeMap.inline.hpp + src/hotspot/share/gc/z/zAllocationFlags.hpp + src/hotspot/share/gc/z/zArguments.cpp + src/hotspot/share/gc/z/zArguments.hpp + src/hotspot/share/gc/z/zArray.hpp + src/hotspot/share/gc/z/zArray.inline.hpp + src/hotspot/share/gc/z/zBarrier.cpp + src/hotspot/share/gc/z/zBarrier.hpp + src/hotspot/share/gc/z/zBarrier.inline.hpp + src/hotspot/share/gc/z/zBarrierSet.cpp + src/hotspot/share/gc/z/zBarrierSet.hpp + src/hotspot/share/gc/z/zBarrierSet.inline.hpp + src/hotspot/share/gc/z/zBarrierSetAssembler.cpp + src/hotspot/share/gc/z/zBarrierSetAssembler.hpp + src/hotspot/share/gc/z/zBarrierSetRuntime.cpp + src/hotspot/share/gc/z/zBarrierSetRuntime.hpp + src/hotspot/share/gc/z/zBitField.hpp + src/hotspot/share/gc/z/zBitMap.hpp + src/hotspot/share/gc/z/zBitMap.inline.hpp + src/hotspot/share/gc/z/zCPU.cpp + src/hotspot/share/gc/z/zCPU.hpp + src/hotspot/share/gc/z/zCollectedHeap.cpp + src/hotspot/share/gc/z/zCollectedHeap.hpp + src/hotspot/share/gc/z/zCollectorPolicy.cpp + src/hotspot/share/gc/z/zCollectorPolicy.hpp + src/hotspot/share/gc/z/zDebug.gdb + src/hotspot/share/gc/z/zDirector.cpp + src/hotspot/share/gc/z/zDirector.hpp + src/hotspot/share/gc/z/zDriver.cpp + src/hotspot/share/gc/z/zDriver.hpp + src/hotspot/share/gc/z/zErrno.cpp + src/hotspot/share/gc/z/zErrno.hpp + src/hotspot/share/gc/z/zForwardingTable.cpp + src/hotspot/share/gc/z/zForwardingTable.hpp + src/hotspot/share/gc/z/zForwardingTable.inline.hpp + src/hotspot/share/gc/z/zForwardingTableEntry.hpp + src/hotspot/share/gc/z/zFuture.hpp + src/hotspot/share/gc/z/zFuture.inline.hpp + src/hotspot/share/gc/z/zGlobals.cpp + src/hotspot/share/gc/z/zGlobals.hpp + src/hotspot/share/gc/z/zHash.hpp + src/hotspot/share/gc/z/zHash.inline.hpp + src/hotspot/share/gc/z/zHeap.cpp + src/hotspot/share/gc/z/zHeap.hpp + src/hotspot/share/gc/z/zHeap.inline.hpp + src/hotspot/share/gc/z/zHeapIterator.cpp + src/hotspot/share/gc/z/zHeapIterator.hpp + src/hotspot/share/gc/z/zInitialize.cpp + src/hotspot/share/gc/z/zInitialize.hpp + src/hotspot/share/gc/z/zLargePages.cpp + src/hotspot/share/gc/z/zLargePages.hpp + src/hotspot/share/gc/z/zLargePages.inline.hpp + src/hotspot/share/gc/z/zList.hpp + src/hotspot/share/gc/z/zList.inline.hpp + src/hotspot/share/gc/z/zLiveMap.cpp + src/hotspot/share/gc/z/zLiveMap.hpp + src/hotspot/share/gc/z/zLiveMap.inline.hpp + src/hotspot/share/gc/z/zLock.hpp + src/hotspot/share/gc/z/zLock.inline.hpp + src/hotspot/share/gc/z/zMark.cpp + src/hotspot/share/gc/z/zMark.hpp + src/hotspot/share/gc/z/zMark.inline.hpp + src/hotspot/share/gc/z/zMarkCache.cpp + src/hotspot/share/gc/z/zMarkCache.hpp + src/hotspot/share/gc/z/zMarkCache.inline.hpp + src/hotspot/share/gc/z/zMarkStack.cpp + src/hotspot/share/gc/z/zMarkStack.hpp + src/hotspot/share/gc/z/zMarkStack.inline.hpp + src/hotspot/share/gc/z/zMarkStackEntry.hpp + src/hotspot/share/gc/z/zMarkTerminate.hpp + src/hotspot/share/gc/z/zMarkTerminate.inline.hpp + src/hotspot/share/gc/z/zMemory.cpp + src/hotspot/share/gc/z/zMemory.hpp + src/hotspot/share/gc/z/zMemory.inline.hpp + src/hotspot/share/gc/z/zMessagePort.hpp + src/hotspot/share/gc/z/zMessagePort.inline.hpp + src/hotspot/share/gc/z/zMetronome.cpp + src/hotspot/share/gc/z/zMetronome.hpp + src/hotspot/share/gc/z/zNMethodTable.cpp + src/hotspot/share/gc/z/zNMethodTable.hpp + src/hotspot/share/gc/z/zNMethodTableEntry.hpp + src/hotspot/share/gc/z/zNUMA.cpp + src/hotspot/share/gc/z/zNUMA.hpp + src/hotspot/share/gc/z/zObjectAllocator.cpp + src/hotspot/share/gc/z/zObjectAllocator.hpp + src/hotspot/share/gc/z/zOop.hpp + src/hotspot/share/gc/z/zOop.inline.hpp + src/hotspot/share/gc/z/zOopClosures.cpp + src/hotspot/share/gc/z/zOopClosures.hpp + src/hotspot/share/gc/z/zOopClosures.inline.hpp + src/hotspot/share/gc/z/zPage.cpp + src/hotspot/share/gc/z/zPage.hpp + src/hotspot/share/gc/z/zPage.inline.hpp + src/hotspot/share/gc/z/zPageAllocator.cpp + src/hotspot/share/gc/z/zPageAllocator.hpp + src/hotspot/share/gc/z/zPageCache.cpp + src/hotspot/share/gc/z/zPageCache.hpp + src/hotspot/share/gc/z/zPageCache.inline.hpp + src/hotspot/share/gc/z/zPageTable.cpp + src/hotspot/share/gc/z/zPageTable.hpp + src/hotspot/share/gc/z/zPageTable.inline.hpp + src/hotspot/share/gc/z/zPageTableEntry.hpp + src/hotspot/share/gc/z/zPhysicalMemory.cpp + src/hotspot/share/gc/z/zPhysicalMemory.hpp + src/hotspot/share/gc/z/zPhysicalMemory.inline.hpp + src/hotspot/share/gc/z/zPreMappedMemory.cpp + src/hotspot/share/gc/z/zPreMappedMemory.hpp + src/hotspot/share/gc/z/zPreMappedMemory.inline.hpp + src/hotspot/share/gc/z/zReferenceProcessor.cpp + src/hotspot/share/gc/z/zReferenceProcessor.hpp + src/hotspot/share/gc/z/zRelocate.cpp + src/hotspot/share/gc/z/zRelocate.hpp + src/hotspot/share/gc/z/zRelocationSet.cpp + src/hotspot/share/gc/z/zRelocationSet.hpp + src/hotspot/share/gc/z/zRelocationSet.inline.hpp + src/hotspot/share/gc/z/zRelocationSetSelector.cpp + src/hotspot/share/gc/z/zRelocationSetSelector.hpp + src/hotspot/share/gc/z/zResurrection.cpp + src/hotspot/share/gc/z/zResurrection.hpp + src/hotspot/share/gc/z/zResurrection.inline.hpp + src/hotspot/share/gc/z/zRootsIterator.cpp + src/hotspot/share/gc/z/zRootsIterator.hpp + src/hotspot/share/gc/z/zRuntimeWorkers.cpp + src/hotspot/share/gc/z/zRuntimeWorkers.hpp + src/hotspot/share/gc/z/zServiceability.cpp + src/hotspot/share/gc/z/zServiceability.hpp + src/hotspot/share/gc/z/zStat.cpp + src/hotspot/share/gc/z/zStat.hpp + src/hotspot/share/gc/z/zTask.cpp + src/hotspot/share/gc/z/zTask.hpp + src/hotspot/share/gc/z/zThread.cpp + src/hotspot/share/gc/z/zThread.hpp + src/hotspot/share/gc/z/zThreadLocalData.hpp + src/hotspot/share/gc/z/zTracer.cpp + src/hotspot/share/gc/z/zTracer.hpp + src/hotspot/share/gc/z/zTracer.inline.hpp + src/hotspot/share/gc/z/zUtils.cpp + src/hotspot/share/gc/z/zUtils.hpp + src/hotspot/share/gc/z/zUtils.inline.hpp + src/hotspot/share/gc/z/zValue.hpp + src/hotspot/share/gc/z/zVirtualMemory.cpp + src/hotspot/share/gc/z/zVirtualMemory.hpp + src/hotspot/share/gc/z/zVirtualMemory.inline.hpp + src/hotspot/share/gc/z/zWeakRootsProcessor.cpp + src/hotspot/share/gc/z/zWeakRootsProcessor.hpp + src/hotspot/share/gc/z/zWorkers.cpp + src/hotspot/share/gc/z/zWorkers.hpp + src/hotspot/share/gc/z/zWorkers.inline.hpp + src/hotspot/share/gc/z/z_globals.hpp + src/hotspot/share/gc/z/z_specialized_oop_closures.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp ! src/hotspot/share/logging/logPrefix.hpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/idealKit.cpp ! src/hotspot/share/opto/idealKit.hpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/opcodes.cpp ! src/hotspot/share/opto/opcodes.hpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/stackValue.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/runtime/vm_operations.hpp ! src/hotspot/share/utilities/macros.hpp + src/java.base/share/legal/c-libutl.md ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HSDB.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeapName.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCCause.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCName.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAddress.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAddressRangeMapForPageTable.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZBarrier.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZCollectedHeap.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZForwardingTable.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZForwardingTableCursor.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZForwardingTableEntry.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobals.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobalsForVMStructs.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZHash.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZHeap.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZOop.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPage.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPageAllocator.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPageTable.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPageTableEntry.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPhysicalMemoryManager.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZVirtualMemory.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/Universe.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Oop.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/OopField.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VMOps.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/hotspot/gtest/gc/z/test_zAddress.cpp + test/hotspot/gtest/gc/z/test_zArray.cpp + test/hotspot/gtest/gc/z/test_zBitField.cpp + test/hotspot/gtest/gc/z/test_zBitMap.cpp + test/hotspot/gtest/gc/z/test_zForwardingTable.cpp + test/hotspot/gtest/gc/z/test_zList.cpp + test/hotspot/gtest/gc/z/test_zLiveMap.cpp + test/hotspot/gtest/gc/z/test_zPhysicalMemory.cpp + test/hotspot/gtest/gc/z/test_zUtils.cpp + test/hotspot/gtest/gc/z/test_zVirtualMemory.cpp ! test/hotspot/jtreg/TEST.ROOT + test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java ! test/hotspot/jtreg/gc/TestAllocateHeapAt.java ! test/hotspot/jtreg/gc/TestAllocateHeapAtError.java ! test/hotspot/jtreg/gc/TestAllocateHeapAtMultiple.java ! test/hotspot/jtreg/gc/TestSoftReferencesBehaviorOnOOME.java ! test/hotspot/jtreg/gc/TestVerifyDuringStartup.java ! test/hotspot/jtreg/gc/TestVerifySilently.java ! test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java ! test/hotspot/jtreg/gc/arguments/TestMaxMinHeapFreeRatioFlags.java ! test/hotspot/jtreg/gc/arguments/TestNewRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java ! test/hotspot/jtreg/gc/arguments/TestShrinkHeapInSteps.java ! test/hotspot/jtreg/gc/arguments/TestSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestTargetSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestVerifyBeforeAndAfterGCFlags.java ! test/hotspot/jtreg/gc/logging/TestUnifiedLoggingSwitchStress.java + test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithZ.java + test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithZ.java ! test/hotspot/jtreg/gc/survivorAlignment/TestAllocationInEden.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromEdenToTenured.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionToSurvivor.java ! test/hotspot/jtreg/gc/whitebox/TestWBGC.java ! test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java ! test/hotspot/jtreg/runtime/memory/LargePages/TestLargePagesFlags.java ! test/hotspot/jtreg/serviceability/dcmd/gc/RunGCTest.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCapacityTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest02.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest03.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcNewTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest02.java ! test/hotspot/jtreg/vmTestbase/metaspace/shrink_grow/CompressedClassSpaceSize/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/shrink_grow/ShrinkGrowTest/ShrinkGrowTest.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects001/referringObjects001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/instances/instances003/instances003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ReferenceType/Instances/instances001/instances001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/VirtualMachine/InstanceCounts/instanceCounts001/instanceCounts001.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java ! test/jdk/TEST.ROOT ! test/jdk/com/sun/jdi/OomDebugTest.java ! test/jdk/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java ! test/jdk/java/lang/management/ManagementFactory/MXBeanException.java ! test/jdk/java/lang/management/MemoryMXBean/MemoryTest.java + test/jdk/java/lang/management/MemoryMXBean/MemoryTestZGC.sh ! test/lib/sun/hotspot/gc/GC.java Changeset: 3a5aafb12ae6 Author: zgu Date: 2018-06-12 11:21 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3a5aafb12ae6 8204557: NMT: Linux os::committed_in_range() does not break out outer loop when contiguous region is found Summary: Fixed bug that did not break out outer loop when region was found Reviewed-by: stuefe, adinn ! src/hotspot/os/linux/os_linux.cpp Changeset: 83fd54252ee4 Author: rriggs Date: 2018-06-12 13:07 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/83fd54252ee4 8197930: JNI exception pending in initializeEncoding of jni_util.c Reviewed-by: mchung, stuefe ! src/java.base/share/native/libjava/jni_util.c Changeset: 1fd4844371bb Author: aph Date: 2018-06-11 15:32 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1fd4844371bb 8204680: Disassembly does not display code strings in stubs Reviewed-by: kvn ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/compiler/disassembler.cpp ! src/hotspot/share/compiler/disassembler.hpp ! src/hotspot/share/runtime/stubCodeGenerator.cpp Changeset: efd199ab8322 Author: rhalade Date: 2018-06-12 11:34 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/efd199ab8322 8196141: Add GoDaddy root certificates Reviewed-by: mullan ! src/java.base/share/lib/security/cacerts ! test/jdk/lib/security/cacerts/VerifyCACerts.java + test/jdk/security/infra/java/security/cert/CertPathValidator/certification/GoDaddyCA.java Changeset: 7e3aa681a484 Author: smarks Date: 2018-06-12 13:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7e3aa681a484 8204243: remove Thread.destroy() and Thread.stop(Throwable) Reviewed-by: dholmes, alanb, sspitsyn, iris ! make/data/jdwp/jdwp.spec ! src/hotspot/share/prims/jvmti.xml ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/doc-files/threadPrimitiveDeprecation.html ! src/jdk.jdi/share/classes/com/sun/jdi/ThreadReference.java - test/jdk/java/lang/Thread/StopThrowable.java Changeset: aeb7fb702890 Author: bchristi Date: 2018-06-12 14:08 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/aeb7fb702890 8204565: (spec) Document java.{vm.}?specification.version system properties' relation to $FEATURE Reviewed-by: mchung ! src/java.base/share/classes/java/lang/System.java ! test/hotspot/jtreg/runtime/6981737/Test6981737.java ! test/jdk/java/lang/System/Versions.java Changeset: a18c60527166 Author: kbarrett Date: 2018-06-12 18:12 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a18c60527166 8204585: Remove IN_ARCHIVE_ROOT from Access API Summary: Replaced Access API with API on heap. Reviewed-by: jiangli, coleenp, tschatzl Contributed-by: stefan.karlsson at oracle.com, kim.barrett at oracle.com ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/z/zBarrierSet.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp ! src/hotspot/share/oops/access.hpp ! src/hotspot/share/oops/accessDecorators.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp Changeset: 7c5fbc953121 Author: cushon Date: 2018-06-11 14:06 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7c5fbc953121 8203679: AssertionError in DeferredAttr with parenthesized method reference Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java + test/langtools/tools/javac/lambda/methodReference/MethodRefStuckParenthesized.java + test/langtools/tools/javac/lambda/methodReference/MethodRefStuckParenthesized.out Changeset: a6a44177f99c Author: kvn Date: 2018-06-12 21:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a6a44177f99c 8201193: Use XMM/YMM for objects initialization Reviewed-by: jrose, kvn Contributed-by: rohitarulraj at gmail.com ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: e1b3def12624 Author: stuefe Date: 2018-06-13 06:35 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e1b3def12624 8202772: NMT thread stack tracking causes crashes on AIX Reviewed-by: goetz, zgu ! src/hotspot/share/services/memTracker.hpp ! test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp Changeset: 8434981a4137 Author: rkennke Date: 2018-06-13 10:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8434981a4137 8203157: Object equals abstraction for BarrierSetAssembler Reviewed-by: eosterlund, aph ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp Changeset: d12828b7cd64 Author: rkennke Date: 2018-06-13 10:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d12828b7cd64 8204685: Abstraction for TLAB dummy object Reviewed-by: tschatzl, shade ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/plab.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp Changeset: f36d08a3e700 Author: glaubitz Date: 2018-06-13 10:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f36d08a3e700 8203301: Linux-sparc fails to build after JDK-8199712 (Flight Recorder) Reviewed-by: kvn, thartmann ! src/hotspot/cpu/sparc/vm_version_ext_sparc.cpp ! src/hotspot/cpu/sparc/vm_version_ext_sparc.hpp ! src/hotspot/os_cpu/linux_sparc/thread_linux_sparc.cpp ! src/hotspot/os_cpu/linux_sparc/thread_linux_sparc.hpp Changeset: 7bf4f1b5e438 Author: jlahoda Date: 2018-06-13 12:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7bf4f1b5e438 8193302: Javac AssertionError: typeSig ERROR on usage of @Generated Summary: Importing from an invisible package whose name is a prefix of a visible package is not allowed. Reviewed-by: vromero ! src/java.compiler/share/classes/javax/annotation/processing/Messager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/jdk/java/rmi/transport/dgcDeadLock/TestImpl.java ! test/jdk/sun/security/tools/jarsigner/JarSigningNonAscii.java ! test/langtools/tools/javac/importChecks/ImportsObservable.java + test/langtools/tools/javac/importChecks/ImportsObservable.out ! test/langtools/tools/javac/modules/ConvenientAccessErrorsTest.java Changeset: b93bf5846277 Author: eosterlund Date: 2018-06-13 15:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b93bf5846277 8203344: Make C1 leal patchable on SPARC Reviewed-by: neliasso, thartmann ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp Changeset: cf88c15d9171 Author: rhalade Date: 2018-06-13 08:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cf88c15d9171 8204923: Restore Symantec root verisignclass2g2ca Reviewed-by: mullan ! src/java.base/share/lib/security/cacerts ! test/jdk/lib/security/cacerts/VerifyCACerts.java Changeset: b6ff4cd463e3 Author: vtheeyarath Date: 2018-06-12 22:23 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b6ff4cd463e3 8204342: methods in java.time s TCKZoneRules OpenJDK test miss Test annotation Summary: Added Test annotation to test methods Reviewed-by: rriggs, naoto ! test/jdk/java/time/tck/java/time/zone/TCKZoneRules.java Changeset: ad42438983ee Author: erikj Date: 2018-06-13 10:47 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ad42438983ee 8204922: Create bootcycle jib profiles Reviewed-by: tbell, ihse ! make/conf/jib-profiles.js Changeset: 5f20bf95c052 Author: bobv Date: 2018-06-12 18:44 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5f20bf95c052 8203691: Test /runtime/containers/cgroup/PlainRead.java fails Reviewed-by: dholmes, mseledtsov, rehn ! test/hotspot/jtreg/runtime/containers/cgroup/PlainRead.java Changeset: 292a4a87c321 Author: bobv Date: 2018-06-12 18:51 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/292a4a87c321 8203357: Container Metrics Reviewed-by: mchung, dholmes, mseledtsov, rehn + src/java.base/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java + src/java.base/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java + src/java.base/share/classes/jdk/internal/platform/Container.java + src/java.base/share/classes/jdk/internal/platform/Metrics.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties - test/hotspot/jtreg/runtime/containers/docker/CPUSetsReader.java - test/hotspot/jtreg/runtime/containers/docker/Common.java ! test/hotspot/jtreg/runtime/containers/docker/TestCPUAwareness.java ! test/hotspot/jtreg/runtime/containers/docker/TestCPUSets.java ! test/hotspot/jtreg/runtime/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/runtime/containers/docker/TestMisc.java ! test/jdk/TEST.ROOT + test/jdk/jdk/internal/platform/cgroup/TestCgroupMetrics.java + test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest + test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 + test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le + test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x + test/jdk/jdk/internal/platform/docker/MetricsCpuTester.java + test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java + test/jdk/jdk/internal/platform/docker/TestDockerCpuMetrics.java + test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java + test/jdk/jdk/internal/platform/docker/TestSystemMetrics.java ! test/jdk/tools/launcher/Settings.java + test/lib/jdk/test/lib/containers/cgroup/CPUSetsReader.java + test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java + test/lib/jdk/test/lib/containers/docker/Common.java ! test/lib/jdk/test/lib/containers/docker/DockerRunOptions.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 52b866a1a63a Author: bobv Date: 2018-06-12 18:53 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/52b866a1a63a Merge - make/BuildNashorn.gmk - make/UnpackSecurity.gmk - src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.inline.hpp - src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.inline.hpp - src/hotspot/os_cpu/bsd_zero/orderAccess_bsd_zero.inline.hpp - src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.inline.hpp - src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp - src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.inline.hpp - src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.inline.hpp - src/hotspot/os_cpu/linux_sparc/orderAccess_linux_sparc.inline.hpp - src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.inline.hpp - src/hotspot/os_cpu/linux_zero/orderAccess_linux_zero.inline.hpp - src/hotspot/os_cpu/solaris_sparc/orderAccess_solaris_sparc.inline.hpp - src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.inline.hpp - src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.inline.hpp - src/hotspot/share/runtime/orderAccess.inline.hpp - src/java.base/aix/native/libjsig/jsig.c ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties - src/java.desktop/linux/conf/oblique-fonts/fonts.dir - src/java.desktop/macosx/native/libsplashscreen/libpng/zlib.h - src/java.desktop/share/classes/sun/applet/AppletEvent.java - src/java.desktop/share/classes/sun/applet/AppletEventMulticaster.java - src/java.desktop/share/classes/sun/applet/AppletIOException.java - src/java.desktop/share/classes/sun/applet/AppletIllegalArgumentException.java - src/java.desktop/share/classes/sun/applet/AppletImageRef.java - src/java.desktop/share/classes/sun/applet/AppletListener.java - src/java.desktop/share/classes/sun/applet/AppletMessageHandler.java - src/java.desktop/share/classes/sun/applet/AppletObjectInputStream.java - src/java.desktop/share/classes/sun/applet/AppletPanel.java - src/java.desktop/share/classes/sun/applet/AppletProps.java - src/java.desktop/share/classes/sun/applet/AppletResourceLoader.java - src/java.desktop/share/classes/sun/applet/AppletSecurityException.java - src/java.desktop/share/classes/sun/applet/AppletViewer.java - src/java.desktop/share/classes/sun/applet/AppletViewerFactory.java - src/java.desktop/share/classes/sun/applet/AppletViewerPanel.java - src/java.desktop/share/classes/sun/applet/Main.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_de.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_es.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_fr.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_it.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ja.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ko.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_sv.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java - src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java - src/java.desktop/share/classes/sun/print/DialogOnTop.java - src/java.desktop/share/classes/sun/print/DialogOwner.java - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-cbdt-table.hh - src/java.desktop/unix/conf/fonts/fonts.dir - src/java.sql.rowset/share/classes/javax/sql/rowset/package.html - src/java.sql.rowset/share/classes/javax/sql/rowset/spi/package.html - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/StringTable.java - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/MissingRequiredOptionException.java - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/UnacceptableNumberOfNonOptionsException.java - src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/internal/Objects.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugValueMap.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/aaa - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/META-INF/services/javax.annotation.processing.Processor - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/APHotSpotSignature.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/AbstractVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/ClassSubstitutionVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/FoldVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedFoldPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedNodeIntrinsicPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/GeneratedPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/InjectedDependencies.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/MethodSubstitutionVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/NodeIntrinsicVerifier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/PluginGenerator.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.verifier/src/org/graalvm/compiler/replacements/verifier/VerifierAnnotationProcessor.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/D - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-1.10.2.js - test/hotspot/jtreg/runtime/appcds/jigsaw/limitmods/LimitModsHelper.java - test/hotspot/jtreg/runtime/appcds/jigsaw/limitmods/LimitModsTests.java - test/hotspot/jtreg/runtime/appcds/test-classes/jdk/dynalink/DynamicLinker.jasm ! test/jdk/TEST.ROOT - test/jdk/java/lang/Thread/StopThrowable.java - test/jdk/javax/sound/midi/MidiSystem/DefaultProperties.java - test/jdk/javax/sound/midi/MidiSystem/testdata/conf/sound.properties - test/jdk/javax/sound/sampled/AudioSystem/DefaultProperties.java - test/jdk/javax/sound/sampled/AudioSystem/testdata/conf/sound.properties - test/jdk/javax/swing/JLayer/8041982/cupanim.gif - test/jdk/javax/swing/JSlider/4987336/cupanim.gif - test/jdk/sun/applet/DeprecatedAppletViewer/DeprecatedAppletViewer.java - test/jdk/sun/applet/TEST.properties Changeset: a1a3d41b6c13 Author: bobv Date: 2018-06-13 13:44 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a1a3d41b6c13 Merge Changeset: c7633e5f8657 Author: bobv Date: 2018-06-13 13:48 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c7633e5f8657 Merge Changeset: 75a03a4cfbca Author: stuefe Date: 2018-06-13 20:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/75a03a4cfbca 8204663: clean up remaining native parts after JDK-8187631 Reviewed-by: rriggs, psandoz ! src/java.base/unix/native/libjava/FileOutputStream_md.c ! src/java.base/unix/native/libjava/io_util_md.c ! src/java.base/unix/native/libjava/io_util_md.h ! src/java.base/windows/native/libjava/FileOutputStream_md.c ! src/java.base/windows/native/libjava/io_util_md.c ! src/java.base/windows/native/libjava/io_util_md.h Changeset: 41ff671ed8cf Author: stuefe Date: 2018-06-13 07:53 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/41ff671ed8cf 8204935: [aix] TOC overflow in libjvm.so (release build) Reviewed-by: goetz, mbaesken, ihse ! make/autoconf/flags-cflags.m4 ! make/autoconf/flags-ldflags.m4 ! make/hotspot/lib/CompileGtest.gmk Changeset: 367763702685 Author: dtitov Date: 2018-06-13 10:36 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/367763702685 8203809: [Graal] JDI tests fail with: JDITestRuntimeException : ** event IS NOT a breakpoint ** Reviewed-by: sspitsyn, cjplummer ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassExclusionFilter/filter003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassFilter_rt/filter_rt002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassFilter_s/filter_s002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/classPrepareRequests/clsprepreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/methodEntryRequests/methentreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/methodExitRequests/methexitreq002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassExclusionFilter/filter002.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventFilters.java Changeset: 7439ceaae8e4 Author: joehw Date: 2018-06-13 12:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7439ceaae8e4 8201276: (fs) Add methods to Files for reading/writing a string from/to a file Reviewed-by: rriggs, smarks, sherman, forax, alanb, mli ! src/java.base/share/classes/java/lang/StringCoding.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java + test/jdk/java/nio/file/Files/ReadWriteString.java Changeset: 0742a087710e Author: bpb Date: 2018-06-13 13:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0742a087710e 8204915: (fs) Add some print diagnostics to java/nio/file/Files/CopyAndMove.java Reviewed-by: bchristi ! test/jdk/java/nio/file/Files/CopyAndMove.java Changeset: c530d97ec3f2 Author: jwilhelm Date: 2018-06-14 02:49 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c530d97ec3f2 Added tag jdk-11+18 for changeset e1b3def12624 ! .hgtags Changeset: 42fcc1d22f8e Author: amlu Date: 2018-06-14 09:48 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/42fcc1d22f8e 8204944: Remove java/util/Map/InPlaceOpsCollisions.java from ProblemList Reviewed-by: psandoz ! test/jdk/ProblemList.txt Changeset: e5a40146791b Author: rehn Date: 2018-06-14 07:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e5a40146791b 8204613: StringTable: Calculates wrong number of uncleaned items. Reviewed-by: pliden, coleenp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/z/zRootsIterator.cpp ! src/hotspot/share/gc/z/zRootsIterator.hpp Changeset: 83e2deb73612 Author: dholmes Date: 2018-06-14 02:01 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/83e2deb73612 8204668: Cleanup management of the java.vm.info System property Reviewed-by: rehn, cjplummer ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: d9936e986e4f Author: thartmann Date: 2018-06-14 09:04 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d9936e986e4f 8203915: Induction variable of over-unrolled loop conflicts with range checks Summary: Update skeleton predicates before main loop during unrolling to remove dead code. Reviewed-by: kvn, roland ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp ! test/hotspot/jtreg/compiler/loopopts/IterationSplitPredicateInconsistency.java ! test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java Changeset: 27929b7eae4b Author: epavlova Date: 2018-06-14 00:07 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/27929b7eae4b 8204978: [Graal] Disable Epsilon GC tests from running with Graal Reviewed-by: kvn ! test/hotspot/jtreg/gc/epsilon/TestAlwaysPretouch.java ! test/hotspot/jtreg/gc/epsilon/TestByteArrays.java ! test/hotspot/jtreg/gc/epsilon/TestDieDefault.java ! test/hotspot/jtreg/gc/epsilon/TestDieWithHeapDump.java ! test/hotspot/jtreg/gc/epsilon/TestDieWithOnError.java ! test/hotspot/jtreg/gc/epsilon/TestElasticTLAB.java ! test/hotspot/jtreg/gc/epsilon/TestElasticTLABDecay.java ! test/hotspot/jtreg/gc/epsilon/TestEpsilonEnabled.java ! test/hotspot/jtreg/gc/epsilon/TestHelloWorld.java ! test/hotspot/jtreg/gc/epsilon/TestLogTrace.java ! test/hotspot/jtreg/gc/epsilon/TestManyThreads.java ! test/hotspot/jtreg/gc/epsilon/TestMemoryMXBeans.java ! test/hotspot/jtreg/gc/epsilon/TestMemoryPools.java ! test/hotspot/jtreg/gc/epsilon/TestObjects.java ! test/hotspot/jtreg/gc/epsilon/TestPrintHeapSteps.java ! test/hotspot/jtreg/gc/epsilon/TestRefArrays.java ! test/hotspot/jtreg/gc/epsilon/TestUpdateCountersSteps.java Changeset: dafb2cc6ba32 Author: ysuenaga Date: 2018-06-14 16:56 +0900 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dafb2cc6ba32 8204531: Remove unused chars following '\0' Reviewed-by: dholmes, stuefe ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/PerfDataEntry.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/CStringUtilities.java Changeset: 5756e8eecb17 Author: thartmann Date: 2018-06-14 11:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5756e8eecb17 8205034: [BACKOUT] Induction variable of over-unrolled loop conflicts with range checks Summary: Backout fix for JDK-8203915 because it causes SIGILL failures. Reviewed-by: shade ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp ! test/hotspot/jtreg/compiler/loopopts/IterationSplitPredicateInconsistency.java ! test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java Changeset: 3903ab54107e Author: ihse Date: 2018-06-14 11:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3903ab54107e 8204664: PrepareFailureLogs should be done after sequential make targets Reviewed-by: erikj ! make/Init.gmk ! make/InitSupport.gmk Changeset: 1372f66e0a17 Author: lkorinth Date: 2018-06-14 11:13 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1372f66e0a17 8202740: runtime/8176717/TestInheritFD.java fails with java.lang.RuntimeException: could not match: VM RESULT => RETAINS FD Reviewed-by: rehn, dholmes ! test/hotspot/jtreg/runtime/8176717/TestInheritFD.java Changeset: ef7c4c77d9fa Author: mcimadamore Date: 2018-06-14 11:13 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ef7c4c77d9fa 8178150: Regression in logic for handling inference stuck constraints Summary: Fix broken logic for input/output inference variable dependency Reviewed-by: vromero, bsrbnd ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java + test/langtools/tools/javac/generics/inference/8178150/T8178150.java Changeset: 69e82329ad01 Author: tschatzl Date: 2018-06-14 13:07 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/69e82329ad01 8204169: Humongous continues region remembered set states do not match the one from the corresponding humongous start region Summary: Make sure and verify that the remembered set state of humongous continues regions matches the one from the corresponding humongous start region. Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.cpp Changeset: c0b896fc3f08 Author: jlahoda Date: 2018-06-14 13:16 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c0b896fc3f08 8196618: Create API to list supported values for javac --release option 8194308: jdeprscan will need updates to deal with the removal of the Java EE modules Summary: Generalizing tests to run over all supported --release keys; fixing jdeprscan to work with --release 11. Reviewed-by: smarks, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/platform/JDKPlatformProvider.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/Main.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan.properties ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/modules/JavaBaseTest.java + test/langtools/tools/javac/platform/NumericalComparatorTest.java ! test/langtools/tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java Changeset: 9ee93487d262 Author: jlaskey Date: 2018-06-14 09:38 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ee93487d262 8204172: Predicate::not should explicitly mention "NullPointerException - if target is null" Reviewed-by: sundar, psandoz, dfuchs ! src/java.base/share/classes/java/util/function/Predicate.java Changeset: 0f807f558017 Author: bsrbnd Date: 2018-06-14 05:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0f807f558017 8203813: javac accepts an illegal name as a receiver parameter name Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/T8203813/WrongReceiverTest.java + test/langtools/tools/javac/T8203813/WrongReceiverTest.out + test/langtools/tools/javac/diags/examples/WrongReceiver.java Changeset: 60d66a249db6 Author: hseigel Date: 2018-06-14 10:33 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/60d66a249db6 8204620: ModuleEntry::is_non_jdk_module() determination for what is a jdk module is incorrect Summary: Check module's loader and compare version with java.base's version to improve algorithm Reviewed-by: lfoltan, mchung ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/oops/klass.cpp ! test/hotspot/jtreg/runtime/modules/CCE_module_msg.java Changeset: 0d6f88cca118 Author: darcy Date: 2018-06-14 09:31 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0d6f88cca118 8205003: Replace selected link tags with linkplain in java.lang.Class Reviewed-by: bpb, mchung, lancea ! src/java.base/share/classes/java/lang/Class.java Changeset: 80945f661b80 Author: lmesnik Date: 2018-06-13 16:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/80945f661b80 8203491: [TESTBUG] Port heapdump tests into java Reviewed-by: coleenp, jgeorge ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java + test/hotspot/jtreg/runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryErrorInMetaspace.java + test/hotspot/jtreg/runtime/ErrorHandling/TestHeapDumpPath.java + test/hotspot/jtreg/serviceability/sa/TestJmapCore.java + test/hotspot/jtreg/serviceability/sa/TestJmapCoreMetaspace.java - test/hotspot/jtreg/serviceability/tmtools/jstat/utils/ClassLoadUtils.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/utils/GeneratedClassProducer.java - test/hotspot/jtreg/serviceability/tmtools/jstat/utils/GeneratingClassLoader.java - test/hotspot/jtreg/serviceability/tmtools/jstat/utils/TemplateClass.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeap/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeap/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeap/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeapCore/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeapCore/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspaceCore/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspaceCore/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspaceCore/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFile/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFile/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFile/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFileMetaspace/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFileMetaspace/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFileMetaspace/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToPath/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToPath/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToPath/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/README - test/hotspot/jtreg/vmTestbase/heapdump/share/EatMemory.java - test/hotspot/jtreg/vmTestbase/heapdump/share/common.sh + test/lib/jdk/test/lib/classloader/ClassLoadUtils.java + test/lib/jdk/test/lib/classloader/GeneratingClassLoader.java Changeset: 6d4332f746ad Author: stuefe Date: 2018-06-14 21:49 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6d4332f746ad 8203343: VM.{metaspace|classloaders|classhierarchy...} jcmd should show invocation targets for Generated{Method|Constructor}AccessorImpl classes Reviewed-by: coleenp, sspitsyn, dholmes ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/memory/heapInspection.cpp ! src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.cpp ! src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.hpp + src/hotspot/share/oops/reflectionAccessorImplKlassHelper.cpp + src/hotspot/share/oops/reflectionAccessorImplKlassHelper.hpp + test/hotspot/jtreg/serviceability/dcmd/vm/ShowReflectionTargetTest.java Changeset: 64ca9fbcf85f Author: epavlova Date: 2018-06-14 15:27 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/64ca9fbcf85f 8205074: [Graal] Add rest of compiler/stable tests into ProblemList-graal.txt Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: fa727a4d7934 Author: zgu Date: 2018-06-14 09:59 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fa727a4d7934 8203641: Refactor String Deduplication into shared Summary: Allows string deduplication to be shared among different collectors Reviewed-by: tschatzl, rkennke ! src/hotspot/share/gc/g1/g1StringDedup.cpp ! src/hotspot/share/gc/g1/g1StringDedup.hpp ! src/hotspot/share/gc/g1/g1StringDedupQueue.cpp ! src/hotspot/share/gc/g1/g1StringDedupQueue.hpp ! src/hotspot/share/gc/g1/g1StringDedupStat.cpp ! src/hotspot/share/gc/g1/g1StringDedupStat.hpp - src/hotspot/share/gc/g1/g1StringDedupTable.cpp - src/hotspot/share/gc/g1/g1StringDedupTable.hpp - src/hotspot/share/gc/g1/g1StringDedupThread.cpp - src/hotspot/share/gc/g1/g1StringDedupThread.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedup.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedup.inline.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.inline.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupStat.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupStat.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupTable.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupThread.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupThread.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupThread.inline.hpp Changeset: 72c694f035ee Author: pmuthuswamy Date: 2018-06-15 10:48 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/72c694f035ee 8204666: javadoc should be updated to use jQuery 3.3.1 Reviewed-by: sundar ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/external/jquery/jquery.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-1.12.4.js + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-3.3.1.js + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-migrate-3.0.1.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java ! src/jdk.javadoc/share/legal/jquery.md ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java ! test/langtools/tools/javadoc/api/basic/APITest.java Changeset: 374bd919d8fe Author: rgoel Date: 2018-06-15 11:58 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/374bd919d8fe 8202537: CLDR33 Summary: upgraded CLDR data to V33. Reviewed-by: naoto ! make/gensrc/GensrcCLDR.gmk ! make/jdk/src/classes/build/tools/cldrconverter/NumberingSystemsParseHandler.java ! src/java.base/share/classes/sun/util/cldr/CLDRTimeZoneNameProviderImpl.java ! src/java.base/share/classes/sun/util/resources/TimeZoneNames.java ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/bcp47/timezone.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/dtd/ldml.dtd ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/dtd/ldmlBCP47.dtd ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/dtd/ldmlSupplemental.dtd ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/af.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/af_NA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/af_ZA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/agq.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/agq_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ak.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ak_GH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/am.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/am_ET.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_001.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_AE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_BH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_DJ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_DZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_EG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_EH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_ER.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_IL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_IQ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_JO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_KM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_KW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_LB.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_LY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_MA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_MR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_OM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_PS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_QA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_TD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_TN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_YE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/as.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/as_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/asa.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/asa_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ast.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ast_ES.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az_Cyrl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az_Cyrl_AZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az_Latn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az_Latn_AZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bas.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bas_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/be.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/be_BY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bem.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bem_ZM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bez.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bez_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bg.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bg_BG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bm.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bm_ML.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bn_BD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bn_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bo_CN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bo_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/br.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/br_FR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/brx.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/brx_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs_Cyrl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs_Cyrl_BA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs_Latn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs_Latn_BA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_AD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_ES.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_ES_VALENCIA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_FR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_IT.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ccp.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ccp_BD.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ccp_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ce.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ce_RU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cgg.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cgg_UG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/chr.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/chr_US.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ckb.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ckb_IQ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ckb_IR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cs.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cs_CZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cu.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cu_RU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cy.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cy_GB.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/da.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/da_DK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/da_GL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dav.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dav_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_AT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_BE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_CH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_DE.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_IT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_LI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_LU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dje.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dje_NE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dsb.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dsb_DE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dua.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dua_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dyo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dyo_SN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dz.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dz_BT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ebu.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ebu_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ee.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ee_GH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ee_TG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/el.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/el_CY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/el_GR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_001.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_150.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BB.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CX.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_DE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_DG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_DK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_DM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_ER.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_FI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_FJ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_FK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_FM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GB.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_HK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_JE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_JM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_KI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_KN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_KY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_LC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_LR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_LS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MP.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_RW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SB.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SX.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TV.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_UG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_UM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_US.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_US_POSIX.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_VC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_VG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_VI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_VU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_WS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_ZA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_ZM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_ZW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/eo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/eo_001.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_419.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_AR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_BO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_BR.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_BZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_CL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_CO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_CR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_CU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_DO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_EA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_EC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_ES.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_GQ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_GT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_HN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_IC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_MX.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_NI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_SV.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_US.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_UY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_VE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/et.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/et_EE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/eu.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/eu_ES.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ewo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ewo_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fa.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fa_AF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fa_IR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff_GN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff_MR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff_SN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fi.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fi_FI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fil.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fil_PH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fo_DK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fo_FO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BJ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_DJ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_DZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_FR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GP.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GQ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_HT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_KM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_LU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_ML.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MQ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_NC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_NE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_PF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_PM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_RE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_RW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_SC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_SN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_SY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_TD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_TG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_TN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_VU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_WF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_YT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fur.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fur_IT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fy.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fy_NL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ga.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ga_IE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gd.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gd_GB.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gl_ES.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gsw.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gsw_CH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gsw_FR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gsw_LI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gu.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gu_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/guz.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/guz_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gv.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gv_IM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ha.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ha_GH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ha_NE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ha_NG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/haw.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/haw_US.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/he.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/he_IL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hi.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hi_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hr.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hr_BA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hr_HR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hsb.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hsb_DE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hu.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hu_HU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hy.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hy_AM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/id.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/id_ID.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ig.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ig_NG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ii.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ii_CN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/is.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/is_IS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it_CH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it_IT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it_SM.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it_VA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ja.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ja_JP.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/jgo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/jgo_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/jmc.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/jmc_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ka.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ka_GE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kab.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kab_DZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kam.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kam_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kde.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kde_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kea.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kea_CV.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/khq.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/khq_ML.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ki.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ki_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kk.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kk_KZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kkj.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kkj_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kl_GL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kln.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kln_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/km.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/km_KH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kn_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ko.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ko_KP.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ko_KR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kok.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kok_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ks.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ks_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksb.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksb_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksf.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksf_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksh.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksh_DE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kw.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kw_GB.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ky.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ky_KG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lag.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lag_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lb.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lb_LU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lg.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lg_UG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lkt.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lkt_US.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln_AO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln_CD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln_CF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln_CG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lo_LA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lrc.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lrc_IQ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lrc_IR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lt.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lt_LT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lu.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lu_CD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/luo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/luo_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/luy.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/luy_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lv.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lv_LV.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mas.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mas_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mas_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mer.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mer_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mfe.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mfe_MU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mg.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mg_MG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mgh.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mgh_MZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mgo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mgo_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mk.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mk_MK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ml.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ml_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mn_MN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mr.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mr_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ms.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ms_BN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ms_MY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ms_SG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mt.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mt_MT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mua.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mua_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/my.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/my_MM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mzn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mzn_IR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/naq.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/naq_NA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nb.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nb_NO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nb_SJ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nd.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nd_ZW.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nds.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nds_DE.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nds_NL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ne.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ne_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ne_NP.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_AW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_BE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_BQ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_CW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_NL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_SR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_SX.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nmg.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nmg_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nn_NO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nnh.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nnh_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nus.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nus_SS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nyn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nyn_UG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/om.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/om_ET.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/om_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/or.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/or_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/os.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/os_GE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/os_RU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa_Arab.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa_Arab_PK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa_Guru.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa_Guru_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pl_PL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/prg.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/prg_001.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ps.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ps_AF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_AO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_BR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_CH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_CV.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_GQ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_GW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_LU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_MO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_MZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_PT.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_ST.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_TL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/qu.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/qu_BO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/qu_EC.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/qu_PE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rm.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rm_CH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rn_BI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ro.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ro_MD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ro_RO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rof.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rof_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/root.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_BY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_KG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_KZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_MD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_RU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_UA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rw.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rw_RW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rwk.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rwk_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sah.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sah_RU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/saq.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/saq_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sbp.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sbp_TZ.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sd.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sd_PK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/se.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/se_FI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/se_NO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/se_SE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/seh.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/seh_MZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ses.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ses_ML.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sg.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sg_CF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi_Latn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi_Latn_MA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi_Tfng.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi_Tfng_MA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/si.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/si_LK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sk.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sk_SK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sl_SI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/smn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/smn_FI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sn_ZW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so_DJ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so_ET.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so_SO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sq.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sq_AL.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sq_MK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sq_XK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl_BA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl_ME.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl_RS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl_XK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn_BA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn_ME.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn_RS.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn_XK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sv.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sv_AX.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sv_FI.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sv_SE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw_CD.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw_UG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta_LK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta_MY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta_SG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/te.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/te_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/teo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/teo_KE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/teo_UG.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tg.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tg_TJ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/th.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/th_TH.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ti.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ti_ER.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ti_ET.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tk.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tk_TM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/to.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/to_TO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tr.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tr_CY.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tr_TR.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tt.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tt_RU.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/twq.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/twq_NE.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tzm.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tzm_MA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ug.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ug_CN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uk.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uk_UA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ur.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ur_IN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ur_PK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Arab.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Arab_AF.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Cyrl.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Cyrl_UZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Latn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Latn_UZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai_Latn.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai_Latn_LR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai_Vaii.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai_Vaii_LR.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vi.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vi_VN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vo_001.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vun.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vun_TZ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/wae.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/wae_CH.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/wo.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/wo_SN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/xog.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/xog_UG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yav.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yav_CM.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yi.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yi_001.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yo_BJ.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yo_NG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_Hans.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_Hans_CN.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_Hant.xml + src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_Hant_HK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zgh.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zgh_MA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans_CN.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans_HK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans_MO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans_SG.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hant.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hant_HK.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hant_MO.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hant_TW.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zu.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zu_ZA.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/attributeValueValidity.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/coverageLevels.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/dayPeriods.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/languageInfo.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/likelySubtags.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/metaZones.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/numberingSystems.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/ordinals.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/pluralRanges.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/plurals.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/subdivisions.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/supplementalData.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/supplementalMetadata.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/telephoneCodeData.xml ! src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/windowsZones.xml ! test/jdk/java/text/Format/NumberFormat/Bug8132125.java ! test/jdk/java/time/test/java/time/format/TestNonIsoFormatter.java ! test/jdk/java/time/test/java/time/format/TestUnicodeExtension.java ! test/jdk/java/util/Calendar/CalendarDataTest.java ! test/jdk/java/util/Calendar/CldrFormatNamesTest.java - test/jdk/java/util/Formatter/NoGroupingUsed.java + test/jdk/java/util/Formatter/spi/NoGroupingUsed.java ! test/jdk/java/util/Formatter/spi/provider/test/NumberFormatProviderImpl.java ! test/jdk/java/util/Locale/Bug8179071.java ! test/jdk/java/util/Locale/bcp47u/DisplayNameTests.java - test/jdk/sun/text/resources/JavaTimeSupplementaryTest.java ! test/jdk/sun/text/resources/LocaleData.cldr ! test/jdk/sun/text/resources/LocaleDataTest.java ! test/jdk/sun/util/resources/cldr/Bug8145136.java ! test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java ! test/jdk/tools/jlink/plugins/IncludeLocalesPluginTest.java Changeset: bf7e2684cd0a Author: roland Date: 2018-06-11 15:28 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bf7e2684cd0a 8204240: Extend MDO to allow more reasons to be recorded per bci Reviewed-by: kvn, neliasso ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/DataLayout.java Changeset: e2a7f431f65c Author: jcbeyler Date: 2018-06-15 00:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e2a7f431f65c 8203394: Implementation of JEP 331: Low-Overhead Heap Profiling Summary: Implement Low-Overhead Heap Profiling Reviewed-by: eosterlund, gthornbr, rehn, sspitsyn, tschatzl ! make/nb_native/nbproject/configurations.xml ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.inline.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/prims/jvmti.xml ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEventController.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiManageCapabilities.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: 1596f418ffe4 Author: jcbeyler Date: 2018-06-15 02:31 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1596f418ffe4 8205096: Add missing files for 8203394 Summary: Add files missed in the push for Low-Overhead Heap Profiling Reviewed-by: dholmes, tschatzl, rehn, simonis, ehelin + src/hotspot/share/runtime/threadHeapSampler.cpp + src/hotspot/share/runtime/threadHeapSampler.hpp + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/Frame.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitor.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorArrayAllSampledTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorEventOnOffTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorEventsForTwoThreadsTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCCMSTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCParallelTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCSerialTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorIllegalArgumentTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorInterpreterArrayTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorInterpreterObjectTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorMultiArrayTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorNoCapabilityTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorRecursiveTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatArrayCorrectnessTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatObjectCorrectnessTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatRateTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatSimpleTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorThreadOnOffTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorThreadTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorTwoAgentsTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorVMEventsTest.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/ThreadInformation.java + test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c Changeset: eb0287b637bd Author: goetz Date: 2018-06-14 14:32 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/eb0287b637bd 8204654: [testbug] Fix pattern matching in jstat tests. Reviewed-by: clanger, stuefe ! test/jdk/sun/jvmstat/testlibrary/utils.sh ! test/jdk/sun/tools/jstat/classloadOutput1.awk ! test/jdk/sun/tools/jstat/gcCauseOutput1.awk ! test/jdk/sun/tools/jstat/jstatClassOutput1.sh ! test/jdk/sun/tools/jstat/jstatClassloadOutput1.sh ! test/jdk/sun/tools/jstat/jstatCompilerOutput1.sh ! test/jdk/sun/tools/jstat/jstatFileURITest1.sh ! test/jdk/sun/tools/jstat/jstatGcCapacityOutput1.sh ! test/jdk/sun/tools/jstat/jstatGcCauseOutput1.sh ! test/jdk/sun/tools/jstat/jstatGcMetaCapacityOutput1.sh ! test/jdk/sun/tools/jstat/jstatGcNewCapacityOutput1.sh ! test/jdk/sun/tools/jstat/jstatGcNewOutput1.sh ! test/jdk/sun/tools/jstat/jstatGcOldCapacityOutput1.sh ! test/jdk/sun/tools/jstat/jstatGcOldOutput1.sh ! test/jdk/sun/tools/jstat/jstatGcOutput1.sh ! test/jdk/sun/tools/jstat/jstatLineCounts1.sh ! test/jdk/sun/tools/jstat/jstatLineCounts2.sh ! test/jdk/sun/tools/jstat/jstatLineCounts3.sh ! test/jdk/sun/tools/jstat/jstatLineCounts4.sh ! test/jdk/sun/tools/jstat/jstatOptions1.sh ! test/jdk/sun/tools/jstat/jstatPrintCompilationOutput1.sh ! test/jdk/sun/tools/jstat/jstatSnap1.sh ! test/jdk/sun/tools/jstat/jstatSnap2.sh ! test/jdk/sun/tools/jstat/jstatTimeStamp1.sh ! test/jdk/sun/tools/jstat/timeStamp1.awk Changeset: 0cc4711c2112 Author: pliden Date: 2018-06-15 13:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0cc4711c2112 8205020: ZGC: Apply workaround for buggy sem_post() in glibc < 2.21 Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zMessagePort.inline.hpp ! src/hotspot/share/gc/z/zPageAllocator.cpp Changeset: 6464882498b5 Author: pliden Date: 2018-06-15 13:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6464882498b5 8205022: ZGC: SoftReferences not always cleared before throwing OOME Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp ! src/hotspot/share/gc/z/zPageAllocator.cpp ! src/hotspot/share/gc/z/zPageAllocator.hpp Changeset: f0ff230e2546 Author: pliden Date: 2018-06-15 13:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f0ff230e2546 8205024: ZGC: Worker threads boost mode not always enabled when is should be Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zDriver.cpp Changeset: 0eae3ed86296 Author: pliden Date: 2018-06-15 13:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0eae3ed86296 8205028: ZGC: Remove incorrect comment in ZHeap::object_iterate() Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zHeap.cpp Changeset: 1bddf2ab9ae7 Author: pliden Date: 2018-06-15 13:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1bddf2ab9ae7 8205050: ZGC: Incorrect use of RootAccess in ZHeapIterator Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zHeapIterator.cpp Changeset: 4bba6dea2e73 Author: ihse Date: 2018-06-15 15:07 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4bba6dea2e73 8200867: Remove references to "jdk 9" in build system Reviewed-by: redestad, tbell, erikj ! doc/building.html ! doc/building.md ! make/autoconf/configure.ac Changeset: 20952ce32591 Author: dnsimon Date: 2018-06-15 16:44 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/20952ce32591 8205025: [AOT] make jdk.aot module upgradeable Reviewed-by: alanb, kvn, mchung ! make/common/Modules.gmk ! test/jdk/jdk/modules/etc/UpgradeableModules.java Changeset: 1ab701eb7de4 Author: kvn Date: 2018-06-15 08:28 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1ab701eb7de4 8202948: C2: assert(init_offset >= 0) failed: positive offset from object start Summary: convert the assert into compilation check which will skip superword optimization Reviewed-by: roland, thartmann ! src/hotspot/share/opto/superword.cpp + test/hotspot/jtreg/compiler/loopopts/superword/TestNegBaseOffset.java Changeset: e5d741569070 Author: kvn Date: 2018-06-15 09:16 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e5d741569070 8184349: There should be some verification that EnableJVMCI is disabled if a GC not supporting JVMCI is selected Summary: exit VM with Error when JVMCI does not support seected GC. Reviewed-by: iveresov, thartmann ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/compiler/compilerDefinitions.hpp ! src/hotspot/share/gc/z/zArguments.cpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/oops/methodCounters.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! test/hotspot/jtreg/compiler/arguments/CheckCompileThresholdScaling.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithZ.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithZ.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java Changeset: 5fa19bad622d Author: erikj Date: 2018-06-15 09:53 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5fa19bad622d 8204973: Add build support for filtering translations Reviewed-by: ihse, naoto, dfuchs ! make/CompileJavaModules.gmk ! make/ZipSource.gmk ! make/autoconf/configure.ac ! make/autoconf/jdk-options.m4 ! make/autoconf/spec.gmk.in ! make/common/JavaCompilation.gmk ! make/common/MakeBase.gmk ! make/common/ZipArchive.gmk ! make/conf/jib-profiles.js ! make/gensrc/Gensrc-jdk.localedata.gmk ! make/gensrc/GensrcCommonLangtools.gmk ! make/gensrc/GensrcProperties.gmk ! test/jdk/TEST.ROOT ! test/jdk/TEST.groups + test/jdk/build/releaseFile/CheckSource.java + test/jdk/build/translations/VerifyTranslations.java ! test/jdk/java/util/logging/LocalizedLevelName.java - test/jdk/sanity/releaseFile/CheckSource.java ! test/jtreg-ext/requires/VMProps.java Changeset: 9f4c08c444e8 Author: cushon Date: 2018-06-14 17:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9f4c08c444e8 7183985: (ann) Class.getAnnotation() throws an ArrayStoreException when the annotation class not present Reviewed-by: darcy, martin, vromero ! src/java.base/share/classes/sun/reflect/annotation/AnnotationParser.java + test/jdk/java/lang/annotation/Missing/MissingArrayElement/EnumToCompileAgainst.java + test/jdk/java/lang/annotation/Missing/MissingArrayElement/EnumToRunAgainst.java + test/jdk/java/lang/annotation/Missing/MissingArrayElement/MissingAnnotation.java + test/jdk/java/lang/annotation/Missing/MissingArrayElement/MissingAnnotationArrayElementTest.java + test/jdk/java/lang/annotation/Missing/MissingArrayElement/MissingClass.java + test/jdk/java/lang/annotation/Missing/MissingArrayElement/MissingClass2.java + test/jdk/java/lang/annotation/Missing/MissingArrayElement/MissingClassArrayElementTest.java + test/jdk/java/lang/annotation/Missing/MissingArrayElement/MissingEnumArrayElementTest.java Changeset: dddf078c242f Author: mcimadamore Date: 2018-06-15 19:24 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dddf078c242f 8203838: javac performance regression in 11+11 Summary: Share method check exception Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 2ced30c98a93 Author: erikj Date: 2018-06-15 11:15 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2ced30c98a93 8203667: Platform specific include files in jdk image in wrong sub directory Reviewed-by: mchung, tbell ! make/autoconf/spec.gmk.in Changeset: 9236593f3ce2 Author: mchung Date: 2018-06-15 11:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9236593f3ce2 8200121: Remove unused qualified exports in java.base Reviewed-by: alanb, lancea ! src/java.base/share/classes/module-info.java Changeset: 9f7b775702f4 Author: mchung Date: 2018-06-15 11:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9f7b775702f4 8205112: Remove non-existent modules from test/jdk/jdk/modules/etc/UpgradeableModules.java Reviewed-by: alanb, lancea, kcr ! test/jdk/jdk/modules/etc/UpgradeableModules.java Changeset: 7cf6578a6b0b Author: vtheeyarath Date: 2018-06-14 23:09 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7cf6578a6b0b 8202216: Add Buffer mismatch methods Reviewed-by: plevart, psandoz ! src/java.base/share/classes/java/nio/X-Buffer.java.template ! test/jdk/java/nio/Buffer/EqualsCompareTest.java Changeset: d9189f4bbd56 Author: bpb Date: 2018-06-15 12:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d9189f4bbd56 8205062: (fs) Improve some print diagnostics in java/nio/file/Files/CopyAndMove.java Reviewed-by: alanb ! test/jdk/java/nio/file/Files/CopyAndMove.java Changeset: 8d9d4d91be7f Author: mchung Date: 2018-06-15 13:08 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8d9d4d91be7f 8205116: jdeps --system $java.home fails with IAE Reviewed-by: alanb, lancea ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsConfiguration.java ! test/langtools/tools/jdeps/Options.java Changeset: ecc2af326b5f Author: kbarrett Date: 2018-06-15 16:53 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ecc2af326b5f 8204939: Change Access nomenclature: root to native Summary: Rename RootAccess => NativeAccess, IN_ROOT => IN_NATIVE, and related cleanups. Reviewed-by: pliden, stefank, coleenp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/sparc/gc/shared/barrierSetAssembler_sparc.cpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/shared/barrierSet.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/z/zOopClosures.cpp ! src/hotspot/share/oops/access.hpp ! src/hotspot/share/oops/accessDecorators.hpp ! src/hotspot/share/oops/oopHandle.inline.hpp ! src/hotspot/share/oops/weakHandle.cpp ! src/hotspot/share/oops/weakHandle.inline.hpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/jniHandles.inline.hpp Changeset: 8e17fffa0a4b Author: stuefe Date: 2018-06-16 07:05 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8e17fffa0a4b 8204958: Minor cleanups for the diagnostic framework Reviewed-by: sspitsyn, coleenp, cjplummer ! src/hotspot/share/services/diagnosticArgument.cpp ! src/hotspot/share/services/diagnosticArgument.hpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/diagnosticFramework.hpp Changeset: 3fbae7b9ddb5 Author: goetz Date: 2018-06-15 12:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3fbae7b9ddb5 8204943: Improve message of ArrayStoreException. Reviewed-by: lfoltan, hseigel ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/exceptionMsgs/ArrayStoreException/ArrayStoreExceptionTest.java + test/hotspot/jtreg/runtime/exceptionMsgs/ArrayStoreException/libArrayStoreExceptionTest.c Changeset: ed8de3d0cd28 Author: alanb Date: 2018-06-16 10:10 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ed8de3d0cd28 8199433: (se) select(Consumer action) as alternative to selected-key set Reviewed-by: bpb ! src/java.base/linux/classes/sun/nio/ch/EPollSelectorImpl.java ! src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java ! src/java.base/share/classes/java/nio/channels/SelectionKey.java ! src/java.base/share/classes/java/nio/channels/Selector.java ! src/java.base/share/classes/sun/nio/ch/SelectorImpl.java ! src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java ! src/java.base/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java ! src/java.base/unix/classes/sun/nio/ch/PollSelectorImpl.java ! src/java.base/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + test/jdk/java/nio/channels/Selector/SelectWithConsumer.java Changeset: 95c0644a1c47 Author: henryjen Date: 2018-06-15 17:34 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/95c0644a1c47 8199871: Deprecate pack200 and unpack200 tools Reviewed-by: mchung, psandoz, abuckley ! src/java.base/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ! src/java.base/share/classes/java/util/jar/Pack200.java ! src/jdk.jartool/share/classes/sun/tools/jar/GNUStyleOptions.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar.properties ! src/jdk.pack/share/classes/module-info.java ! src/jdk.pack/share/native/common-unpack/defines.h ! src/jdk.pack/share/native/unpack200/main.cpp + test/jdk/tools/jar/DeprecateOptionN.java + test/jdk/tools/pack200/DeprecatePack200.java ! test/jdk/tools/pack200/Utils.java Changeset: 929621cf06b4 Author: sdama Date: 2018-06-18 08:07 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/929621cf06b4 8196988: Resolve disabled warnings for libjimage Summary: Fixed warnings related to implicit-fallthrough gcc option Reviewed-by: psandoz, mchung ! make/lib/CoreLibraries.gmk ! src/java.base/share/native/libjimage/imageDecompressor.cpp Changeset: 7f63c74f0974 Author: tschatzl Date: 2018-05-29 09:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7f63c74f0974 8202845: Refactor reference processing for improved parallelism Summary: Fold reference processing's nine phases into four to decrease startup and termination time of this phase. Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/psMarkSweep.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp ! src/hotspot/share/gc/shared/referenceProcessor.inline.hpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.hpp ! test/hotspot/jtreg/gc/logging/TestPrintReferences.java Changeset: 8f1d5d706bdd Author: tschatzl Date: 2018-06-18 12:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8f1d5d706bdd 8043575: Dynamically parallelize reference processing work Summary: In G1 automatically set the number of parallel Reference processing threads Reviewed-by: sangheki, kbarrett Contributed-by: sangheon.kim at oracle.com, thomas.schatzl at oracle.com ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/parallel/pcTasks.cpp ! src/hotspot/share/gc/parallel/pcTasks.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp ! test/hotspot/jtreg/gc/logging/TestPrintReferences.java Changeset: af94bdd511cd Author: mbaesken Date: 2018-06-18 14:36 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/af94bdd511cd 8205091: AIX: build errors in hotspot after 8203641: Refactor String Deduplication into shared Reviewed-by: simonis, stuefe, dholmes ! src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp Changeset: 1609a43e77ae Author: rehn Date: 2018-06-18 16:13 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1609a43e77ae 8204857: ConcurrentHashTable: Fix parallel processing Reviewed-by: coleenp, gziemski ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: bf414874c28f Author: dlong Date: 2018-06-18 09:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bf414874c28f 8204231: Update Graal Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapImplTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapLargeTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicSetTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EquivalenceTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/PairTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicMap.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicMapImpl.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicSet.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/Equivalence.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/MapCursor.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/Pair.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableEconomicMap.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableEconomicSet.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableMapCursor.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/package-info.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/ComparableWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/LocationIdentity.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/Pointer.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/PointerBase.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/SignedWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/UnsignedWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/WordBase.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/WordFactory.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordBoxFactory.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordFactoryOpcode.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordFactoryOperation.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64Assembler.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64VectorAssembler.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AVXKind.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest3.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CustomizedBytecodePatternTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraalCompilerTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NestedArithmeticTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordArrayStoreTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordFieldStoreTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordInputTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordInputTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordReturnTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordTestUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DiagnosticsOutputDirectory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotInvocationPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParser.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/FrameStateBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64AtomicMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64LIRFlagsVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayCompareToOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorBinary.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorClearOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorCompareOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorLIRInstruction.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorMove.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorShuffle.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorUnary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ShortCircuitOrNodeTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/StructuredGraphTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignExtendNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BranchProbabilityNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/RawLoadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/RawStoreNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/UnsafeAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AccessFieldNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoadFieldNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/StoreFieldNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/elem/InlineableGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.processor/src/org/graalvm/compiler/processor/AbstractProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64FloatConvertNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/VarHandleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/BitOpNodesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ObjectAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/PointerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/Log.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure.java Changeset: 9b85066e259b Author: psandoz Date: 2018-06-18 10:13 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9b85066e259b 8170159: Improve the performance of BitSet traversal Reviewed-by: martin ! src/java.base/share/classes/java/util/BitSet.java Changeset: 69c59b667acc Author: jjg Date: 2018-06-18 13:40 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/69c59b667acc 8149565: -locale option issues Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties ! test/langtools/ProblemList.txt ! test/langtools/jdk/javadoc/tool/VerifyLocale.java Changeset: e10812a82a3b Author: jjg Date: 2018-06-18 13:52 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e10812a82a3b 8204330: Javadoc IllegalArgumentException: HTML special chars in constant value Reviewed-by: ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTag.java Changeset: 0f93a75b9213 Author: kvn Date: 2018-06-18 15:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0f93a75b9213 8205181: ProblemList applications/ctw/modules/java_desktop_2.java Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList.txt Changeset: 3810c9a2efa1 Author: weijun Date: 2018-06-19 08:06 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3810c9a2efa1 8177334: Update xmldsig implementation to Apache Santuario 2.1.1 Reviewed-by: mullan ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/Init.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/ClassLoaderUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java + src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/ECDSAUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizationException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizerSpi.java + src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/ClassLoaderUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/InvalidCanonicalizerException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/C14nHelper.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerPhysical.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/UtfHelpper.java + src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/XmlAttrStack.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AgreementMethod.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherValue.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/DocumentSerializer.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperty.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/Reference.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/ReferenceList.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/Serializer.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/Transforms.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherInput.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherParameters.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLEncryptionException.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/AlgorithmAlreadyRegisteredException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/Base64DecodingException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityRuntimeException.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/ContentHandlerAlreadyRegisteredException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoContent.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoReference.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyName.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/SPKIData.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/X509Data.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/RSAKeyValue.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509DataContent.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Digest.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/package.html + src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/ClassLoaderUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/InvalidKeyResolverException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverSpi.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/DEREncodedKeyValueResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/DSAKeyValueResolver.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/EncryptedKeyResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/KeyInfoReferenceResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/PrivateKeyResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SecretKeyResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SingleKeyResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509DigestResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509IssuerSerialResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolverException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/CertsInFilesystemDirectoryResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/InvalidDigestValueException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/InvalidSignatureValueException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/MissingResourceFailureException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/ReferenceNotInitializedException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceData.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceNodeSetData.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceOctetStreamData.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/ClassLoaderUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/InvalidTransformException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformSpi.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformationException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transforms.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHere.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformBase64Decode.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N11.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N11_WithComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusive.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusiveWithComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NWithComments.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformEnvelopedSignature.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPointer.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXSLT.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer04.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathContainer.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathFilterCHGPContainer.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ClassLoaderUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Constants.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DOMNamespaceContext.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementChecker.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementCheckerImpl.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionConstants.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionElementProxy.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/IgnoreAllErrorHandler.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathAPI.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/Signature11ElementProxy.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignatureElementProxy.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncBufferedOutputStream.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java + src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/WeakObjectPool.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/XPathFactory.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/XalanXPathAPI.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/package.html + src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ClassLoaderUtils.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolver.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverException.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverSpi.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverAnonymous.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/package.html + src/java.xml.crypto/share/classes/com/sun/org/slf4j/internal/Logger.java + src/java.xml.crypto/share/classes/com/sun/org/slf4j/internal/LoggerFactory.java ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/DigestMethod.java ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/SignatureMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java + src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/BaseStructure.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java - src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java + src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Marshaller.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java + src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XmlWriter.java + src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XmlWriterToTree.java ! src/java.xml.crypto/share/legal/santuario.md ! test/jdk/javax/xml/crypto/dsig/GenerationTests.java ! test/jdk/javax/xml/crypto/dsig/KeySelectors.java Changeset: 9ba6f5dfbe56 Author: lkorinth Date: 2018-06-18 20:43 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ba6f5dfbe56 8205054: Could not find "lsof" on test machine Reviewed-by: dholmes, mikael, goetz ! test/hotspot/jtreg/runtime/8176717/TestInheritFD.java Changeset: c9e7dc7976ae Author: bulasevich Date: 2018-06-18 20:50 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c9e7dc7976ae 8204961: JVMTI jtreg tests build warnings on 32-bit platforms Reviewed-by: sspitsyn, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/heapref/heapref.c ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/refignore/refignore.c Changeset: 3300874b963c Author: bulasevich Date: 2018-06-18 22:43 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3300874b963c 8203479: JFR enabled ARM32 build assertion failure Reviewed-by: dholmes ! src/hotspot/cpu/arm/vm_version_arm_32.cpp ! src/hotspot/os_cpu/linux_arm/vm_version_linux_arm_32.cpp Changeset: 2aa21bb12059 Author: iignatyev Date: 2018-06-18 16:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2aa21bb12059 8202559: Tests which start VM using JNI start failing after compile upgrade to VC 2017 Reviewed-by: erikj ! test/hotspot/jtreg/vmTestbase/ExecDriver.java Changeset: 3d5581c49005 Author: pmuthuswamy Date: 2018-06-19 09:45 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3d5581c49005 8205148: Turn off logging in jQuery-migrate Reviewed-by: sundar ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-migrate-3.0.1.js Changeset: 2b7714a592a1 Author: cushon Date: 2018-06-18 18:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2b7714a592a1 8198669: Refactor annotation array value parsing to reduce duplication Reviewed-by: psandoz, darcy ! src/java.base/share/classes/sun/reflect/annotation/AnnotationParser.java Changeset: 4216de02077e Author: stefank Date: 2018-06-07 10:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4216de02077e 8204538: Split ScanClosure and ScanClosureWithParBarrier Reviewed-by: eosterlund, tschatzl, kbarrett ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.hpp ! src/hotspot/share/gc/shared/genOopClosures.hpp Changeset: 21b96ce2ed10 Author: stefank Date: 2018-06-19 08:44 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/21b96ce2ed10 8205163: ZGC: Keeps finalizable marked PhantomReference referents strongly alive Reviewed-by: pliden, kbarrett ! src/hotspot/share/gc/z/zBarrier.hpp ! src/hotspot/share/gc/z/zBarrier.inline.hpp ! src/hotspot/share/gc/z/zReferenceProcessor.cpp ! src/hotspot/share/gc/z/zReferenceProcessor.hpp Changeset: 5209d8a6303e Author: roland Date: 2018-06-19 09:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5209d8a6303e 8203197: C2: consider all paths in loop body for loop predication Reviewed-by: kvn, neliasso ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 724ed31f9d05 Author: tschatzl Date: 2018-06-19 09:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/724ed31f9d05 8205043: Make parallel reference processing default for G1 Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1Arguments.cpp + test/hotspot/jtreg/gc/arguments/TestParallelRefProc.java Changeset: d9753e3db0c6 Author: simonis Date: 2018-06-19 09:43 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d9753e3db0c6 8204965: Fix '--disable-cds' and disable CDS on AIX by default Reviewed-by: erikj, jiangli, stuefe, dholmes ! make/autoconf/hotspot.m4 ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/lib/jdk/test/lib/Platform.java Changeset: 9fdfe5ca0e5e Author: rehn Date: 2018-06-19 10:57 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9fdfe5ca0e5e 8204166: TLH: Semaphore may not be destroy until signal have returned. Reviewed-by: eosterlund, dholmes ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/safepointMechanism.inline.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 70ccca2e60aa Author: neliasso Date: 2018-06-15 13:57 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/70ccca2e60aa 8204927: ZGC: assert(phase->idom(head) == head->in(LoopNode::EntryControl)) failed Summary: Update idom Reviewed-by: roland ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: 83b1a52f187c Author: rkennke Date: 2018-06-19 11:27 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/83b1a52f187c 8204941: Refactor TemplateTable::_new to use MacroAssembler helpers for tlab and eden Reviewed-by: kvn, coleenp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 645a5962201d Author: pliden Date: 2018-06-19 12:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/645a5962201d 8205064: Fail immediately if an unavailable GC is selected Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/gc/shared/gcConfig.hpp Changeset: 4cb865aa94b5 Author: rwestberg Date: 2018-06-19 12:20 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4cb865aa94b5 8204236: JFR unit test of thread CPU load should be enabled Reviewed-by: mgronlun, egahlin ! test/hotspot/gtest/jfr/test_threadCpuLoad.cpp Changeset: 7e1087eb6760 Author: rwestberg Date: 2018-06-19 12:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7e1087eb6760 8204957: Remove TestBiasedLockRevocationEvents from ProblemList.txt Reviewed-by: mgronlun ! test/jdk/ProblemList.txt Changeset: fd430e352427 Author: thartmann Date: 2018-06-19 12:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fd430e352427 8205033: [REDO] Induction variable of over-unrolled loop conflicts with range checks Summary: Update skeleton predicates before main loop during unrolling to remove dead code. Reviewed-by: kvn, roland ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp ! test/hotspot/jtreg/compiler/loopopts/IterationSplitPredicateInconsistency.java ! test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java Changeset: b8055b38b252 Author: goetz Date: 2018-06-15 12:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b8055b38b252 8204268: Improve some IncompatibleClassChangeError messages. Reviewed-by: stuefe, hseigel ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/oops/instanceKlass.cpp + test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/ICC2_B.jasm + test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/ICC3_B.jasm + test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/ICC4_B.jasm - test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/ICC_B.jasm ! test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/ImplementsSomeInterfaces.jasm ! test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/IncompatibleClassChangeErrorTest.java Changeset: c349d409262a Author: lfoltan Date: 2018-06-19 07:54 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c349d409262a 8202605: Standardize on ClassLoaderData::loader_name() throughout the VM to obtain a class loader's name Summary: Introduced ClassLoaderData::name() and ClassLoaderData::name_and_id() for use when obtaining a class loader's name. Reviewed-by: coleenp, goetz, mchung, stuefe ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/loaderConstraints.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp ! src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! test/hotspot/jtreg/runtime/LoaderConstraints/differentLE/Test.java ! test/hotspot/jtreg/runtime/LoaderConstraints/duplicateLE/Test.java ! test/hotspot/jtreg/runtime/LoaderConstraints/itableLdrConstraint/Test.java ! test/hotspot/jtreg/runtime/LoaderConstraints/vtableLdrConstraint/Test.java ! test/hotspot/jtreg/runtime/SharedArchiveFile/DumpSymbolAndStringTable.java ! test/hotspot/jtreg/runtime/logging/LoaderConstraintsTest.java ! test/jdk/jdk/jfr/event/runtime/TestClassLoadEvent.java Changeset: 5d3c5af82654 Author: phh Date: 2018-06-19 05:18 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5d3c5af82654 8195115: G1 Old Gen MemoryPool CollectionUsage.used values don't reflect mixed GC results Summary: Memory pools can now be optional collection participants, e.g., G1 Old Gen in an incremental collection. Reviewed-by: ehelin, mchung ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/services/memoryManager.cpp ! src/hotspot/share/services/memoryManager.hpp ! src/hotspot/share/services/memoryService.cpp ! src/hotspot/share/services/memoryService.hpp ! test/hotspot/jtreg/gc/TestMemoryMXBeansAndPoolsPresence.java + test/hotspot/jtreg/gc/g1/mixedgc/TestOldGenCollectionUsage.java Changeset: 8a18bcdd75ed Author: vromero Date: 2018-06-19 05:22 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8a18bcdd75ed 8205052: No compilation error thrown when no valid parameterization exists for functional interface type Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java + test/langtools/tools/javac/T8203338/CheckWellFormednessIntersectionTypesTest.java + test/langtools/tools/javac/T8203338/CheckWellFormednessIntersectionTypesTest.out Changeset: 359607017fb7 Author: rehn Date: 2018-06-19 16:14 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/359607017fb7 8205006: Assertion failure when rehashing stringtable Reviewed-by: lfoltan, zgu ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp Changeset: f9f2e6a6a7b2 Author: mdoerr Date: 2018-06-19 16:29 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f9f2e6a6a7b2 8205172: 32 bit build broken Reviewed-by: roland, kvn, dholmes ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/runtime/threadHeapSampler.cpp ! test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c Changeset: c12c79a49ca2 Author: erikj Date: 2018-06-19 16:44 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c12c79a49ca2 8205183: Warning about using VS2017 should be removed Reviewed-by: prr, tbell ! make/autoconf/toolchain_windows.m4 Changeset: a92d5b312116 Author: dpochepk Date: 2018-06-19 18:14 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a92d5b312116 8204473: AARCH64: register post-index addressing mode is not supported directly Reviewed-by: aph ! src/hotspot/cpu/aarch64/assembler_aarch64.cpp ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp Changeset: 66aa15778c5a Author: dpochepk Date: 2018-06-19 18:18 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/66aa15778c5a 8204353: AARCH64: optimize FPU load and stores in macroAssembler Reviewed-by: aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: fff48b02d4a6 Author: dchuyko Date: 2018-06-19 18:18 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fff48b02d4a6 8198719: MethodHandleHelper.linkToStatic should drop MH arg Reviewed-by: vlivanov, dlong ! test/hotspot/jtreg/compiler/jsr292/InvokerSignatureMismatch.java ! test/hotspot/jtreg/compiler/jsr292/patches/java.base/java/lang/invoke/MethodHandleHelper.java Changeset: f2d94a0619a2 Author: naoto Date: 2018-06-19 08:19 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f2d94a0619a2 8042131: DateTimeFormatterBuilder Mapped-values do not work for JapaneseDate Reviewed-by: rriggs, scolebourne Contributed-by: toshiona at jp.ibm.com ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! test/jdk/java/time/test/java/time/format/TestDateTimeFormatterBuilderWithLocale.java Changeset: 409bfb0c071e Author: dchuyko Date: 2018-06-19 19:21 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/409bfb0c071e 8205341: AARCH64: Clean up duplicate uzp1 & uzp2 instruction definition Reviewed-by: aph ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 9cdde9293187 Author: gadams Date: 2018-06-19 07:14 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9cdde9293187 8205110: Fix xchip warnings with new Solaris toolchain Reviewed-by: ihse, erikj ! make/autoconf/flags-cflags.m4 Changeset: c82ed0f373bb Author: gadams Date: 2018-06-19 07:15 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c82ed0f373bb 8205055: Fix compilation optimization errors with new Solaris toolchain Reviewed-by: erikj ! make/hotspot/lib/JvmOverrideFiles.gmk Changeset: a98ff7c2103d Author: serb Date: 2018-06-09 13:33 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a98ff7c2103d 6608234: SwingWorker.get throws CancellationException Reviewed-by: psadhukhan, kaddepalli, prr ! src/java.desktop/share/classes/javax/swing/SwingWorker.java + test/jdk/javax/swing/SwingWorker/6608234/CheckCancellationException.java Changeset: 2eb666723f65 Author: prr Date: 2018-06-10 18:04 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2eb666723f65 8204509: Fix compilation error in harfbuzz 1.7.6 for Solaris Developer Studio 12.6 Reviewed-by: serb ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh Changeset: 9cf90ac8dbf7 Author: mhalder Date: 2018-06-11 14:06 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9cf90ac8dbf7 8029250: [macosx] There is no tray icon shown in the system tray area when case starts Reviewed-by: serb, sveerabhadra ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CImage.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTrayIcon.java Changeset: b57c4a6581fd Author: serb Date: 2018-06-12 09:26 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b57c4a6581fd 8202768: [macos] Appkit thread slows when any Window Manager active Reviewed-by: ant ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m + test/jdk/javax/accessibility/SlowPanelIteration/SlowPanelIteration.java Changeset: 0c94d8cc5081 Author: prr Date: 2018-06-12 12:18 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0c94d8cc5081 8191512: T2K font rasterizer code removal Reviewed-by: serb, erikj ! make/scripts/compare_exceptions.sh.incl ! src/java.desktop/share/classes/sun/font/CompositeGlyphMapper.java ! src/java.desktop/share/classes/sun/font/FontManagerNativeLibrary.java ! src/java.desktop/share/classes/sun/font/FontScaler.java ! src/java.desktop/share/classes/sun/font/FontUtilities.java ! src/java.desktop/share/classes/sun/font/SunFontManager.java ! src/java.desktop/share/native/common/font/fontscalerdefs.h Changeset: 11f36b771afd Author: serb Date: 2018-06-12 14:53 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/11f36b771afd 8204454: Remove of sun.applet.AppletAudioClip Reviewed-by: prr ! src/java.desktop/share/classes/com/sun/media/sound/JavaSoundAudioClip.java ! src/java.desktop/share/classes/java/applet/Applet.java - src/java.desktop/share/classes/sun/applet/AppletAudioClip.java ! src/java.desktop/share/classes/sun/awt/www/content/audio/aiff.java ! src/java.desktop/share/classes/sun/awt/www/content/audio/basic.java ! src/java.desktop/share/classes/sun/awt/www/content/audio/wav.java ! src/java.desktop/share/classes/sun/awt/www/content/audio/x_aiff.java ! src/java.desktop/share/classes/sun/awt/www/content/audio/x_wav.java + test/jdk/javax/sound/sampled/Clip/AudioContentHandlers.java Changeset: 4f11cac95184 Author: prr Date: 2018-06-12 15:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4f11cac95184 Merge - test/jdk/java/lang/Thread/StopThrowable.java Changeset: e88bc8f0321c Author: mhalder Date: 2018-06-13 10:59 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e88bc8f0321c 8204859: [macosx] Remove javax/swing/plaf/nimbus/8057791/bug8057791.java from the ProblemList.txt Reviewed-by: psadhukhan, serb ! test/jdk/ProblemList.txt Changeset: 1427a66f7714 Author: dmarkov Date: 2018-06-13 12:54 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1427a66f7714 8200353: Shift or Capslock not working in Textfield after accented keystrokes Reviewed-by: serb, prr ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp Changeset: 362e45aeb983 Author: psadhukhan Date: 2018-06-15 23:38 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/362e45aeb983 8202199: Provide public, unsupported JDK API for JavaFX/Swing interop Reviewed-by: prr, kcr, alanb, mchung ! src/java.desktop/share/classes/module-info.java + src/java.desktop/share/classes/sun/swing/InteropProvider.java + src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/DispatcherWrapper.java + src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/DragSourceContextWrapper.java + src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/DropTargetContextWrapper.java + src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/LightweightContentWrapper.java + src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/LightweightFrameWrapper.java + src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/SwingInterOpUtils.java + src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/internal/InteropProviderImpl.java + src/jdk.unsupported.desktop/share/classes/module-info.java Changeset: 480c2ae4d031 Author: psadhukhan Date: 2018-06-15 23:59 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/480c2ae4d031 8199441: Wrong caret position in multiline text components on Windows with a screen resolution higher than 100% Reviewed-by: prr, jdv ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/text/Caret/TestCaretPosition.java Changeset: db4f24a6cf34 Author: prr Date: 2018-06-15 13:05 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/db4f24a6cf34 8204929: Fonts with embedded bitmaps are not always rotated Reviewed-by: bae ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c + test/jdk/java/awt/FontClass/GlyphRotationTest.java Changeset: 9ff8428f3e51 Author: prr Date: 2018-06-15 13:07 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ff8428f3e51 Merge - src/hotspot/share/gc/g1/g1StringDedupTable.cpp - src/hotspot/share/gc/g1/g1StringDedupTable.hpp - src/hotspot/share/gc/g1/g1StringDedupThread.cpp - src/hotspot/share/gc/g1/g1StringDedupThread.hpp - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-1.12.4.js - test/hotspot/jtreg/runtime/containers/docker/CPUSetsReader.java - test/hotspot/jtreg/runtime/containers/docker/Common.java - test/hotspot/jtreg/serviceability/tmtools/jstat/utils/ClassLoadUtils.java - test/hotspot/jtreg/serviceability/tmtools/jstat/utils/GeneratingClassLoader.java - test/hotspot/jtreg/serviceability/tmtools/jstat/utils/TemplateClass.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeap/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeap/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeap/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeapCore/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapHeapCore/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspaceCore/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspaceCore/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspaceCore/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFile/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFile/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFile/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFileMetaspace/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFileMetaspace/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToFileMetaspace/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToPath/TEST.properties - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToPath/TestDescription.java - test/hotspot/jtreg/vmTestbase/heapdump/OnOOMToPath/run.sh - test/hotspot/jtreg/vmTestbase/heapdump/README - test/hotspot/jtreg/vmTestbase/heapdump/share/EatMemory.java - test/hotspot/jtreg/vmTestbase/heapdump/share/common.sh ! test/jdk/ProblemList.txt - test/jdk/java/util/Formatter/NoGroupingUsed.java - test/jdk/sanity/releaseFile/CheckSource.java - test/jdk/sun/text/resources/JavaTimeSupplementaryTest.java Changeset: 9d7f647a2b6d Author: prr Date: 2018-06-19 09:22 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9d7f647a2b6d Merge - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/c14n/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AgreementMethod.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherValue.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/DocumentSerializer.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperty.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/Reference.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/ReferenceList.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/Serializer.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/Transforms.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherInput.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherParameters.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLEncryptionException.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/exceptions/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/EncryptedKeyResolver.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/resource/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementChecker.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementCheckerImpl.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionElementProxy.java - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/package.html - src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/package.html - src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java - test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/ICC_B.jasm ! test/jdk/ProblemList.txt Changeset: 81affcb6832c Author: vagarwal Date: 2018-06-19 12:04 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/81affcb6832c 8200605: Create test for GridBagLayoutDemo Reviewed-by: serb, shurailine + test/jdk/sanity/client/SwingSet/src/GridBagLayoutDemoTest.java ! test/jdk/sanity/client/SwingSet/src/TestHelpers.java + test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/gridbaglayout/Calculator.java + test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/gridbaglayout/GridBagLayoutDemo.java + test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/gridbaglayout/resources/GridBagLayoutDemo.properties + test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/gridbaglayout/resources/images/GridBagLayoutDemo.gif Changeset: 681b118332d7 Author: prr Date: 2018-06-19 10:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/681b118332d7 Merge Changeset: 0e9d1d4ab692 Author: prr Date: 2018-06-19 10:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0e9d1d4ab692 Merge Changeset: 857ce291c70c Author: mgronlun Date: 2018-06-19 19:16 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/857ce291c70c 8204571: Add support for launching multiple startup recordings Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.hpp ! test/jdk/jdk/jfr/jvm/TestLogOutput.java + test/jdk/jdk/jfr/startupargs/TestMultipleStartupRecordings.java Changeset: 9eaaa711fef5 Author: pliden Date: 2018-06-19 19:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9eaaa711fef5 8205344: TraceMemoryManagerStats changes in JDK-8195115 broke ZGC Reviewed-by: shade, eosterlund ! src/hotspot/share/gc/z/zServiceability.cpp Changeset: 3e66d204af9b Author: apetushkov Date: 2018-06-15 13:57 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3e66d204af9b 8153107: enabling ObjectSynchronizer::quick_enter() on ARM64 causes hangs Summary: Always set the markword for recursive monitors in MacroAssembler::fast_lock(). Reviewed-by: aph, drwhite, dcubed, bulasevich ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp Changeset: cc58f1fa0438 Author: stuefe Date: 2018-06-19 09:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cc58f1fa0438 8203680: os::stat() on Posix platform does not need to copy input path Reviewed-by: hseigel, dholmes ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/aix/os_aix.inline.hpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/bsd/os_bsd.inline.hpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.inline.hpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/share/runtime/os.hpp Changeset: 11c7290b85ff Author: valeriep Date: 2018-06-19 23:33 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/11c7290b85ff 8204152: SignedObject throws NullPointerException for null keys with an initialized Signature object Summary: Check for null and throw InvalidKeyException to maintain same behavior Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/rsa/RSAKeyFactory.java Changeset: 4935323c3e61 Author: cjplummer Date: 2018-06-19 17:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4935323c3e61 8205149: hs201t002 should be put on the problem list Reviewed-by: sspitsyn ! test/hotspot/jtreg/ProblemList.txt Changeset: e810abb27deb Author: stuefe Date: 2018-06-20 06:51 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e810abb27deb 8205141: runtime/exceptionMsgs/ArrayStoreException/ArrayStoreExceptionTest.java failed with "assert(k->is_objArray_klass()) failed: cast to ObjArrayKlass Reviewed-by: dholmes, goetz ! test/hotspot/jtreg/runtime/exceptionMsgs/ArrayStoreException/ArrayStoreExceptionTest.java ! test/hotspot/jtreg/runtime/exceptionMsgs/ArrayStoreException/libArrayStoreExceptionTest.c Changeset: 1637a4e50fc9 Author: goetz Date: 2018-06-20 11:12 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1637a4e50fc9 8205108: [testbug] Fix pattern matching in jstatd tests. Reviewed-by: stuefe, azeller ! test/jdk/sun/tools/jstatd/JstatGCUtilParser.java Changeset: 35a87577b461 Author: pmuthuswamy Date: 2018-06-20 14:52 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/35a87577b461 8202624: javadoc generates references to enum constructors, which are not documented Reviewed-by: sundar ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java + test/langtools/jdk/javadoc/doclet/testEnumConstructor/TestEnumConstructor.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java Changeset: e7da80712449 Author: pliden Date: 2018-06-20 11:33 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e7da80712449 8205338: ZGC: LeakProfiler not yet supported Reviewed-by: egahlin, eosterlund ! src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp Changeset: 9ab948f612a8 Author: pliden Date: 2018-06-20 11:33 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ab948f612a8 8205339: ZGC: VerifyBeforeIteration not yet supported Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zArguments.cpp Changeset: 273183fd8246 Author: mcimadamore Date: 2018-06-20 11:47 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/273183fd8246 8195293: Issue more comprehensive warnings for use of \"var\" in earlier source versions Summary: issue warnings when 'var' used as a type name in type argument positions Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/lvti/ParserTest.out ! test/langtools/tools/javac/lvti/ParserTest9.out ! test/langtools/tools/javac/lvti/badTypeReference/BadTypeReference.out Changeset: 8c0a5b51559b Author: chrisphi Date: 2018-06-19 10:00 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8c0a5b51559b 8203030: Zero s390 31 bit size_t type conflicts in shared code Summary: Cast to size_t or change to size_t foe compatibility with other archs. Reviewed-by: pliden, dholmes ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp ! src/hotspot/share/gc/parallel/parallel_globals.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/shared/plab.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.hpp Changeset: bcbfd2707e58 Author: redestad Date: 2018-06-20 17:06 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bcbfd2707e58 8199435: Unsafe publication of java.util.Properties.map Reviewed-by: dholmes, psandoz, plevart, bchristi ! src/java.base/share/classes/java/util/Properties.java Changeset: 818a23db260c Author: stuefe Date: 2018-06-20 17:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/818a23db260c 8205407: [windows, vs<2017] C4800 after 8203197 Reviewed-by: tbell, mbaesken ! make/autoconf/flags-cflags.m4 Changeset: 58dac477766c Author: mseledtsov Date: 2018-06-20 09:42 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/58dac477766c 8204701: [TESTBUG] runtime/SharedArchiveFile/BootAppendTests.java should handle mapping failure Summary: Added code to check for mapping failure Reviewed-by: ccheung, jiangli ! test/hotspot/jtreg/runtime/SharedArchiveFile/BootAppendTests.java Changeset: dd2ebc050e6e Author: erikj Date: 2018-06-20 09:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dd2ebc050e6e 8200115: System property java.vm.vendor value includes quotation marks Reviewed-by: tbell, asaha ! src/hotspot/share/runtime/vm_version.cpp Changeset: 4254bed3c09d Author: chegar Date: 2018-06-20 09:05 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4254bed3c09d 8204679: HTTP Client refresh Reviewed-by: chegar, dfuchs, michaelm Contributed-by: Chris Hegarty , Daniel Fuchs , Michael McMahon , Pavel Rappo ! src/java.net.http/share/classes/java/net/http/HttpClient.java ! src/java.net.http/share/classes/java/net/http/HttpHeaders.java ! src/java.net.http/share/classes/java/net/http/HttpRequest.java ! src/java.net.http/share/classes/java/net/http/HttpResponse.java ! src/java.net.http/share/classes/java/net/http/WebSocket.java ! src/java.net.http/share/classes/java/net/http/WebSocketHandshakeException.java ! src/java.net.http/share/classes/java/net/http/package-info.java ! src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java ! src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java ! src/java.net.http/share/classes/jdk/internal/net/http/CookieFilter.java ! src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1AsyncReceiver.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1HeaderParser.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Request.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestBuilderImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java - src/java.net.http/share/classes/jdk/internal/net/http/ImmutableHeaders.java + src/java.net.http/share/classes/jdk/internal/net/http/ImmutableHttpRequest.java ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/RedirectFilter.java ! src/java.net.http/share/classes/jdk/internal/net/http/Response.java ! src/java.net.http/share/classes/jdk/internal/net/http/ResponseContent.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/ConnectionExpiredException.java + src/java.net.http/share/classes/jdk/internal/net/http/common/HttpHeadersBuilder.java - src/java.net.http/share/classes/jdk/internal/net/http/common/HttpHeadersImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Log.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/SSLFlowDelegate.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/SSLTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/SubscriberWrapper.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! src/java.net.http/share/classes/jdk/internal/net/http/frame/SettingsFrame.java ! src/java.net.http/share/classes/jdk/internal/net/http/hpack/Decoder.java ! src/java.net.http/share/classes/jdk/internal/net/http/hpack/Encoder.java ! src/java.net.http/share/classes/jdk/internal/net/http/hpack/HPACK.java ! src/java.net.http/share/classes/jdk/internal/net/http/hpack/HeaderTable.java ! src/java.net.http/share/classes/jdk/internal/net/http/hpack/ISO_8859_1.java ! src/java.net.http/share/classes/jdk/internal/net/http/hpack/QuickHuffman.java ! src/java.net.http/share/classes/jdk/internal/net/http/hpack/SimpleHeaderTable.java ! src/java.net.http/share/classes/jdk/internal/net/http/websocket/OpeningHandshake.java ! src/java.net.http/share/classes/jdk/internal/net/http/websocket/WebSocketImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! test/jdk/java/net/httpclient/AbstractNoBody.java + test/jdk/java/net/httpclient/AbstractThrowingPublishers.java + test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java + test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java ! test/jdk/java/net/httpclient/AsFileDownloadTest.java ! test/jdk/java/net/httpclient/BasicRedirectTest.java ! test/jdk/java/net/httpclient/BodyProcessorInputStreamTest.java ! test/jdk/java/net/httpclient/ConcurrentResponses.java + test/jdk/java/net/httpclient/ConnectExceptionTest.java ! test/jdk/java/net/httpclient/CookieHeaderTest.java ! test/jdk/java/net/httpclient/CustomRequestPublisher.java ! test/jdk/java/net/httpclient/CustomResponseSubscriber.java ! test/jdk/java/net/httpclient/DependentActionsTest.java ! test/jdk/java/net/httpclient/DependentPromiseActionsTest.java ! test/jdk/java/net/httpclient/DigestEchoServer.java ! test/jdk/java/net/httpclient/EncodedCharsInURI.java ! test/jdk/java/net/httpclient/EscapedOctetsInURI.java ! test/jdk/java/net/httpclient/FlowAdapterPublisherTest.java ! test/jdk/java/net/httpclient/FlowAdapterSubscriberTest.java ! test/jdk/java/net/httpclient/HandshakeFailureTest.java + test/jdk/java/net/httpclient/HeadTest.java ! test/jdk/java/net/httpclient/HeadersTest.java ! test/jdk/java/net/httpclient/HttpClientBuilderTest.java + test/jdk/java/net/httpclient/HttpHeadersOf.java ! test/jdk/java/net/httpclient/HttpInputStreamTest.java ! test/jdk/java/net/httpclient/HttpServerAdapters.java ! test/jdk/java/net/httpclient/ImmutableFlowItems.java ! test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java ! test/jdk/java/net/httpclient/InvalidSSLContextTest.java ! test/jdk/java/net/httpclient/InvalidSubscriptionRequest.java ! test/jdk/java/net/httpclient/LineBodyHandlerTest.java ! test/jdk/java/net/httpclient/MappingResponseSubscriber.java + test/jdk/java/net/httpclient/MaxStreams.java ! test/jdk/java/net/httpclient/MethodsTest.java ! test/jdk/java/net/httpclient/NonAsciiCharsInURI.java ! test/jdk/java/net/httpclient/RedirectMethodChange.java ! test/jdk/java/net/httpclient/RedirectWithCookie.java ! test/jdk/java/net/httpclient/RequestBuilderTest.java + test/jdk/java/net/httpclient/ResponseBodyBeforeError.java ! test/jdk/java/net/httpclient/ResponsePublisher.java + test/jdk/java/net/httpclient/RetryPost.java ! test/jdk/java/net/httpclient/RetryWithCookie.java + test/jdk/java/net/httpclient/ShortResponseBody.java + test/jdk/java/net/httpclient/ShortResponseBodyWithRetry.java + test/jdk/java/net/httpclient/SpecialHeadersTest.java ! test/jdk/java/net/httpclient/SplitResponse.java + test/jdk/java/net/httpclient/SplitResponseAsync.java + test/jdk/java/net/httpclient/SplitResponseKeepAlive.java + test/jdk/java/net/httpclient/SplitResponseKeepAliveAsync.java ! test/jdk/java/net/httpclient/SplitResponseSSL.java + test/jdk/java/net/httpclient/SplitResponseSSLAsync.java + test/jdk/java/net/httpclient/SplitResponseSSLKeepAlive.java + test/jdk/java/net/httpclient/SplitResponseSSLKeepAliveAsync.java ! test/jdk/java/net/httpclient/StreamingBody.java - test/jdk/java/net/httpclient/ThrowingPublishers.java + test/jdk/java/net/httpclient/ThrowingPublishersCustomAfterCancel.java + test/jdk/java/net/httpclient/ThrowingPublishersCustomBeforeCancel.java + test/jdk/java/net/httpclient/ThrowingPublishersIOAfterCancel.java + test/jdk/java/net/httpclient/ThrowingPublishersIOBeforeCancel.java + test/jdk/java/net/httpclient/ThrowingPublishersInNextRequest.java + test/jdk/java/net/httpclient/ThrowingPublishersInRequest.java + test/jdk/java/net/httpclient/ThrowingPublishersInSubscribe.java + test/jdk/java/net/httpclient/ThrowingPublishersSanity.java - test/jdk/java/net/httpclient/ThrowingPushPromises.java + test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamCustom.java + test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamIO.java + test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesCustom.java + test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesIO.java + test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringCustom.java + test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringIO.java + test/jdk/java/net/httpclient/ThrowingPushPromisesSanity.java - test/jdk/java/net/httpclient/ThrowingSubscribers.java + test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStream.java + test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStreamAsync.java + test/jdk/java/net/httpclient/ThrowingSubscribersAsLines.java + test/jdk/java/net/httpclient/ThrowingSubscribersAsLinesAsync.java + test/jdk/java/net/httpclient/ThrowingSubscribersAsString.java + test/jdk/java/net/httpclient/ThrowingSubscribersAsStringAsync.java + test/jdk/java/net/httpclient/ThrowingSubscribersSanity.java + test/jdk/java/net/httpclient/UnauthorizedTest.java ! test/jdk/java/net/httpclient/examples/JavadocExamples.java ! test/jdk/java/net/httpclient/http2/BadHeadersTest.java ! test/jdk/java/net/httpclient/http2/BasicTest.java ! test/jdk/java/net/httpclient/http2/ContinuationFrameTest.java ! test/jdk/java/net/httpclient/http2/ErrorTest.java ! test/jdk/java/net/httpclient/http2/ImplicitPushCancel.java ! test/jdk/java/net/httpclient/http2/ServerPush.java ! test/jdk/java/net/httpclient/http2/ServerPushWithDiffTypes.java ! test/jdk/java/net/httpclient/http2/java.net.http/jdk/internal/net/http/hpack/HeaderTableTest.java ! test/jdk/java/net/httpclient/http2/java.net.http/jdk/internal/net/http/hpack/HuffmanTest.java ! test/jdk/java/net/httpclient/http2/java.net.http/jdk/internal/net/http/hpack/SimpleHeaderTableTest.java ! test/jdk/java/net/httpclient/http2/server/Http2EchoHandler.java ! test/jdk/java/net/httpclient/http2/server/Http2RedirectHandler.java ! test/jdk/java/net/httpclient/http2/server/Http2TestExchange.java ! test/jdk/java/net/httpclient/http2/server/Http2TestExchangeImpl.java ! test/jdk/java/net/httpclient/http2/server/Http2TestExchangeSupplier.java ! test/jdk/java/net/httpclient/http2/server/Http2TestServer.java ! test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java ! test/jdk/java/net/httpclient/http2/server/OutgoingPushPromise.java ! test/jdk/java/net/httpclient/http2/server/PushHandler.java + test/jdk/java/net/httpclient/noPermissions.policy - test/jdk/java/net/httpclient/offline/FixedHttpHeaders.java ! test/jdk/java/net/httpclient/offline/OfflineTesting.java ! test/jdk/java/net/httpclient/ssltest/CertificateTest.java ! test/jdk/java/net/httpclient/websocket/BlowupOutputQueue.java ! test/jdk/java/net/httpclient/websocket/MockListener.java ! test/jdk/java/net/httpclient/websocket/WebSocketTest.java ! test/jdk/java/net/httpclient/whitebox/ConnectionPoolTestDriver.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/AuthenticationFilterTest.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/Http1HeaderParserTest.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/RawChannelTest.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/SelectorTest.java ! test/jdk/lib/testlibrary/jdk/testlibrary/testkeys Changeset: 9663777e8d41 Author: chegar Date: 2018-06-20 17:48 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9663777e8d41 Merge Changeset: fba6889d5635 Author: chegar Date: 2018-06-20 17:54 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fba6889d5635 Merge Changeset: e0eca40cd514 Author: bsrbnd Date: 2018-06-20 10:01 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e0eca40cd514 8203338: Unboxing in return from lambda miscompiled to throw ClassCastException Reviewed-by: mcimadamore, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java + test/langtools/tools/javac/lambda/LambdaReturnUnboxing.java Changeset: fb8b3f467277 Author: gadams Date: 2018-06-20 13:57 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fb8b3f467277 6545967: sp05t003 failed ResumeThread() due to THREAD_NOT_SUSPENDED Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/sp05t003.c Changeset: 2f558e1677fb Author: iignatyev Date: 2018-06-20 12:42 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2f558e1677fb 8205433: clean up hotspot ProblemList Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList.txt Changeset: caa555819dca Author: gromero Date: 2018-06-20 22:02 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/caa555819dca 8204135: jtreg: Fix failing RTM test TestUseRTMXendForLockBusy Reviewed-by: goetz, iignatyev ! test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMXendForLockBusy.java Changeset: 992a1304517b Author: lmesnik Date: 2018-06-20 12:02 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/992a1304517b 8204974: Quarantine serviceability/sa/TestInstanceKlassSize* tests for CDS enabled mode Reviewed-by: ccheung, mseledtsov, jiangli + test/hotspot/jtreg/ProblemList-cds-mode.txt Changeset: 070b5313b2fe Author: iveresov Date: 2018-06-20 17:30 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/070b5313b2fe 8205105: VM crashes with "assert(Universe::heap()->is_in_reserved(start + words - 1)) failed: not in heap" Summary: Disable fast TLAB refill in Graal. Reviewed-by: dnsimon, kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/NewArrayStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/NewInstanceStub.java Changeset: c4720a1f140e Author: jwilhelm Date: 2018-06-21 03:21 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c4720a1f140e Added tag jdk-11+19 for changeset fb8b3f467277 ! .hgtags Changeset: cb652b90be5e Author: cjplummer Date: 2018-06-20 19:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cb652b90be5e 8205385: Problem list vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java Reviewed-by: sspitsyn ! test/hotspot/jtreg/ProblemList.txt Changeset: 5b75d7485f2a Author: nishjain Date: 2018-06-21 14:09 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5b75d7485f2a 8204938: Add a test case to automatically check the updated LSR data Reviewed-by: naoto, rriggs + test/jdk/java/util/Locale/LSRDataTest.java Changeset: db0a17475826 Author: rkennke Date: 2018-06-19 13:03 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/db0a17475826 8205336: Modularize allocations in assembler Reviewed-by: aph, eosterlund ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 17d6de3b25fc Author: rwestberg Date: 2018-06-21 13:39 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/17d6de3b25fc 8205103: [TESTBUG] Instability in JFR test TestThreadCpuTimeEvent Reviewed-by: mgronlun ! test/jdk/jdk/jfr/event/runtime/TestThreadCpuTimeEvent.java Changeset: 36ca515343e0 Author: jlaskey Date: 2018-06-21 08:58 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/36ca515343e0 8203637: Fix Sources Reviewed-by: hannesw, sundar ! src/jdk.dynalink/share/classes/jdk/dynalink/CallSiteDescriptor.java ! src/jdk.dynalink/share/classes/jdk/dynalink/ClassMap.java ! src/jdk.dynalink/share/classes/jdk/dynalink/DynamicLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/DynamicLinkerFactory.java ! src/jdk.dynalink/share/classes/jdk/dynalink/LinkerServicesImpl.java ! src/jdk.dynalink/share/classes/jdk/dynalink/NamedOperation.java ! src/jdk.dynalink/share/classes/jdk/dynalink/Namespace.java ! src/jdk.dynalink/share/classes/jdk/dynalink/NamespaceOperation.java ! src/jdk.dynalink/share/classes/jdk/dynalink/NoSuchDynamicMethodException.java ! src/jdk.dynalink/share/classes/jdk/dynalink/Operation.java ! src/jdk.dynalink/share/classes/jdk/dynalink/RelinkableCallSite.java ! src/jdk.dynalink/share/classes/jdk/dynalink/StandardNamespace.java ! src/jdk.dynalink/share/classes/jdk/dynalink/StandardOperation.java ! src/jdk.dynalink/share/classes/jdk/dynalink/TypeConverterFactory.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/AbstractJavaLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/AccessibleMembersLookup.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/ApplicableOverloadedMethods.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeanIntrospector.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeanLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeansLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/CallerSensitiveDynamicMethod.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/CheckRestrictedPackage.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassString.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/DynamicMethod.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/DynamicMethodLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/FacetIntrospector.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/GuardedInvocationComponent.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/MaximallySpecific.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedDynamicMethod.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedMethod.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/SimpleDynamicMethod.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/SingleDynamicMethod.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClass.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClassIntrospector.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClassLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/package-info.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/ConversionComparator.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardedInvocation.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardedInvocationTransformer.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingDynamicLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingTypeConverterFactory.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/LinkRequest.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/LinkerServices.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/MethodHandleTransformer.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/MethodTypeConversionStrategy.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/TypeBasedGuardingDynamicLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/package-info.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/CompositeGuardingDynamicLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/DefaultInternalObjectFilter.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Guards.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Lookup.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/SimpleLinkRequest.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/TypeUtilities.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/package-info.java ! src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java ! src/jdk.dynalink/share/classes/jdk/dynalink/support/AbstractRelinkableCallSite.java ! src/jdk.dynalink/share/classes/jdk/dynalink/support/ChainedCallSite.java ! src/jdk.dynalink/share/classes/jdk/dynalink/support/SimpleRelinkableCallSite.java ! src/jdk.dynalink/share/classes/jdk/dynalink/support/package-info.java ! src/jdk.dynalink/share/legal/dynalink.md Changeset: 5c886cfc6ef5 Author: coleenp Date: 2018-06-21 11:10 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5c886cfc6ef5 8205175: Deprecate UnlinkSymbolsALot debugging option. Reviewed-by: zgu, stuefe ! src/hotspot/share/runtime/arguments.cpp Changeset: 3ef0862bbb3d Author: smarks Date: 2018-06-21 08:25 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3ef0862bbb3d 8060192: Add default method A[] Collection.toArray(IntFunction generator) Reviewed-by: martin, forax, psandoz, briangoetz ! src/java.base/share/classes/java/util/Collection.java ! src/java.base/share/classes/java/util/Collections.java ! test/jdk/java/util/Collection/MOAT.java ! test/jdk/java/util/concurrent/tck/ArrayDequeTest.java ! test/jdk/java/util/concurrent/tck/BlockingQueueTest.java ! test/jdk/java/util/concurrent/tck/Collection8Test.java ! test/jdk/java/util/concurrent/tck/ConcurrentLinkedDequeTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentLinkedQueueTest.java ! test/jdk/java/util/concurrent/tck/LinkedListTest.java ! test/jdk/java/util/concurrent/tck/SynchronousQueueTest.java Changeset: c1f7ece09b84 Author: smarks Date: 2018-06-21 08:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c1f7ece09b84 8203184: List.copyOf() fails to copy sublists Reviewed-by: psandoz ! src/java.base/share/classes/java/util/ImmutableCollections.java ! src/java.base/share/classes/java/util/List.java ! test/jdk/java/util/List/ListFactories.java Changeset: cc7fc46cc8c1 Author: kvn Date: 2018-06-21 10:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cc7fc46cc8c1 8205398: AES-CBC decryption algorithm using AVX512 instructions Reviewed-by: kvn Contributed-by: regev.shemy at intel.com, shay.gueron at intel.com, smita.kamath at intel.com, shravya.rukmannagari at intel.com ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp Changeset: 97e9c4f58986 Author: alanb Date: 2018-06-21 18:56 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/97e9c4f58986 8194937: Inconsistent behavior of --validate-modules when combined with -m and other options Reviewed-by: mchung ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java + src/java.base/share/classes/jdk/internal/module/ModulePathValidator.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/native/libjli/java.c ! test/hotspot/jtreg/compiler/jvmci/TestValidateModules.java ! test/jdk/tools/launcher/modules/validate/ValidateModulesTest.java + test/jdk/tools/launcher/modules/validate/src/hello/module-info.java + test/jdk/tools/launcher/modules/validate/src/hello/p/Main.java Changeset: 80fe6f64d8a0 Author: bpb Date: 2018-06-21 11:10 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/80fe6f64d8a0 8199124: (fs) Reduce allocation for file system methods that are invoked with no open options Reviewed-by: alanb Contributed-by: Michael Skells ! src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java ! src/java.base/share/classes/java/nio/channels/FileChannel.java ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java Changeset: 2c9e2ec54a11 Author: erikj Date: 2018-06-21 12:03 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2c9e2ec54a11 8205424: Change to Xcode 9.4 for building on Macosx at Oracle Reviewed-by: tbell, prr ! make/conf/jib-profiles.js Changeset: 0486d7749b8d Author: egahlin Date: 2018-06-21 20:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0486d7749b8d 8205053: Decouple type registration from framework lifecycle Reviewed-by: mgronlun, pliden, stefank ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.hpp Changeset: 1a3f1cf62456 Author: jjg Date: 2018-06-21 13:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1a3f1cf62456 8196425: tools/javac/modules/AnnotationProcessing.java failed Reviewed-by: jlahoda ! test/langtools/tools/javac/modules/AnnotationProcessing.java Changeset: 08c77757320c Author: jjg Date: 2018-06-21 14:33 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/08c77757320c 8205442: Avoid hard-coding --source value in SourceLauncherTest.java Reviewed-by: darcy ! test/langtools/tools/javac/launcher/SourceLauncherTest.java Changeset: 68d2c5575e68 Author: iignatyev Date: 2018-06-21 15:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/68d2c5575e68 8185927: create regression test for 8062950 Reviewed-by: kvn + test/hotspot/jtreg/compiler/c2/Test8062950.java Changeset: ed45d8e6a44b Author: iignatyev Date: 2018-06-21 16:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ed45d8e6a44b 8205490: update ProblemList-graal Reviewed-by: kvn, epavlova ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: bd3a8f48597e Author: mikael Date: 2018-06-21 21:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bd3a8f48597e 8202331: Obsolete support for commercial features Reviewed-by: kvn, cjplummer, dholmes ! bin/nashorn/runopt.sh ! make/nashorn/project.properties ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/flags/jvmFlag.hpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp ! src/hotspot/share/runtime/flags/jvmFlagRangeList.cpp ! src/hotspot/share/runtime/flags/jvmFlagWriteableList.cpp ! test/hotspot/jtreg/runtime/appcds/CommandLineFlagCombo.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsStress.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Debugee.java ! test/jtreg-ext/requires/VMProps.java Changeset: 483806baeba1 Author: iignatyev Date: 2018-06-21 22:17 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/483806baeba1 8172854: [TESTBUG] Exclude runtime/ReservedStack/ReservedStackTest.java from being run with DeoptimizeALot option Reviewed-by: kvn ! test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java ! test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTestCompiler.java Changeset: d91a64467683 Author: pmuthuswamy Date: 2018-06-22 11:49 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d91a64467683 8205160: jQuery UI, jQuery-migrate, and jQuery license file to be updated to the revision present. Reviewed-by: jjg + src/jdk.javadoc/share/legal/jquery-migrate.md ! src/jdk.javadoc/share/legal/jquery.md + src/jdk.javadoc/share/legal/jqueryUI.md Changeset: 6f63d6886006 Author: mbaesken Date: 2018-06-20 14:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6f63d6886006 8205416: windows: fix checking of CloseHandle return code in Java_java_io_FileCleanable_cleanupClose0 Reviewed-by: alanb, stuefe ! src/java.base/windows/native/libjava/FileDescriptor_md.c Changeset: df7094f72869 Author: jlahoda Date: 2018-06-22 11:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/df7094f72869 8195077: [Testbug] tools/javac/processing/model/completionfailure/NoAbortForBadClassFile.java - AccessDeniedException Summary: Use a new working directory for each sub-test. Reviewed-by: vromero ! test/langtools/tools/javac/processing/model/completionfailure/NoAbortForBadClassFile.java Changeset: 9894c4d30168 Author: adinn Date: 2018-06-22 11:21 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9894c4d30168 8204331: AArch64: fix CAS not embedded in normal graph error Summary: JDK fails with assert on AArch64 after changes made by JDK-8202377 Reviewed-by: roland, rkennke ! src/hotspot/cpu/aarch64/aarch64.ad Changeset: 2230bb152a9f Author: mgronlun Date: 2018-06-22 13:20 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2230bb152a9f 8203299: StringPoolBuffer access covered by exclusive access invariant, remove (problematic) cas operations Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/storage/jfrBuffer.hpp ! src/hotspot/share/jfr/recorder/stringpool/jfrStringPool.cpp ! src/hotspot/share/jfr/recorder/stringpool/jfrStringPoolBuffer.cpp ! src/hotspot/share/jfr/recorder/stringpool/jfrStringPoolBuffer.hpp ! src/hotspot/share/jfr/utilities/jfrAllocation.cpp Changeset: 46492a773912 Author: weijun Date: 2018-06-22 21:42 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/46492a773912 8205445: Add RSASSA-PSS Signature support to SunMSCAPI Reviewed-by: xuelei ! make/lib/Lib-jdk.crypto.mscapi.gmk ! src/java.base/share/classes/sun/security/rsa/RSAPSSSignature.java ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/RSASignature.java ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/SunMSCAPI.java ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp + test/jdk/sun/security/mscapi/InteropWithSunRsaSign.java + test/jdk/sun/security/rsa/pss/InitAgain.java Changeset: 77fdd64c6334 Author: dpochepk Date: 2018-06-22 18:48 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/77fdd64c6334 8205004: AArch64: fix failures in jtreg ArraysEqCmpTest Reviewed-by: aph Contributed-by: joshua.zhu at arm.com ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 365e137617ff Author: dpochepk Date: 2018-06-22 18:49 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/365e137617ff 8205474: AARCH64: wrong zr encoding for ccmp instruction Reviewed-by: aph ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp Changeset: 5698cf4e50f1 Author: dcubed Date: 2018-06-22 12:15 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5698cf4e50f1 8205195: NestedThreadsListHandleInErrorHandlingTest fails because hs_err doesn't contain _nested_thread_list_max Summary: Grab Threads_lock in VMError::controlled_crash() so ErrorHandling tests are more stable. Reviewed-by: stuefe, sspitsyn ! src/hotspot/share/runtime/threadSMR.cpp ! src/hotspot/share/utilities/vmError.cpp Changeset: 106dc156ce6b Author: plevart Date: 2018-06-22 17:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/106dc156ce6b 8202788: Explicitly reclaim cached thread-local direct buffers at thread exit Summary: Add internal TerminatingThreadLocal and use it to free cached thread-local direct buffers and nio-fs native buffers Reviewed-by: tonyp, alanb ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/ThreadLocal.java + src/java.base/share/classes/jdk/internal/misc/TerminatingThreadLocal.java ! src/java.base/share/classes/sun/nio/ch/Util.java ! src/java.base/share/classes/sun/nio/fs/NativeBuffers.java + test/jdk/java/nio/channels/FileChannel/TempDirectBuffersReclamation.java + test/jdk/jdk/internal/misc/TerminatingThreadLocal/TestTerminatingThreadLocal.java ! test/jdk/sun/nio/ch/TestMaxCachedBufferSize.java Changeset: c55b1386f119 Author: plevart Date: 2018-06-22 18:18 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c55b1386f119 Merge Changeset: e541c1b68b89 Author: plevart Date: 2018-06-22 18:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e541c1b68b89 Merge Changeset: bc104aaf24e9 Author: michaelm Date: 2018-06-22 18:10 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bc104aaf24e9 8204233: Add configurable option for enhanced socket IOException messages Reviewed-by: alanb, chegar ! src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java + src/java.base/share/classes/sun/net/util/SocketExceptions.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/java.base/share/conf/security/java.security ! src/java.base/unix/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java + test/jdk/java/net/Socket/ExceptionText.java Changeset: 671b02f0e450 Author: dpochepk Date: 2018-06-22 20:17 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/671b02f0e450 8189112: AARCH64: optimize StringUTF16 compress intrinsic Reviewed-by: aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 2826fcb2683f Author: jwilhelm Date: 2018-06-22 19:04 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2826fcb2683f Added tag jdk-11+19 for changeset 36ca515343e0 ! .hgtags Changeset: d5c59fab1bdb Author: psandoz Date: 2018-06-22 12:05 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d5c59fab1bdb 8202922: Method reference identity is broken by serialization Reviewed-by: jlaskey, mchung ! src/java.base/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/java.base/share/classes/java/lang/invoke/SerializedLambda.java Changeset: d7cf64ce3950 Author: vdeshpande Date: 2018-06-22 12:51 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d7cf64ce3950 8205194: Improve the Array Comparison when there is mismatch at first element. Summary: perform the first element comparison before the call to vectorizedMismatch method Reviewed-by: psandoz, rriggs, igerasim ! src/java.base/share/classes/java/nio/BufferMismatch.java ! src/java.base/share/classes/jdk/internal/util/ArraysSupport.java Changeset: 081b132c4dc0 Author: rriggs Date: 2018-06-22 16:06 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/081b132c4dc0 8202292: java/io/FileOutputStream/UnreferencedFOSClosesFd.java fails with "raw fd count wrong" Reviewed-by: bpb, mchung ! test/jdk/ProblemList.txt ! test/jdk/java/io/FileInputStream/UnreferencedFISClosesFd.java ! test/jdk/java/io/FileOutputStream/UnreferencedFOSClosesFd.java ! test/jdk/java/io/RandomAccessFile/UnreferencedRAFClosesFd.java ! test/lib/jdk/test/lib/util/FileUtils.java Changeset: 9375184cec98 Author: kbarrett Date: 2018-06-22 17:46 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9375184cec98 8205459: Rename Access API flag decorators Summary: Rename OOP_NOT_NULL, IN_HEAP_ARRAY, AS_DEST_NOT_INITIALIZED Reviewed-by: pliden, stefank ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/cardTableBarrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/cardTableBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/methodHandles_ppc.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/shared/cardTableBarrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/methodHandles_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/sparc/gc/g1/g1BarrierSetAssembler_sparc.cpp ! src/hotspot/cpu/sparc/gc/shared/barrierSetAssembler_sparc.cpp ! src/hotspot/cpu/sparc/gc/shared/cardTableBarrierSetAssembler_sparc.cpp ! src/hotspot/cpu/sparc/stubGenerator_sparc.cpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/cms/parOopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp ! src/hotspot/share/gc/parallel/psCardTable.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psScavenge.inline.hpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp ! src/hotspot/share/gc/serial/markSweep.inline.hpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/modRefBarrierSetC1.cpp ! src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.cpp ! src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp ! src/hotspot/share/oops/access.hpp ! src/hotspot/share/oops/accessBackend.hpp ! src/hotspot/share/oops/accessBackend.inline.hpp ! src/hotspot/share/oops/accessDecorators.hpp ! src/hotspot/share/oops/objArrayOop.cpp ! src/hotspot/share/oops/objArrayOop.inline.hpp ! src/hotspot/share/oops/typeArrayOop.inline.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/parse3.cpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/stubRoutines.cpp Changeset: 7755c93d3923 Author: iveresov Date: 2018-06-22 15:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7755c93d3923 8204209: [Graal] Compilation fails during nmethod printing with "assert(bci == 0 || 0 <= bci && bci < code_size()) failed: illegal bci" Summary: Tolerate JVMCI placeholder bcis Reviewed-by: kvn, never, dlong ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/compilerDefinitions.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/prims/jvmtiCodeBlobEvents.cpp Changeset: bba832d63b88 Author: iignatyev Date: 2018-06-22 16:11 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bba832d63b88 8155192: [TESTBUG] SHA tests assumes that x86 does not have SHA intrinsics Reviewed-by: kvn, gromero ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/SHAOptionsBase.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForOtherCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/testcases/UseSHAIntrinsicsSpecificTestCaseForUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForUnsupportedCPU.java Changeset: ed322b4cfe49 Author: valeriep Date: 2018-06-22 23:10 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ed322b4cfe49 7007966: Add Brainpool ECC support (RFC 5639) Summary: Enhance SunEC provider with the support of brainpool256/320/384/512r1 curves Reviewed-by: valeriep Contributed-by: Tobias Wagner ! src/jdk.crypto.ec/share/native/libsunec/impl/ec.h ! src/jdk.crypto.ec/share/native/libsunec/impl/ecdecode.c ! src/jdk.crypto.ec/share/native/libsunec/impl/ecl-curve.h ! src/jdk.crypto.ec/share/native/libsunec/impl/ecl-exp.h ! src/jdk.crypto.ec/share/native/libsunec/impl/ecl_gf.c ! src/jdk.crypto.ec/share/native/libsunec/impl/oid.c ! test/jdk/sun/security/ec/InvalidCurve.java ! test/jdk/sun/security/pkcs11/PKCS11Test.java ! test/jdk/sun/security/pkcs11/ec/TestECDH.java Changeset: f82821dc7aba Author: valeriep Date: 2018-06-22 23:18 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f82821dc7aba Merge Changeset: a1d7444076e4 Author: martin Date: 2018-06-22 17:36 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a1d7444076e4 8205197: Never default to using libc++ on Linux Summary: Let the toolchain choose the standard library by default Reviewed-by: tbell, erikj, gziemski ! make/autoconf/flags-ldflags.m4 Changeset: 0828a0f6676b Author: martin Date: 2018-06-22 17:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0828a0f6676b 8205199: more Linux clang compile failures Reviewed-by: dholmes, kbarrett, stuefe Contributed-by: Arthur Eubanks , Thomas Stuefe ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/share/utilities/debug.cpp Changeset: 2f2af62dfac7 Author: dholmes Date: 2018-06-23 01:32 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2f2af62dfac7 8010319: Implementation of JEP 181: Nest-Based Access Control Reviewed-by: alanb, psandoz, mchung, coleenp, acorn, mcimadamore, forax, jlahoda, sspitsyn, abuckley Contributed-by: alex.buckley at oracle.com, maurizio.mimadamore at oracle.com, mandy.chung at oracle.com, tobias.hartmann at oracle.com, david.holmes at oracle.com, vladimir.x.ivanov at oracle.com, karen.kinnear at oracle.com, vladimir.kozlov at oracle.com, john.r.rose at oracle.com, daniel.smith at oracle.com, serguei.spitsyn at oracle.com, kumardotsrinivasan at gmail.com, boris.ulasevich at bell-sw.com ! make/data/jdwp/jdwp.spec ! make/hotspot/symbols/symbols-unix ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/linkResolver.hpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/memory/heapInspection.hpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/arrayKlass.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmti.xml ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiClassFileReconstituter.hpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiH.xsl ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.hpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/reflection.hpp ! src/java.base/share/classes/com/sun/java/util/jar/pack/intrinsic.properties ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Attribute.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java ! src/java.base/share/classes/jdk/internal/reflect/MethodAccessorGenerator.java ! src/java.base/share/classes/jdk/internal/reflect/Reflection.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.java ! src/java.base/share/native/libjava/Class.c ! src/java.base/share/native/libjava/Reflection.c ! src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java ! src/java.instrument/share/native/libinstrument/JavaExceptions.c ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Attribute.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/ClassWriter.java + src/jdk.jdeps/share/classes/com/sun/tools/classfile/NestHost_attribute.java + src/jdk.jdeps/share/classes/com/sun/tools/classfile/NestMembers_attribute.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineManagerImpl.java ! src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c ! src/jdk.jdwp.agent/share/native/libjdwp/error_messages.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.c ! test/hotspot/jtreg/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveConcreteMethodTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveMethodTest.java + test/hotspot/jtreg/runtime/Nestmates/NestmatesJNI.java + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/BadNestHost.jcod + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/BadNestHostLength.jcod + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/BadNestMembersEntry.jcod + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/BadNestMembersLength.jcod + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/ConflictingAttributesInNestHost.jcod + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/ConflictingAttributesInNestMember.jcod + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/TestFinalMethodOverride.java + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/TestNestmateAttributes.java + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/TwoNestHost.jcod + test/hotspot/jtreg/runtime/Nestmates/classFileParsing/TwoNestMembers.jcod + test/hotspot/jtreg/runtime/Nestmates/legacy/TestPrivateLookup.java + test/hotspot/jtreg/runtime/Nestmates/libNestmatesJNI.c + test/hotspot/jtreg/runtime/Nestmates/membership/CallerMissingHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/CallerNoHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/CallerNotInstanceHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/CallerNotOurHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/CallerSelfHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/InvalidNestHost.java + test/hotspot/jtreg/runtime/Nestmates/membership/PackagedNestHost.java + test/hotspot/jtreg/runtime/Nestmates/membership/PackagedNestHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/PackagedNestHost2.java + test/hotspot/jtreg/runtime/Nestmates/membership/PackagedNestHost2Member.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/PackagedNestHostMember.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TargetMissingHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TargetNoHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TargetNotInstanceHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TargetNotOurHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TargetSelfHost.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TestNestmateMembership.java + test/hotspot/jtreg/runtime/Nestmates/methodSelection/PA_I.jcod + test/hotspot/jtreg/runtime/Nestmates/methodSelection/PB_A.jcod + test/hotspot/jtreg/runtime/Nestmates/methodSelection/PB_A_I.jcod + test/hotspot/jtreg/runtime/Nestmates/methodSelection/PB_A_PI.jcod + test/hotspot/jtreg/runtime/Nestmates/methodSelection/PB_PA_I.jcod + test/hotspot/jtreg/runtime/Nestmates/methodSelection/PC_B_A.jcod + test/hotspot/jtreg/runtime/Nestmates/methodSelection/PC_B_PA.jcod + test/hotspot/jtreg/runtime/Nestmates/methodSelection/PC_PB_A.jcod + test/hotspot/jtreg/runtime/Nestmates/methodSelection/TestInterfaceMethodSelection.java + test/hotspot/jtreg/runtime/Nestmates/methodSelection/TestMethodSelection.java + test/hotspot/jtreg/runtime/Nestmates/privateConstructors/ExternalSub.jcod + test/hotspot/jtreg/runtime/Nestmates/privateConstructors/ExternalSuper.jcod + test/hotspot/jtreg/runtime/Nestmates/privateConstructors/TestConstructorHierarchy.java + test/hotspot/jtreg/runtime/Nestmates/privateConstructors/TestInvokeSpecial.java + test/hotspot/jtreg/runtime/Nestmates/privateConstructors/TestJNI.java + test/hotspot/jtreg/runtime/Nestmates/privateConstructors/TestMethodHandles.java + test/hotspot/jtreg/runtime/Nestmates/privateConstructors/TestReflection.java + test/hotspot/jtreg/runtime/Nestmates/privateFields/TestJNI.java + test/hotspot/jtreg/runtime/Nestmates/privateFields/TestMethodHandles.java + test/hotspot/jtreg/runtime/Nestmates/privateFields/TestPrivateField.java + test/hotspot/jtreg/runtime/Nestmates/privateFields/TestReflection.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/ExternalSub.jcod + test/hotspot/jtreg/runtime/Nestmates/privateMethods/ExternalSuper.jcod + test/hotspot/jtreg/runtime/Nestmates/privateMethods/MissingMethod.jcod + test/hotspot/jtreg/runtime/Nestmates/privateMethods/MissingMethodWithSuper.jcod + test/hotspot/jtreg/runtime/Nestmates/privateMethods/MissingNestHost.jcod + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestInvoke.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestInvokeErrors.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestInvokeHierarchy.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestJNI.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestJNIHierarchy.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestMethodHandles.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestMethodHandlesHierarchy.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestReflection.java + test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestReflectionHierarchy.java + test/hotspot/jtreg/runtime/Nestmates/privateStaticFields/TestJNI.java + test/hotspot/jtreg/runtime/Nestmates/privateStaticFields/TestMethodHandles.java + test/hotspot/jtreg/runtime/Nestmates/privateStaticFields/TestPrivateStaticField.java + test/hotspot/jtreg/runtime/Nestmates/privateStaticFields/TestReflection.java + test/hotspot/jtreg/runtime/Nestmates/privateStaticMethods/TestInvokeStatic.java + test/hotspot/jtreg/runtime/Nestmates/privateStaticMethods/TestJNI.java + test/hotspot/jtreg/runtime/Nestmates/privateStaticMethods/TestMethodHandles.java + test/hotspot/jtreg/runtime/Nestmates/privateStaticMethods/TestReflection.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefineDoubleDelete.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefineFinalizer.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceCall.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceMethods.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethods.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java ! test/hotspot/jtreg/runtime/SelectionResolution/InvokeInterfaceICCE.java ! test/hotspot/jtreg/runtime/SelectionResolution/InvokeInterfaceSuccessTest.java ! test/hotspot/jtreg/runtime/SelectionResolution/classes/selectionresolution/Template.java ! test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasic.java ! test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasicTest.java ! test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineRunningMethods_Shared.java ! test/hotspot/jtreg/testlibrary_tests/RedefineClassTest.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except004.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/BasicTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/PrivateMethodsTest.java ! test/jdk/ProblemList-graal.txt + test/jdk/com/sun/jdi/RedefineNestmateAttr/Host/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/Host/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostA/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostA/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostAB/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostAB/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostABC/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostABC/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostABCD/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostABD/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostAC/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostACB/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostB/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostBA/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostBAC/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostBCA/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostCAB/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/HostCBA/redef/Host.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/NamedBuffer.java + test/jdk/com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/Host/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/Host/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostA/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostA/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostAB/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostAB/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostABC/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostABC/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostABCD/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostABD/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostAC/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostACB/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostB/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostBA/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostBAC/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostBCA/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostCAB/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/HostCBA/redef/Host.java + test/jdk/java/lang/instrument/RedefineNestmateAttr/TestNestmateAttr.java ! test/jdk/java/lang/invoke/AccessControlTest.java + test/jdk/java/lang/invoke/FinalVirtualCallFromInterface.java + test/jdk/java/lang/invoke/PrivateInterfaceCall.java + test/jdk/java/lang/invoke/PrivateInterfaceCallI4.jasm ! test/jdk/java/lang/invoke/SpecialInterfaceCall.java + test/jdk/java/lang/reflect/Nestmates/HostOfMemberMalformedHost.jcod + test/jdk/java/lang/reflect/Nestmates/HostOfMemberMissingHost.jcod + test/jdk/java/lang/reflect/Nestmates/HostOfMemberNoHost.jcod + test/jdk/java/lang/reflect/Nestmates/HostOfMemberNotInstanceHost.jcod + test/jdk/java/lang/reflect/Nestmates/HostOfMemberNotOurHost.jcod + test/jdk/java/lang/reflect/Nestmates/HostWithDuplicateMembers.jcod + test/jdk/java/lang/reflect/Nestmates/HostWithSelfMember.jcod + test/jdk/java/lang/reflect/Nestmates/Hosts.java + test/jdk/java/lang/reflect/Nestmates/InvalidNestHost.java + test/jdk/java/lang/reflect/Nestmates/MalformedHost.jcod + test/jdk/java/lang/reflect/Nestmates/MemberMalformedHost.jcod + test/jdk/java/lang/reflect/Nestmates/MemberMissingHost.jcod + test/jdk/java/lang/reflect/Nestmates/MemberNoHost.jcod + test/jdk/java/lang/reflect/Nestmates/MemberNotInstanceHost.jcod + test/jdk/java/lang/reflect/Nestmates/MemberNotOurHost.jcod + test/jdk/java/lang/reflect/Nestmates/PackagedNestHost.java + test/jdk/java/lang/reflect/Nestmates/PackagedNestHost.jcod + test/jdk/java/lang/reflect/Nestmates/PackagedNestHost2.java + test/jdk/java/lang/reflect/Nestmates/PackagedNestHost2Member.jcod + test/jdk/java/lang/reflect/Nestmates/PackagedNestHostMember.jcod + test/jdk/java/lang/reflect/Nestmates/SampleNest.java + test/jdk/java/lang/reflect/Nestmates/TestReflectionAPI.java + test/jdk/java/lang/reflect/Nestmates/TestSecurityManagerChecks.java + test/jdk/java/lang/reflect/Nestmates/empty.policy + test/jdk/java/lang/reflect/Nestmates/testPkg/Host.java + test/jdk/java/lang/reflect/Nestmates/testPkg/Singleton.java ! test/jdk/jdk/lambda/vm/InterfaceAccessFlagsTest.java ! test/jdk/tools/pack200/BandIntegrity.java ! test/jdk/tools/pack200/pack200-verifier/make/build.xml ! test/jdk/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java ! test/langtools/jdk/jshell/ClassesTest.java ! test/langtools/jdk/jshell/ForwardReferenceTest.java ! test/langtools/jdk/jshell/GetResourceTest.java ! test/langtools/lib/annotations/annotations/classfile/ClassfileInspector.java ! test/langtools/tools/javac/6917288/GraphicalInstallerTest.java ! test/langtools/tools/javac/6917288/T6917288.java ! test/langtools/tools/javac/7199823/InnerClassCannotBeVerified.java ! test/langtools/tools/javac/MethodParameters/AttributeVisitor.java ! test/langtools/tools/javac/classfiles/attributes/SourceFile/SyntheticClassTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateInnerClassConstructorsTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateInnerClassMembersTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateSiblingsTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/BridgeMethodsForLambdaTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesInInnerClassTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesInInnerEnumTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesTestBase.java ! test/langtools/tools/javac/nativeHeaders/NativeHeaderTest.java + test/langtools/tools/javac/nestmates/CheckNestmateAttrs.java ! test/langtools/tools/javac/processing/model/completionfailure/NoAbortForBadClassFile.java Changeset: f703d45c5687 Author: sgehwolf Date: 2018-06-05 11:55 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f703d45c5687 8203188: Add JEP-181 support to the Zero interpreter Reviewed-by: dholmes, chrisphi ! src/hotspot/cpu/zero/methodHandles_zero.cpp ! src/hotspot/cpu/zero/methodHandles_zero.hpp ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp Changeset: ada9735476b2 Author: jmanson Date: 2018-06-23 01:22 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ada9735476b2 8205113: Update JVMTI doc references to object allocation tracking Summary: Update the JVMTI VMObjectAlloc spec Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/prims/jvmti.xml Changeset: 6cc2dc161c64 Author: alanb Date: 2018-06-23 08:03 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6cc2dc161c64 8197532: Re-examine policy for the default set of modules when compiling or running code on the class path Reviewed-by: jlahoda, mchung ! src/java.base/share/classes/java/lang/module/package-info.java ! src/java.base/share/classes/jdk/internal/module/DefaultRoots.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsConfiguration.java + test/jdk/jdk/modules/etc/DefaultModules.java + test/jdk/jdk/modules/etc/src/TestJson.java + test/jdk/jdk/modules/etc/src/TestRootModules.java + test/jdk/jdk/modules/etc/src/java.json/javax/json/Json.java + test/jdk/jdk/modules/etc/src/java.json/javax/json/JsonParser.java + test/jdk/jdk/modules/etc/src/java.json/module-info.java Changeset: 4bedc9338137 Author: alanb Date: 2018-06-23 09:34 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4bedc9338137 8198372: API to create a SelectableChannel to a FileDescriptor Reviewed-by: chegar, bpb ! src/java.base/share/classes/module-info.java + src/jdk.net/share/classes/jdk/nio/Channels.java + src/jdk.net/share/classes/jdk/nio/package-info.java ! src/jdk.net/share/classes/module-info.java + test/jdk/jdk/nio/Basic.java Changeset: edf11e5dc766 Author: alanb Date: 2018-06-23 09:46 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/edf11e5dc766 Merge ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java Changeset: f132a0f1c2dd Author: jmanson Date: 2018-06-23 22:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f132a0f1c2dd 8205570: fix a number of typos in the JVMTI spec Summary: fix typos in the JVMTI spec Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/prims/jvmti.xml Changeset: 7348c41ca46d Author: plevart Date: 2018-06-24 10:41 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7348c41ca46d 8205540: test/hotspot/jtreg/vmTestbase/nsk/jdb/trace/trace001/trace001.java fails with Debuggee did not exit after 15 commands Summary: screen usage/initialization of TerminatingThreadLocal with a non-null check on Thread.threadLocals field Reviewed-by: dholmes, alanb ! src/java.base/share/classes/java/lang/Thread.java Changeset: e7519209f7ff Author: dsamersoff Date: 2018-06-24 15:02 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e7519209f7ff 8203481: Incorrect constraint for unextended_sp in frame:safe_for_sender Summary: Relaxed assert inside safe_for_sender Reviewed-by: aph, dpochepk ! src/hotspot/cpu/aarch64/frame_aarch64.cpp Changeset: 6c306d54366d Author: alanb Date: 2018-06-24 16:25 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6c306d54366d 8205533: Class.getPackage() fails with InternalError if class is defined to the bootstrap class loader but module is not in the boot layer Reviewed-by: mchung ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/module/Modules.java + test/jdk/java/lang/Class/GetPackageBootLoaderChildLayer.java Changeset: a390cbb82d47 Author: egahlin Date: 2018-06-25 02:07 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a390cbb82d47 8203929: Limit amount of data for JFR.dump Reviewed-by: mgronlun ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.hpp ! src/hotspot/share/jfr/utilities/jfrLogTagSets.hpp ! src/hotspot/share/logging/logTag.hpp ! src/jdk.jfr/share/classes/jdk/jfr/FlightRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/FlightRecorderPermission.java ! src/jdk.jfr/share/classes/jdk/jfr/Recording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/LogTag.java + src/jdk.jfr/share/classes/jdk/jfr/internal/OldObjectSample.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PrivateAccess.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Repository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/ShutdownHook.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdCheck.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdConfigure.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdDump.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStop.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/MBeanUtils.java ! test/jdk/jdk/jfr/jcmd/JcmdAsserts.java ! test/jdk/jdk/jfr/jcmd/TestJcmdDump.java + test/jdk/jdk/jfr/jcmd/TestJcmdDumpGeneratedFilename.java + test/jdk/jdk/jfr/jcmd/TestJcmdDumpLimited.java ! test/jdk/jdk/jfr/jcmd/TestJcmdLegacy.java ! test/jdk/jdk/jfr/jcmd/TestJcmdStartStopDefault.java Changeset: 85789fb05154 Author: never Date: 2018-06-24 21:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/85789fb05154 8198909: [Graal] compiler/codecache/stress/UnexpectedDeoptimizationTest.java crashed with SIGSEGV Reviewed-by: eosterlund, iveresov ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp Changeset: 66aa2e3ffcbc Author: rgoel Date: 2018-06-25 11:51 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/66aa2e3ffcbc 8205158: Update the .md files for 3rd party software Unicode 10.0, ICU 60.2, and CLDR v33. Summary: updated legal files for CLDR, ICU and Unicode. Reviewed-by: naoto, mchung ! src/java.base/share/legal/cldr.md ! src/java.base/share/legal/icu.md + src/java.base/share/legal/unicode.md ! src/jdk.localedata/share/legal/cldr.md Changeset: d46700d64e9c Author: mhorie Date: 2018-06-25 10:41 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d46700d64e9c 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space Reviewed-by: kbarrett, mdoerr, drwhite, tschatzl ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp Changeset: 41a5b2de5ad3 Author: pliden Date: 2018-06-25 10:54 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/41a5b2de5ad3 8205405: ZGC: Decouple JFR type registration Reviewed-by: stefank, mgronlun ! src/hotspot/share/gc/z/zTracer.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp Changeset: 45511dcfed3f Author: pkoppula Date: 2018-03-20 11:16 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/45511dcfed3f 8187218: GSSCredential.getRemainingLifetime() returns negative value for TTL > 24 days. Reviewed-by: mullan Contributed-by: prasadarao.koppula at oracle.com, weijun.wang at oracle.com ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java ! test/jdk/sun/security/krb5/auto/KDC.java ! test/jdk/sun/security/krb5/auto/LongLife.java Changeset: d9132bdf6c30 Author: jlahoda Date: 2018-06-25 12:44 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d9132bdf6c30 8203814: javac --release=8 \"cannot find symbol\" for NashornException.getEcmaError() Summary: Updating ct.sym data for jdk.scripting.nashorn to JDK8u102 version of the API. Reviewed-by: hannesw ! make/data/symbols/jdk.scripting.nashorn-7.sym.txt ! make/data/symbols/jdk.scripting.nashorn-8.sym.txt ! make/data/symbols/jdk.scripting.nashorn-9.sym.txt ! test/langtools/tools/javac/sym/ElementStructureTest.java Changeset: 9d62da00bf15 Author: stefank Date: 2018-05-26 06:59 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9d62da00bf15 8204540: Automatic oop closure devirtualization Reviewed-by: kbarrett, eosterlund - src/hotspot/share/gc/cms/cmsOopClosures.cpp ! src/hotspot/share/gc/cms/cmsOopClosures.hpp ! src/hotspot/share/gc/cms/cmsOopClosures.inline.hpp - src/hotspot/share/gc/cms/cms_specialized_oop_closures.hpp ! src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp ! src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp ! src/hotspot/share/gc/cms/parNewGeneration.cpp - src/hotspot/share/gc/cms/parOopClosures.cpp ! src/hotspot/share/gc/cms/parOopClosures.hpp ! src/hotspot/share/gc/cms/parOopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.inline.hpp ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.cpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.cpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.hpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1OopClosures.cpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp - src/hotspot/share/gc/g1/g1_specialized_oop_closures.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/parallel/immutableSpace.cpp ! src/hotspot/share/gc/parallel/immutableSpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/psCardTable.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psMarkSweepDecorator.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/parallel/psYoungGen.hpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/defNewGeneration.inline.hpp ! src/hotspot/share/gc/serial/markSweep.cpp ! src/hotspot/share/gc/serial/markSweep.hpp ! src/hotspot/share/gc/serial/markSweep.inline.hpp - src/hotspot/share/gc/serial/serial_specialized_oop_closures.hpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.hpp - src/hotspot/share/gc/shared/genOopClosures.cpp ! src/hotspot/share/gc/shared/genOopClosures.hpp ! src/hotspot/share/gc/shared/genOopClosures.inline.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/generation.hpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp - src/hotspot/share/gc/shared/specialized_oop_closures.hpp ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zOopClosures.cpp ! src/hotspot/share/gc/z/zOopClosures.hpp ! src/hotspot/share/gc/z/zOopClosures.inline.hpp - src/hotspot/share/gc/z/z_specialized_oop_closures.hpp ! src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp ! src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp ! src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp ! src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp ! src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp ! src/hotspot/share/memory/iterator.cpp ! src/hotspot/share/memory/iterator.hpp ! src/hotspot/share/memory/iterator.inline.hpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/arrayKlass.hpp ! src/hotspot/share/oops/instanceClassLoaderKlass.hpp ! src/hotspot/share/oops/instanceClassLoaderKlass.inline.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/oops/instanceMirrorKlass.cpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp ! src/hotspot/share/oops/instanceMirrorKlass.inline.hpp ! src/hotspot/share/oops/instanceRefKlass.hpp ! src/hotspot/share/oops/instanceRefKlass.inline.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/objArrayKlass.hpp ! src/hotspot/share/oops/objArrayKlass.inline.hpp ! src/hotspot/share/oops/objArrayOop.cpp ! src/hotspot/share/oops/objArrayOop.hpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/oops/typeArrayKlass.hpp ! src/hotspot/share/oops/typeArrayKlass.inline.hpp ! src/hotspot/share/utilities/macros.hpp Changeset: 4449b45900f1 Author: dpochepk Date: 2018-06-25 16:30 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4449b45900f1 8196402: AARCH64: create intrinsic for Math.log Reviewed-by: aph, dsamersoff ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp + src/hotspot/cpu/aarch64/macroAssembler_aarch64_log.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: ccb8aa083958 Author: dpochepk Date: 2018-06-25 16:30 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ccb8aa083958 8189105: AARCH64: create intrinsic for sin and cos Reviewed-by: aph, adinn ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp + src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp Changeset: 680d04ae76e9 Author: dpochepk Date: 2018-06-25 16:31 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/680d04ae76e9 8204289: AARCH64: enable math intrinsics usage in interpreter and C1 Reviewed-by: aph, dsamersoff ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp Changeset: 7ad092f40454 Author: dpochepk Date: 2018-06-25 16:31 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7ad092f40454 8202326: AARCH64: optimize string compare intrinsic Reviewed-by: dsamersoff ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp Changeset: 866c9aa29ee4 Author: dpochepk Date: 2018-06-25 16:32 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/866c9aa29ee4 8189103: AARCH64: optimize String indexOf intrinsic Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp Changeset: afca3c78ea0f Author: dpochepk Date: 2018-06-25 16:32 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/afca3c78ea0f 8189113: AARCH64: StringLatin1 inflate intrinsic doesn't use prefetch instruction Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp Changeset: 00c4edaf2017 Author: lfoltan Date: 2018-06-25 10:34 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/00c4edaf2017 8205509: assert(_name_and_id != 0LL) failed: encountered a class loader null name and id Summary: The method loader_name_and_id should return the external name of the class loader if _name_and_id is null. Reviewed-by: coleenp, stuefe ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp Changeset: 8e296de294e7 Author: hb Date: 2018-06-25 20:36 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8e296de294e7 8204661: Show error 'Port already in use' in HashedPasswordFileTest.java Reviewed-by: mchung, dholmes, dcubed, dfuchs ! test/jdk/javax/management/security/HashedPasswordFileTest.java Changeset: cb07f4b539fc Author: lfoltan Date: 2018-06-25 11:33 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cb07f4b539fc 8169559: Add class loader names to relevant VM messages Summary: Added new method class_in_module_of_loader to provide a standard format for class information within error messages. Reviewed-by: goetz, hseigel, mchung ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! test/hotspot/jtreg/runtime/exceptionMsgs/IncompatibleClassChangeError/IncompatibleClassChangeErrorTest.java + test/hotspot/jtreg/runtime/modules/AccessCheck/ExpQualToM1PrivateMethodIAE.java + test/hotspot/jtreg/runtime/modules/AccessCheck/p1/c1.jasm + test/hotspot/jtreg/runtime/modules/AccessCheck/p2/c2.jasm ! test/hotspot/jtreg/runtime/modules/CCE_module_msg.java ! test/hotspot/jtreg/vmTestbase/jit/t/t113/t113.gold Changeset: 3c3ff151c75e Author: dl Date: 2018-06-25 09:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3c3ff151c75e 8202422: value of 'sizeCtl' in ConcurrentHashMap varies with the constructor called Reviewed-by: martin, psandoz ! src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java ! test/jdk/java/util/concurrent/ConcurrentHashMap/WhiteBox.java Changeset: 3a6d47df8239 Author: dl Date: 2018-06-25 09:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3a6d47df8239 8203864: Execution error in Java's Timsort Reviewed-by: martin, psandoz, forax ! src/java.base/share/classes/java/util/ComparableTimSort.java ! src/java.base/share/classes/java/util/TimSort.java Changeset: 5637aca18f1d Author: dl Date: 2018-06-25 09:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5637aca18f1d 8203681: Miscellaneous changes imported from jsr166 CVS 2018-06 Reviewed-by: martin, psandoz ! src/java.base/share/classes/java/util/concurrent/ArrayBlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java ! src/java.base/share/classes/java/util/concurrent/TimeUnit.java ! src/java.base/share/classes/java/util/concurrent/locks/Condition.java ! test/jdk/java/util/Collection/HotPotatoes.java ! test/jdk/java/util/Collection/IteratorMicroBenchmark.java ! test/jdk/java/util/Collection/RemoveMicroBenchmark.java ! test/jdk/java/util/Map/LockStep.java ! test/jdk/java/util/concurrent/ArrayBlockingQueue/WhiteBox.java ! test/jdk/java/util/concurrent/ConcurrentHashMap/MapCheck.java ! test/jdk/java/util/concurrent/ConcurrentHashMap/MapLoops.java ! test/jdk/java/util/concurrent/locks/ReentrantReadWriteLock/MapLoops.java ! test/jdk/java/util/concurrent/tck/AbstractQueuedLongSynchronizerTest.java ! test/jdk/java/util/concurrent/tck/AbstractQueuedSynchronizerTest.java ! test/jdk/java/util/concurrent/tck/CompletableFutureTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentHashMap8Test.java ! test/jdk/java/util/concurrent/tck/ConcurrentLinkedDequeTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentLinkedQueueTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentSkipListSetTest.java ! test/jdk/java/util/concurrent/tck/ConcurrentSkipListSubSetTest.java ! test/jdk/java/util/concurrent/tck/DelayQueueTest.java ! test/jdk/java/util/concurrent/tck/LinkedBlockingDequeTest.java ! test/jdk/java/util/concurrent/tck/LinkedBlockingQueueTest.java ! test/jdk/java/util/concurrent/tck/LinkedListTest.java ! test/jdk/java/util/concurrent/tck/LinkedTransferQueueTest.java ! test/jdk/java/util/concurrent/tck/PriorityBlockingQueueTest.java ! test/jdk/java/util/concurrent/tck/PriorityQueueTest.java ! test/jdk/java/util/concurrent/tck/RecursiveActionTest.java ! test/jdk/java/util/concurrent/tck/SubmissionPublisherTest.java ! test/jdk/java/util/concurrent/tck/TreeSetTest.java ! test/jdk/java/util/concurrent/tck/TreeSubSetTest.java Changeset: c49a01150a66 Author: coleenp Date: 2018-06-25 13:47 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c49a01150a66 8202615: Remove NativeMonitorSpinLimit, NativeMonitorFlags and NativeMonitorTimeout experimental flags Summary: Removed NativeMonitorSpinLimit, NativeMonitorFlags and NativeMonitorTimeout experimental flags from globals.hpp and mutex.cpp and marked them as obsolete. Reviewed-by: kbarrett, dholmes Contributed-by: patricio.chilano.mateo at oracle.com ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/mutex.cpp Changeset: 759f63d8a9fe Author: hseigel Date: 2018-06-25 14:10 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/759f63d8a9fe 8205614: NestMates tests failing in CI jdk11-jdk.931 Summary: Fixed the wording to agree with new IAE message text Reviewed-by: lfoltan, dcubed, mchung ! test/hotspot/jtreg/runtime/Nestmates/membership/TestNestmateMembership.java ! test/hotspot/jtreg/runtime/Nestmates/privateConstructors/TestConstructorHierarchy.java Changeset: 356eaea05bf0 Author: dpochepk Date: 2018-06-25 21:22 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/356eaea05bf0 8205475: AARCH64: optimize FPU loads and stores in C1_Runtime1_aarch64.cpp Reviewed-by: aph, adinn ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 68fa3d4026ea Author: xuelei Date: 2018-06-25 13:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/68fa3d4026ea 8196584: TLS 1.3 Implementation Reviewed-by: ascarpino, coffeys, dfuchs, jjiang, jnimeh, mullan, rhalade, ssahoo, valeriep, weijun, wetmore, xuelei Contributed-by: Adam Petcher , Amanda Jiang , Anthony Scarpino , Bradford Wetmore , Jamil Nimeh , John Jiang , Rajan Halade , Sibabrata Sahoo , Valerie Peng , Weijun Wang , Xuelei Fan ! src/java.base/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java ! src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java - src/java.base/share/classes/sun/security/ssl/ALPNExtension.java + src/java.base/share/classes/sun/security/ssl/Alert.java - src/java.base/share/classes/sun/security/ssl/Alerts.java + src/java.base/share/classes/sun/security/ssl/AlpnExtension.java - src/java.base/share/classes/sun/security/ssl/AppInputStream.java - src/java.base/share/classes/sun/security/ssl/AppOutputStream.java ! src/java.base/share/classes/sun/security/ssl/Authenticator.java ! src/java.base/share/classes/sun/security/ssl/BaseSSLSocketImpl.java - src/java.base/share/classes/sun/security/ssl/ByteBufferInputStream.java + src/java.base/share/classes/sun/security/ssl/CertSignAlgsExtension.java + src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java - src/java.base/share/classes/sun/security/ssl/CertStatusReqExtension.java - src/java.base/share/classes/sun/security/ssl/CertStatusReqItemV2.java - src/java.base/share/classes/sun/security/ssl/CertStatusReqListV2Extension.java + src/java.base/share/classes/sun/security/ssl/CertificateMessage.java + src/java.base/share/classes/sun/security/ssl/CertificateRequest.java + src/java.base/share/classes/sun/security/ssl/CertificateStatus.java + src/java.base/share/classes/sun/security/ssl/CertificateVerify.java + src/java.base/share/classes/sun/security/ssl/ChangeCipherSpec.java - src/java.base/share/classes/sun/security/ssl/CipherBox.java ! src/java.base/share/classes/sun/security/ssl/CipherSuite.java - src/java.base/share/classes/sun/security/ssl/CipherSuiteList.java + src/java.base/share/classes/sun/security/ssl/CipherType.java ! src/java.base/share/classes/sun/security/ssl/Ciphertext.java + src/java.base/share/classes/sun/security/ssl/ClientHandshakeContext.java - src/java.base/share/classes/sun/security/ssl/ClientHandshaker.java + src/java.base/share/classes/sun/security/ssl/ClientHello.java ! src/java.base/share/classes/sun/security/ssl/ClientKeyExchange.java - src/java.base/share/classes/sun/security/ssl/ClientKeyExchangeService.java + src/java.base/share/classes/sun/security/ssl/ConnectionContext.java + src/java.base/share/classes/sun/security/ssl/ContentType.java + src/java.base/share/classes/sun/security/ssl/CookieExtension.java ! src/java.base/share/classes/sun/security/ssl/DHClientKeyExchange.java - src/java.base/share/classes/sun/security/ssl/DHCrypt.java + src/java.base/share/classes/sun/security/ssl/DHKeyExchange.java + src/java.base/share/classes/sun/security/ssl/DHServerKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/DTLSInputRecord.java ! src/java.base/share/classes/sun/security/ssl/DTLSOutputRecord.java ! src/java.base/share/classes/sun/security/ssl/DTLSRecord.java - src/java.base/share/classes/sun/security/ssl/Debug.java ! src/java.base/share/classes/sun/security/ssl/ECDHClientKeyExchange.java - src/java.base/share/classes/sun/security/ssl/ECDHCrypt.java + src/java.base/share/classes/sun/security/ssl/ECDHKeyExchange.java + src/java.base/share/classes/sun/security/ssl/ECDHServerKeyExchange.java + src/java.base/share/classes/sun/security/ssl/ECPointFormatsExtension.java - src/java.base/share/classes/sun/security/ssl/EllipticPointFormatsExtension.java + src/java.base/share/classes/sun/security/ssl/EncryptedExtensions.java ! src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java ! src/java.base/share/classes/sun/security/ssl/ExtendedMasterSecretExtension.java - src/java.base/share/classes/sun/security/ssl/ExtensionType.java + src/java.base/share/classes/sun/security/ssl/Finished.java + src/java.base/share/classes/sun/security/ssl/HKDF.java + src/java.base/share/classes/sun/security/ssl/HandshakeAbsence.java + src/java.base/share/classes/sun/security/ssl/HandshakeConsumer.java + src/java.base/share/classes/sun/security/ssl/HandshakeContext.java ! src/java.base/share/classes/sun/security/ssl/HandshakeHash.java - src/java.base/share/classes/sun/security/ssl/HandshakeInStream.java - src/java.base/share/classes/sun/security/ssl/HandshakeMessage.java ! src/java.base/share/classes/sun/security/ssl/HandshakeOutStream.java + src/java.base/share/classes/sun/security/ssl/HandshakeProducer.java - src/java.base/share/classes/sun/security/ssl/HandshakeStateManager.java - src/java.base/share/classes/sun/security/ssl/Handshaker.java ! src/java.base/share/classes/sun/security/ssl/HelloCookieManager.java - src/java.base/share/classes/sun/security/ssl/HelloExtension.java - src/java.base/share/classes/sun/security/ssl/HelloExtensions.java + src/java.base/share/classes/sun/security/ssl/HelloRequest.java + src/java.base/share/classes/sun/security/ssl/HelloVerifyRequest.java ! src/java.base/share/classes/sun/security/ssl/InputRecord.java ! src/java.base/share/classes/sun/security/ssl/JsseJce.java ! src/java.base/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java + src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java + src/java.base/share/classes/sun/security/ssl/KeyUpdate.java - src/java.base/share/classes/sun/security/ssl/MAC.java + src/java.base/share/classes/sun/security/ssl/MaxFragExtension.java - src/java.base/share/classes/sun/security/ssl/MaxFragmentLengthExtension.java - src/java.base/share/classes/sun/security/ssl/NamedGroup.java - src/java.base/share/classes/sun/security/ssl/NamedGroupType.java + src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java - src/java.base/share/classes/sun/security/ssl/OCSPStatusRequest.java ! src/java.base/share/classes/sun/security/ssl/OutputRecord.java ! src/java.base/share/classes/sun/security/ssl/Plaintext.java + src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java + src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/PredefinedDHParameterSpecs.java - src/java.base/share/classes/sun/security/ssl/ProtocolList.java ! src/java.base/share/classes/sun/security/ssl/ProtocolVersion.java + src/java.base/share/classes/sun/security/ssl/PskKeyExchangeModesExtension.java ! src/java.base/share/classes/sun/security/ssl/RSAClientKeyExchange.java + src/java.base/share/classes/sun/security/ssl/RSAKeyExchange.java + src/java.base/share/classes/sun/security/ssl/RSAServerKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/RSASignature.java ! src/java.base/share/classes/sun/security/ssl/RandomCookie.java ! src/java.base/share/classes/sun/security/ssl/Record.java + src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java - src/java.base/share/classes/sun/security/ssl/RenegotiationInfoExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java ! src/java.base/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java + src/java.base/share/classes/sun/security/ssl/SSLAuthentication.java + src/java.base/share/classes/sun/security/ssl/SSLBasicKeyDerivation.java + src/java.base/share/classes/sun/security/ssl/SSLCipher.java + src/java.base/share/classes/sun/security/ssl/SSLConfiguration.java + src/java.base/share/classes/sun/security/ssl/SSLConsumer.java ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java + src/java.base/share/classes/sun/security/ssl/SSLCredentials.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineOutputRecord.java + src/java.base/share/classes/sun/security/ssl/SSLExtension.java + src/java.base/share/classes/sun/security/ssl/SSLExtensions.java + src/java.base/share/classes/sun/security/ssl/SSLHandshake.java + src/java.base/share/classes/sun/security/ssl/SSLHandshakeBinding.java + src/java.base/share/classes/sun/security/ssl/SSLKeyAgreement.java + src/java.base/share/classes/sun/security/ssl/SSLKeyAgreementGenerator.java + src/java.base/share/classes/sun/security/ssl/SSLKeyDerivation.java + src/java.base/share/classes/sun/security/ssl/SSLKeyDerivationGenerator.java + src/java.base/share/classes/sun/security/ssl/SSLKeyExchange.java + src/java.base/share/classes/sun/security/ssl/SSLLogger.java + src/java.base/share/classes/sun/security/ssl/SSLMasterKeyDerivation.java + src/java.base/share/classes/sun/security/ssl/SSLPossession.java + src/java.base/share/classes/sun/security/ssl/SSLPossessionGenerator.java + src/java.base/share/classes/sun/security/ssl/SSLProducer.java ! src/java.base/share/classes/sun/security/ssl/SSLRecord.java + src/java.base/share/classes/sun/security/ssl/SSLSecretDerivation.java ! src/java.base/share/classes/sun/security/ssl/SSLServerSocketFactoryImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLServerSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketOutputRecord.java + src/java.base/share/classes/sun/security/ssl/SSLStringizer.java + src/java.base/share/classes/sun/security/ssl/SSLTrafficKeyDerivation.java + src/java.base/share/classes/sun/security/ssl/SSLTransport.java + src/java.base/share/classes/sun/security/ssl/ServerHandshakeContext.java - src/java.base/share/classes/sun/security/ssl/ServerHandshaker.java + src/java.base/share/classes/sun/security/ssl/ServerHello.java + src/java.base/share/classes/sun/security/ssl/ServerHelloDone.java + src/java.base/share/classes/sun/security/ssl/ServerKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java ! src/java.base/share/classes/sun/security/ssl/SessionId.java ! src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java - src/java.base/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java + src/java.base/share/classes/sun/security/ssl/SignatureScheme.java - src/java.base/share/classes/sun/security/ssl/StatusRequest.java - src/java.base/share/classes/sun/security/ssl/StatusRequestType.java ! src/java.base/share/classes/sun/security/ssl/StatusResponseManager.java ! src/java.base/share/classes/sun/security/ssl/SunJSSE.java ! src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java ! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java + src/java.base/share/classes/sun/security/ssl/SupportedVersionsExtension.java + src/java.base/share/classes/sun/security/ssl/TransportContext.java ! src/java.base/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java ! src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java - src/java.base/share/classes/sun/security/ssl/UnknownExtension.java - src/java.base/share/classes/sun/security/ssl/UnknownStatusRequest.java ! src/java.base/share/classes/sun/security/ssl/Utilities.java + src/java.base/share/classes/sun/security/ssl/X509Authentication.java ! src/java.base/share/classes/sun/security/ssl/X509KeyManagerImpl.java ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java ! src/java.base/share/classes/sun/security/util/HostnameChecker.java ! src/java.base/share/conf/security/java.security ! src/java.naming/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java ! src/java.security.jgss/share/classes/module-info.java ! src/java.security.jgss/share/classes/sun/security/jgss/GSSCaller.java ! src/java.security.jgss/share/classes/sun/security/jgss/LoginConfigImpl.java ! src/java.security.jgss/share/classes/sun/security/krb5/EncryptedData.java - src/java.security.jgss/share/classes/sun/security/krb5/internal/ssl/KerberosPreMasterSecret.java - src/java.security.jgss/share/classes/sun/security/krb5/internal/ssl/Krb5KeyExchangeService.java ! test/jdk/ProblemList.txt ! test/jdk/com/sun/jndi/ldap/DeadSSLLdapTimeoutTest.java ! test/jdk/java/net/httpclient/MockServer.java ! test/jdk/javax/net/ssl/DTLS/InvalidRecords.java ! test/jdk/javax/net/ssl/SSLEngine/CheckStatus.java ! test/jdk/javax/net/ssl/SSLEngine/ConnectionTest.java ! test/jdk/javax/net/ssl/SSLEngine/EngineCloseOnAlert.java ! test/jdk/javax/net/ssl/SSLEngine/IllegalHandshakeMessage.java ! test/jdk/javax/net/ssl/SSLEngine/IllegalRecordVersion.java ! test/jdk/javax/net/ssl/SSLEngine/LargeBufs.java ! test/jdk/javax/net/ssl/SSLEngine/NoAuthClientAuth.java + test/jdk/javax/net/ssl/SSLSession/RenegotiateTLS13.java ! test/jdk/javax/net/ssl/SSLSession/TestEnabledProtocols.java ! test/jdk/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java ! test/jdk/javax/net/ssl/ServerName/SSLSocketSNISensitive.java ! test/jdk/javax/net/ssl/Stapling/HttpsUrlConnClient.java ! test/jdk/javax/net/ssl/Stapling/SSLEngineWithStapling.java ! test/jdk/javax/net/ssl/Stapling/SSLSocketWithStapling.java ! test/jdk/javax/net/ssl/Stapling/StapleEnableProps.java + test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java + test/jdk/javax/net/ssl/TLSCommon/Protocol.java ! test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java ! test/jdk/javax/net/ssl/TLSv12/DisabledShortDSAKeys.java ! test/jdk/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java ! test/jdk/javax/net/ssl/ciphersuites/ECCurvesconstraints.java ! test/jdk/javax/net/ssl/etc/README ! test/jdk/javax/net/ssl/etc/keystore ! test/jdk/javax/net/ssl/etc/truststore ! test/jdk/javax/net/ssl/sanity/ciphersuites/CipherSuitesInOrder.java ! test/jdk/javax/net/ssl/sanity/interop/CipherTest.java ! test/jdk/javax/net/ssl/sanity/interop/ClientJSSEServerJSSE.java ! test/jdk/javax/net/ssl/sanity/interop/JSSEClient.java ! test/jdk/javax/net/ssl/sanity/interop/JSSEServer.java ! test/jdk/javax/net/ssl/templates/SSLEngineTemplate.java ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java ! test/jdk/sun/security/ec/TestEC.java - test/jdk/sun/security/krb5/auto/SSL.java - test/jdk/sun/security/krb5/auto/SSLwithPerms.java - test/jdk/sun/security/krb5/auto/UnboundSSL.java - test/jdk/sun/security/krb5/auto/UnboundSSLMultipleKeys.java - test/jdk/sun/security/krb5/auto/UnboundSSLPrincipalProperty.java - test/jdk/sun/security/krb5/auto/UnboundSSLUtils.java - test/jdk/sun/security/krb5/auto/unbound.ssl.jaas.conf - test/jdk/sun/security/krb5/auto/unbound.ssl.policy ! test/jdk/sun/security/pkcs11/KeyStore/ClientAuth.java ! test/jdk/sun/security/pkcs11/KeyStore/ClientAuth.sh ! test/jdk/sun/security/pkcs11/sslecc/CipherTest.java ! test/jdk/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java ! test/jdk/sun/security/pkcs11/sslecc/JSSEClient.java ! test/jdk/sun/security/ssl/AppOutputStream/NoExceptionOnClose.java ! test/jdk/sun/security/ssl/CipherSuite/SSL_NULL.java ! test/jdk/sun/security/ssl/ClientHandshaker/LengthCheckTest.java ! test/jdk/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.sh - test/jdk/sun/security/ssl/ExtensionType/OptimalListSize.java + test/jdk/sun/security/ssl/SSLContextImpl/CustomizedDTLSDefaultProtocols.java + test/jdk/sun/security/ssl/SSLContextImpl/CustomizedDTLSServerDefaultProtocols.java ! test/jdk/sun/security/ssl/SSLContextImpl/CustomizedDefaultProtocols.java + test/jdk/sun/security/ssl/SSLContextImpl/CustomizedServerDefaultProtocols.java + test/jdk/sun/security/ssl/SSLContextImpl/DefaultDTLSEnabledProtocols.java ! test/jdk/sun/security/ssl/SSLContextImpl/DefaultEnabledProtocols.java ! test/jdk/sun/security/ssl/SSLContextImpl/NoOldVersionContext.java ! test/jdk/sun/security/ssl/SSLContextImpl/TrustTrustedCert.java ! test/jdk/sun/security/ssl/SSLEngineImpl/CloseEngineException.java - test/jdk/sun/security/ssl/SSLEngineImpl/CloseInboundException.java ! test/jdk/sun/security/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java ! test/jdk/sun/security/ssl/SSLEngineImpl/RehandshakeFinished.java + test/jdk/sun/security/ssl/SSLEngineImpl/SSLEngineKeyLimit.java + test/jdk/sun/security/ssl/SSLEngineImpl/TLS13BeginHandshake.java ! test/jdk/sun/security/ssl/SSLSocketImpl/AsyncSSLSocketClose.java ! test/jdk/sun/security/ssl/SSLSocketImpl/ClientTimeout.java ! test/jdk/sun/security/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java ! test/jdk/sun/security/ssl/SSLSocketImpl/NoImpactServerRenego.java ! test/jdk/sun/security/ssl/SSLSocketImpl/NonAutoClose.java ! test/jdk/sun/security/ssl/SSLSocketImpl/RejectClientRenego.java + test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketKeyLimit.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SetClientMode.java + test/jdk/sun/security/ssl/Stapling/StatusResponseManager.java + test/jdk/sun/security/ssl/Stapling/TEST.properties + test/jdk/sun/security/ssl/Stapling/java.base/sun/security/ssl/StatusResponseManagerTests.java - test/jdk/sun/security/ssl/StatusStapling/RunStatReqSelect.java - test/jdk/sun/security/ssl/StatusStapling/TEST.properties - test/jdk/sun/security/ssl/StatusStapling/TestRun.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/BogusStatusRequest.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/CertStatusReqExtensionTests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/CertStatusReqItemV2Tests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/CertStatusReqListV2ExtensionTests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/OCSPStatusRequestTests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/StatusReqSelection.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/StatusResponseManagerTests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/TestCase.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/TestUtils.java ! test/jdk/sun/security/ssl/X509TrustManagerImpl/BasicConstraints.java ! test/jdk/sun/security/ssl/X509TrustManagerImpl/CertRequestOverflow.java ! test/jdk/sun/security/ssl/X509TrustManagerImpl/SelfIssuedCert.java + test/jdk/sun/security/ssl/internal/TEST.properties + test/jdk/sun/security/ssl/internal/TestRun.java + test/jdk/sun/security/ssl/internal/java.base/sun/security/ssl/TestHkdf.java ! test/jdk/sun/security/tools/keytool/PrintSSL.java Changeset: 1bf8f9840705 Author: goetz Date: 2018-06-25 13:37 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1bf8f9840705 8205605: [testbug][aix] Various test adaption to aix pecularities. Reviewed-by: lfoltan, coleenp ! test/hotspot/jtreg/runtime/8176717/TestInheritFD.java ! test/hotspot/jtreg/runtime/jni/CalleeSavedRegisters/FPRegs.java ! test/hotspot/jtreg/runtime/whitebox/WBStackSize.java ! test/hotspot/jtreg/serviceability/jvmti/CanGenerateAllClassHook/CanGenerateAllClassHook.java Changeset: c545db4fc9bd Author: bpb Date: 2018-06-25 14:36 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c545db4fc9bd 8204930: Reader:nullReader() spec does not match the behavior Reviewed-by: bpb, rriggs Contributed-by: Patrick Reinhart ! src/java.base/share/classes/java/io/Reader.java ! test/jdk/java/io/Reader/NullReader.java Changeset: 9ca95539747d Author: psandoz Date: 2018-06-25 14:39 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ca95539747d 8195650: Method references to VarHandle accessors Reviewed-by: jrose ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/methodHandles.hpp ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! test/hotspot/jtreg/runtime/ConstantPool/BadMethodHandles.java + test/jdk/java/lang/invoke/VarHandles/VarHandleMethodReferenceTest.java Changeset: c1b82eee939f Author: stefank Date: 2018-06-25 22:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c1b82eee939f 8205632: Include stack.inline.hpp in markSweep.inline.hpp Reviewed-by: kbarrett ! src/hotspot/share/gc/serial/markSweep.inline.hpp Changeset: 4bf4c7918063 Author: mbalao Date: 2018-06-26 08:10 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4bf4c7918063 8195607: sun/security/pkcs11/Secmod/TestNssDbSqlite.java failed with "NSS initialization failed" on NSS 3.34.1 Reviewed-by: valeriep, weijun ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/j2secmod.c ! src/jdk.crypto.cryptoki/unix/native/libj2pkcs11/j2secmod_md.h + test/jdk/sun/security/pkcs11/Secmod/pkcs11.txt ! test/jdk/sun/security/pkcs11/SecmodTest.java Changeset: 662f66f9c9e2 Author: smarks Date: 2018-06-25 17:11 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/662f66f9c9e2 8201610: Broken link on the page api/java.rmi/java/rmi/server/UnicastRemoteObject.html Reviewed-by: psandoz, lancea ! src/java.rmi/share/classes/java/rmi/server/UnicastRemoteObject.java Changeset: afbcf72c389d Author: martin Date: 2018-06-25 18:01 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/afbcf72c389d 8205184: Delegating Iterator implementations that don't delegate forEachRemaining() Reviewed-by: psandoz Contributed-by: Tobias Thierer , Martin Buchholz ! src/java.base/share/classes/java/util/Collections.java + test/jdk/java/util/Collections/DelegatingIteratorForEachRemaining.java Changeset: cf0898a6441e Author: smarks Date: 2018-06-25 18:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cf0898a6441e 8205455: jdeprscan issues annotation processor warning regarding RELEASE_10 Reviewed-by: jjg ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/LoadProc.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/TraverseProc.java ! test/langtools/tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java Changeset: 11e7eb8cb583 Author: weijun Date: 2018-06-26 10:43 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/11e7eb8cb583 8202608: CommonSeeder test needs a white-box testing mechanism to replace the default entropy source Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/provider/AbstractDrbg.java ! test/jdk/sun/security/provider/SecureRandom/CommonSeeder.java + test/jdk/sun/security/provider/SecureRandom/java.base/sun/security/provider/SeedGenerator.java Changeset: bba1deda9216 Author: weijun Date: 2018-06-26 10:43 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bba1deda9216 8202299: Java Keystore fails to load PKCS12/PFX certificates created in WindowsServer2016 Reviewed-by: mullan, xuelei ! src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java + test/jdk/sun/security/pkcs12/EmptyPassword.java Changeset: 7284ce754713 Author: xiaofeya Date: 2018-06-25 20:03 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7284ce754713 8196213: sun/security/tools/jarsigner/warnings/NoTimestampTest.java test fails on ar_SA locale. Reviewed-by: naoto Contributed-by: dan.z.zhou at oracle.com ! test/jdk/sun/security/tools/jarsigner/warnings/NoTimestampTest.java Changeset: c9f193a8b671 Author: xiaofeya Date: 2018-06-25 20:08 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c9f193a8b671 8194152: sun/security/tools/jarsigner/AltProvider.java failed on de-DE locale Reviewed-by: naoto Contributed-by: dan.z.zhou at oracle.com ! test/jdk/sun/security/tools/jarsigner/AltProvider.java Changeset: 9f781ce22e7d Author: martin Date: 2018-06-25 20:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9f781ce22e7d 8205649: Make clang stack flags independent of OS Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 Changeset: e92d48cf94f9 Author: mchung Date: 2018-06-25 22:27 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e92d48cf94f9 8205627: Replace hardcoded spec version value in build.tools.ExtLink taglet Reviewed-by: jjg, erikj ! make/Docs.gmk ! make/jdk/src/classes/build/tools/taglet/ExtLink.java Changeset: 0ed32e0d98e1 Author: mchung Date: 2018-06-25 22:28 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0ed32e0d98e1 8205623: Replace use of Class::getPackage with Class::getPackageName Reviewed-by: jjg, erikj ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/classes/sun/util/resources/BreakIteratorResourceBundle.java ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages.java Changeset: 57f5cba78093 Author: alanb Date: 2018-06-26 08:13 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/57f5cba78093 8205612: (fc) Files.readAllBytes fails with ClosedByInterruptException when interrupt status set Reviewed-by: bpb ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java + test/jdk/java/nio/file/Files/CallWithInterruptSet.java Changeset: d1b24f2ceca5 Author: ghaug Date: 2018-06-25 16:00 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d1b24f2ceca5 8200720: Print additional information in thread dump (times, allocated bytes etc.) Reviewed-by: dholmes, clanger, cjplummer, sspitsyn ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp + src/hotspot/share/runtime/threadStatisticalInfo.hpp ! src/hotspot/share/runtime/vm_operations.cpp ! src/hotspot/share/runtime/vm_operations.hpp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java Changeset: f249187b6c3d Author: mbaesken Date: 2018-06-26 09:17 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f249187b6c3d 8205342: windows : potential memleaks in getAdapter(s) in NetworkInterface_winXP.c Reviewed-by: alanb, igerasim, stuefe ! src/java.base/windows/native/libnet/NetworkInterface_winXP.c Changeset: 5f0266d16543 Author: tschatzl Date: 2018-06-26 11:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5f0266d16543 8204082: Make names of Young GCs more uniform in logs Summary: All G1 young gcs now start with "Pause Young" plus a more detailed description Reviewed-by: sjohanss ! src/hotspot/share/gc/g1/g1Arguments.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.hpp ! test/hotspot/gtest/gc/g1/test_g1HeapVerifier.cpp ! test/hotspot/jtreg/gc/class_unloading/TestG1ClassUnloadingHWM.java ! test/hotspot/jtreg/gc/g1/TestHumongousAllocInitialMark.java ! test/hotspot/jtreg/gc/g1/TestHumongousAllocNearlyFullRegion.java ! test/hotspot/jtreg/gc/g1/TestStringDeduplicationTools.java ! test/hotspot/jtreg/gc/g1/TestVerifyGCType.java ! test/hotspot/jtreg/gc/g1/humongousObjects/objectGraphTest/GCTokens.java ! test/hotspot/jtreg/gc/g1/mixedgc/TestLogging.java Changeset: 6274aee1f692 Author: weijun Date: 2018-06-26 18:55 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6274aee1f692 8201815: Use Mozilla Public Suffix List Reviewed-by: michaelm, erikj, ihse ! make/ToolsJdk.gmk + make/data/publicsuffixlist/VERSION + make/data/publicsuffixlist/public_suffix_list.dat ! make/gendata/Gendata-java.base.gmk + make/gendata/GendataPublicSuffixList.gmk + make/jdk/src/classes/build/tools/publicsuffixlist/GeneratePublicSuffixList.java ! src/java.base/share/classes/java/net/SocketPermission.java - src/java.base/share/classes/sun/net/RegisteredDomain.java + src/java.base/share/classes/sun/security/util/DomainName.java ! src/java.base/share/classes/sun/security/util/HostnameChecker.java ! src/java.base/share/classes/sun/security/util/RegisteredDomain.java + src/java.base/share/legal/public_suffix.md ! test/hotspot/jtreg/compiler/aot/scripts/java.base-list.txt Changeset: 4125f0a55d4d Author: chegar Date: 2018-06-26 13:16 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4125f0a55d4d 8205671: Remove HTTP Client tests erroneously problem listed by the TLS 1.3 integration Reviewed-by: dfuchs, michaelm ! test/jdk/ProblemList.txt Changeset: 5dfedce8ce62 Author: hseigel Date: 2018-06-26 09:52 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5dfedce8ce62 8205422: assert(false) failed: Bad verification_type_info Summary: Instead of asserting, print out the bad value Reviewed-by: lfoltan, coleenp ! src/hotspot/share/classfile/stackMapTableFormat.hpp + test/hotspot/jtreg/runtime/verifier/stackMapTableTests/StackMapTableTest.java + test/hotspot/jtreg/runtime/verifier/stackMapTableTests/badStackMapTable.jcod Changeset: b1e90a8a876c Author: goetz Date: 2018-06-25 23:04 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b1e90a8a876c 8205419: [testbug] TestJmapCore failing without SA: introduce @requires vm.hasSAandCanAttach Reviewed-by: jgeorge, cjplummer ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/compiler/ciReplay/SABase.java ! test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java ! test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/runtime/SharedArchiveFile/SASymbolTableTest.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbAttach.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSJstackPrintAll.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbField.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFlags.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbInspect.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJdis.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstack.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbLongConstant.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPmap.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPrintAll.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPrintAs.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPrintStatics.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPstack.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbScanOops.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbSource.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbSymbol.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbSymbolTable.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbThread.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbVmStructsDump.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbWhere.java ! test/hotspot/jtreg/serviceability/sa/DeadlockDetectionTest.java ! test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java ! test/hotspot/jtreg/serviceability/sa/TestClassDump.java ! test/hotspot/jtreg/serviceability/sa/TestClhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestCpoolForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestDefaultMethods.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSize.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSizeForInterface.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestJmapCore.java ! test/hotspot/jtreg/serviceability/sa/TestJmapCoreMetaspace.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestRevPtrsForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java ! test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/jdk/TEST.ROOT ! test/jdk/sun/tools/jhsdb/AlternateHashingTest.java ! test/jdk/sun/tools/jhsdb/BasicLauncherTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java ! test/jdk/sun/tools/jstack/DeadlockDetectionTest.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java Changeset: 59306e5a6cc7 Author: apetcher Date: 2018-06-26 11:14 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/59306e5a6cc7 8203228: Branch-free output conversion for X25519 and X448 Summary: Make some field arithmetic operations for X25519/X448 more resilient against side-channel attacks Reviewed-by: ascarpino ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial1305.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial25519.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial448.java Changeset: ca4eea543d23 Author: kvn Date: 2018-06-26 09:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ca4eea543d23 8205400: [Graal] compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java fails with can't be enqueued for compilation on level 4 Summary: add -XX:-BackgroundCompilation to tests to eager initialize JVMCI Reviewed-by: thartmann ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ExecuteInstalledCodeTest.java Changeset: 0ab1cac936b8 Author: bpb Date: 2018-06-26 09:33 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0ab1cac936b8 8205641: Make java/nio/channels/Selector/RacyDeregister.java noisier and flush after prints Reviewed-by: alanb ! test/jdk/java/nio/channels/Selector/RacyDeregister.java Changeset: d4fefc97ae14 Author: neliasso Date: 2018-06-15 14:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d4fefc97ae14 8205107: assert(c->Opcode() == Op_SafePoint) failed: broken outer loop Summary: Don't remove safepoint belonging to OuterStripMinedLoopEndNode Reviewed-by: kvn ! src/hotspot/share/opto/callnode.cpp Changeset: 1f1eb24facdd Author: rriggs Date: 2018-06-26 12:42 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1f1eb24facdd 8205547: FileChannel/CleanerTest.java fails due to expected FD count Reviewed-by: psandoz ! test/jdk/java/nio/channels/FileChannel/CleanerTest.java Changeset: 07365663f130 Author: jlaskey Date: 2018-06-26 14:14 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/07365663f130 8205696: Undo licence.md Reviewed-by: sundar, hannesw ! src/jdk.dynalink/share/legal/dynalink.md Changeset: 0fb45c3b185e Author: dcubed Date: 2018-06-26 14:15 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0fb45c3b185e 8205648: fix for 8205195 breaks secondary error handling Summary: Only grab Threads_lock in VMError::controlled_crash() when we don't already own it. Reviewed-by: sspitsyn, stuefe ! src/hotspot/share/utilities/vmError.cpp Changeset: f9ae777f71ee Author: sspitsyn Date: 2018-06-26 12:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f9ae777f71ee 8205701: Problem list serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCCMSTest.java Summary: Add the test to the ProblemList.txt Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 6da12aa23b88 Author: stefank Date: 2018-06-26 13:54 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6da12aa23b88 8205607: Use oop_iterate instead of oop_iterate_no_header Reviewed-by: pliden, kbarrett ! src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.hpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/psCardTable.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.hpp ! src/hotspot/share/memory/iterator.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp Changeset: 94b56c8594ef Author: stefank Date: 2018-06-26 13:55 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/94b56c8594ef 8144992: Remove OopIterateClosure::idempotent Reviewed-by: pliden, kbarrett ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/memory/iterator.hpp Changeset: fa380b3b2b7d Author: sspitsyn Date: 2018-06-26 13:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fa380b3b2b7d 8205721: Problem list serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatArrayCorrectnessTest.java Summary: Add the test to the ProblemList.txt Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 45c1fde86050 Author: kbarrett Date: 2018-06-26 16:59 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/45c1fde86050 8205559: Remove IN_CONCURRENT_ROOT Access decorator Summary: Removed decorator and made all NativeAccess use barriers. Reviewed-by: pliden, stefank ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/sparc/gc/g1/g1BarrierSetAssembler_sparc.cpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/zBarrierSet.cpp ! src/hotspot/share/oops/access.hpp ! src/hotspot/share/oops/accessDecorators.hpp ! src/hotspot/share/oops/oopHandle.inline.hpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/jniHandles.inline.hpp Changeset: f5f3deb1412c Author: dnsimon Date: 2018-06-27 00:16 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f5f3deb1412c 8205703: [JVMCI] Expose all GC selection flags Reviewed-by: kvn, dlong ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp Changeset: d465a27c5c23 Author: sspitsyn Date: 2018-06-26 15:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d465a27c5c23 8205723: Problem list serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatRateTest.java Summary: Add the test to the ProblemList.txt Reviewed-by: dcubed, cjplummer ! test/hotspot/jtreg/ProblemList.txt Changeset: 601efc6e51a3 Author: iignatyev Date: 2018-06-26 16:01 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/601efc6e51a3 8199580: [TESTBUG] Un-quarantine vm/mlvm/indy/func/jdi/breakpointOtherStratum and breakpoint Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList.txt Changeset: 57d1175e2c7b Author: erikj Date: 2018-06-26 17:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/57d1175e2c7b 8205625: linux-aarch64-cmp-baseline fails builds-tier5 Reviewed-by: dholmes ! make/conf/jib-profiles.js Changeset: 7ea794b6ead6 Author: amlu Date: 2018-06-27 09:44 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7ea794b6ead6 8205673: Problem list RmiRegistrySslTest.java and RmiSslBootstrapTest.sh Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 6ff774d73176 Author: smarks Date: 2018-06-26 19:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6ff774d73176 8203670: unmodifiable List iterator() implementations should not be ListIterators Reviewed-by: redestad, igerasim, plevart ! src/java.base/share/classes/java/util/ImmutableCollections.java ! test/jdk/java/util/List/ListFactories.java Changeset: 0358dad944c7 Author: pmuthuswamy Date: 2018-06-27 12:56 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0358dad944c7 8187288: bad (no) wrapping for modifier and type column Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkFactory.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java Changeset: f533eb5e7430 Author: pliden Date: 2018-06-27 11:05 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f533eb5e7430 8205664: Move detailed metaspace logging from debug to trace Reviewed-by: stuefe, stefank ! src/hotspot/share/memory/metaspace/chunkManager.cpp ! src/hotspot/share/memory/metaspace/spaceManager.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp Changeset: 0d813fbd94ed Author: pliden Date: 2018-06-27 11:05 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0d813fbd94ed 8205663: ZGC: Log metaspace used/capacity/committed/reserved Reviewed-by: stefank, ehelin ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp Changeset: 2ab596d44449 Author: ssahoo Date: 2018-06-27 02:20 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2ab596d44449 8205111: Develop new Test to verify different key types for supported TLS protocols. Summary: TLS test with different key types for supported. Reviewed-by: xuelei + test/jdk/javax/net/ssl/TLSCommon/TLSTest.java Changeset: f3b70d115fb3 Author: mdoerr Date: 2018-06-27 11:54 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f3b70d115fb3 8205609: [PPC64] Fix PPC64 part of 8010319 and TLH without UseSIGTRAP on AIX Reviewed-by: dholmes, goetz ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/os/aix/safepointMechanism_aix.cpp Changeset: 54a285a5c6cb Author: rehn Date: 2018-06-27 12:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/54a285a5c6cb 8205583: Crash in ConcurrentHashTable do_bulk_delete_locked_for Reviewed-by: coleenp, gziemski ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: a73848f8d0ad Author: goetz Date: 2018-06-27 09:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a73848f8d0ad 8199940: Print more information about class loaders in IllegalAccessErrors. Reviewed-by: lfoltan, mchung ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! test/hotspot/jtreg/runtime/Nestmates/membership/TestNestmateMembership.java ! test/hotspot/jtreg/runtime/Nestmates/privateConstructors/TestConstructorHierarchy.java + test/hotspot/jtreg/runtime/exceptionMsgs/IllegalAccessError/IAE78_A.java + test/hotspot/jtreg/runtime/exceptionMsgs/IllegalAccessError/IAE78_B.java + test/hotspot/jtreg/runtime/exceptionMsgs/IllegalAccessError/IAE_Loader1.java + test/hotspot/jtreg/runtime/exceptionMsgs/IllegalAccessError/IAE_Loader2.java + test/hotspot/jtreg/runtime/exceptionMsgs/IllegalAccessError/IllegalAccessErrorTest.java ! test/hotspot/jtreg/runtime/modules/AccessCheck/ExpQualToM1PrivateMethodIAE.java Changeset: fa1e04811ff6 Author: rriggs Date: 2018-06-27 09:36 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fa1e04811ff6 8066709: Make some JDK system properties read only Reviewed-by: lancea, sundar, bchristi, weijun, mchung, alanb, mullan ! src/java.base/linux/classes/sun/nio/fs/LinuxFileSystemProvider.java ! src/java.base/macosx/classes/sun/nio/fs/MacOSXFileSystemProvider.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/net/SocksSocketImpl.java ! src/java.base/share/classes/java/security/Security.java ! src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java ! src/java.base/share/classes/java/util/Currency.java ! src/java.base/share/classes/java/util/TimeZone.java ! src/java.base/share/classes/javax/crypto/JceSecurity.java.template ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java + src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/share/classes/sun/net/NetProperties.java ! src/java.base/share/classes/sun/net/www/MimeTable.java ! src/java.base/share/classes/sun/net/www/protocol/mailto/MailToURLConnection.java ! src/java.base/share/classes/sun/security/provider/PolicyFile.java ! src/java.base/share/classes/sun/security/provider/SunEntries.java ! src/java.base/share/classes/sun/security/util/AnchorCertificates.java ! src/java.base/share/classes/sun/security/util/UntrustedCertificates.java ! src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java ! src/java.base/unix/classes/java/io/UnixFileSystem.java ! src/java.base/unix/classes/java/lang/ProcessImpl.java ! src/java.base/unix/classes/sun/nio/fs/UnixFileStore.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java Changeset: e46b9e514479 Author: jgeorge Date: 2018-06-27 20:04 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e46b9e514479 8189429: SA: MacOSX: Replace the deprecated PT_ATTACH with PT_ATTACHEXC Summary: Avoid the waitpid() and receive, handle and reply to the incoming Mach exception message obtained with PT_ATTACHEXC. Reviewed-by: sballal, erikj, gziemski, rwestberg, dholmes, dcubed, poonam, dsamersoff ! make/RunTestsPrebuiltSpec.gmk ! make/autoconf/basics.m4 ! make/autoconf/spec.gmk.in ! make/gensrc/Gensrc-jdk.hotspot.agent.gmk ! make/lib/Lib-jdk.hotspot.agent.gmk ! src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m Changeset: cf09f0b56efd Author: jiangli Date: 2018-06-27 11:55 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cf09f0b56efd 8205699: assert(_owner_offset != 0) failed in javaClasses.cpp Summary: Added java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize. Reviewed-by: ccheung, dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 35f52a3cd6bd Author: joehw Date: 2018-06-27 09:31 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/35f52a3cd6bd 8205058: (fs) Files read/writeString should throw CharacterCodingException instead of IOException with an IllegalArgumentException as cause Reviewed-by: sherman, alanb, lancea ! src/java.base/share/classes/java/lang/StringCoding.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java ! test/jdk/java/nio/file/Files/ReadWriteString.java Changeset: 31dfb7a229ba Author: sherman Date: 2018-06-27 09:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/31dfb7a229ba 8200243: System error message is decoded as invalid encoding in Windows. Reviewed-by: alanb ! src/java.base/windows/native/libjava/jni_util_md.c Changeset: 87aef9853b52 Author: neliasso Date: 2018-06-27 18:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/87aef9853b52 8204157: Compiler.sunflow hangs after JDK-8192992 Summary: Treat non-loop phis as stores Reviewed-by: thartmann ! src/hotspot/share/opto/gcm.cpp Changeset: accde81a0046 Author: iveresov Date: 2018-06-27 09:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/accde81a0046 8202698: Update Graal for JEP 181 - Nest-based access control Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParser.java ! test/jdk/ProblemList-graal.txt Changeset: 871e0ee4bad4 Author: serb Date: 2018-06-20 11:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/871e0ee4bad4 8203003: Several FileDialog Modality Tests fail on Linux due to X errors Reviewed-by: prr, psadhukhan ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c ! test/jdk/ProblemList.txt Changeset: aa0a35b071fb Author: prr Date: 2018-06-21 09:53 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/aa0a35b071fb Merge - src/java.net.http/share/classes/jdk/internal/net/http/ImmutableHeaders.java - src/java.net.http/share/classes/jdk/internal/net/http/common/HttpHeadersImpl.java - test/jdk/java/net/httpclient/ThrowingPublishers.java - test/jdk/java/net/httpclient/ThrowingPushPromises.java - test/jdk/java/net/httpclient/ThrowingSubscribers.java - test/jdk/java/net/httpclient/offline/FixedHttpHeaders.java Changeset: f5b95be8b6e2 Author: prr Date: 2018-06-21 12:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f5b95be8b6e2 8205441: Upgrade to harfbuzz 1.8.1 Reviewed-by: serb ! make/lib/Awt2dLibraries.gmk ! src/java.desktop/share/legal/harfbuzz.md ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-deserialize-json.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-deserialize-text.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-common.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-common.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-coretext.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-dsalgs.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ft.cc + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map-private.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map.cc + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-mutex-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-object-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-cmap-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-color-cbdt-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-color-colr-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-color-cpal-table.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-color-sbix-table.hh + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-color-svg-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-font.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-glyf-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-head-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-hhea-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-hmtx-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-kern-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-base-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gdef-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gpos-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsub-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-jstf-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-maxp-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-name-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-os2-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-os2-unicode-ranges.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-post-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-hangul.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-machine.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-table.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-machine.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-thai.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-machine.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-table.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var-avar-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var-fvar-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var-hvar-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var-mvar-table.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-var.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shape.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper.cc + src/java.desktop/share/native/libfontmanager/harfbuzz/hb-static.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-string-array.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-plan.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ucdn.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ucdn/ucdn.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ucdn/ucdn_db.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode.cc ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb-version.h ! src/java.desktop/share/native/libfontmanager/harfbuzz/hb.h Changeset: 83ce7547185c Author: prr Date: 2018-06-21 14:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/83ce7547185c 8205119: SwingApplet demo should be removed Reviewed-by: serb ! make/CompileDemos.gmk - src/demo/share/jfc/SwingApplet/README.txt - src/demo/share/jfc/SwingApplet/SwingApplet.html - src/demo/share/jfc/SwingApplet/SwingApplet.java Changeset: 1ab8e3b0cee2 Author: prr Date: 2018-06-21 16:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1ab8e3b0cee2 8205498: Typo in fix for 8205119 breaks Solaris demo build Reviewed-by: serb ! make/CompileDemos.gmk Changeset: 074148730b4e Author: sveerabhadra Date: 2018-06-22 10:29 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/074148730b4e 8204946: Clean-up problem list for JDK-8202933 and JDK-8202934 Reviewed-by: prr ! test/jdk/ProblemList.txt - test/jdk/java/awt/grab/MenuDragEvents/MenuDragEvents.html ! test/jdk/java/awt/grab/MenuDragEvents/MenuDragEvents.java Changeset: 5500595d8ebf Author: prr Date: 2018-06-22 12:16 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5500595d8ebf 8205136: Move StylePad demo to the open repository Reviewed-by: serb, erikj ! make/CompileDemos.gmk + src/demo/share/jfc/Stylepad/HelloWorld.java + src/demo/share/jfc/Stylepad/README.txt + src/demo/share/jfc/Stylepad/Stylepad.java + src/demo/share/jfc/Stylepad/Wonderland.java + src/demo/share/jfc/Stylepad/resources/Stylepad.properties + src/demo/share/jfc/Stylepad/resources/StylepadSystem.properties + src/demo/share/jfc/Stylepad/resources/Stylepad_ja.properties + src/demo/share/jfc/Stylepad/resources/Stylepad_zh_CN.properties + src/demo/share/jfc/Stylepad/resources/alice.gif + src/demo/share/jfc/Stylepad/resources/bold.gif + src/demo/share/jfc/Stylepad/resources/bullets.gif + src/demo/share/jfc/Stylepad/resources/caterpillar.gif + src/demo/share/jfc/Stylepad/resources/center.gif + src/demo/share/jfc/Stylepad/resources/fg.gif + src/demo/share/jfc/Stylepad/resources/hatter.gif + src/demo/share/jfc/Stylepad/resources/italic.gif + src/demo/share/jfc/Stylepad/resources/left.gif + src/demo/share/jfc/Stylepad/resources/rabbit.gif + src/demo/share/jfc/Stylepad/resources/rabbit2.gif + src/demo/share/jfc/Stylepad/resources/right.gif + src/demo/share/jfc/Stylepad/resources/underline.gif Changeset: 59c6972e39fa Author: prr Date: 2018-06-22 13:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/59c6972e39fa 8205494: Convert or remove all AWT applet demos Reviewed-by: serb, erikj ! make/CompileDemos.gmk - src/demo/share/applets.html - src/demo/share/applets/ArcTest/ArcTest.java - src/demo/share/applets/ArcTest/example1.html - src/demo/share/applets/BarChart/BarChart.java - src/demo/share/applets/BarChart/example1.html - src/demo/share/applets/BarChart/example2.html - src/demo/share/applets/Blink/Blink.java - src/demo/share/applets/Blink/example1.html - src/demo/share/applets/CardTest/CardTest.java - src/demo/share/applets/CardTest/example1.html - src/demo/share/applets/Clock/Clock.java - src/demo/share/applets/Clock/example1.html - src/demo/share/applets/DitherTest/DitherTest.java - src/demo/share/applets/DitherTest/example1.html - src/demo/share/applets/DrawTest/DrawTest.java - src/demo/share/applets/DrawTest/example1.html - src/demo/share/applets/Fractal/CLSFractal.java - src/demo/share/applets/Fractal/example1.html - src/demo/share/applets/GraphicsTest/AppletFrame.java - src/demo/share/applets/GraphicsTest/GraphicsTest.java - src/demo/share/applets/GraphicsTest/example1.html - src/demo/share/applets/MoleculeViewer/Matrix3D.java - src/demo/share/applets/MoleculeViewer/XYZApp.java - src/demo/share/applets/MoleculeViewer/example1.html - src/demo/share/applets/MoleculeViewer/example2.html - src/demo/share/applets/MoleculeViewer/example3.html - src/demo/share/applets/MoleculeViewer/models/HyaluronicAcid.xyz - src/demo/share/applets/MoleculeViewer/models/benzene.xyz - src/demo/share/applets/MoleculeViewer/models/buckminsterfullerine.xyz - src/demo/share/applets/MoleculeViewer/models/cyclohexane.xyz - src/demo/share/applets/MoleculeViewer/models/ethane.xyz - src/demo/share/applets/MoleculeViewer/models/water.xyz - src/demo/share/applets/NervousText/NervousText.java - src/demo/share/applets/NervousText/example1.html - src/demo/share/applets/SimpleGraph/GraphApplet.java - src/demo/share/applets/SimpleGraph/example1.html - src/demo/share/applets/SortDemo/BidirBubbleSortAlgorithm.java - src/demo/share/applets/SortDemo/BubbleSortAlgorithm.java - src/demo/share/applets/SortDemo/QSortAlgorithm.java - src/demo/share/applets/SortDemo/SortAlgorithm.java - src/demo/share/applets/SortDemo/SortItem.java - src/demo/share/applets/SortDemo/example1.html - src/demo/share/applets/SpreadSheet/SpreadSheet.java - src/demo/share/applets/SpreadSheet/example1.html - src/demo/share/applets/WireFrame/Matrix3D.java - src/demo/share/applets/WireFrame/ThreeD.java - src/demo/share/applets/WireFrame/example1.html - src/demo/share/applets/WireFrame/example2.html - src/demo/share/applets/WireFrame/example3.html - src/demo/share/applets/WireFrame/example4.html - src/demo/share/applets/WireFrame/models/cube.obj - src/demo/share/applets/WireFrame/models/dinasaur.obj - src/demo/share/applets/WireFrame/models/hughes_500.obj - src/demo/share/applets/WireFrame/models/knoxS.obj Changeset: e069b9e49ca7 Author: serb Date: 2018-06-22 19:19 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e069b9e49ca7 8205456: Unification of iterations over arrays Reviewed-by: prr ! src/java.desktop/share/classes/javax/sound/midi/InvalidMidiDataException.java ! src/java.desktop/share/classes/javax/sound/midi/MetaMessage.java ! src/java.desktop/share/classes/javax/sound/midi/ShortMessage.java ! src/java.desktop/share/classes/javax/sound/midi/SysexMessage.java ! src/java.desktop/share/classes/javax/sound/midi/spi/MidiDeviceProvider.java ! src/java.desktop/share/classes/javax/sound/midi/spi/MidiFileWriter.java ! src/java.desktop/share/classes/javax/sound/sampled/AudioFormat.java ! src/java.desktop/share/classes/javax/sound/sampled/CompoundControl.java ! src/java.desktop/share/classes/javax/sound/sampled/EnumControl.java ! src/java.desktop/share/classes/javax/sound/sampled/LineEvent.java ! src/java.desktop/share/classes/javax/sound/sampled/spi/AudioFileWriter.java ! src/java.desktop/share/classes/javax/sound/sampled/spi/FormatConversionProvider.java ! src/java.desktop/share/classes/javax/sound/sampled/spi/MixerProvider.java Changeset: 97852c0a7a91 Author: serb Date: 2018-06-23 11:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/97852c0a7a91 8205144: JSpinner may change the font after became visible Reviewed-by: psadhukhan ! src/java.desktop/share/classes/javax/swing/JSpinner.java - test/jdk/javax/swing/JSpinner/6421058/bug6421058.java + test/jdk/javax/swing/JSpinner/WrongEditorTextFieldFont/FontByDefault.java + test/jdk/javax/swing/JSpinner/WrongEditorTextFieldFont/FontSetByLaF.java + test/jdk/javax/swing/JSpinner/WrongEditorTextFieldFont/FontSetByUser.java - test/jdk/javax/swing/JSpinner/WrongEditorTextFieldFont/WrongEditorTextFieldFont.java Changeset: 9cf279436b9d Author: serb Date: 2018-06-24 16:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9cf279436b9d 8205153: Delete "standard instructions" machinery in the open automated tests Reviewed-by: prr ! test/jdk/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java ! test/jdk/java/awt/Choice/DragMouseOutAndRelease/DragMouseOutAndRelease.java ! test/jdk/java/awt/Choice/SelectCurrentItemTest/SelectCurrentItemTest.java ! test/jdk/java/awt/Choice/UnfocusableCB_ERR/UnfocusableCB_ERR.java ! test/jdk/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.java ! test/jdk/java/awt/Component/CompEventOnHiddenComponent/CompEventOnHiddenComponent.java ! test/jdk/java/awt/Component/NoUpdateUponShow/NoUpdateUponShow.java ! test/jdk/java/awt/Container/isRemoveNotifyNeeded/JInternalFrameTest.java ! test/jdk/java/awt/Dialog/NonResizableDialogSysMenuResize/NonResizableDialogSysMenuResize.java ! test/jdk/java/awt/Focus/6378278/InputVerifierTest.java ! test/jdk/java/awt/Focus/6382144/EndlessLoopTest.java ! test/jdk/java/awt/Focus/6401036/InputVerifierTest2.java ! test/jdk/java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusSetVisibleTest.java ! test/jdk/java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusToFrontTest.java ! test/jdk/java/awt/Focus/ChildWindowFocusTest/ChildWindowFocusTest.java ! test/jdk/java/awt/Focus/ClearLwQueueBreakTest/ClearLwQueueBreakTest.java ! test/jdk/java/awt/Focus/InputVerifierTest3/InputVerifierTest3.java ! test/jdk/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.java ! test/jdk/java/awt/Focus/ModalDialogInitialFocusTest/ModalDialogInitialFocusTest.java ! test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.java ! test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.java ! test/jdk/java/awt/Focus/NonFocusableResizableTooSmall/NonFocusableResizableTooSmall.java ! test/jdk/java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java ! test/jdk/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.java ! test/jdk/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.java ! test/jdk/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.java ! test/jdk/java/awt/Frame/DisposeStressTest/DisposeStressTest.java ! test/jdk/java/awt/Frame/DynamicLayout/DynamicLayout.java ! test/jdk/java/awt/Frame/LayoutOnMaximizeTest/LayoutOnMaximizeTest.java ! test/jdk/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.java ! test/jdk/java/awt/Frame/ShownOffScreenOnWin98/ShownOffScreenOnWin98Test.java ! test/jdk/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.java ! test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.java ! test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.java ! test/jdk/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java ! test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.java ! test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/EnqueueWithDialogButtonTest/EnqueueWithDialogButtonTest.java ! test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.java ! test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java ! test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java ! test/jdk/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/OverlappingTestBase.java ! test/jdk/java/awt/Mixing/HWDisappear.java ! test/jdk/java/awt/Mixing/JButtonInGlassPane.java ! test/jdk/java/awt/Mixing/LWComboBox.java ! test/jdk/java/awt/Mixing/LWPopupMenu.java ! test/jdk/java/awt/Mixing/MixingInHwPanel.java ! test/jdk/java/awt/Mixing/MixingOnDialog.java ! test/jdk/java/awt/Mixing/MixingOnShrinkingHWButton.java ! test/jdk/java/awt/Mixing/NonOpaqueInternalFrame.java ! test/jdk/java/awt/Mixing/OpaqueTest.java ! test/jdk/java/awt/Mixing/OverlappingButtons.java ! test/jdk/java/awt/Mixing/ValidBounds.java ! test/jdk/java/awt/Mixing/Validating.java ! test/jdk/java/awt/Mixing/setComponentZOrder.java ! test/jdk/java/awt/MouseAdapter/MouseAdapterUnitTest/MouseAdapterUnitTest.java ! test/jdk/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java ! test/jdk/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java ! test/jdk/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java ! test/jdk/java/awt/Toolkit/RealSync/RealSyncOnEDT.java ! test/jdk/java/awt/Window/AlwaysOnTop/TestAlwaysOnTopBeforeShow.java ! test/jdk/java/awt/Window/GrabSequence/GrabSequence.java ! test/jdk/java/awt/Window/PropertyChangeListenerLockSerialization/PropertyChangeListenerLockSerialization.java ! test/jdk/java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.java ! test/jdk/java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.java ! test/jdk/java/awt/event/HierarchyEvent/AncestorResized/AncestorResized.java ! test/jdk/java/awt/event/KeyEvent/CorrectTime/CorrectTime.java ! test/jdk/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.java ! test/jdk/java/awt/event/MouseEvent/EventTimeInFuture/EventTimeInFuture.java ! test/jdk/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.java ! test/jdk/java/awt/print/PageFormat/NullPaper.java ! test/jdk/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.java Changeset: aaf263fe7eba Author: serb Date: 2018-06-24 19:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/aaf263fe7eba 8205324: Part of java.awt.Desktop.browse(URI) spec is outdated after support of applets was removed Reviewed-by: prr ! src/java.desktop/share/classes/java/awt/Desktop.java - src/java.desktop/share/classes/sun/awt/DesktopBrowse.java Changeset: b9456394d24f Author: pkbalakr Date: 2018-06-25 16:01 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b9456394d24f 8202696: Remove exclusion range for phonetic chars in windows fontconfig.properties Reviewed-by: prr, naoto Contributed-by: dipak.kumar at oracle.com ! make/data/fontconfig/windows.fontconfig.properties + test/jdk/java/awt/font/PhoneticExtensions/PhoneticExtensionsGlyphTest.java Changeset: 86897f8a6598 Author: pbansal Date: 2018-06-25 12:50 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/86897f8a6598 8194873: right ALT key hotkeys no longer work in Swing components Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonListener.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLabelUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/java.desktop/share/classes/sun/swing/SwingUtilities2.java ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp + test/jdk/javax/swing/event/RightAltKeyTest.java Changeset: 732a3b600098 Author: sveerabhadra Date: 2018-06-25 14:32 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/732a3b600098 8153732: Windows remote printer changes do not reflect in lookupPrintServices() Reviewed-by: prr, psadhukhan ! src/java.desktop/windows/classes/sun/print/PrintServiceLookupProvider.java ! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp + test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java Changeset: 8e326bd343bb Author: prr Date: 2018-06-25 10:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8e326bd343bb Merge - src/hotspot/share/gc/cms/cmsOopClosures.cpp - src/hotspot/share/gc/cms/cms_specialized_oop_closures.hpp - src/hotspot/share/gc/cms/parOopClosures.cpp - src/hotspot/share/gc/g1/g1_specialized_oop_closures.hpp - src/hotspot/share/gc/serial/serial_specialized_oop_closures.hpp - src/hotspot/share/gc/shared/genOopClosures.cpp - src/hotspot/share/gc/shared/specialized_oop_closures.hpp - src/hotspot/share/gc/z/z_specialized_oop_closures.hpp ! test/jdk/ProblemList.txt Changeset: 1db5917dfe1c Author: srl Date: 2018-06-25 11:40 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1db5917dfe1c 8187100: Support Unicode Variation Selectors Summary: Support Unicode Variation Selectors Reviewed-by: prr, srl Contributed-by: Toshio Nakamura ! src/java.desktop/share/classes/sun/font/CMap.java ! src/java.desktop/share/classes/sun/font/CharToGlyphMapper.java ! src/java.desktop/share/classes/sun/font/CompositeGlyphMapper.java ! src/java.desktop/share/classes/sun/font/Font2D.java ! src/java.desktop/share/classes/sun/font/TrueTypeGlyphMapper.java ! src/java.desktop/share/native/common/font/sunfontids.h ! src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc ! src/java.desktop/share/native/libfontmanager/sunFont.c + test/jdk/java/awt/font/TextLayout/TestVS-expect.png + test/jdk/java/awt/font/TextLayout/TestVS.java + test/jdk/java/awt/font/TextLayout/VariationSelectorTest.java Changeset: 1a9ebf66fd9f Author: prr Date: 2018-06-25 14:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1a9ebf66fd9f Merge Changeset: 4d990bb19c99 Author: serb Date: 2018-06-25 17:34 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4d990bb19c99 4475138: getBestCursorSize and XFree86 4.1.0 Reviewed-by: serb Contributed-by: takiguc at linux.vnet.ibm.com ! src/java.desktop/unix/classes/sun/awt/X11/XCustomCursor.java Changeset: f8c8bfd59e05 Author: prr Date: 2018-06-27 10:06 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f8c8bfd59e05 Merge - src/java.base/share/classes/sun/net/RegisteredDomain.java - src/java.base/share/classes/sun/security/ssl/ALPNExtension.java - src/java.base/share/classes/sun/security/ssl/Alerts.java - src/java.base/share/classes/sun/security/ssl/AppInputStream.java - src/java.base/share/classes/sun/security/ssl/AppOutputStream.java - src/java.base/share/classes/sun/security/ssl/ByteBufferInputStream.java - src/java.base/share/classes/sun/security/ssl/CertStatusReqExtension.java - src/java.base/share/classes/sun/security/ssl/CertStatusReqItemV2.java - src/java.base/share/classes/sun/security/ssl/CertStatusReqListV2Extension.java - src/java.base/share/classes/sun/security/ssl/CipherBox.java - src/java.base/share/classes/sun/security/ssl/CipherSuiteList.java - src/java.base/share/classes/sun/security/ssl/ClientHandshaker.java - src/java.base/share/classes/sun/security/ssl/ClientKeyExchangeService.java - src/java.base/share/classes/sun/security/ssl/DHCrypt.java - src/java.base/share/classes/sun/security/ssl/Debug.java - src/java.base/share/classes/sun/security/ssl/ECDHCrypt.java - src/java.base/share/classes/sun/security/ssl/EllipticPointFormatsExtension.java - src/java.base/share/classes/sun/security/ssl/ExtensionType.java - src/java.base/share/classes/sun/security/ssl/HandshakeInStream.java - src/java.base/share/classes/sun/security/ssl/HandshakeMessage.java - src/java.base/share/classes/sun/security/ssl/HandshakeStateManager.java - src/java.base/share/classes/sun/security/ssl/Handshaker.java - src/java.base/share/classes/sun/security/ssl/HelloExtension.java - src/java.base/share/classes/sun/security/ssl/HelloExtensions.java - src/java.base/share/classes/sun/security/ssl/MAC.java - src/java.base/share/classes/sun/security/ssl/MaxFragmentLengthExtension.java - src/java.base/share/classes/sun/security/ssl/NamedGroup.java - src/java.base/share/classes/sun/security/ssl/NamedGroupType.java - src/java.base/share/classes/sun/security/ssl/OCSPStatusRequest.java - src/java.base/share/classes/sun/security/ssl/ProtocolList.java - src/java.base/share/classes/sun/security/ssl/RenegotiationInfoExtension.java - src/java.base/share/classes/sun/security/ssl/ServerHandshaker.java - src/java.base/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java - src/java.base/share/classes/sun/security/ssl/StatusRequest.java - src/java.base/share/classes/sun/security/ssl/StatusRequestType.java - src/java.base/share/classes/sun/security/ssl/UnknownExtension.java - src/java.base/share/classes/sun/security/ssl/UnknownStatusRequest.java - src/java.security.jgss/share/classes/sun/security/krb5/internal/ssl/KerberosPreMasterSecret.java - src/java.security.jgss/share/classes/sun/security/krb5/internal/ssl/Krb5KeyExchangeService.java ! test/jdk/ProblemList.txt - test/jdk/sun/security/krb5/auto/SSL.java - test/jdk/sun/security/krb5/auto/SSLwithPerms.java - test/jdk/sun/security/krb5/auto/UnboundSSL.java - test/jdk/sun/security/krb5/auto/UnboundSSLMultipleKeys.java - test/jdk/sun/security/krb5/auto/UnboundSSLPrincipalProperty.java - test/jdk/sun/security/krb5/auto/UnboundSSLUtils.java - test/jdk/sun/security/krb5/auto/unbound.ssl.jaas.conf - test/jdk/sun/security/krb5/auto/unbound.ssl.policy - test/jdk/sun/security/ssl/ExtensionType/OptimalListSize.java - test/jdk/sun/security/ssl/SSLEngineImpl/CloseInboundException.java - test/jdk/sun/security/ssl/StatusStapling/RunStatReqSelect.java - test/jdk/sun/security/ssl/StatusStapling/TEST.properties - test/jdk/sun/security/ssl/StatusStapling/TestRun.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/BogusStatusRequest.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/CertStatusReqExtensionTests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/CertStatusReqItemV2Tests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/CertStatusReqListV2ExtensionTests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/OCSPStatusRequestTests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/StatusReqSelection.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/StatusResponseManagerTests.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/TestCase.java - test/jdk/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/TestUtils.java Changeset: 53772937ea84 Author: pliden Date: 2018-06-27 19:45 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/53772937ea84 8205676: ZGC: Remove TLAB allocations in relocation path Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zObjectAllocator.cpp Changeset: 3c45465c70ff Author: pliden Date: 2018-06-27 19:45 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3c45465c70ff 8205678: ZGC: Remove unused ZAllocationFlags::java_thread() Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zAllocationFlags.hpp ! src/hotspot/share/gc/z/zObjectAllocator.cpp Changeset: d21a3d3aa4fb Author: dfuchs Date: 2018-06-27 20:19 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d21a3d3aa4fb 8205397: InetAddress has wrong declaration for readObjectNoData Reviewed-by: alanb, rriggs ! make/gensrc/Gensrc-jdk.hotspot.agent.gmk ! src/java.base/share/classes/java/net/InetAddress.java Changeset: b970fae53807 Author: glaubitz Date: 2018-06-27 21:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b970fae53807 8205616: Build fails with system headers after 8204572 Reviewed-by: erikj Contributed-by: Magnuse Ihse Bursie , Fridrich Strba ! make/common/JdkNativeCompilation.gmk Changeset: efaf00d8858a Author: dfuchs Date: 2018-06-27 21:18 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/efaf00d8858a 8205945: Revert unintended changes to make/gensrc/Gensrc-jdk.hotspot.agent.gmk Reviewed-by: jjg, erikj ! make/gensrc/Gensrc-jdk.hotspot.agent.gmk Changeset: 9b0e2937fac5 Author: iignatyev Date: 2018-06-27 13:43 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9b0e2937fac5 8199265: java/util/Arrays/TimSortStackSize2.java fails with OOM Reviewed-by: dholmes ! test/jdk/java/util/Arrays/TimSortStackSize2.java Changeset: 208eff1d03e0 Author: jjg Date: 2018-06-27 14:20 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/208eff1d03e0 8205438: Re-enable shebang tests in test/jdk/tools/launchers/SourceMode.java Reviewed-by: mchung ! test/jdk/tools/launcher/SourceMode.java Changeset: b1b5306fadea Author: ccheung Date: 2018-06-27 14:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b1b5306fadea 8203664: JFR start failure after AppCDS archive created with JFR StartFlightRecording Summary: disable JFR and output a warning message during CDS dump time if JFR is enabled. Reviewed-by: jiangli, lfoltan ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.cpp ! test/hotspot/jtreg/runtime/appcds/CDSandJFR.java Changeset: 4360af3ad94c Author: redestad Date: 2018-06-27 22:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4360af3ad94c 8205926: Support invokeSpecialIFC in GenerateJLIClassesPlugin Reviewed-by: psandoz, mchung ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin.java Changeset: 5ee8decaf35e Author: iignatyev Date: 2018-06-27 15:15 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5ee8decaf35e 8202554: Remove hotspot tests for javafx.* modules Reviewed-by: kvn ! test/hotspot/jtreg/TEST.groups - test/hotspot/jtreg/applications/ctw/modules/javafx_base.java - test/hotspot/jtreg/applications/ctw/modules/javafx_controls.java - test/hotspot/jtreg/applications/ctw/modules/javafx_fxml.java - test/hotspot/jtreg/applications/ctw/modules/javafx_graphics.java - test/hotspot/jtreg/applications/ctw/modules/javafx_media.java - test/hotspot/jtreg/applications/ctw/modules/javafx_swing.java - test/hotspot/jtreg/applications/ctw/modules/javafx_web.java Changeset: 55db6189e827 Author: erikj Date: 2018-06-27 16:17 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/55db6189e827 8205942: Build failure on macosx after JDK-8189429 Reviewed-by: tbell, lancea ! make/gensrc/Gensrc-jdk.hotspot.agent.gmk Changeset: 9ca5f18240b2 Author: iignatyev Date: 2018-06-27 16:19 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ca5f18240b2 8205954: clean up hotspot ProblemList Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList.txt Changeset: 1857ca5aca37 Author: hannesw Date: 2018-06-28 01:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1857ca5aca37 8190876: javadoc search on "java.se" shows "java.se" the last one among other modules Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java Changeset: a9938374a9f4 Author: iignatyev Date: 2018-06-27 16:57 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a9938374a9f4 8160673: Jittester: investigate bytecode generation hangs during bytecode tests generation Reviewed-by: iveresov ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/visitors/ByteCodeVisitor.java Changeset: 2d3e99a72541 Author: never Date: 2018-06-27 17:02 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2d3e99a72541 8205824: Update Graal Reviewed-by: iveresov, kvn ! src/hotspot/.mx.jvmci/eclipse-settings/org.eclipse.jdt.core.prefs ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompiler.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.aarch64/src/jdk/vm/ci/aarch64/AArch64Kind.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.amd64/src/jdk/vm/ci/amd64/AMD64Kind.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/CodeUtil.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/RegisterArray.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/RegisterConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.common/src/jdk/vm/ci/common/InitTimer.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.common/src/jdk/vm/ci/common/NativeImageReinitialize.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotJVMCIBackendFactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.amd64/src/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.sparc/src/jdk/vm/ci/hotspot/sparc/SPARCHotSpotJVMCIBackendFactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/EmptyEventProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotCodeCacheProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotCompilationRequestResult.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotCompressedNullConstant.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantPool.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantReflectionProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIBackendFactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCICompilerFactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIMetaAccessContext.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java - src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMetaAccessProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMetaspaceConstantImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethod.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodHandleAccessProvider.java - src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodUnresolved.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotObjectConstant.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotObjectConstantImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaField.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethod.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotSentinelConstant.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotSignature.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotSpeculationLog.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotStackIntrospection.java - src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotUnresolvedField.java - src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotUnresolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/VMField.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Assumptions.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/DefaultProfilingInfo.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/JavaConstant.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/JavaKind.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MetaAccessProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaField.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaMethod.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/SpeculationLog.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/UnresolvedJavaField.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/UnresolvedJavaMethod.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/UnresolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ValueKind.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/Services.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.sparc/src/jdk/vm/ci/sparc/SPARCKind.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalManagement.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalRuntimeMBean.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/JMXServiceProvider.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/package-info.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapImplTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapLargeTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicSetTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EquivalenceTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/PairTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicMap.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicMapImpl.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicSet.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/Equivalence.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/MapCursor.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/Pair.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableEconomicMap.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableEconomicSet.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableMapCursor.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/package-info.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/ComparableWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/LocationIdentity.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/Pointer.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/PointerBase.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/SignedWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/UnsignedWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/WordBase.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/WordFactory.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordBoxFactory.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordFactoryOpcode.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordFactoryOperation.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/BlackholeDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ControlFlowAnchorDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/DeoptimizeDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/IterationDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/OpaqueDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ProbabilityDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives/src/org/graalvm/compiler/api/directives/GraalDirectives.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.replacements/src/org/graalvm/compiler/api/replacements/ClassSubstitution.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.replacements/src/org/graalvm/compiler/api/replacements/Fold.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.replacements/src/org/graalvm/compiler/api/replacements/MethodSubstitution.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.replacements/src/org/graalvm/compiler/api/replacements/MethodSubstitutionRegistry.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.replacements/src/org/graalvm/compiler/api/replacements/Snippet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.replacements/src/org/graalvm/compiler/api/replacements/SnippetReflectionProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.replacements/src/org/graalvm/compiler/api/replacements/SnippetTemplateCache.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.runtime/src/org/graalvm/compiler/api/runtime/GraalJVMCICompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.runtime/src/org/graalvm/compiler/api/runtime/GraalRuntime.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.test/src/org/graalvm/compiler/api/test/Graal.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.test/src/org/graalvm/compiler/api/test/GraalAPITest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64MacroAssemblerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64Address.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64.test/src/org/graalvm/compiler/asm/amd64/test/BitOpsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64.test/src/org/graalvm/compiler/asm/amd64/test/IncrementDecrementMacroTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64.test/src/org/graalvm/compiler/asm/amd64/test/SimpleAssemblerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64Address.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64AsmOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64InstructionAttr.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64VectorAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AVXKind.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc.test/src/org/graalvm/compiler/asm/sparc/test/BitSpecTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc.test/src/org/graalvm/compiler/asm/sparc/test/SPARCAssemblerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCAddress.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCInstructionCounter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCMacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.test/src/org/graalvm/compiler/asm/test/AssemblerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/AbstractAddress.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/AsmOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Buffer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Label.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/BridgeMethodUtils.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/Bytecode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/BytecodeDisassembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/BytecodeLookupSwitch.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/BytecodeProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/BytecodeStream.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/BytecodeSwitch.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/BytecodeTableSwitch.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/Bytecodes.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/Bytes.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/ResolvedJavaMethodBytecode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.bytecode/src/org/graalvm/compiler/bytecode/ResolvedJavaMethodBytecodeProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/CompilationResult.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/DataSection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/DisassemblerProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/HexCodeFile.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/HexCodeFileDisassemblerProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/SourceMapping.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/SourceStackTraceBailoutException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64AddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64FloatConvertOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRKindTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64MoveFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ReadReplacementPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64SuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64.test/src/org/graalvm/compiler/core/amd64/test/AMD64AddressLoweringTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64.test/src/org/graalvm/compiler/core/amd64/test/AMD64AllocatorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64.test/src/org/graalvm/compiler/core/amd64/test/ConstantStackMoveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64.test/src/org/graalvm/compiler/core/amd64/test/MatchRuleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64.test/src/org/graalvm/compiler/core/amd64/test/StackStoreTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64AddressLowering.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64AddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64CompressAddressLowering.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRKindTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64MoveFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64MoveFactoryBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64SuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/CancellationBailoutException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/CompilationIdentifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/CompilationRequestIdentifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/CompressEncoding.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/FieldIntrospection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/Fields.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/FieldsScanner.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/GraalBailoutException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/GraalOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/LIRKind.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/NumUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/PermanentBailoutException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/RetryableBailoutException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/SuppressFBWarnings.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/BiDirectionalTraceBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/ComputeBlockOrder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/RegisterAllocationConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/SingleBlockTraceBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/Trace.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/TraceBuilderResult.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/TraceMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/TraceStatisticsPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/calc/CanonicalCondition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/calc/Condition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/calc/FloatConvert.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/calc/FloatConvertCategory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/calc/UnsignedMath.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/AbstractBlockBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/BlockMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/CFGVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/DominatorOptimizationProblem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/Loop.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/PrintableCFG.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/PrintableDominatorOptimizationProblem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/PropertyConsumable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ArrayOffsetProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/CodeGenProviders.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ConstantFieldProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ForeignCallDescriptor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ForeignCallLinkage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/JavaConstantFieldProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/LIRKindTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/AbstractObjectStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/AbstractPointerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/ArithmeticOpTable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/ArithmeticStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/DataPointerConstant.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/FloatStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/IllegalStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/IntegerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/ObjectStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/PrimitiveStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/RawPointerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/Stamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/StampFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/StampPair.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/TypeReference.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/VoidStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/BitMap2D.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/CompilationAlarm.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/FrequencyEncoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/IntList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/ReversedList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/TypeConversion.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/TypeReader.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/TypeWriter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeArrayTypeReader.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeArrayTypeWriter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsignedLong.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/Util.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.match.processor/src/org/graalvm/compiler/core/match/processor/MatchProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCAddressLowering.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCImmediateAddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCIndexedAddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCIntegerCompareCanonicalizationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCLIRKindTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCMoveFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCNodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCNodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCSuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/AllocSpy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ArrayLengthProviderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/BasePhaseBinaryGraphTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/BoxingEliminationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/BoxingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ByteBufferTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CanonicalizedConversionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CheckGraalInvariants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CommonedConstantsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConcreteSubtypeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationMulTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest10.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest11.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest12.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest13.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest14.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest15.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest5.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest6.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest7.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest8.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest9.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalNodeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConstantArrayReadFoldingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CopyOfVirtualizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CountedLoopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CustomizedBytecodePatternTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/DeMorganCanonicalizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/DegeneratedLoopsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/DirectByteBufferTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/DontReuseArgumentSpaceTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/DumpPathTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/EnumSwitchTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/FinalizableSubclassTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/FindUniqueConcreteMethodBugTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/FindUniqueDefaultMethodTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/FloatOptimizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/FloatingReadTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraalCompilerAssumptionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraalCompilerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraalDebugHandlersFactoryTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraphEncoderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraphResetDebugTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraphScheduleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GuardPrioritiesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GuardedIntrinsicTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/HashCodeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/HashMapGetTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/IfCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/IfReorderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ImplicitNullCheckTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InfopointReasonTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InstalledCodeInvalidationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/IntegerEqualsCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/IntegerStampMulFoldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InterfaceMethodHandleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InvokeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InvokeHintsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/LockEliminationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/LongNodeChainTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/LoopFullUnrollTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/LoopUnswitchTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MarkUnsafeAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MemoryArithmeticTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MemoryGraphCanonicalizeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MemoryScheduleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MergeCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MethodHandleEagerResolution.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MonitorGraphTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NarrowingReadTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NestedArithmeticTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NestedLoopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NodePosIteratorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NodePropertiesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OffHeapUnsafeAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OnStackReplacementTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/PhiCreationTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ProfilingInfoTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/PushNodesThroughPiTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/PushThroughIfTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReadAfterCheckCastTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReassociateAndCanonicalTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReentrantBlockIteratorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReferenceGetLoopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReflectionOptionDescriptors.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReverseBytesIntoArrayRegressionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ScalarTypeSystemTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SchedulingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SchedulingTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ShortCircuitNodeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SimpleCFGTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/StableArrayReadFoldingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/StampCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/StampMemoryAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/StaticInterfaceFieldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/StraighteningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordArrayStoreTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordFieldStoreTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordInputTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordInputTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordReturnTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubWordTestUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SwitchDyingLoopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/TrivialInliningExplosionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/TypeSystemTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/TypeWriterTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnbalancedMonitorsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UncheckedInterfaceProviderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnsafeReadEliminationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnsafeVirtualizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnsignedLongTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnusedArray.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyBailoutUsageTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyDebugUsageTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyVirtualizableTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ZeroSignExtendTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/backend/AllocatorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/backend/BackendTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/deopt/CompiledMethodTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/deopt/MonitorDeoptTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/deopt/RethrowDeoptMaterializeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/deopt/SafepointRethrowDeoptTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/deopt/SynchronizedMethodDeoptimizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/CountUppercaseParallelTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/EAMergingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/EATestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/EarlyReadEliminationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/EscapeAnalysisTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/NestedBoxingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PEAAssertionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PEAReadEliminationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PartialEscapeAnalysisTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PartialEscapeAnalysisTreesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PartialEscapeUnsafeStoreTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PoorMansEATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/TrufflePEATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/UnsafeEATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/InliningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/NestedLoopEffectsPhaseComplexityTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/PolymorphicInliningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/GraalTutorial.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/InvokeGraal.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysis.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysisTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/CompilationPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/CompilationWrapper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/CompilerThread.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/CompilerThreadFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/GraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/GraalCompilerOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/LIRGenerationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/BytecodeParserTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/DebugInfoBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/InstructionPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/ComplexMatchResult.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/ComplexMatchValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchPattern.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchRule.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchRuleRegistry.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchStatement.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchStatementSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchableNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchableNodes.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/CommunityCompilerConfiguration.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/EconomyCompilerConfiguration.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/EconomyHighTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/EconomyLowTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/EconomyMidTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/GraphChangeMonitoringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/HighTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/LowTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/MidTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/target/Backend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/CSVUtilTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/DebugContextTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/TimerKeyTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/VersionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/AbstractKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/AccumulatedKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/Assertions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/CSVUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/CausableByCompilerAssert.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/CloseableCounter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/CounterKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/CounterKeyImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugCloseable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugConfigImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugDumpHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugDumpScope.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugFilter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugHandlersFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugMemUseTracker.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugVerifyHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DiagnosticsOutputDirectory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/GlobalMetrics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/GraalError.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/IgvDumpChannel.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/Indent.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/JavaMethodContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/KeyRegistry.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/LogStream.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/MemUseTrackerKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/MemUseTrackerKeyImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/MethodFilter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/MetricKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/PathUtilities.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/ScopeImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/TTY.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/TTYStreamProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/TimeSource.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/TimerKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/TimerKeyImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/Versions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/GraphTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/NodeBitMapTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/NodeMapTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/NodeUsagesTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/NodeValidationChecksTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/TestNodeInterface.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/TypedNodeIteratorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/TypedNodeIteratorTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/graphio/GraphSnippetTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/graphio/NodeEncodingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/matchers/NodeIterableContains.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/matchers/NodeIterableCount.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/matchers/NodeIterableIsEmpty.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/CachedGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Edges.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/GraalGraphError.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Graph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/GraphNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/InlineCacheGuardPosition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/InputEdges.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/IterableNodeType.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeBitMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeFlood.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeIdAccessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeInputList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeInterface.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeSourcePosition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeStack.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeSuccessorList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeUnionFind.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeUsageIterable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeUsageIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeUsageWithModCountIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeWorkList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Position.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/SourceLanguagePosition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/SourceLanguagePositionProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/SuccessorEdges.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/TypedGraphNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/VerificationError.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/iterators/FilteredNodeIterable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/iterators/NodeIterable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/iterators/NodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/iterators/NodePredicate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/iterators/NodePredicates.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/iterators/PredicatedProxyNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/spi/Canonicalizable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/spi/CanonicalizerTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/spi/Simplifiable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/spi/SimplifierTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotCRuntimeCallEpilogueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotCRuntimeCallPrologueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotConstantRetrievalOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDeoptimizeCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDeoptimizeOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDirectStaticCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDirectVirtualCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotJumpToExceptionHandlerInCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoadAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoadConfigValueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotMoveFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotNodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotPatchReturnAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotRegisterAllocationConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotReturnOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotSafepointOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotStrategySwitchOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotUnwindOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64IndirectCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/ArrayAccessInLoopToAddressTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/CompressedNullCheckTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/DataPatchInConstantsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/StubAVXTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64DeoptimizeOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotAddressLowering.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotCRuntimeCallEpilogueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotCRuntimeCallPrologueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotConstantRetrievalOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotCounterOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotDeoptimizeCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotDirectStaticCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotEpilogueBlockEndOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotEpilogueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotJumpToExceptionHandlerInCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLIRKindTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLeaveDeoptimizedStackFrameOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoadAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoadConfigValueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotMathIntrinsicOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotMaths.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotMoveFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotPatchReturnAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotPushInterpreterFrameOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotRegisterAllocationConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotRestoreRbpOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotReturnOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotSafepointOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotStrategySwitchOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotSuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotUnwindOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotspotDirectVirtualCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64IndirectCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64MathStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64TailcallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.lir.test/src/org/graalvm/compiler/hotspot/lir/test/ExceedMaxOopMapStackOffset.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc.test/src/org/graalvm/compiler/core/sparc/test/SPARCAllocatorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCDeoptimizeOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotCRuntimeCallEpilogueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotCRuntimeCallPrologueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotCounterOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotDeoptimizeCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotEpilogueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerInCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLeaveCurrentStackFrameOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLeaveDeoptimizedStackFrameOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotMoveFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotPatchReturnAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotPushInterpreterFrameOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotRegisterAllocationConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotReturnOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotSafepointOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotStrategySwitchOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotUnwindOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotspotDirectStaticCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotspotDirectVirtualCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCIndirectCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/AheadOfTimeCompilationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ArrayNewInstanceTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CRC32CSubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CRC32SubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ClassSubstitutionsTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompilationWrapperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompileTheWorld.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompileTheWorldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompressedOopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ConstantPoolSubstitutionsTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/DataPatchTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/EliminateRedundantInitializationPhaseTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ExplicitExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ForeignCallDeoptimizeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/GraalOSRLockTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/GraalOSRTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/GraalOSRTestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotCryptoSubstitutionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotGraalCompilerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotInvokeDynamicPluginTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotLazyInitializationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotMethodSubstitutionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotMonitorValueTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotNmethodTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotNodeSubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotResolvedJavaFieldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotResolvedObjectTypeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotStackIntrospectionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotStampMemoryAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotUnsafeSubstitutionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HsErrLogTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/InstalledCodeExecuteHelperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/JVMCIInfopointErrorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/LoadJavaMirrorWithKlassTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/MemoryUsageBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ObjectCloneTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/OptionsInFileTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ReplaceConstantNodesPhaseTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/TestIntrinsicCompiles.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/TestSHASubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/WriteBarrierVerificationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/AOTGraalHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/BootstrapWatchDog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CommunityCompilerConfigurationFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationCounters.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationStatistics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationTask.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationWatchDog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilerConfigurationFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilerRuntimeHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/EconomyCompilerConfigurationFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotCodeCacheListener.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotCompilationIdentifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotCompiledCodeBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotCounterOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotDataBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotDebugInfoBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotForeignCallLinkage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotForeignCallLinkageImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompilerFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalJVMCIServiceLocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalOptionValues.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalRuntime.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalVMEventListener.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotHostBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotInstructionProfiling.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotLIRGenerationResult.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotLockStack.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotNodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReferenceMapBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotTTYStreamProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/IsGraalPredicate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/JVMCIVersionCheck.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/NodeCostDumpUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/PrintStreamOptionKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/WeakClassLoaderSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/debug/BenchmarkCounters.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/lir/HotSpotZapRegistersPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/lir/VerifyMaxRegisterSizePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/AddressLoweringHotSpotSuitesProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotAOTProfilingPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotClassInitializationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotConstantFieldProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotDisassemblerProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProviderImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGraalConstantFieldProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotInvocationPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotNodePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotProfilingPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotProviders.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotRegisters.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotSnippetReflectionProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotStampProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotSuitesProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotUnsafeSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotWordOperationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/IntrinsificationPredicate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/AcquiredCASLockNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/AllocaNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/ArrayRangeWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/BeginLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/ComputeObjectAddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/CurrentJavaThreadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/CurrentLockNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DeoptimizeCallerNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DeoptimizingStubCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DimensionsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/EndLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/FastAcquireBiasedLockNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1ArrayRangePostWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1ArrayRangePreWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1PostWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1PreWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1ReferentFieldReadBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/GetObjectAddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/GraalHotSpotVMConfigNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/HotSpotCompressionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/HotSpotDirectCallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/HotSpotIndirectCallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/JumpToExceptionHandlerNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/LoadIndexedPointerNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/MonitorCounterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/ObjectWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/PatchReturnAddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/SerialArrayRangeWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/SerialWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/StubForeignCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/StubStartNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/VMErrorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/WriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/EncodedSymbolNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/InitializeKlassNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/InitializeKlassStubCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/LoadConstantIndirectlyFixedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/LoadConstantIndirectlyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersIndirectlyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveConstantNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveConstantStubCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveDynamicConstantNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveDynamicStubCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveMethodAndLoadCountersNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveMethodAndLoadCountersStubCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/profiling/ProfileBranchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/profiling/ProfileInvokeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/profiling/ProfileNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/profiling/ProfileWithNotificationNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/profiling/RandomSeedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/type/HotSpotNarrowOopStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/type/MetaspacePointerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/type/MethodCountersPointerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/type/MethodPointerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/AheadOfTimeVerificationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/LoadJavaMirrorWithKlassPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/OnStackReplacementPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/WriteBarrierAdditionPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/WriteBarrierVerificationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/AOTInliningPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/EliminateRedundantInitializationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/profiling/FinalizeProfileNodesPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/AESCryptSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/AssertionSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/BigIntegerSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/CRC32CSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/CRC32Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/CallSiteTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/CipherBlockChainingSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ClassGetHubNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/EncodedSymbolConstant.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HashCodeSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotArraySubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotClassSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotspotSnippetsOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HubGetClassNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/IdentityHashCodeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/InstanceOfSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/KlassLayoutHelperNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/LoadExceptionObjectSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/MonitorSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/NewObjectSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ObjectCloneSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ObjectSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ReflectionGetCallerClassNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ReflectionSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/SHA2Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/SHA5Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/SHASubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/StringToBytesSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ThreadSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/TypeCheckSnippetUtils.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyWithSlowPathNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/arraycopy/CheckcastArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/arraycopy/GenericArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/profiling/ProbabilisticProfileSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/profiling/ProfileSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/ArrayStoreExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/ClassCastExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/CreateExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/DivisionByZeroExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/ExceptionHandlerStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/ForeignCallStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/NewArrayStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/NewInstanceStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/NullPointerExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/OutOfBoundsExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/SnippetStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/Stub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/StubCompilationIdentifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/StubOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/StubUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/UnwindExceptionToCallerStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/VerifyOopStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/word/HotSpotOperation.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/word/HotSpotWordTypes.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/word/KlassPointer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/word/MetaspacePointer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/word/MethodCountersPointer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/word/MethodPointer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/word/PointerCastNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BciBlockMapping.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParser.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParserOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/ComputeLoopFrequenciesClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/DefaultSuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/FrameStateBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/GraphBuilderPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/JsrNotSupportedBailout.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/JsrScope.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/LargeLocalLiveness.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/LocalLiveness.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/SmallLocalLiveness.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/SuitesProviderBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/JTTTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/backend/ConstantPhiTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/backend/EmptyMethodTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/backend/LargeConstantSectionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_aaload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_aaload_1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_aastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_aload_0.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_aload_1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_aload_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_aload_3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_anewarray.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_areturn.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_arraylength.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_athrow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_baload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_bastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_caload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_castore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_checkcast01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_checkcast02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_checkcast03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_d2f.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_d2i01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_d2i02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_d2l01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_d2l02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_d2l03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dadd.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_daload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp07.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp08.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp09.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dcmp10.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ddiv.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dmul.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dneg.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dneg2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_double_base.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_drem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dreturn.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dsub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_dsub2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_f2d.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_f2i01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_f2i02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_f2l01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_f2l02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fadd.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_faload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp07.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp08.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp09.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fcmp10.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fdiv.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fload_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_float_base.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fmul.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fneg.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_frem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_freturn.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_fsub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_b.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_c.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_d.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_f.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_i.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_l.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_o.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_s.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getfield_z.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getstatic_b.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getstatic_c.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getstatic_d.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getstatic_f.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getstatic_i.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getstatic_l.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getstatic_s.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_getstatic_z.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_i2b.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_i2c.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_i2d.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_i2f.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_i2l.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_i2s.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iadd.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iadd2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iadd3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iadd_const0.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iadd_const1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iadd_const2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iadd_const3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iaload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iand.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iconst.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_idiv.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_idiv2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_idiv_overflow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifeq.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifeq_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifeq_3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifge.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifge_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifge_3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifgt.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ificmplt1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ificmplt2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ificmpne1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ificmpne2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifle.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iflt.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifne.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifnonnull.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifnonnull_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifnonnull_3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifnull.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifnull_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ifnull_3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iinc_1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iinc_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iinc_3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iinc_4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iload_0.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iload_0_1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iload_0_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iload_1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iload_1_1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iload_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iload_3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_imul.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ineg.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_instanceof.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_instanceof01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_invokeinterface.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_invokespecial.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_invokespecial2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_invokestatic.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_invokevirtual.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ior.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_irem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_irem2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_irem3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_irem4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ireturn.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ishl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ishr.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_isub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_iushr.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ixor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_l2d.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_l2f.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_l2i.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_l2i_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ladd.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ladd2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_laload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_land.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lcmp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldc_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldc_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldc_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldc_04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldc_05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldc_06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldiv.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldiv2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldiv3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_ldiv_overflow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lload_0.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lload_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lload_1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lload_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lload_3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lmul.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lneg.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lookupswitch01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lookupswitch02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lookupswitch03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lookupswitch04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lookupswitch05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lrem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lrem2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lreturn.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lshl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lshr.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lshr02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lsub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lushr.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_lxor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_monitorenter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_monitorenter02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_multianewarray01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_multianewarray02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_multianewarray03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_multianewarray04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_new.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_newarray.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_newarray_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_putfield_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_putfield_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_putfield_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_putfield_04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_putstatic.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_saload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_sastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_tableswitch.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_tableswitch2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_tableswitch3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_tableswitch4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_wide01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/bytecode/BC_wide02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_aaload0.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_aaload1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_aastore0.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_aastore1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_anewarray.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_arraylength.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_athrow0.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_athrow1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_athrow2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_athrow3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_baload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_bastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_caload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_castore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_checkcast.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_checkcast1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_checkcast2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_checkcast3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_checkcast4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_checkcast5.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_checkcast6.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_daload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_dastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_faload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_fastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_getfield.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_getfield1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_iaload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_iastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_idiv.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_idiv2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_invokespecial01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_invokevirtual01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_invokevirtual02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_irem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_laload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_lastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_ldiv.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_ldiv2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_lrem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_monitorenter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_multianewarray.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_newarray.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_putfield.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_saload.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/BC_sastore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Loop01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Loop02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Loop03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NASE_1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NASE_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_00.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_07.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_08.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_09.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_10.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_NPE_11.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_StackOverflowError_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_StackOverflowError_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_StackOverflowError_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Two01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Two02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Two03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Unresolved.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Unresolved01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Unresolved02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Catch_Unresolved03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Except_Locals.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Except_Synchronized01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Except_Synchronized02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Except_Synchronized03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Except_Synchronized04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Except_Synchronized05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Finally01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Finally02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/StackTrace_AIOOBE_00.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/StackTrace_CCE_00.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/StackTrace_NPE_00.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/StackTrace_NPE_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/StackTrace_NPE_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/StackTrace_NPE_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_InCatch01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_InCatch02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_InCatch03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_InNested.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_NPE_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_Synchronized01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_Synchronized02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_Synchronized03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_Synchronized04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/Throw_Synchronized05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/UntrustedInterfaces.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_allocate01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_allocate02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_allocate03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_allocate04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_array01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_array02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_array03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_array04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_control01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_control02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_convert01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_count.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_dead01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_demo01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_field01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_field02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_field03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_field04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_idea.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_inline01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_inline02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_invoke01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_life.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_nest01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_nest02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_scope01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_scope02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_series.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_trees01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/NotOnDebug.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6186134.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6196102.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6753639.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6823354.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6850611.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6959129.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test7005594.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/CharacterBits.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/Class_getName.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/DivideUnsigned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/EnumMap01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/EnumMap02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/IntegerBits.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/LongBits.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/ShortBits.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/System_currentTimeMillis01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/System_currentTimeMillis02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/System_nanoTime01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/System_nanoTime02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/System_setOut.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/Thread_setName.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/UnsafeAccess01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/UnsafeAllocateInstance01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwapNullCheck.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Boxed_TYPE_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Bridge_method01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/ClassLoader_loadClass01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_Literal01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_asSubclass01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_cast01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_cast02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_forName01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_forName02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_forName03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_forName04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_forName05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getComponentType01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getInterfaces01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getModifiers01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getModifiers02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getName01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getName02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getSimpleName01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getSimpleName02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_getSuperClass01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isArray01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isAssignableFrom01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isAssignableFrom02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isAssignableFrom03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isInstance01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isInstance02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isInstance03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isInstance04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isInstance05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isInstance06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isInstance07.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isInterface01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Class_isPrimitive01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Double_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Double_conditional.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Double_toString.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Float_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Float_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Float_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Float_conditional.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_greater01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_greater02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_greater03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_greaterEqual01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_greaterEqual02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_greaterEqual03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_less01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_less02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_less03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_lessEqual01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_lessEqual02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Int_lessEqual03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/JDK_ClassLoaders01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/JDK_ClassLoaders02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/LambdaEagerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_greater01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_greater02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_greater03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_greaterEqual01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_greaterEqual02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_greaterEqual03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_less01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_less02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_less03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_lessEqual01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_lessEqual02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_lessEqual03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_reverseBytes01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Long_reverseBytes02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_abs.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_cos.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_exact.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_exp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_log.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_log10.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_pow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_round.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_sin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_sqrt.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_tan.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_clone01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_clone02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_equals01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_getClass01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_hashCode01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_hashCode02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_notify01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_notify02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_notifyAll01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_notifyAll02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_toString01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_toString02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_wait01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_wait02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Object_wait03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/ProcessEnvironment_init.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/StringCoding_Scale.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/String_intern01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/String_intern02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/String_intern03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/String_valueOf01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/System_identityHashCode01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/UnaryMath.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/DegeneratedLoop.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop07.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop07_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop08.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop09.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop09_2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop11.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop12.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop13.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop14.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop15.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop16.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/Loop17.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopEscape.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopInline.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopLastIndexOf.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopNewInstance.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopParseLong.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopPhi.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopPhiResolutionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopSpilling.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopSwitch01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/LoopUnroll.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/loop/SpillLoopPhiVariableAtDefinition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/ArrayCompare01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/ArrayCompare02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BC_invokevirtual2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigByteParams01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigDoubleParams02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigFloatParams01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigFloatParams02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigIntParams01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigIntParams02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigInterfaceParams01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigLongParams02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigMixedParams01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigMixedParams02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigMixedParams03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigMixedParams04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigObjectParams01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigObjectParams02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigParamsAlignment.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigShortParams01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/BigVirtualParams01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/Bubblesort.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/ConstantLoadTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/Fibonacci.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/FloatingReads.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/InvokeInterface_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/InvokeInterface_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/InvokeInterface_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/InvokeInterface_04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/InvokeVirtual_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/InvokeVirtual_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/Matrix01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/ReferenceMap01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/StrangeFrames.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/String_format01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/String_format02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_String01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_Unroll.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_boolean01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_byte01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_char01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_double01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_float01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_int01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_long01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/micro/VarArgs_short01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ABCE_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ABCE_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ABCE_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ArrayCopy01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ArrayCopy02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ArrayCopy03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ArrayCopy04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ArrayCopy05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ArrayCopy06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ArrayCopyGeneric.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ArrayLength01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_idiv_16.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_idiv_4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_imul_16.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_imul_4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_ldiv_16.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_ldiv_4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_lmul_16.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_lmul_4.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_lshr_C16.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_lshr_C24.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BC_lshr_C32.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BlockSkip01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/BoxingIdentity.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/CE_InstanceOf.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Cmov01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Cmov02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Conditional01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ConditionalElimination01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ConditionalElimination02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ConvertCompare.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/DeadCode01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/DeadCode02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Cast01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Convert01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Convert02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Convert03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Convert04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Double01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Double02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Double03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Double04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Float01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Float02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Float03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_InstanceOf01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Int01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Int02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Long01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Long02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Fold_Math01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/GuardMovement.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/InferStamp01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Inline01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Inline02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/InstanceOf.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/LLE_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/List_reorder_bug.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Logic0.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/LongToSomethingArray01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_FlowSensitive01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_FlowSensitive02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_FlowSensitive03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_FlowSensitive04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NCE_FlowSensitive05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_byte01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_byte02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_byte03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_char01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_char02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_char03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_short01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_short02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_short03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NestedLoop_EA.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Phi01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Phi02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Phi03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ReassociateConstants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Convert01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Double01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Float01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Int01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Int02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Int03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Int04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_IntShift01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_IntShift02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Long01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Long02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Long03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_Long04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_LongShift01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Reduce_LongShift02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/SchedulingBug_01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/SignExtendShort.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Switch01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Switch02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/TypeCastElem.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/UnsafeDeopt.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Cast01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Cast02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Convert01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Convert02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Double01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Double02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Double03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Field01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Field02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Float01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Float02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_InstanceOf01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_InstanceOf02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_InstanceOf03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Int01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Int02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Int03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Long01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Long02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Long03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/VN_Loop01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_get01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_get02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_get03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getBoolean01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getByte01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getChar01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getDouble01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getFloat01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getInt01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getLength01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getLong01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_getShort01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_newInstance01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_newInstance02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_newInstance03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_newInstance04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_newInstance05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_newInstance06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_set01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_set02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_set03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_setBoolean01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_setByte01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_setChar01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_setDouble01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_setFloat01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_setInt01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_setLong01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Array_setShort01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_getDeclaredField01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_getDeclaredMethod01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_getField01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_getField02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_getMethod01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_getMethod02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance07.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_get01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_get02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_get03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_get04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_getType01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_set01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_set02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_set03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Invoke_except01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Invoke_main01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Invoke_main02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Invoke_main03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Invoke_virtual01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Method_getParameterTypes01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Method_getReturnType01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Monitor_contended01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Monitor_notowner01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Monitorenter01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Monitorenter02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Object_wait01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Object_wait02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Object_wait03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Object_wait04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/SynchronizedLoopExit01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/ThreadLocal01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/ThreadLocal02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/ThreadLocal03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_currentThread01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_getState01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_getState02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_holdsLock01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_isAlive01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_isInterrupted01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_isInterrupted02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_isInterrupted03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_isInterrupted04.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_isInterrupted05.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_join01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_join02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_join03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_new01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_new02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_setPriority01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_sleep01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/threads/Thread_yield01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64AddressValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArrayCompareToOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArrayEqualsOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64AtomicMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64BitManipulationOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64BlockEndOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64BreakpointOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ByteSwapOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64CCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Call.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Compare.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ControlFlow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64FrameMapBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64LIRFlagsVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64LIRInstruction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Move.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64PauseOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64PrefetchOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ReinterpretOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64RestoreRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64SaveRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64SignExtendOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Unary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64AddressValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Arithmetic.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayCompareToOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Binary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64BinaryConsumer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64BlockEndOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64BreakpointOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ByteSwapOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64CCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Call.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ClearRegisterOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ControlFlow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64FrameMapBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64LFenceOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64LIRInstruction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathIntrinsicBinaryOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Move.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MulDivOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64PauseOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64PrefetchOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ReadTimestampCounter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64RestoreRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64SaveRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ShiftOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64SignExtendOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringIndexOfOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Unary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64VZeroUpper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ZapRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ZapStackOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/phases/StackMoveOptimizationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorBinary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorClearOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorCompareOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorLIRInstruction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorShuffle.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorUnary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.jtt/src/org/graalvm/compiler/lir/jtt/ConstantStackCastTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.jtt/src/org/graalvm/compiler/lir/jtt/LIRTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.jtt/src/org/graalvm/compiler/lir/jtt/LIRTestSpecification.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.jtt/src/org/graalvm/compiler/lir/jtt/LIRTestTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.jtt/src/org/graalvm/compiler/lir/jtt/SPARCBranchBailoutTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.jtt/src/org/graalvm/compiler/lir/jtt/StackMoveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.jtt/src/org/graalvm/compiler/lir/jtt/StackStoreLoadTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCAddressValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCArithmetic.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCArrayEqualsOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCBitManipulationOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCBlockEndOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCBreakpointOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCByteSwapOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCControlFlow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCDelayedControlTransfer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCFloatCompareOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCFrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCFrameMapBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCImmediateAddressValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCIndexedAddressValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCJumpOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCLIRInstruction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCLIRInstructionMixin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCLoadConstantTableBaseOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCOP3Op.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCOPFOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCPauseOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCPrefetchOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCSaveRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCTailDelayedLIRInstruction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.test/src/org/graalvm/compiler/lir/test/CompositeValueReplacementTest1.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.test/src/org/graalvm/compiler/lir/test/GenericValueMapTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.test/src/org/graalvm/compiler/lir/test/alloc/trace/TraceGlobalMoveResolutionMappingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/BailoutAndRestartBackendException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/CompositeValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/CompositeValueClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/ConstantValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/ControlFlowOptimizer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/EdgeMoveOptimizer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/FullInfopointOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/InstructionStateProcedure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/InstructionValueConsumer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/InstructionValueProcedure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRFrameState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInsertionBuffer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInstruction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInstructionClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRIntrospection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRValueUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LabelRef.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/NullCheckOptimizer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/Opcode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/RedundantMoveElimination.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/StandardOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/StateProcedure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/SwitchStrategy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/ValueConsumer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/ValueProcedure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/Variable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/VirtualStackSlot.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/AllocationStageVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/OutOfRegistersException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/RegisterAllocationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/SaveCalleeSaveRegisters.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/Interval.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/IntervalWalker.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScan.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanAllocationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanAssignLocationsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanEliminateSpillMovePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanIntervalDumper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanOptimizeSpillPositionPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanRegisterAllocationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanResolveDataFlowPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanWalker.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/MoveResolver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/OptimizingLinearScanWalker.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/Range.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/RegisterVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScan.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanEliminateSpillMovePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanLifetimeAnalysisPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanResolveDataFlowPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/ssa/SSAMoveResolver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/GlobalLivenessAnalysisPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/ShadowedRegisterValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceAssertions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceBuilderPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceGlobalMoveResolutionPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceGlobalMoveResolver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/FixedRange.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/RegisterVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAllocationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanEliminateSpillMovePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanRegisterAllocationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanResolveDataFlowPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanWalker.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLocalMoveResolver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/ArrayDataPointerConstant.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilderFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/DataBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/FrameContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/ConstantLoadOptimization.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/ConstantTree.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/ConstantTreeAnalyzer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/DefUseTree.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/UseEntry.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/VariableMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/debug/IntervalDumper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/debug/LIRGenerationDebugContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/dfa/LocationMarker.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/dfa/LocationMarkerPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/dfa/MarkBasePointersPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/dfa/RegStackValueSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/dfa/UniqueWorkList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMapBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMapBuilderImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMapBuilderTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/ReferenceMapBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/SimpleVirtualStackSlot.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/VirtualStackSlotRange.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/BlockValueMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/DiagnosticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerationResult.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/PhiResolver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/VerifyingMoveFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/AllocationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/AllocationStage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/EconomyAllocationStage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/EconomyPostAllocationOptimizationStage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/EconomyPreAllocationOptimizationStage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/GenericContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/LIRPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/LIRPhaseSuite.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/LIRSuites.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/PostAllocationOptimizationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/PostAllocationOptimizationStage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/PreAllocationOptimizationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/PreAllocationOptimizationStage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/profiling/MethodProfilingPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/profiling/MoveProfiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/profiling/MoveProfilingPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/profiling/MoveType.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/ssa/SSAUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/ssa/SSAVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/stackslotalloc/SimpleStackSlotAllocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/stackslotalloc/StackInterval.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/stackslotalloc/StackIntervalDumper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/stackslotalloc/StackSlotAllocatorUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/util/GenericValueMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/util/IndexedValueMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/util/RegisterMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/util/ValueMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/util/ValueSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/util/VariableVirtualStackValueMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/ContextlessLoopPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopFullUnrollPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopPartialUnrollPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopPeelingPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopSafepointEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopTransformations.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopUnswitchingPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/ReassociateInvariantPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.test/src/org/graalvm/compiler/loop/test/LoopPartialUnrollTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.test/src/org/graalvm/compiler/loop/test/LoopsDataTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/BasicInductionVariable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/CountedLoopInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DefaultLoopPolicies.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DerivedConvertedInductionVariable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DerivedInductionVariable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DerivedOffsetInductionVariable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DerivedScaledInductionVariable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/InductionVariable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopEx.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragment.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentInside.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentInsideBefore.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentInsideFrom.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentWhole.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopPolicies.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopsData.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/MathUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/ConditionalEliminationBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/FrameStateAssigmentPhaseBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/GraalBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/GraphCopyBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/NodeBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/SchedulePhaseBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/TestJMHWhitebox.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/FrameStateAssignmentState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/GraalState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/GraalUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/GraphState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/MethodSpec.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/NodesState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/ScheduleState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/CompileTimeBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/GraalCompilerState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/RegisterAllocationTimeBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/trace/ControlFlowGraphState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/trace/TraceBuilderBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/trace/TraceLSRAIntervalBuildingBench.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo.processor/src/org/graalvm/compiler/nodeinfo/processor/ElementException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo.processor/src/org/graalvm/compiler/nodeinfo/processor/GraphNodeProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo.processor/src/org/graalvm/compiler/nodeinfo/processor/GraphNodeVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo/src/org/graalvm/compiler/nodeinfo/InputType.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo/src/org/graalvm/compiler/nodeinfo/NodeCycles.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo/src/org/graalvm/compiler/nodeinfo/NodeInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo/src/org/graalvm/compiler/nodeinfo/NodeSize.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo/src/org/graalvm/compiler/nodeinfo/StructuralInput.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo/src/org/graalvm/compiler/nodeinfo/Verbosity.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/AbstractObjectStampTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/AddNodeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/IfNodeCanonicalizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/IntegerStampTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/LoopLivenessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/LoopPhiCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/NegateNodeCanonicalizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ObjectStampJoinTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ObjectStampMeetTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ObjectStampTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/PrimitiveStampBoundaryTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ReinterpretStampDoubleToLongTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ReinterpretStampFloatToIntTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ReinterpretStampIntToFloatTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ReinterpretStampLongToDoubleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ReinterpretStampTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ShortCircuitOrNodeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/StaticFieldAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/StructuredGraphTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractDeoptimizeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractEndNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractFixedGuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractLocalNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractMergeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractStateSplit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ArithmeticOperation.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/BeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/BeginStateSplitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/BinaryOpLogicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/BreakpointNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/CallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/Cancellable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/CanonicalizableLocation.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/CompressionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ConditionAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ConstantNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ControlSinkNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ControlSplitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DeoptimizeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DeoptimizingFixedWithNextNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DeoptimizingGuard.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DeoptimizingNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DirectCallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DynamicDeoptimizeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DynamicPiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/EncodedGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/EndNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/EntryMarkerNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/EntryProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FieldLocationIdentity.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FixedGuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FixedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FixedNodeInterface.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FixedWithNextNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FloatingAnchoredNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FloatingGuardedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FrameState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FullInfopointNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GraphEncoder.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GraphSpeculationLog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GuardPhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GuardProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GuardedValueNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/IfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/IndirectCallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/InliningLog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/Invokable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/Invoke.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/InvokeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/InvokeWithExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/KillingBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LogicConstantNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LogicNegationNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LogicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopEndNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopExitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoweredCallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/MergeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/NamedLocationIdentity.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/NodeView.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ParameterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/PauseNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/PhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/PiArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/PiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/PrefetchAllocateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ReturnNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SafepointNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ShortCircuitOrNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SnippetAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StartNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StateSplit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StaticDeoptimizingNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/TypeCheckHints.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/UnaryOpLogicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/UnwindNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNodeInterface.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNodeUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValuePhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/VirtualState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/AbsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/AddNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/AndNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/BinaryArithmeticNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/BinaryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/CompareNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ConditionalNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ConvertNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FixedBinaryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FloatConvertNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FloatDivNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FloatEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FloatLessThanNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FloatingNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerBelowNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerConvertNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerDivRemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerLessThanNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerLowerThanNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerTestNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IsNullNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/LeftShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/MulNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NarrowNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NarrowableArithmeticNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NegateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NormalizeCompareNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NotNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ObjectEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/OrNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/PointerEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ReinterpretNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/RemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/RightShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignExtendNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignedDivNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignedRemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SqrtNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SubNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnaryArithmeticNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnaryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnpackEndianHalfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnsignedDivNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnsignedRemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnsignedRightShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/XorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ZeroExtendNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/Block.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/ControlFlowGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/HIRLoop.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/LocationSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/BindToRegisterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/BlackholeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/ControlFlowAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/ControlFlowAnchored.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/DynamicCounterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/OpaqueNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/SpillRegistersNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/StringToBytesNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/VerifyHeapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/WeakCounterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/AnchoringNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/ArrayRangeWrite.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BoxNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BranchProbabilityNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BytecodeExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/FixedValueAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/ForeignCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/GetClassNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/GuardedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/GuardedUnsafeLoadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/GuardingNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/IntegerSwitchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/JavaReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/JavaWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/LoadArrayComponentHubNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/LoadHubNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/LoadMethodNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MembarNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MonitorEnter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MonitorExit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/NullCheckNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/OSRLocalNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/OSRLockNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/OSRMonitorEnterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/OSRStartNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/RawLoadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/RawStoreNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/StateSplitProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/StoreHubNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/SwitchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/UnboxNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/UnsafeAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/UnsafeCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/UnsafeMemoryLoadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/UnsafeMemoryStoreNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/ValueAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/ClassInitializationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/ForeignCallPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GeneratedInvocationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvokeDynamicPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/NodeIntrinsicPluginFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/NodePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/ProfilingPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/TypePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AbstractNewArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AbstractNewObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AccessArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AccessFieldNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AccessIndexedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AccessMonitorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ArrayLengthNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AtomicReadAndAddNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AtomicReadAndWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ClassIsAssignableFromNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/DynamicNewArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/DynamicNewInstanceNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ExceptionObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/FinalFieldBarrierNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ForeignCallDescriptors.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/InstanceOfDynamicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/InstanceOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoadExceptionObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoadFieldNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoadIndexedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LogicCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoweredAtomicReadAndWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/MethodCallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/MonitorEnterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/MonitorExitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/MonitorIdNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewInstanceNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewMultiArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/RawMonitorEnterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/RegisterFinalizerNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/StoreFieldNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/StoreIndexedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/TypeSwitchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ValueCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/AbstractMemoryCheckpoint.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/AbstractWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/Access.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FixedAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatableAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/HeapAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/LIRLowerableAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryCheckpoint.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryPhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/ReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/WriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/AddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/OffsetAddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/ArithmeticLIRLowerable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/ArrayLengthProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LIRLowerable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LimitedValueProxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/Lowerable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LoweringTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/NodeLIRBuilderTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/NodeValueMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/NodeWithState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/Proxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/Replacements.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/StampInverter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/StampProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/UncheckedInterfaceProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/ValueProxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/Virtualizable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/VirtualizableAllocation.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/VirtualizerTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/type/NarrowOopStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/type/StampTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/ConstantFoldUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/GraphUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/JavaConstantFormattable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/JavaConstantFormatter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/AllocatedObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/CommitAllocationNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/EnsureVirtualizedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/EscapeObjectState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/LockState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualBoxingNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualInstanceNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options.processor/src/org/graalvm/compiler/options/processor/OptionProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options.test/src/org/graalvm/compiler/options/test/NestedBooleanOptionKeyTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options.test/src/org/graalvm/compiler/options/test/TestOptionKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/EnumOptionKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/ModifiableOptionValues.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/NestedBooleanOptionKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/Option.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionDescriptor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionDescriptors.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionType.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionValues.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionsParser.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common.test/src/org/graalvm/compiler/phases/common/test/StampFactoryTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/AbstractInliningPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/AddressLoweringByUsePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/AddressLoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/CanonicalizerPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ConditionalEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/DeadCodeEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/DeoptimizationGroupingPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ExpandLogicPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FixReadsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FloatingReadPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FrameStateAssignmentPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/GuardLoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/IncrementalCanonicalizerPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/IterativeConditionalEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LazyValue.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LockEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoopSafepointInsertionPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/NodeCounterPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/NonNullParametersPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ProfileCompiledMethodsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/PropagateDeoptimizeProbabilityPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/RemoveValueProxyPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/UseTrappingNullChecksPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/VerifyHeapAtReturnPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/InliningPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/InliningUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/AbstractInlineInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/AssumptionInlineInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/ExactInlineInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/InlineInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/MultiTypeGuardInlineInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/TypeGuardInlineInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/elem/Inlineable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/elem/InlineableGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/AbstractInliningPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/GreedyInliningPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/InlineEverythingPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/InlineMethodSubstitutionsPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/InliningPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/ComputeInliningRelevance.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/InliningData.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/InliningIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/MethodInvocation.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/util/HashSetNodeEventListener.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/BasePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/ClassTypeSequence.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/LazyName.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/OptimisticOptimizations.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/Phase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/PhaseSuite.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/VerifyPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/contract/NodeCostUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/contract/PhaseSizeContract.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/contract/VerifyNodeCosts.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/FixedNodeProbabilityCache.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/InferStamps.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/MergeableState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/PostOrderNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/ReentrantBlockIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/ReentrantNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/ScheduledNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/ScopedPostOrderNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/SinglePassNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/StatelessPostOrderNodeIterator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/BlockClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/MemoryScheduleVerification.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/SchedulePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/CompilerConfiguration.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/HighTierContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/LowTierContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/MidTierContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/PhaseContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/Suites.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/SuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/SuitesProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/TargetProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/BlockWorkList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/GraphOrder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/MethodDebugValueName.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/Providers.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/ValueMergeUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyBailoutUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyCallerSensitiveMethods.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyDebugUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyGetOptionsUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyGraphAddUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyInstanceOfUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyUpdateUsages.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyUsageWithEquals.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyVirtualizableUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/BinaryGraphPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/CFGPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/CFGPrinterObserver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/CanonicalStringGraphPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/CompilationPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraalDebugHandlersFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraphPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraphPrinterDumpHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/NoDeadCodeVerifyHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.processor/src/org/graalvm/compiler/processor/AbstractProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.processor/src/org/graalvm/compiler/processor/SuppressFBWarnings.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64CountLeadingZerosNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64CountTrailingZerosNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64FloatArithmeticSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64IntegerArithmeticSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64IntegerSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64LongSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64RoundNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64StringLatin1Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64StringUTF16Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ConvertSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64CountLeadingZerosNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64CountTrailingZerosNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64FloatConvertNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64MathSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64RoundNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/VarHandleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/APHotSpotSignature.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/AnnotationHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/ClassSubstitutionHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/FoldHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedFoldPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedNodeIntrinsicPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/InjectedDependencies.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/MethodSubstitutionHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/NodeIntrinsicHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/PluginGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/ReplacementsAnnotationProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.sparc/src/org/graalvm/compiler/replacements/sparc/SPARCGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ArrayStoreBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ArraysSubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/BitOpNodesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/BytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ClassCastBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/CompiledExceptionHandlerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/CompiledNullPointerExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/DeoptimizeOnExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/DeoptimizeOnVolatileReadTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/DerivedOopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/DynamicNewArrayTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/EdgesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/FloatArraysEqualsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/FoldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IndexOobBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/InstanceOfDynamicTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/InstanceOfTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IntegerExactFoldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IntegerSubOverflowsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/InvokeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/MethodSubstitutionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/MonitorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/NestedExceptionHandlerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/NewArrayTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/NewInstanceTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/NewMultiArrayTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/NullBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ObjectAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/PEGraphDecoderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/PointerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/PointerTrackingTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ReplacementsParseTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ReplacementsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SnippetsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StandardMethodSubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringCompareToTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringEqualsConstantTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringHashConstantTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringIndexOfConstantTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringIndexOfTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringIndexOfTestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringSubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SystemArrayCopyTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/TypeCheckTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/UnsafeBooleanAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/UnsignedIntegerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/UnsignedMathTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/UnwindExceptionToCallerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/WordTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/classfile/ClassfileBytecodeProviderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/classfile/RedefineIntrinsicTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ArraySubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ArraysSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/BoxingSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/CachingPEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ConstantBindingParameterPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ConstantStringIndexOfSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/GraphKit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/InlineDuringParsingPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/InstanceOfSnippetsTemplates.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/IntegerSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/IntrinsicGraphBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/JavacBug.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/Log.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/LongSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/MethodHandlePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/NodeIntrinsificationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetCounter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetCounterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetIntegerHistogram.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetLowerableMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetTemplate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/Snippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StringIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StringSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/Classfile.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileBytecode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileBytecodeProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstant.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstantPool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayCompareToNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/AssertionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BitCountNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BitScanForwardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BitScanReverseNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/CStringConstant.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/DirectStoreNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ExplodeLoopNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/LoadSnippetVarargParameterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MacroNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MacroStateSplitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MethodHandleNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/PureFunctionMacroNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ReadRegisterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ResolvedMethodHandleCallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ReverseBytesNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/VirtualizableInvokeMacroNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/WriteRegisterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerAddExactNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerAddExactSplitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerExactArithmeticNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerExactArithmeticSplitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerMulExactNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerMulExactSplitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerMulHighNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerSubExactNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerSubExactSplitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.runtime/src/org/graalvm/compiler/runtime/RuntimeProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider.processor/src/org/graalvm/compiler/serviceprovider/processor/ServiceProviderProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/ServiceProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/AddExports.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/ExportingClassLoader.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/GraalTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLModule.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/SubprocessUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual.bench/src/org/graalvm/compiler/virtual/bench/PartialEscapeBench.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/nodes/MaterializedObjectState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/nodes/VirtualObjectState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EarlyReadEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectsBlockState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectsClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/GraphEffectList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/ObjectState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/VirtualUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/BarrieredAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/ObjectAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/Word.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordCastNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordOperationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordTypes.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/DefaultGraphBlocks.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/DefaultGraphTypes.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphBlocks.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphElements.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphJavadocSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphLocations.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphOutput.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphProtocol.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphStructure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphTypes.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/ProtocolImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/ArrayDuplicationBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/ArrayListBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/BenchmarkBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/BoxingBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/ConcurrentSkipListBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/GuardedIntrinsicBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/HashBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/MathFunctionBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/SimpleSyncBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/StringBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/TestJMHBlackbox.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.util.test/src/org/graalvm/util/test/CollectionSizeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.util.test/src/org/graalvm/util/test/CollectionUtilTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.util/src/org/graalvm/util/CollectionsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.util/src/org/graalvm/util/ObjectSizeEstimate.java ! test/hotspot/jtreg/compiler/jvmci/common/patches/jdk.internal.vm.ci/jdk/vm/ci/hotspot/CompilerToVMHelper.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ConstantPoolTestCase.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetResolvedJavaTypeTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MemoryAccessProviderData.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MemoryAccessProviderTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveConcreteMethodTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveMethodTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 29169633327c Author: cjplummer Date: 2018-06-27 19:09 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/29169633327c 8205719: Windows Java_sun_tools_attach_VirtualMachineImpl_enqueue() method should include exitCode in exception message Summary: Include GetExitCodeThread() result in the exception message Reviewed-by: sspitsyn, dcubed ! src/jdk.attach/windows/native/libattach/VirtualMachineImpl.c Changeset: 480a96a43b62 Author: kvn Date: 2018-06-27 20:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/480a96a43b62 8205528: Base64 encoding algorithm using AVX512 instructions Reviewed-by: kvn, psandoz Contributed-by: smita.kamath at intel.com ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/util/Base64.java ! src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java + test/hotspot/jtreg/compiler/intrinsics/base64/TestBase64.java + test/hotspot/jtreg/compiler/intrinsics/base64/baseEncode.txt + test/hotspot/jtreg/compiler/intrinsics/base64/mimeEncode.txt + test/hotspot/jtreg/compiler/intrinsics/base64/plain.txt + test/hotspot/jtreg/compiler/intrinsics/base64/urlEncode.txt Changeset: 2b7d0e9405cf Author: hb Date: 2018-06-28 09:40 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2b7d0e9405cf 8192953: sun/management/jmxremote/bootstrap/*.sh tests fail with error : revokeall.exe: Permission denied Reviewed-by: cjplummer ! test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh Changeset: 350ae1b408da Author: kbarrett Date: 2018-06-28 00:34 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/350ae1b408da 8205577: parallel/TestPrintGCDetailsVerbose.java fails assertion Summary: Remove unsafe printing. Reviewed-by: dholmes, tschatzl, dcubed, coleenp ! src/hotspot/share/code/nmethod.cpp Changeset: 9084fd587141 Author: stuefe Date: 2018-06-28 07:00 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9084fd587141 8205531: jcmd VM.classloaders should fold similar loaders Reviewed-by: sspitsyn, coleenp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.hpp Changeset: cc318277c142 Author: pliden Date: 2018-06-28 07:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cc318277c142 8205702: assert(UseCompressedClassPointers) failed in universe.hpp Reviewed-by: coleenp, ccheung ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java Changeset: 2c3edd0a6222 Author: simonis Date: 2018-06-28 09:06 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2c3edd0a6222 8205916: [test] Fix jdk/tools/launcher/RunpathTest to handle both, RPATH and RUNPATH Reviewed-by: martin, erikj ! test/jdk/tools/launcher/RunpathTest.java Changeset: cb4b07d61aac Author: pliden Date: 2018-06-28 09:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cb4b07d61aac 8205679: Remove unused ThreadLocalAllocBuffer::undo_allocate() Reviewed-by: shade, stefank ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp Changeset: e84038f37713 Author: jlahoda Date: 2018-06-28 10:05 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e84038f37713 8195986: Incorrect javac -h output with annotation processing and missing classes Summary: When clearing out symbols for a new annotation processing round, preserve types when possible. Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/langtools/tools/javac/processing/rounds/ValidTypesAreKept.java Changeset: addda6247cb0 Author: jlahoda Date: 2018-06-28 10:05 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/addda6247cb0 8205913: Inconsistent source code model Summary: Ensuring variable declarations have non-null modifiers and names. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/jdk/jshell/ToolTabSnippetTest.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: be1020446dd5 Author: igerasim Date: 2018-06-28 01:10 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/be1020446dd5 8205959: Do not restart close if errno is EINTR Reviewed-by: alanb, vtewari ! src/java.base/linux/native/libnet/linux_close.c Changeset: 830b05ca7f58 Author: stefank Date: 2018-06-27 15:02 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/830b05ca7f58 8205923: ZGC: Verification applies load barrier before verification Reviewed-by: pliden, eosterlund ! src/hotspot/share/memory/iterator.hpp ! src/hotspot/share/oops/instanceRefKlass.hpp ! src/hotspot/share/oops/instanceRefKlass.inline.hpp Changeset: d283a214f42b Author: stefank Date: 2018-06-27 15:04 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d283a214f42b 8205923: ZGC: Verification applies load barriers before verification Reviewed-by: pliden, eosterlund ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zHeapIterator.hpp ! src/hotspot/share/gc/z/zOopClosures.cpp ! src/hotspot/share/gc/z/zOopClosures.hpp Changeset: 308410473abe Author: stuefe Date: 2018-06-28 11:32 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/308410473abe 8205925: Print correct and more information about secondary errors Reviewed-by: coleenp, dholmes ! src/hotspot/share/utilities/vmError.cpp Changeset: ce53844224b6 Author: mgronlun Date: 2018-06-28 11:37 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ce53844224b6 8205906: jdk.jfr.jcmd.TestJcmdDumpLimited fails due to erronous processing of -XX:FlightRecorderOptions Reviewed-by: egahlin ! src/hotspot/share/jfr/jfr.cpp ! src/hotspot/share/jfr/jfr.hpp ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.hpp ! test/jdk/jdk/jfr/jcmd/TestJcmdDumpLimited.java Changeset: 551c340ca01a Author: adinn Date: 2018-06-28 10:09 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/551c340ca01a 8205694: AArch64: Add test to validate volatile load, store and CAS code generation Summary: Implement tests to check volatile operations are translated to valid code Reviewed-by: aph, kvn, dpochepk ! src/hotspot/cpu/aarch64/aarch64.ad + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAS.java + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileLoad.java + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileStore.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatileLoad.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatileStore.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesCMS.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesCMSCondMark.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesG1.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesParallel.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesSerial.java Changeset: 2217b2fc29ea Author: pliden Date: 2018-06-28 12:14 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2217b2fc29ea 8205993: ZGC: Fix typos and incorrect indentations Reviewed-by: stefank ! src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.cpp ! src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/gc/z/vmStructs_z.cpp ! src/hotspot/share/gc/z/vmStructs_z.hpp ! src/hotspot/share/gc/z/zAllocationFlags.hpp ! src/hotspot/share/gc/z/zBarrierSet.cpp ! src/hotspot/share/gc/z/zBarrierSet.inline.hpp ! src/hotspot/share/gc/z/zBitMap.inline.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zDirector.cpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zForwardingTable.cpp ! src/hotspot/share/gc/z/zForwardingTable.inline.hpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zList.hpp ! src/hotspot/share/gc/z/zLiveMap.cpp ! src/hotspot/share/gc/z/zLiveMap.inline.hpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zMarkStackEntry.hpp ! src/hotspot/share/gc/z/zObjectAllocator.hpp ! src/hotspot/share/gc/z/zPageAllocator.cpp ! src/hotspot/share/gc/z/zRootsIterator.cpp ! src/hotspot/share/gc/z/zServiceability.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp ! src/hotspot/share/gc/z/zUtils.hpp ! src/hotspot/share/gc/z/zWorkers.cpp Changeset: bfd3c5dfcbea Author: amenkov Date: 2018-06-28 03:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bfd3c5dfcbea 8205681: [TEST_BUG] vmTestbase/nsk/jvmti/Allocate/alloc001/TestDescription.java fails with exit code 98 Reviewed-by: sspitsyn, cjplummer, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/Allocate/alloc001/alloc001.bash Changeset: 700fffd3c871 Author: mgronlun Date: 2018-06-28 13:58 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/700fffd3c871 8205996: JDK-8205906 broke the build on Mac Reviewed-by: thartmann, ehelin ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.cpp Changeset: fb7800b66c92 Author: sundar Date: 2018-06-28 18:04 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fb7800b66c92 8204492: Add deprecation annotation to Nashorn APIs and warning to nashorn, jjs Reviewed-by: jlaskey, hannesw ! make/CompileJavaModules.gmk ! make/nashorn/project.properties ! src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/Main.java ! src/jdk.scripting.nashorn.shell/share/classes/module-info.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/linker/NashornLinkerExporter.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/AbstractJSObject.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ClassFilter.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/JSObject.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornException.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/URLReader.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ArrayAccessTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ArrayLiteralTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/AssignmentTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BinaryTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BlockTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BreakTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CaseTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CatchTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ClassDeclarationTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ClassExpressionTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CompilationUnitTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CompoundAssignmentTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ConditionalExpressionTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ConditionalLoopTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ContinueTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DebuggerTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Diagnostic.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DiagnosticListener.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DoWhileLoopTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/EmptyStatementTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ErroneousTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExportEntryTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExpressionStatementTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExpressionTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForInLoopTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForLoopTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForOfLoopTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionCallTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionDeclarationTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionExpressionTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/GotoTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IdentifierTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IfTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ImportEntryTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/InstanceOfTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LabeledStatementTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LineMap.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LiteralTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LoopTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/MemberSelectTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ModuleTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/NewTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ObjectLiteralTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ParenthesizedTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Parser.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/PropertyTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/RegExpLiteralTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ReturnTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/SimpleTreeVisitorES5_1.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/SimpleTreeVisitorES6.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/SpreadTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/StatementTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/SwitchTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TemplateLiteralTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ThrowTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Tree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TreeVisitor.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TryTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/UnaryTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/UnknownTreeException.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/VariableTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/WhileLoopTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/WithTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/YieldTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/tools/Shell.java ! src/jdk.scripting.nashorn/share/classes/module-info.java ! test/jdk/sun/tools/jrunscript/jrunscript-eTest.sh ! test/jdk/sun/tools/jrunscript/jrunscript-fTest.sh ! test/jdk/sun/tools/jrunscript/jrunscriptTest.sh ! test/jdk/tools/jjs/jjs-fileTest.sh ! test/nashorn/script/nosecurity/JDK-8193137.js Changeset: d90c3cbf13df Author: rwestberg Date: 2018-06-28 15:06 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d90c3cbf13df 8003209: JFR events for network utilization Reviewed-by: mgronlun, egahlin ! src/hotspot/os/aix/os_perf_aix.cpp ! src/hotspot/os/bsd/os_perf_bsd.cpp ! src/hotspot/os/linux/os_perf_linux.cpp ! src/hotspot/os/solaris/os_perf_solaris.cpp + src/hotspot/os/windows/iphlp_interface.cpp + src/hotspot/os/windows/iphlp_interface.hpp ! src/hotspot/os/windows/os_perf_windows.cpp ! src/hotspot/share/jfr/metadata/metadata.xml + src/hotspot/share/jfr/periodic/jfrNetworkUtilization.cpp + src/hotspot/share/jfr/periodic/jfrNetworkUtilization.hpp ! src/hotspot/share/jfr/periodic/jfrOSInterface.cpp ! src/hotspot/share/jfr/periodic/jfrOSInterface.hpp ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/runtime/os_perf.hpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/hotspot/gtest/jfr/test_networkUtilization.cpp + test/jdk/jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: e1117321adaf Author: egahlin Date: 2018-06-28 15:13 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e1117321adaf 8197425: Liveset information for Old Object sample event Reviewed-by: mgronlun, ehelin ! src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp ! src/hotspot/share/jfr/leakprofiler/sampling/objectSample.hpp ! src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp ! src/hotspot/share/jfr/metadata/metadata.xml + test/jdk/jdk/jfr/event/oldobject/TestLastKnownHeapUsage.java Changeset: a21cad3fa448 Author: egahlin Date: 2018-06-28 15:17 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a21cad3fa448 8197425: Liveset information for Old Object sample event Reviewed-by: mgronlun, ehelin ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdCheck.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! test/jdk/jdk/jfr/jcmd/TestJcmdStartStopDefault.java Changeset: 80abf702eed8 Author: eosterlund Date: 2018-06-28 14:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/80abf702eed8 8205683: Refactor heap allocation to separate concerns Reviewed-by: pliden, kbarrett ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.inline.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp + src/hotspot/share/gc/shared/memAllocator.cpp + src/hotspot/share/gc/shared/memAllocator.hpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/arrayOop.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceMirrorKlass.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/interfaceSupport.cpp ! src/hotspot/share/runtime/threadHeapSampler.cpp ! src/hotspot/share/runtime/threadHeapSampler.hpp Changeset: 5d7442ac179a Author: jlahoda Date: 2018-06-28 15:18 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5d7442ac179a 8205985: Remove tools/javac/options/release/ReleaseOptionUnsupported.java from problem list Reviewed-by: vromero ! test/langtools/ProblemList.txt Changeset: 11b3e9c1aa5e Author: sdama Date: 2018-06-28 19:44 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/11b3e9c1aa5e 8204967: Resolve disabled warnings for libunpack Summary: Fixed warnings for libunpack Reviewed-by: jlaskey ! make/launcher/Launcher-jdk.pack.gmk ! src/jdk.pack/share/native/common-unpack/unpack.cpp ! src/jdk.pack/share/native/common-unpack/zip.cpp Changeset: 7c728fa9d1af Author: mr Date: 2018-06-28 07:30 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7c728fa9d1af 8205956: Fix usage of "OpenJDK" in build and test instructions Reviewed-by: erikj, tbell ! README ! doc/building.html ! doc/building.md ! doc/testing.html ! doc/testing.md Changeset: 1b346a59b5da Author: dcubed Date: 2018-06-28 10:46 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1b346a59b5da 8206004: [BACKOUT] errant changeset for JDK-8137164 Reviewed-by: dcubed, egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdCheck.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! test/jdk/jdk/jfr/jcmd/TestJcmdStartStopDefault.java Changeset: fa91003ec489 Author: egahlin Date: 2018-06-28 15:17 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fa91003ec489 8137164: Include PID in the JFR jcmd hint Reviewed-by: mgronlun, stuefe ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdCheck.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! test/jdk/jdk/jfr/jcmd/TestJcmdStartStopDefault.java Changeset: c9cd3ec6a0eb Author: dcubed Date: 2018-06-28 10:50 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c9cd3ec6a0eb Merge Changeset: 95aad0c785e4 Author: gadams Date: 2018-06-28 10:31 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/95aad0c785e4 8205508: hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001.java fails with Prompt is not received during 300200 milliseconds. Reviewed-by: cjplummer, sspitsyn, dcubed ! test/hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/exclude001.java Changeset: 12fbd3f35bae Author: rhalade Date: 2018-06-28 11:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/12fbd3f35bae 8195774: Add Entrust root certificates Reviewed-by: weijun ! src/java.base/share/lib/security/cacerts ! test/jdk/lib/security/cacerts/VerifyCACerts.java + test/jdk/security/infra/java/security/cert/CertPathValidator/certification/EntrustCA.java Changeset: 9948ea5ea1af Author: jwilhelm Date: 2018-06-28 19:55 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9948ea5ea1af Added tag jdk-12+0 for changeset c9cd3ec6a0eb ! .hgtags Changeset: a5557f24b4d4 Author: darcy Date: 2018-06-27 21:01 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a5557f24b4d4 8205615: Start of release updates for JDK 12 8205621: Increment JDK version for JDK 12 8193292: Add SourceVersion.RELEASE_12 8193290: Add source 12 and target 12 to javac 8205619: Bump maximum recognized class file version to 56 for JDK 12 Reviewed-by: alanb, smarks, jjg, mr, erikj, psandoz, dholmes Contributed-by: erik.joelsson at oracle.com, mikael.vidstedt at oracle.com, joe.darcy at oracle.com ! make/autoconf/version-numbers ! make/common/SetupJavaCompilers.gmk ! src/hotspot/share/classfile/classFileParser.cpp ! src/java.base/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfo.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Profile.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/Classfile.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/Main.java ! src/jdk.rmic/share/classes/sun/tools/java/RuntimeConstants.java ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java ! test/jdk/java/lang/module/ClassFileVersionsTest.java ! test/jdk/java/util/jar/JarFile/mrjar/TestVersionedStream.java ! test/jdk/jdk/nio/zipfs/MultiReleaseJarTest.java ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/6330997/T6330997.java ! test/langtools/tools/javac/api/T6265137.java ! test/langtools/tools/javac/api/T6395981.java ! test/langtools/tools/javac/classfiles/ClassVersionChecker.java ! test/langtools/tools/javac/diags/examples/PreviewFeatureUse.java ! test/langtools/tools/javac/diags/examples/PreviewFilename.java ! test/langtools/tools/javac/diags/examples/PreviewFilenameAdditional.java ! test/langtools/tools/javac/diags/examples/PreviewPlural/PreviewPlural.java ! test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java ! test/langtools/tools/javac/preview/classReaderTest/Client.java ! test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out ! test/langtools/tools/javac/preview/classReaderTest/Client.preview.out ! test/langtools/tools/javac/profiles/ProfileOptionTest.java ! test/langtools/tools/javac/versions/Versions.java Changeset: 1ecd78e0f56b Author: jwilhelm Date: 2018-06-28 21:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1ecd78e0f56b Added tag jdk-12+0 for changeset 95aad0c785e4 ! .hgtags Changeset: e8d55141afd2 Author: jwilhelm Date: 2018-06-28 22:28 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e8d55141afd2 8206006: Build failed on Windows Reviewed-by: jwilhelm, dcubed Contributed-by: robin.westberg at oracle.com ! test/hotspot/gtest/jfr/test_networkUtilization.cpp Changeset: 83ed34655f59 Author: jjg Date: 2018-06-28 15:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/83ed34655f59 8202959: Rearrange the top and bottom navigation bar in the javadoc generated pages Reviewed-by: darcy, jjg Contributed-by: bhavesh.x.patel at oracle.com, jonathan.gibbons at oracle.com ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/WindowTitles/WindowTitles.java ! test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java ! test/langtools/jdk/javadoc/doclet/testGeneratedBy/TestGeneratedBy.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModuleDirs/TestModuleDirs.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestModuleNavigation.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java ! test/langtools/tools/javadoc/api/basic/APITest.java Changeset: 1308189b0848 Author: mikael Date: 2018-06-28 17:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1308189b0848 8206022: Add test to check that the JVM accepts class files with version 56 Reviewed-by: hseigel, hseigel + test/hotspot/jtreg/runtime/classFileParserBug/Class56.jasm Changeset: a4d7eaf58623 Author: darcy Date: 2018-06-28 17:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a4d7eaf58623 8206083: Make tools/javac/api/T6265137.java robust to JDK version changes Reviewed-by: jjg ! test/langtools/tools/javac/api/T6265137.java Changeset: 12133a6e2613 Author: jlahoda Date: 2018-06-29 10:41 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/12133a6e2613 8205418: Assorted improvements to source code model Summary: Improving tree positions, better error recovery, fixing Trees.getScope for possibly erroneous lambdas. Reviewed-by: jjg, mcimadamore, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Operators.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! test/langtools/tools/javac/Diagnostics/compressed/T8012003b.out + test/langtools/tools/javac/api/TestGetScopeResult.java ! test/langtools/tools/javac/lambda/BadRecovery.out ! test/langtools/tools/javac/parser/JavacParserTest.java ! test/langtools/tools/javac/positions/TreeEndPosTest.java Changeset: 4fa199e67e41 Author: joehw Date: 2018-06-29 10:13 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4fa199e67e41 8190835: Subtraction with two javax.xml.datatype.Duration gives incorrect result Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationImpl.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/DurationTest.java Changeset: f651ae122ff7 Author: dtitov Date: 2018-06-29 12:34 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f651ae122ff7 8206086: [Graal] JDI tests fail with com.sun.jdi.ObjectCollectedException Reviewed-by: sspitsyn, cjplummer, amenkov ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventTestTemplates.java Changeset: 9f62267e79df Author: igerasim Date: 2018-06-29 17:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9f62267e79df 8204310: Simpler RandomAccessFile.setLength() on Windows Reviewed-by: alanb ! src/java.base/windows/native/libjava/io_util_md.c ! src/java.base/windows/native/libjava/io_util_md.h ! test/jdk/java/io/RandomAccessFile/SetLength.java + test/jdk/java/nio/channels/FileChannel/TruncateRAF.java Changeset: ec9957671c5d Author: thartmann Date: 2018-07-02 09:21 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ec9957671c5d 8206093: compiler/graalunit/HotspotTest.java fails in CheckGraalIntrinsics Summary: Ignore encodeBlock intrinsic. Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java Changeset: 0221f6a72e4b Author: rraghavan Date: 2018-07-02 00:55 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0221f6a72e4b 8203504: [Graal] org.graalvm.compiler.debug.test.DebugContextTest fails with java.util.ServiceConfigurationError Summary: Added required uses statement Reviewed-by: dnsimon, kvn ! src/jdk.internal.vm.compiler/share/classes/module-info.java Changeset: b9c7eb8d8972 Author: zgu Date: 2018-07-02 16:28 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b9c7eb8d8972 8205965: SIGSEGV on write to NativeCallStack::EMPTY_STACK Summary: Made EMPTY_STACK non-const, so it will not be placed in read-only BSS section. Reviewed-by: stuefe, martin ! src/hotspot/share/services/mallocSiteTable.hpp ! src/hotspot/share/services/memTracker.hpp ! src/hotspot/share/services/virtualMemoryTracker.hpp ! src/hotspot/share/utilities/nativeCallStack.cpp ! src/hotspot/share/utilities/nativeCallStack.hpp Changeset: 67f6158279d8 Author: joehw Date: 2018-07-02 13:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/67f6158279d8 8204329: Java API doc for XMLStreamReader.next() needs to be clarified for the exception thrown when hasNext() method returns false Reviewed-by: lancea, rriggs ! src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java + test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/EventReaderTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/StreamReaderTest.java Changeset: bc6cfa433862 Author: jwilhelm Date: 2018-06-29 01:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bc6cfa433862 8206006: Build failed on Windows Reviewed-by: jwilhelm, dcubed Contributed-by: robin.westberg at oracle.com ! test/hotspot/gtest/jfr/test_networkUtilization.cpp Changeset: 39d27210c627 Author: iignatyev Date: 2018-06-28 16:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/39d27210c627 8149729: [jittester] Replace all 'path1 +"/" + path2' with Paths::get Reviewed-by: kvn ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/ByteCodeGenerator.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/JavaCodeGenerator.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/TestsGenerator.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/TypesParser.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/jtreg/JitTesterDriver.java Changeset: 7c51db95ccb6 Author: epavlova Date: 2018-06-28 17:07 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7c51db95ccb6 8205207: Port Graal unit tests under jtreg Reviewed-by: kvn, erikj, iignatyev ! make/Main.gmk ! make/RunTests.gmk + make/autoconf/lib-tests.m4 ! make/autoconf/libraries.m4 ! make/autoconf/spec.gmk.in ! make/conf/jib-profiles.js + make/test/JtregGraalUnit.gmk ! test/TestCommon.gmk ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/compiler/graalunit/ApiDirectivesTest.java + test/hotspot/jtreg/compiler/graalunit/ApiTest.java + test/hotspot/jtreg/compiler/graalunit/AsmAarch64Test.java + test/hotspot/jtreg/compiler/graalunit/AsmAmd64Test.java + test/hotspot/jtreg/compiler/graalunit/AsmSparcTest.java + test/hotspot/jtreg/compiler/graalunit/CollectionsTest.java + test/hotspot/jtreg/compiler/graalunit/CoreAmd64Test.java + test/hotspot/jtreg/compiler/graalunit/CoreSparcTest.java + test/hotspot/jtreg/compiler/graalunit/CoreTest.java + test/hotspot/jtreg/compiler/graalunit/DebugTest.java + test/hotspot/jtreg/compiler/graalunit/GraphTest.java + test/hotspot/jtreg/compiler/graalunit/HotspotAmd64Test.java + test/hotspot/jtreg/compiler/graalunit/HotspotLirTest.java + test/hotspot/jtreg/compiler/graalunit/HotspotTest.java + test/hotspot/jtreg/compiler/graalunit/Jtt.MicroTest.java + test/hotspot/jtreg/compiler/graalunit/JttBackendTest.java + test/hotspot/jtreg/compiler/graalunit/JttBytecodeTest.java + test/hotspot/jtreg/compiler/graalunit/JttExceptTest.java + test/hotspot/jtreg/compiler/graalunit/JttHotpathTest.java + test/hotspot/jtreg/compiler/graalunit/JttHotspotTest.java + test/hotspot/jtreg/compiler/graalunit/JttJdkTest.java + test/hotspot/jtreg/compiler/graalunit/JttLangALTest.java + test/hotspot/jtreg/compiler/graalunit/JttLangMTest.java + test/hotspot/jtreg/compiler/graalunit/JttLangNZTest.java + test/hotspot/jtreg/compiler/graalunit/JttLoopTest.java + test/hotspot/jtreg/compiler/graalunit/JttOptimizeTest.java + test/hotspot/jtreg/compiler/graalunit/JttReflectAETest.java + test/hotspot/jtreg/compiler/graalunit/JttReflectFTest.java + test/hotspot/jtreg/compiler/graalunit/JttReflectGZTest.java + test/hotspot/jtreg/compiler/graalunit/JttThreadsTest.java + test/hotspot/jtreg/compiler/graalunit/LirJttTest.java + test/hotspot/jtreg/compiler/graalunit/LoopTest.java + test/hotspot/jtreg/compiler/graalunit/NodesTest.java + test/hotspot/jtreg/compiler/graalunit/OptionsTest.java + test/hotspot/jtreg/compiler/graalunit/PhasesCommonTest.java + test/hotspot/jtreg/compiler/graalunit/README.md + test/hotspot/jtreg/compiler/graalunit/ReplacementsTest.java + test/hotspot/jtreg/compiler/graalunit/TestPackages.txt + test/hotspot/jtreg/compiler/graalunit/UtilTest.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/AnsiTerminalDecorator.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/EagerStackTraceDecorator.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/FindClassesByAnnotatedMethods.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/GCAfterTestDecorator.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/JLModule.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/MxJUnitRequest.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/MxJUnitWrapper.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/MxRunListener.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/MxRunListenerDecorator.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/TestResultLoggerDecorator.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/TextRunListener.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/TimingDecorator.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/VerboseTextListener.java + test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java + test/hotspot/jtreg/compiler/graalunit/generateTests.sh ! test/jtreg-ext/requires/VMProps.java Changeset: 23806873a5ba Author: weijun Date: 2018-06-29 08:21 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/23806873a5ba 8205927: Update src/java.base/share/legal/public_suffix.md to match the actual file version Reviewed-by: mullan, xuelei ! make/data/publicsuffixlist/VERSION ! src/java.base/share/legal/public_suffix.md Changeset: 3506855c6b86 Author: epavlova Date: 2018-06-28 19:33 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3506855c6b86 8195630: [Graal] vmTestbase/nsk/jvmti/AttachOnDemand/attach024/TestDescription.java fails with Graal Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach024/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach024/attach024Agent00.java - test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach024/java.base/java/util/ServiceConfigurationError.java + test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach024/java.base/java/util/TooManyListenersException.java Changeset: c1e56891d768 Author: iignatyev Date: 2018-06-28 21:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c1e56891d768 8206088: 8205207 broke builds Reviewed-by: ehelin, epavlova ! make/test/JtregGraalUnit.gmk Changeset: 0d6ab24b6ad9 Author: thartmann Date: 2018-06-29 11:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0d6ab24b6ad9 8205499: C1 temporary code buffers are not removed with -XX:+UseDynamicNumberOfCompilerThreads Summary: Deallocate C1 code buffers in the compiler thread destructor. Reviewed-by: neliasso, kvn, mdoerr ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/runtime/thread.cpp Changeset: 9816d7cc655e Author: thartmann Date: 2018-06-29 11:10 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9816d7cc655e 8205940: LoadNode::find_previous_arraycopy fails with "broken allocation" assert Summary: Removed assert which is too strong. Reviewed-by: roland ! src/hotspot/share/opto/memnode.cpp Changeset: 07498f5b6a96 Author: iignatyev Date: 2018-06-29 13:43 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/07498f5b6a96 8206117: failed to get JDK properties for JVM w/o JVMCI Reviewed-by: kvn ! test/hotspot/jtreg/compiler/graalunit/ApiDirectivesTest.java ! test/hotspot/jtreg/compiler/graalunit/ApiTest.java ! test/hotspot/jtreg/compiler/graalunit/AsmAarch64Test.java ! test/hotspot/jtreg/compiler/graalunit/AsmAmd64Test.java ! test/hotspot/jtreg/compiler/graalunit/AsmSparcTest.java ! test/hotspot/jtreg/compiler/graalunit/CollectionsTest.java ! test/hotspot/jtreg/compiler/graalunit/CoreAmd64Test.java ! test/hotspot/jtreg/compiler/graalunit/CoreSparcTest.java ! test/hotspot/jtreg/compiler/graalunit/CoreTest.java ! test/hotspot/jtreg/compiler/graalunit/DebugTest.java ! test/hotspot/jtreg/compiler/graalunit/GraphTest.java ! test/hotspot/jtreg/compiler/graalunit/HotspotAmd64Test.java ! test/hotspot/jtreg/compiler/graalunit/HotspotLirTest.java ! test/hotspot/jtreg/compiler/graalunit/HotspotTest.java ! test/hotspot/jtreg/compiler/graalunit/Jtt.MicroTest.java ! test/hotspot/jtreg/compiler/graalunit/JttBackendTest.java ! test/hotspot/jtreg/compiler/graalunit/JttBytecodeTest.java ! test/hotspot/jtreg/compiler/graalunit/JttExceptTest.java ! test/hotspot/jtreg/compiler/graalunit/JttHotpathTest.java ! test/hotspot/jtreg/compiler/graalunit/JttHotspotTest.java ! test/hotspot/jtreg/compiler/graalunit/JttJdkTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLangALTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLangMTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLangNZTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLoopTest.java ! test/hotspot/jtreg/compiler/graalunit/JttOptimizeTest.java ! test/hotspot/jtreg/compiler/graalunit/JttReflectAETest.java ! test/hotspot/jtreg/compiler/graalunit/JttReflectFTest.java ! test/hotspot/jtreg/compiler/graalunit/JttReflectGZTest.java ! test/hotspot/jtreg/compiler/graalunit/JttThreadsTest.java ! test/hotspot/jtreg/compiler/graalunit/LirJttTest.java ! test/hotspot/jtreg/compiler/graalunit/LoopTest.java ! test/hotspot/jtreg/compiler/graalunit/NodesTest.java ! test/hotspot/jtreg/compiler/graalunit/OptionsTest.java ! test/hotspot/jtreg/compiler/graalunit/PhasesCommonTest.java ! test/hotspot/jtreg/compiler/graalunit/ReplacementsTest.java ! test/hotspot/jtreg/compiler/graalunit/UtilTest.java ! test/hotspot/jtreg/compiler/graalunit/generateTests.sh ! test/jtreg-ext/requires/VMProps.java Changeset: 78711bd05b5a Author: iignatyev Date: 2018-06-29 13:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/78711bd05b5a 8204517: [Graal] org.graalvm.compiler.debug.test.VersionsTest fails with InvalidPathException on windows Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/VersionsTest.java ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 2f9a0c4fcf58 Author: iignatyev Date: 2018-06-29 13:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2f9a0c4fcf58 8204355: [Graal] org.graalvm.compiler.debug.test.CSVUtilTest fails on Windows due to improper line separator used Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/CSVUtilTest.java Changeset: 55a43beaa529 Author: serb Date: 2018-06-29 13:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/55a43beaa529 8201552: Ellipsis in "Classical" label in SwingSet2 demo with Windows L&F at Hidpi Reviewed-by: prr ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/Container.java ! src/java.desktop/share/classes/javax/swing/DefaultListCellRenderer.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonListener.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLabelUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicListUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTreeUI.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java ! src/java.desktop/share/classes/javax/swing/table/DefaultTableCellRenderer.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultTreeCellRenderer.java ! src/java.desktop/share/classes/sun/swing/SwingUtilities2.java + test/jdk/javax/swing/GraphicsConfigNotifier/OrderOfGConfigNotify.java + test/jdk/javax/swing/GraphicsConfigNotifier/StalePreferredSize.java + test/jdk/javax/swing/GraphicsConfigNotifier/TestSingleScreenGConfigNotify.java Changeset: ebff24bd9302 Author: valeriep Date: 2018-06-30 00:33 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ebff24bd9302 8205720: KeyFactory#getKeySpec and translateKey thorws NullPointerException with Invalid key Summary: Updated SunRsaSign provider to check and throw InvalidKeyException for null key algo/format/encoding Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/rsa/RSAKeyFactory.java ! src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java ! src/java.base/share/classes/sun/security/rsa/RSAPublicKeyImpl.java ! src/java.base/share/classes/sun/security/rsa/RSAUtil.java Changeset: 803cfa425026 Author: thartmann Date: 2018-07-02 09:28 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/803cfa425026 8206093: compiler/graalunit/HotspotTest.java fails in CheckGraalIntrinsics Summary: Ignore encodeBlock intrinsic. Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java Changeset: d9160a3c97c1 Author: tschatzl Date: 2018-07-02 09:38 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d9160a3c97c1 8203848: Missing remembered set entry in j.l.ref.references after JDK-8203028 Summary: Collect remembered sets for discovered fields while adding them to the list of discovered references. Reviewed-by: kbarrett, eosterlund ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: 7f462e8383f6 Author: mdoerr Date: 2018-07-02 11:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7f462e8383f6 8206003: SafepointSynchronize with TLH: StoreStore barriers should be moved out of the loop Reviewed-by: eosterlund, rehn, dholmes ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/safepointMechanism.hpp ! src/hotspot/share/runtime/safepointMechanism.inline.hpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp Changeset: c418c173158e Author: jwilhelm Date: 2018-07-02 13:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c418c173158e Added tag jdk-11+20 for changeset 9816d7cc655e ! .hgtags Changeset: c98bf5aa35c5 Author: roland Date: 2018-07-02 10:44 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c98bf5aa35c5 8205515: assert(opcode == Op_RangeCheck) failed: no other if variant here Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/CountedLoopPeelingProfilePredicates.java Changeset: 012ab74e9802 Author: zgu Date: 2018-07-02 16:28 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/012ab74e9802 8205965: SIGSEGV on write to NativeCallStack::EMPTY_STACK Summary: Made EMPTY_STACK non-const, so it will not be placed in read-only BSS section. Reviewed-by: stuefe, martin ! src/hotspot/share/services/mallocSiteTable.hpp ! src/hotspot/share/services/memTracker.hpp ! src/hotspot/share/services/virtualMemoryTracker.hpp ! src/hotspot/share/utilities/nativeCallStack.cpp ! src/hotspot/share/utilities/nativeCallStack.hpp Changeset: c30c35118303 Author: jwilhelm Date: 2018-07-03 02:07 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c30c35118303 Merge ! .hgtags ! test/hotspot/jtreg/ProblemList-graal.txt - test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach024/java.base/java/util/ServiceConfigurationError.java Changeset: 79baec7d831e Author: neliasso Date: 2018-07-03 10:47 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/79baec7d831e 8205999: C2 compilation fails with "assert(store->find_edge(load) != -1) failed: missing precedence edge" Summary: Backout 8204157 to state before 8192992 Reviewed-by: thartmann, mdoerr ! src/hotspot/share/opto/gcm.cpp Changeset: d99e206cc32e Author: vtheeyarath Date: 2018-07-02 23:33 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d99e206cc32e 8177275: IllegalArgumentException when MH would have too many parameters is not specified for several methods Summary: Updated spec and added tests Reviewed-by: psandoz ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java + test/jdk/java/lang/invoke/MethodHandlesArityLimitsTest.java Changeset: 0e7e4b28c0d9 Author: erikj Date: 2018-07-03 18:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0e7e4b28c0d9 8206087: windows-x64-cmp-baseline fails with The files do not have the same suffix type Reviewed-by: tbell ! make/scripts/compare.sh Changeset: ef57cfcd22ff Author: coleenp Date: 2018-07-03 13:41 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ef57cfcd22ff 8205534: Remove SymbolTable dependency from serviceability agent Reviewed-by: gziemski, poonam, jgeorge, hseigel ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderDataGraph.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/AltHashing.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Field.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Method.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Symbol.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/ObjectReader.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaFactoryImpl.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SASymbolTableTestAgent.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbPrintStatics.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbSource.java - test/jdk/sun/tools/jhsdb/LingeredAppWithAltHashing.java Changeset: 6a5f1195e15f Author: coleenp Date: 2018-07-03 15:08 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6a5f1195e15f 8134538: Duplicate implementations of os::lasterror Summary: Method os::lasterror was moved to os_posix.cpp Reviewed-by: hseigel, kbarrett, coleenp Contributed-by: patricio.chilano.mateo at oracle.com ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/solaris/os_solaris.cpp Changeset: d93bba067334 Author: coleenp Date: 2018-07-03 15:40 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d93bba067334 8206309: Tier1 SA tests fail Summary: remove tests that should have been removed with JDK-8205534 Reviewed-by: hseigel - test/hotspot/jtreg/runtime/SharedArchiveFile/SASymbolTableTest.java - test/hotspot/jtreg/serviceability/sa/ClhsdbSymbol.java - test/hotspot/jtreg/serviceability/sa/ClhsdbSymbolTable.java - test/jdk/sun/tools/jhsdb/AlternateHashingTest.java Changeset: 6d03b1ea636b Author: naoto Date: 2018-07-03 14:42 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6d03b1ea636b 8206120: Add test cases for lenient Japanese era parsing Reviewed-by: rriggs ! test/jdk/java/time/test/java/time/format/TestNonIsoFormatter.java + test/jdk/java/util/Calendar/JapaneseLenientEraTest.java Changeset: 76b5ee99ffc0 Author: bpb Date: 2018-07-03 15:02 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/76b5ee99ffc0 8202252: (aio) Closed AsynchronousSocketChannel keeps completion handler alive Summary: Clear handler instance variable after use Reviewed-by: rriggs, alanb ! src/java.base/unix/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java + test/jdk/java/nio/channels/AsynchronousSocketChannel/CompletionHandlerRelease.java Changeset: ab998c2bd38f Author: darcy Date: 2018-07-03 15:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ab998c2bd38f 8206085: Refactor langtools/tools/javac/versions/Versions.java Reviewed-by: jjg, forax, plevart, mcimadamore ! test/langtools/tools/javac/versions/Versions.java Changeset: dfd59db382c6 Author: darcy Date: 2018-07-03 16:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dfd59db382c6 8206114: Refactor langtools/tools/javac/classfiles/ClassVersionChecker.java Reviewed-by: jjg ! test/langtools/tools/javac/classfiles/ClassVersionChecker.java Changeset: 00b16d0457e4 Author: ssahoo Date: 2018-07-04 03:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/00b16d0457e4 8205653: test/jdk/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java and RmiSslBootstrapTest.sh fail with handshake_failure Summary: Test failure due to unsupported DSA keys Reviewed-by: dfuchs, xuelei ! test/jdk/ProblemList.txt ! test/jdk/sun/management/jmxremote/bootstrap/management_ssltest11_ok.properties.in + test/jdk/sun/management/jmxremote/bootstrap/management_ssltest15_ok.properties.in ! test/jdk/sun/management/jmxremote/bootstrap/ssl/Readme.txt ! test/jdk/sun/management/jmxremote/bootstrap/ssl/keystore ! test/jdk/sun/management/jmxremote/bootstrap/ssl/truststore Changeset: dea7ce62c7b0 Author: jwilhelm Date: 2018-07-05 13:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dea7ce62c7b0 Added tag jdk-12+1 for changeset 00b16d0457e4 ! .hgtags Changeset: 29dff19ce132 Author: bpb Date: 2018-07-05 07:22 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/29dff19ce132 8194899: Remove unused sun.net classes Reviewed-by: alanb, mchung, dfuchs, chegar, michaelm - src/java.base/share/classes/sun/net/NetworkServer.java - src/java.base/share/classes/sun/net/URLCanonicalizer.java Changeset: 783cc906a5f8 Author: ccheung Date: 2018-07-05 09:11 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/783cc906a5f8 8205548: Remove multi-release jar related vm code Reviewed-by: iklam, jiangli ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp Changeset: 3009952d5985 Author: rkennke Date: 2018-07-05 19:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3009952d5985 8206407: Primitive atomic_cmpxchg_in_heap_at() in BarrierSet::Access needs to call non-oop raw method Reviewed-by: pliden, shade ! src/hotspot/share/gc/shared/barrierSet.hpp Changeset: 7cbd4124cfff Author: rkennke Date: 2018-07-05 19:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7cbd4124cfff 8206272: Remove stray BarrierSetAssembler call Reviewed-by: pliden, shade ! src/hotspot/cpu/x86/methodHandles_x86.cpp Changeset: c4c87478e6b3 Author: naoto Date: 2018-07-05 14:23 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c4c87478e6b3 8206350: java/util/Locale/bcp47u/SystemPropertyTests.java failed on Mac 10.13 with zh_CN and zh_TW locales. Reviewed-by: rriggs ! test/jdk/java/util/Locale/bcp47u/SystemPropertyTests.java Changeset: 7d078d2daacc Author: jjg Date: 2018-07-05 14:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7d078d2daacc 8206318: Enhance package documentation for internal javadoc packages Reviewed-by: sundar + src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkInfo.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkOutput.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/package-info.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/package-info.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/package-info.java Changeset: 8cc36fac7f3d Author: coleenp Date: 2018-07-06 09:00 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8cc36fac7f3d 8202737: Obsolete AllowNonVirtualCalls option Summary: obsolete option and remove support. Reviewed-by: dholmes, jiangli, kbarrett ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 810cb95f19c9 Author: hseigel Date: 2018-07-06 06:26 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/810cb95f19c9 8203911: Test runtime/modules/getModuleJNI/GetModule fails with -Xcheck:jni Summary: Remove unneeded validate_class() check from checked_jni_GetModule(). Reviewed-by: dholmes, coleenp ! src/hotspot/share/prims/jniCheck.cpp Changeset: be2d74d91351 Author: coleenp Date: 2018-07-06 09:10 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/be2d74d91351 8205417: Obsolete UnlinkSymbolsALot debugging option Summary: Obsolete and remove support for UnlinkSymbolsALot Reviewed-by: hseigel, dholmes ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/interfaceSupport.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/vm_operations.cpp ! src/hotspot/share/runtime/vm_operations.hpp Changeset: fb46a7d38d6b Author: joehw Date: 2018-07-06 09:26 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fb46a7d38d6b 8206164: forgot to "throw" TransformerConfigurationException Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java + test/jaxp/javax/xml/jaxp/unittest/transform/SAXTFactoryTest.java Changeset: ec3221b8a109 Author: darcy Date: 2018-07-06 09:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ec3221b8a109 8206440: Remove javac -source/-target 6 from jdk regression tests Reviewed-by: alanb ! test/jdk/java/lang/reflect/OldenCompilingWithDefaults.java Changeset: 999f09bf3464 Author: darcy Date: 2018-07-06 10:28 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/999f09bf3464 8206439: Remove javac -source/-target 6 from langtools regression tests Reviewed-by: mcimadamore ! test/langtools/tools/javac/6558548/T6558548.java - test/langtools/tools/javac/6558548/T6558548_6.out ! test/langtools/tools/javac/6558548/T6558548_latest.out - test/langtools/tools/javac/8013179/T8013179.java - test/langtools/tools/javac/8013179/T8013179.out ! test/langtools/tools/javac/8074306/TestSyntheticNullChecks.java ! test/langtools/tools/javac/StringConcat/TestIndyStringConcat.java ! test/langtools/tools/javac/StringsInSwitch/BadlyTypedLabel1.java ! test/langtools/tools/javac/StringsInSwitch/BadlyTypedLabel1.out - test/langtools/tools/javac/StringsInSwitch/BadlyTypedLabel1_6.out ! test/langtools/tools/javac/StringsInSwitch/BadlyTypedLabel2.java ! test/langtools/tools/javac/StringsInSwitch/BadlyTypedLabel2.out - test/langtools/tools/javac/StringsInSwitch/BadlyTypedLabel2_6.out ! test/langtools/tools/javac/StringsInSwitch/NonConstantLabel.java ! test/langtools/tools/javac/StringsInSwitch/NonConstantLabel.out - test/langtools/tools/javac/StringsInSwitch/NonConstantLabel6.out ! test/langtools/tools/javac/StringsInSwitch/OneCaseSwitches.java - test/langtools/tools/javac/StringsInSwitch/OneCaseSwitches.out ! test/langtools/tools/javac/StringsInSwitch/RSCL1.out - test/langtools/tools/javac/StringsInSwitch/RSCL1_6.out ! test/langtools/tools/javac/StringsInSwitch/RSCL2.out - test/langtools/tools/javac/StringsInSwitch/RSCL2_6.out ! test/langtools/tools/javac/StringsInSwitch/RepeatedStringCaseLabels1.java ! test/langtools/tools/javac/StringsInSwitch/RepeatedStringCaseLabels2.java ! test/langtools/tools/javac/TryWithResources/BadTwr.java ! test/langtools/tools/javac/TryWithResources/BadTwr.out - test/langtools/tools/javac/TryWithResources/BadTwr6.out ! test/langtools/tools/javac/TryWithResources/BadTwrSyntax.java ! test/langtools/tools/javac/TryWithResources/BadTwrSyntax.out - test/langtools/tools/javac/TryWithResources/BadTwrSyntax6.out ! test/langtools/tools/javac/TryWithResources/PlainTry.java ! test/langtools/tools/javac/TryWithResources/PlainTry.out - test/langtools/tools/javac/TryWithResources/PlainTry6.out ! test/langtools/tools/javac/TryWithResources/TwrOnNonResource.java ! test/langtools/tools/javac/TryWithResources/TwrOnNonResource.out - test/langtools/tools/javac/TryWithResources/TwrOnNonResource6.out ! test/langtools/tools/javac/TryWithResources/WeirdTwr.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/WrongVersion.java - test/langtools/tools/javac/annotations/repeatingAnnotations/WrongVersion6.out ! test/langtools/tools/javac/annotations/repeatingAnnotations/WrongVersion7.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.java - test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.out ! test/langtools/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion7.out ! test/langtools/tools/javac/classfiles/ClassVersionChecker.java ! test/langtools/tools/javac/defaultMethods/static/StaticInvokeQualified.java - test/langtools/tools/javac/defaultMethods/static/StaticInvokeQualified6.out ! test/langtools/tools/javac/defaultMethods/static/StaticInvokeQualified7.out ! test/langtools/tools/javac/defaultMethods/static/StaticInvokeSimple.java - test/langtools/tools/javac/defaultMethods/static/StaticInvokeSimple6.out ! test/langtools/tools/javac/defaultMethods/static/StaticInvokeSimple7.out - test/langtools/tools/javac/literals/BadBinaryLiterals.6.out ! test/langtools/tools/javac/literals/BadBinaryLiterals.7.out ! test/langtools/tools/javac/literals/BadBinaryLiterals.java - test/langtools/tools/javac/literals/BadUnderscoreLiterals.6.out ! test/langtools/tools/javac/literals/BadUnderscoreLiterals.7.out ! test/langtools/tools/javac/literals/BadUnderscoreLiterals.java ! test/langtools/tools/javac/mixedTarget/ExtendCovariant2.java ! test/langtools/tools/javac/multicatch/Neg01.java ! test/langtools/tools/javac/multicatch/Neg01.out ! test/langtools/tools/javac/multicatch/Neg01eff_final.java ! test/langtools/tools/javac/multicatch/Neg01eff_final.out ! test/langtools/tools/javac/processing/warnings/TestSourceVersionWarnings.java ! test/langtools/tools/javac/processing/warnings/gold_sv_warn_5_6.out ! test/langtools/tools/javac/types/CastObjectToPrimitiveTest.java - test/langtools/tools/javac/types/CastObjectToPrimitiveTest.out ! test/langtools/tools/javac/versions/Versions.java Changeset: fa2f93f99dbc Author: rriggs Date: 2018-07-06 15:22 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fa2f93f99dbc 8206495: Redundant System.setProperty(null) tests Reviewed-by: mchung, lancea - test/jdk/java/lang/System/SetProperties.java ! test/jdk/java/lang/System/SetPropertiesNull.java Changeset: b96466cdfc45 Author: jiangli Date: 2018-07-08 12:43 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b96466cdfc45 8202035: Archive the set of ModuleDescriptor and ModuleReference objects for observable system modules with unnamed initial module. Summary: Support system module archiving with unnamed initial module at dump time. Reviewed-by: erikj, coleenp, mchung, iklam, ccheung Contributed-by: alan.bateman at oracle.com, jiangli.zhou at oracle.com ! make/hotspot/lib/JvmFeatures.gmk ! make/hotspot/symbols/symbols-unix ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/include/jvm.h + src/hotspot/share/memory/heapShared.cpp + src/hotspot/share/memory/heapShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/jdk/internal/misc/VM.java + src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/native/libjava/VM.c ! test/hotspot/jtreg/runtime/appcds/TestCommon.java + test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java + test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleCompareTest.java + test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java + test/hotspot/jtreg/runtime/appcds/cacheObject/CheckArchivedModuleApp.java + test/hotspot/jtreg/runtime/appcds/cacheObject/PrintSystemModulesApp.java + test/hotspot/jtreg/runtime/appcds/cacheObject/src/test/jdk/test/Test.java + test/hotspot/jtreg/runtime/appcds/cacheObject/src/test/module-info.java Changeset: 529e8aec67bd Author: dholmes Date: 2018-07-08 20:00 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/529e8aec67bd 8205966: [testbug] New Nestmates JDI test times out with Xcomp on sparc Reviewed-by: mikael, sspitsyn ! test/jdk/com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java Changeset: 0fad17c646c9 Author: tschatzl Date: 2018-07-09 14:12 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0fad17c646c9 8206453: Taskqueue stats should count real steal attempts, not calls to GenericTaskQueueSet::steal Reviewed-by: ehelin, kbarrett ! src/hotspot/share/gc/shared/taskqueue.hpp ! src/hotspot/share/gc/shared/taskqueue.inline.hpp Changeset: f85092465b0c Author: kbarrett Date: 2018-07-09 13:35 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f85092465b0c 8204834: Fix confusing "allocate" naming in OopStorage Summary: allocate_list => allocation_list and so on. Reviewed-by: dholmes, tschatzl, coleenp ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/oopStorage.hpp ! src/hotspot/share/gc/shared/oopStorage.inline.hpp ! src/hotspot/share/gc/shared/oopStorageParState.hpp ! test/hotspot/gtest/gc/shared/test_oopStorage.cpp Changeset: 1acfd2f56d72 Author: sherman Date: 2018-07-09 13:08 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1acfd2f56d72 8206389: JarEntry.setCreation/LastAccessTime without setLastModifiedTime causes Invalid CEN header Reviewed-by: alanb, martin ! src/java.base/share/classes/java/util/zip/ZipOutputStream.java ! test/jdk/java/util/zip/TestExtraTime.java Changeset: 429b0997c16d Author: dholmes Date: 2018-07-09 20:17 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/429b0997c16d 8205878: pthread_getcpuclockid is expected to return 0 code Reviewed-by: cjplummer, amenkov, coleenp ! make/test/JtregNativeHotspot.gmk ! src/hotspot/os/linux/os_linux.cpp + test/hotspot/jtreg/runtime/jni/terminatedThread/TestTerminatedThread.java + test/hotspot/jtreg/runtime/jni/terminatedThread/libterminatedThread.c ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/ji05t001.c ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/ji06t001.c Changeset: 3f51ddbe4843 Author: dholmes Date: 2018-07-10 03:14 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3f51ddbe4843 8206954: Test runtime/Thread/ThreadPriorities.java crashes with SEGV in pthread_getcpuclockid Summary: Run the new runtime/jni/terminatedThread/TestTerminatedThread.java test in othervm mode Reviewed-by: alanb, mikael ! test/hotspot/jtreg/runtime/jni/terminatedThread/TestTerminatedThread.java From tobias.hartmann at oracle.com Tue Jul 10 14:01:04 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 10 Jul 2018 16:01:04 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands Message-ID: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> Hi, please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8205044 http://cr.openjdk.java.net/~thartmann/8205044/webrev.00/ I've ported this code from the Exp branch [1]. We therefore still use the klass pointer alignment trick to determine if an oop points to a value type. We can later enhance this to use the mark word. Thanks, Tobias [1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-March/003935.html http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-February/003824.html From srikanth.adayapalam at oracle.com Tue Jul 10 15:20:18 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Tue, 10 Jul 2018 15:20:18 +0000 Subject: hg: valhalla/valhalla: lworld: Some cleanup in preparation for value type constructors support. Message-ID: <201807101520.w6AFKIvx026558@aojmv0008.oracle.com> Changeset: cf81b4907a26 Author: sadayapalam Date: 2018-07-10 20:50 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cf81b4907a26 lworld: Some cleanup in preparation for value type constructors support. ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckFinal.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueFactoryWithReference.java From ioi.lam at oracle.com Tue Jul 10 15:33:35 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Tue, 10 Jul 2018 08:33:35 -0700 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> Message-ID: On 7/10/18 5:01 AM, Tobias Hartmann wrote: > Hi Ioi, > > thanks for looking at this! > > On 10.07.2018 07:07, Ioi Lam wrote: >> http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v02/ Hi Tobias, Thanks for the comments. I've updated a new version: http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v03/ > - doCall.cpp: The cast to NOTNULL is only correct if we know that the return value is a value type > (which can never be null). Currently, you are always casting to NOTNULL which is not correct. Fixed. Now it looks like: ?670???????????? const Type*?????? sig_type = TypeOopPtr::make_from_klass(ctype->as_klass()); ?671???????????? if (ct == T_VALUETYPE) { ?672?????????????? // A NULL ValueType cannot be returned to compiled code. The 'areturn' bytecode ?673?????????????? // handler will deoptimize its caller if it is about to return a NULL ValueType. ?674?????????????? sig_type = sig_type->join_speculative(TypePtr::NOTNULL); ?675???????????? } > - TestLWorld.java: Where is GetNullAsm and RarelyUsedValueUserAsm defined? > I added them to the webrev. >> To improve interpreter speed (so we won't excessively trap into the VM whenever a >> null is returned -- this is especially important for methods that are NOT returning >> a VT), I added 2 bits in Method::_flags. These allow the interpreter to quickly >> check if the areturn is working on a method that returns a VT. >> >> The flags handling is complicated by the fact that "legacy" classes may return a VT >> (see [1]). Please see my comments around Method::check_returning_vt. I added a new >> test case for this -- see TestLWorld::test78). Anyway, I am not happy with this check, >> so if you can think of a better way, please let me know. > Great that you were able to create a test for this. I don't think we can easily avoid that check but > I think it's sufficient if you add the detailed explanation to the test and remove the else branch > (or add a short comment) in method.cpp. I think it's better to keep the comments in the code, as the test case may get moved or become out of sync with the code. I've added a comment in the test case to point back to the explanation in method.cpp. Thanks - Ioi > Someone more familiar with the interpreter/runtime should look at this as well. > > Thanks, > Tobias > > From tobias.hartmann at oracle.com Tue Jul 10 15:47:18 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 10 Jul 2018 17:47:18 +0200 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> Message-ID: Hi Ioi, On 10.07.2018 17:33, Ioi Lam wrote: > http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v03/ Looks good to me but I think you need to add the copyright headers to the .jasm files (no new webrev required). Thanks, Tobias From ioi.lam at oracle.com Tue Jul 10 15:59:44 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Tue, 10 Jul 2018 08:59:44 -0700 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> Message-ID: Oops, will do :-) Thanks - Ioi On 7/10/18 8:47 AM, Tobias Hartmann wrote: > Hi Ioi, > > On 10.07.2018 17:33, Ioi Lam wrote: >> http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v03/ > Looks good to me but I think you need to add the copyright headers to the .jasm files (no new webrev > required). > > Thanks, > Tobias From karen.kinnear at oracle.com Tue Jul 10 18:24:32 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Tue, 10 Jul 2018 14:24:32 -0400 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> Message-ID: Let me clarify the LW1 proposal. This model is designed to NOT take into account migration of value-based classes, which we will revisit much farther downstream. For LW1 - the goal is to fail with an ICCE if there are inconsistencies with value type expectations. The question is when do we catch the problem and fail, and do we allow field access and method invocation when the information is inaccurate. Ioi - here is the proposal http://cr.openjdk.java.net/~acorn/value-types-consistency-checking-details.pdf (As John pointed out in another email - I should update it to describe the ValueTypes attribute - for now see the not-yet-out latest JVMS draft - http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-4e.pdf For local methods there are two parts: 1) if a type in a descriptor is in the ValueTypes attribute, we will eagerly load it at preparation time. If it is not a value type, we will throw ICCE. 2) if a type in a descriptor is NOT in the ValueTypes attribute: see *5 Method Invocation: VT Point NOT in ValueTypes attribute in the Consistency Checking link. Extracted here - let me know if this does not make sense: Point is a value type. ClassA contains method m1(Point point). Point is NOT in Class A?s ValueTypes attribute. I think this matches Ioi?s and Tobias? examples. case 1: method overriding ClassA?s method m1 overrides ClassZZ?s method m1, and m1 is in ClassZZ?s ValueTypes attribute. Preparation of ClassA will fail with ICCE when creating the vtable. ClassD extends ClassA, ClassD?s method m1 overrides ClassA?s m1 and m1 is in ClassD?s ValueTypes attribute. Preparation of ClassD will fail with ICCE when creating the vtable due to the mismatch. Note ClassA keeps going - I don?t know of a way to bubble up the failure since ClassA may be in use. case 2: ClassB has Point in ValueTypes attribute and invokes ClassA.m1. - ClassB can successfully create an instance of Point - at method resolution time, caller-callee consistency check will throw ICCE, so ClassB can not invoke ClassA.m1 (Tobias - I think this is your last paragraph ?Now another compiled method) case 3: ClassC does NOT have Point in ValueTypes attribute and invokes ClassA.m1 ClassC is able to invoke ClassA - caller/callee check passed consistency (without checking reality) ClassC can pass a null Point So - from a compiler perspective - only classes that share the same ValueTypes attribute information about Point can call ClassA.m1. From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so we are only passing null here. Tried to close all of these holes - could use review. Note to John - consistency checking for array elements relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type is a value type can not get their hands on an instance of that value type. Does this make sense for LW1? thanks, Karen p.s. Frederic checked in round 1 of the consistency checking - but did not get round 2 in before he left for vacation. He is out this week and the next. I attached his patch out for review if you want to use it to test with to see if that helps the compiler. He will be back I believe the 23rd. I will check with Harold on Frederic?s verifier question - we may want to push this (without perhaps the new test) before he gets back so you can use it. Note - John asked for some refactoring - given how tight the time is before EA and the vacation schedule - that will be a postlw1 rfe. -------------- next part -------------- An embedded message was scrubbed... From: Frederic Parain Subject: Re: RFR: Value types consistency checks Date: Fri, 6 Jul 2018 16:26:47 -0400 Size: 4064 URL: -------------- next part -------------- > On Jul 10, 2018, at 8:22 AM, Tobias Hartmann wrote: > > Hi John, > > On 10.07.2018 02:08, John Rose wrote: >> On Jul 9, 2018, at 3:44 PM, Ioi Lam wrote: >>> In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). >>> >>> Is this understanding correct? >> >> Yes, that is correct. This model is intended to make it easier for old-school classfiles >> to link to old types which have (over time) been upgraded to value types. > > How do we then handle the following scenario? > > We have a method m1(MyValue vt) in a class that has no value types attribute set although MyValue is > a value type. Once the calling convention for that method is determined (i.e. at adapter creation), > we therefore don't know that MyValue is a value type and as a result, m1 will expect vt to be passed > as oop. > > Now another compiled method m2 that calls compiled m1 might be well aware that vt is a value type > but has no way to know that m1 does *not* expect vt to be passed as fields (especially if the call > is virtual). > > Thanks, > Tobias From john.r.rose at oracle.com Tue Jul 10 19:55:09 2018 From: john.r.rose at oracle.com (John Rose) Date: Tue, 10 Jul 2018 12:55:09 -0700 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> Message-ID: <27516711-DC2B-4AD0-B83F-840E89FB025A@oracle.com> Thanks, Karen; I blundered into talking about post-LW1 intentions when the questions were about LW1. So, in LW1, our intention is to cut off, rather than adapt, mismatched accesses. This means lying in wait at v-table preparation time and field and method linkage time, throwing an ICCE if anyone tries to set up a mismatched access. Here are a few more comments, mainly to make sure I am saying the right things, and perhaps to throw some light in dark corners? The usual form of a mismatch access is a method-to-method call, but it can also be a field reference or a use of a class from a bytecode like instanceof or anewarray. Related to method-to-method calls, there is also v-table slot packing, which is how method overriding is linked physically in HotSpot. A prepared v-table slot is really a redirected call site, to execute later. (A subclass inherits from its super not only a prefix of instance fields, but also a prefix of v-table slots; the subclass can extend either.) That's why we do all kinds of method analysis at preparation time, and why we can reasonably speak of v-table slots, as well as methods, as sources and targets of calls. For me it helps it think of a v-table slot as a physical entity, like an instance field, but for the whole class. This trick allows me to visualize override relations between methods. A v-table slot is inherited into a subclass from a superclass, and thus v-table slots (in their various locations) are entities with their own relations and properties. When I read about "method overrides" the language is about relations between methods, and so it is hard then to reason about relations between *those* relations unless I can visualize them somehow. Anyway, that's why I keep going on about v-tables, even though they are "just an implementation trick". On Jul 10, 2018, at 11:24 AM, Karen Kinnear wrote: > > Let me clarify the LW1 proposal. This model is designed to NOT take into account migration of value-based classes, which we will revisit > much farther downstream. > > For LW1 - the goal is to fail with an ICCE if there are inconsistencies with value type expectations. The question is when do we catch > the problem and fail, and do we allow field access and method invocation when the information is inaccurate. > > Ioi - here is the proposal > http://cr.openjdk.java.net/~acorn/value-types-consistency-checking-details.pdf > (As John pointed out in another email - I should update it to describe the ValueTypes attribute - for now see the not-yet-out latest JVMS draft - > > http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-4e.pdf > > For local methods there are two parts: > 1) if a type in a descriptor is in the ValueTypes attribute, we will eagerly load it at preparation time. If it is not a value type, we will throw ICCE. > 2) if a type in a descriptor is NOT in the ValueTypes attribute: see *5 Method Invocation: VT Point NOT in ValueTypes attribute in the Consistency > Checking link. Extracted here - let me know if this does not make sense: > > Point is a value type. > ClassA contains method m1(Point point). Point is NOT in Class A?s ValueTypes attribute. I think this matches Ioi?s and Tobias? examples. (Yes, I think so too, plus a call to m1 from some m2 in another class, which as you say is case 2 below.) > case 1: method overriding > ClassA?s method m1 overrides ClassZZ?s method m1, and m1 is in ClassZZ?s ValueTypes attribute. Preparation of ClassA will fail with ICCE when creating the vtable. ClassA inherits a v-table slot from ClassZZ that wants unboxed Points (passed as fields) but ClassA's method doesn't fit in that slot, since it uses Point refs (passed as oop). Does that sound right? Note that a calling sequence might not physically unbox a Point, because of some implementation heuristic or limitation. However, the JVM must enforce ref/value consistency even in such a case, because the JVM needs to give a predictable model for error checks. If the JVM has the *option* to unbox a value, it needs to protect that option by throwing errors on inconsistent code even in cases where it doesn't *exercise* the option. As a proxy for "could I unbox this Point value?", you can also ask "could I pass a null for this Point value?" The two conditions are mutually exclusive, and the middle ground (of passing as oop but excluding null) is not visible to the user of the JVM; the user can't see physical calling sequences inside a virtual machine. This is why nullability has arisen as a way to test whether a variable is "really a value" or is just passed by reference. Nullability *also* has an independent role in managing certain legacy APIs where null is used as a sentinel value. When we work out all the details, the JVMS might end up talking about identity as a property of the loaded type itself, but nullability as a property of various containers of that type. Both identity and nullability need to be suppressed, via independent means in LW1, in order to fully flatten heap data and scalarize method arguments and returns. (As instance fields and v-table slots are extended in parallel across a class hierarchy, value type optimizations follow along both avenues. There is a deep duality between method parameters and object fields operating here.) > ClassD extends ClassA, ClassD?s method m1 overrides ClassA?s m1 and m1 is in ClassD?s ValueTypes attribute. Preparation of ClassD will fail with ICCE when creating the vtable due to the mismatch. > Note ClassA keeps going - I don?t know of a way to bubble up the failure since ClassA may be in use. So: ClassA *creates* a v-table slot that wants Point refs. Then when ClassD tries to fill that slot with a method that wants unboxed Points. (Note that if A extends ZZ, ClassA already died during preparation, so ClassD will also die during preparation. But here ZZ is not present, so A gets to determine the shape of the v-table slot.) Alternate scenario: ClassA inherits a v-table slot for m1 from ClassZZ that wants unboxed Points, and ClassA does *not* override m1. ClassA commits no real foul, since it doesn't try to change the contents of the slot. I think we let this pass, since we only look at overrides, but the details are always tricky. > case 2: > ClassB has Point in ValueTypes attribute and invokes ClassA.m1. > - ClassB can successfully create an instance of Point > - at method resolution time, caller-callee consistency check will throw ICCE, so ClassB can not invoke ClassA.m1 > (Tobias - I think this is your last paragraph ?Now another compiled method) Here ClassB wants to attach to ClassA's v-table slot for m1. Just like m1 itself, the slot has a calling sequence. In LW1 we aren't messing with on-the-fly adaptation, so when B tries to link to A.m1 (either the v-table slot or the method itself), the calling sequences don't align which causes ICCE. > case 3: > ClassC does NOT have Point in ValueTypes attribute and invokes ClassA.m1 > ClassC is able to invoke ClassA - caller/callee check passed consistency (without checking reality) > ClassC can pass a null Point In that case old code just does the old thing. One might ask how does the old code get a reference to the new value, if all the calling sequences are locked into alignment? The answer is that value instances are very mobile in an LW* JVM; they can be laundered through java.lang.Object, or passed as array or field elements, or through JNI, or through untyped MH internals. It's hard to close all the holes. Thus, masking a Point as an Object allows old code to grab it. But I think we do make it pretty difficult for the old code to re-type the thing as a non-value Point. In order to do that, it must issue a checkcast (or equivalent), and in LW1 (as described in Karen's very thorough write-up) a checkcast *does* perform a consistency check, because it must resolve its CONSTANT_Class, and those are *always* checked against Reality. That means the LW1 JVM will throw ICCE on old code that attempts to cast an Object to a Point (if Point is a value and the old code didn't know that). The code for detecting such a mismatch is here in Fred's patch: http://cr.openjdk.java.net/~fparain/VTAttributeChecks/webrev.02/src/hotspot/share/oops/constantPool.cpp.udiff.html (Karen did I get that right?) > So - from a compiler perspective - only classes that share the same ValueTypes attribute information about Point can call ClassA.m1. > > From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so > we are only passing null here. Tried to close all of these holes - could use review. It's hard to close all the holes, as noted above. And some holes we don't want to close: Putting a Point into a List or Object[] means old code *can* grab it and operate on it, as long as the old code doesn't mention the type Point in its constant pool. That's an important interoperability property we want to keep, if we can. > Note to John - consistency checking for array elements > relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type > is a value type can not get their hands on an instance of that value type. OK, that makes sense. Thanks for explaining. If we want to allow old code to make a closer acquaintance with the point Point, then we have to implement a new kind of "view" of Point, a reference to a buffered value, which is nullable. And we are avoiding that in LW1, pending further analysis. If we add nullable references to values in the JVM as a feature post-LW1, then we need to work out the various conversion and adaptation paths, as well as decide whether those two views of Point should be spelled differently (as JVM type descriptors), or spelled the same with contextual interpretation. If they are different (say R-Point vs. Q-Point), then we need lots of tech for descriptor shifting adapters, and we also need to chose which spelling (if either) is the legacy spelling L-Point. If they are the same, then it's the legacy spelling all around, and we need to be very careful to manage the side-channel information which indicates the Q/R distinction. I hope to discuss this more at the JVMLS. > Does this make sense for LW1? Yes; hopefully my comments are correct also. > thanks, > Karen > > p.s. Frederic checked in round 1 of the consistency checking - but did not get round 2 in before he left for vacation. He is out this > week and the next. I attached his patch out for review if you want to use it to test with to see if that helps the compiler. He will be back I > believe the 23rd. I will check with Harold on Frederic?s verifier question - we may want to push this (without perhaps the new test) before > he gets back so you can use it. > > Note - John asked for some refactoring - given how tight the time is before EA and the vacation schedule - that will be a postlw1 rfe. As I think I said to Fred, that's fine with me. ? John From ioi.lam at oracle.com Wed Jul 11 03:35:52 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Tue, 10 Jul 2018 20:35:52 -0700 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> Message-ID: <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> On 7/10/18 11:24 AM, Karen Kinnear wrote: > Let me clarify the LW1 proposal. This model is designed to NOT take into account migration of value-based classes, which we will revisit > much farther downstream. > > For LW1 - the goal is to fail with an ICCE if there are inconsistencies with value type expectations. The question is when do we catch > the problem and fail, and do we allow field access and method invocation when the information is inaccurate. > > Ioi - here is the proposal > http://cr.openjdk.java.net/~acorn/value-types-consistency-checking-details.pdf > (As John pointed out in another email - I should update it to describe the ValueTypes attribute - for now see the not-yet-out latest JVMS draft - > > http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-4e.pdf > > For local methods there are two parts: > 1) if a type in a descriptor is in the ValueTypes attribute, we will eagerly load it at preparation time. If it is not a value type, we will throw ICCE. > 2) if a type in a descriptor is NOT in the ValueTypes attribute: see *5 Method Invocation: VT Point NOT in ValueTypes attribute in the Consistency > Checking link. Extracted here - let me know if this does not make sense: > > Point is a value type. > ClassA contains method m1(Point point). Point is NOT in Class A?s ValueTypes attribute. I think this matches Ioi?s and Tobias? examples. > > case 1: method overriding > ClassA?s method m1 overrides ClassZZ?s method m1, and m1 is in ClassZZ?s ValueTypes attribute. Preparation of ClassA will fail with ICCE when creating the vtable. > ClassD extends ClassA, ClassD?s method m1 overrides ClassA?s m1 and m1 is in ClassD?s ValueTypes attribute. Preparation of ClassD will fail with ICCE when creating the vtable due to the mismatch. Note ClassA keeps going - I don?t know of a way to bubble up the failure since ClassA may be in use. > > case 2: > ClassB has Point in ValueTypes attribute and invokes ClassA.m1. > - ClassB can successfully create an instance of Point > - at method resolution time, caller-callee consistency check will throw ICCE, so ClassB can not invoke ClassA.m1 > (Tobias - I think this is your last paragraph ?Now another compiled method) > > case 3: > ClassC does NOT have Point in ValueTypes attribute and invokes ClassA.m1 > ClassC is able to invoke ClassA - caller/callee check passed consistency (without checking reality) > ClassC can pass a null Point > > So - from a compiler perspective - only classes that share the same ValueTypes attribute information about Point can call ClassA.m1. Thanks Karen for the explanation. I think it will simplify my patch for JDK-8206140 [lworld] Move return value null checks into the callee. If I understand correctly, this means that when we try to resolve a ClassRef, FieldRef, MethodRef, ..., in the constant pool, and there's a cross-class mismatch of ValueType, the constant pool entry will fail to resolve, and an ICCE will be thrown. This means the compiler should never see a mismatched cross-class reference. For example, class ClassB { ??? void foo(Point p) { ???????? ClassA.m1(p);? // ....., invokestatic MethodRef #4 = ClassA.m1:"(LPoint;)V" ??? } } When foo is compiled, the compiler will see that the constant pool entry MethodRef #4 is unresolved. Thus, the compiler will generate an uncommon trap and let the interpreter handle it. The interpreter will try to resolve #4 again, resulting in an ICCE. BTW, value-types-consistency-checking-details.pdf doesn't mention MethodHandle and Reflection explicitly. However, I assume that the same set of rules applies as well? Thanks - Ioi > From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so > we are only passing null here. Tried to close all of these holes - could use review. Note to John - consistency checking for array elements > relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type > is a value type can not get their hands on an instance of that value type. > > Does this make sense for LW1? > > thanks, > Karen > > p.s. Frederic checked in round 1 of the consistency checking - but did not get round 2 in before he left for vacation. He is out this > week and the next. I attached his patch out for review if you want to use it to test with to see if that helps the compiler. He will be back I > believe the 23rd. I will check with Harold on Frederic?s verifier question - we may want to push this (without perhaps the new test) before > he gets back so you can use it. > > Note - John asked for some refactoring - given how tight the time is before EA and the vacation schedule - that will be a postlw1 rfe. > > > > > > > >> On Jul 10, 2018, at 8:22 AM, Tobias Hartmann wrote: >> >> Hi John, >> >> On 10.07.2018 02:08, John Rose wrote: >>> On Jul 9, 2018, at 3:44 PM, Ioi Lam wrote: >>>> In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). >>>> >>>> Is this understanding correct? >>> Yes, that is correct. This model is intended to make it easier for old-school classfiles >>> to link to old types which have (over time) been upgraded to value types. >> How do we then handle the following scenario? >> >> We have a method m1(MyValue vt) in a class that has no value types attribute set although MyValue is >> a value type. Once the calling convention for that method is determined (i.e. at adapter creation), >> we therefore don't know that MyValue is a value type and as a result, m1 will expect vt to be passed >> as oop. >> >> Now another compiled method m2 that calls compiled m1 might be well aware that vt is a value type >> but has no way to know that m1 does *not* expect vt to be passed as fields (especially if the call >> is virtual). >> >> Thanks, >> Tobias From rwestrel at redhat.com Wed Jul 11 09:21:32 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 11 Jul 2018 11:21:32 +0200 Subject: RFR(XS): 8206108: [lworld] TestEliminateAllocationPhi fails with SIGSEGV in PhaseMacroExpand::expand_allocate_common Message-ID: Fix is straightforward: http://cr.openjdk.java.net/~roland/8206108/webrev.00/ Roland. From tobias.hartmann at oracle.com Wed Jul 11 09:23:16 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 11 Jul 2018 11:23:16 +0200 Subject: RFR(XS): 8206108: [lworld] TestEliminateAllocationPhi fails with SIGSEGV in PhaseMacroExpand::expand_allocate_common In-Reply-To: References: Message-ID: <8f3c7f67-39a0-288b-4b44-70ec1aa59ab0@oracle.com> Hi Roland, looks good, thanks for fixing. Tobias On 11.07.2018 11:21, Roland Westrelin wrote: > > Fix is straightforward: > > http://cr.openjdk.java.net/~roland/8206108/webrev.00/ > > Roland. > From tobias.hartmann at oracle.com Wed Jul 11 09:32:31 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 11 Jul 2018 11:32:31 +0200 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> Message-ID: <8d85278d-97b8-eee0-a904-f5e1247aca53@oracle.com> Hi Karen, On 10.07.2018 20:24, Karen Kinnear wrote: > So - from a compiler perspective - only classes that share the same ValueTypes attribute information about Point can call ClassA.m1. > > From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so > we are only passing null here. Tried to close all of these holes - could use review. Note to John - consistency checking for array elements > relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type > is a value type can not get their hands on an instance of that value type. > > Does this make sense for LW1? That makes perfect sense, thanks a lot for the clarifications. Best regards, Tobias From rwestrel at redhat.com Wed Jul 11 09:39:27 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 11 Jul 2018 11:39:27 +0200 Subject: RFR(XS): 8206108: [lworld] TestEliminateAllocationPhi fails with SIGSEGV in PhaseMacroExpand::expand_allocate_common In-Reply-To: <8f3c7f67-39a0-288b-4b44-70ec1aa59ab0@oracle.com> References: <8f3c7f67-39a0-288b-4b44-70ec1aa59ab0@oracle.com> Message-ID: > looks good, thanks for fixing. Thanks for reviewing. Roland. From rwestrel at redhat.com Wed Jul 11 09:58:46 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Wed, 11 Jul 2018 09:58:46 +0000 Subject: hg: valhalla/valhalla: 8206108: [lworld] TestEliminateAllocationPhi fails with SIGSEGV in PhaseMacroExpand::expand_allocate_common Message-ID: <201807110958.w6B9wliZ026334@aojmv0008.oracle.com> Changeset: 2a62a53b4eab Author: roland Date: 2018-07-11 11:16 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2a62a53b4eab 8206108: [lworld] TestEliminateAllocationPhi fails with SIGSEGV in PhaseMacroExpand::expand_allocate_common Reviewed-by: thartmann ! src/hotspot/share/opto/macro.cpp From srikanth.adayapalam at oracle.com Wed Jul 11 10:56:00 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Wed, 11 Jul 2018 16:26:00 +0530 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation Message-ID: Hi Maurizio, Please review the following patch that implements the changes required for https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] Translation of value constructors in classic constructor notation) Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/ Part of the work in supporting value construction in the classic constructor notation will happen independently on behalf of https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of 'this' with DU fields (for VTs and VBCs)). Normally I would have requested the review after a fair bit more of testing and self-review, but given your proposed long absence, I am requesting the review now. However, I am happy to note that the code is in pretty decent shape for another person to study (known issues at the bottom) I will continue with the testing and self review in parallel. If time is an issue, you can limit the review to the following source files: ??? Gen.java ??? TransValues.java ??? LambdaToMethod.java and these test files: (these give an idea of what works already and allows you to experiment by tweaking) test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java Known issues: (1) make.at() calls may not be updated consistently/uniformly. (2) I need to double check that some subtree translations are not skipped inadvertently. (3) Some of the other *older* modified tests need rewriting - they compare javap output which is flaky due to constant pool offsets changing anytime there is a change in code generation scheme. (4) Some code duplication can be avoided by creating utility routines. langtools tests are green (except for one non-material failure). Thanks! Srikanth From tobias.hartmann at oracle.com Wed Jul 11 13:02:37 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Wed, 11 Jul 2018 13:02:37 +0000 Subject: hg: valhalla/valhalla: [lworld] Enable runtime tests with -Xcomp and fix indentation Message-ID: <201807111302.w6BD2chc021723@aojmv0008.oracle.com> Changeset: 5cbed62223a4 Author: thartmann Date: 2018-07-11 15:02 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5cbed62223a4 [lworld] Enable runtime tests with -Xcomp and fix indentation ! test/hotspot/jtreg/runtime/valhalla/valuetypes/QuickeningTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueWithJni.java From maurizio.cimadamore at oracle.com Wed Jul 11 13:08:19 2018 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 11 Jul 2018 14:08:19 +0100 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: References: Message-ID: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> Hi Srikanth, very good piece of work. Some comments below: * JCTree: factory product symbol - I think what you did ( stash the symbol in the tree) is an ok approach. If we were trying to reduce changes to the AST (and we do not at this stage), we could probably always assume that this symbol is the first local var slot of the method (e.g. vload_0), so no symbol is strictly needed in Gen. And, as for TransValues, I think we could have some visitor variable holding the temporary symbol. Again, not needed - just giving some suggestion in case you want to clean up the changes in the method AST. * In LambdaToMethod, I believe your idea was that, for Foo::new, where Foo is a value, is better to generate a lambda, given that the 'new expression' will need to be altered by the TransValues rewriter. I think this is a good, foward-looking call. +1 * TreeMaker not sure whether you need the new method to create a method AST with a symbol in it - can't we just create the AST and then set the symbol? Of course I don't object much to the new factory, which is innocuous, it's just that it is only used in one place, and it doesn't seem to improve the code all that much to justify the addition. * TransValues... - the name 'translatingValueConstructor' seems a bit off - I would probably call it "insideValueConstructor". Also, this predicate kind of relies on the 'currentMethod' field to be set - I wonder if having a true predicate on the method symbol wouldn't be better and more reusable. - I don't fully get the dance around JCNewClass when you want to create a default value. I think a JCNewClass tree is too heavy for a default value creation. What you need is an AST node with argument expression and a type (or a symbol, if you want). You don't need constructor symbols, I think - I get that this code has probably changed over time from a world with slightly different invariants, but looking at it now feels overly complex. - on whether you need a return or not, is the problem that you don't know whether the code is alive or not after the last statement of the constructor has been evaluated? If that's the case, you *could* in principle feed the new method to Flow.aliveAnalyzer, and see whether it completes normally or not. That's the same logic we also use for lambda checking. E.g. you could create a new AliveAnalyzer visitor, run it on the body you have, and then check whether its 'alive' parameter is true or not. That will allow you to generate the body in full, w/o splitting logic between TransValues and Gen (which is of course fine as an interim workaround) - shouldn't we add the new factory to the scope of the class? How is even ClassWriter picking it up if it's not in the scope? Ah, I see, you add it into the scope in getValueFactory, and you do it only once because of the init2factory map. I suggest to move the scope entering near to where the factory method is created so that, longer term, we can be guarateed that we won't attempt to add it to the same scope twice. - replacing old constructor body with super call is odd. Maybe we should throw, to make sure nobody is calling that? - don't you need also to override visitApply in case the constructor is calling? an instance method on the value being constructed? * tests - mayeb for later, and depending on whether we support inner values (seems to, looking at InnerValueNew) - one kind of super constructor call that might get you in trouble is the qualified super constructor call - e.g., with regular ordinary classes you can have this: class A { ??? class Inner { } } class B extends A.Inner { ?????? B(A encl) { ?????????? enc.super(); ?????? } } It would be interesting to verify at some point that this kind of idiom works with your value desugaring too. That's all I can think of. Cheers Maurizio On 11/07/18 11:56, Srikanth wrote: > > Hi Maurizio, > > Please review the following patch that implements the changes required > for > https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] Translation > of value constructors in classic constructor notation) > > Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/ > > Part of the work in supporting value construction in the classic > constructor notation > will happen independently on behalf of > https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of > 'this' with DU fields (for VTs and VBCs)). > > Normally I would have requested the review after a fair bit more of > testing and self-review, but given your proposed long absence, I am > requesting the review now. However, I am happy to note that the code > is in pretty decent shape for another person to study (known issues at > the bottom) > > I will continue with the testing and self review in parallel. > > If time is an issue, you can limit the review to the following source > files: > > ??? Gen.java > ??? TransValues.java > ??? LambdaToMethod.java > > and these test files: (these give an idea of what works already and > allows you to experiment by tweaking) > > test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java > test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java > test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java > test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java > > test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java > > Known issues: > > (1) make.at() calls may not be updated consistently/uniformly. > (2) I need to double check that some subtree translations are not > skipped inadvertently. > (3) Some of the other *older* modified tests need rewriting - they > compare javap output which is flaky due to constant pool offsets > changing anytime there is a change in code generation scheme. > (4) Some code duplication can be avoided by creating utility routines. > > langtools tests are green (except for one non-material failure). > > Thanks! > Srikanth From rwestrel at redhat.com Wed Jul 11 13:09:26 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 11 Jul 2018 15:09:26 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> Message-ID: Hi Tobias, > http://cr.openjdk.java.net/~thartmann/8205044/webrev.00/ In compile.cpp: 4652 // Return constant false because one operand is a non-null value type 4653 return new CmpINode(phase->intcon(0), phase->intcon(1)); there must be a better way to return always false. How is the change in callGenerator.cpp related to acmp? Roland. From srikanth.adayapalam at oracle.com Wed Jul 11 13:35:03 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Wed, 11 Jul 2018 19:05:03 +0530 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> Message-ID: <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> On Wednesday 11 July 2018 06:38 PM, Maurizio Cimadamore wrote: > Hi Srikanth, > very good piece of work. Some comments below: [...] > > - I don't fully get the dance around JCNewClass when you want to > create a default value. I think a JCNewClass tree is too heavy for a > default value creation. What you need is an AST node with argument > expression and a type (or a symbol, if you want). You don't need > constructor symbols, I think - I get that this code has probably > changed over time from a world with slightly different invariants, but > looking at it now feels overly complex. Agree. This is just a side effect of __MakeDefault piggyacking on JCNewClass AST node with the creationMode field serving as a discriminator - NEW for references and DEFAULT_VALUE for value types. We don't even need an argument expression - default value creation cannot take any parameters. Again, agree about the irrelevance of constructor symbol and type there - It is just an attempt to preserve internal consistency after having made many moons ago the decision to overload the JCNewClass tree. I will look at simplifying the AST in a follow up ticket - though with the canonical constructor syntax, the continued need for __MakeDefault would be questionable. > > > - on whether you need a return or not, is the problem that you don't > know whether the code is alive or not after the last statement of the > constructor has been evaluated? If that's the case, you *could* in > principle feed the new method to Flow.aliveAnalyzer, and see whether > it completes normally or not. That's the same logic we also use for > lambda checking. E.g. you could create a new AliveAnalyzer visitor, > run it on the body you have, and then check whether its 'alive' > parameter is true or not. That will allow you to generate the body in > full, w/o splitting logic between TransValues and Gen (which is of > course fine as an interim workaround) Perfect. Thanks. Will fix. > > - shouldn't we add the new factory to the scope of the class? How is > even ClassWriter picking it up if it's not in the scope? Ah, I see, > you add it into the scope in getValueFactory, and you do it only once > because of the init2factory map. I suggest to move the scope entering > near to where the factory method is created so that, longer term, we > can be guarateed that we won't attempt to add it to the same scope twice. > Sounds good, will do. > - replacing old constructor body with super call is odd. Maybe we > should throw, to make sure nobody is calling that? I invested some good bit of time in the throw - but discarded it after learning that the verifier rejects the class file if there ever is a new opcode that targets a value > > - don't you need also to override visitApply in case the constructor > is calling? an instance method on the value being constructed? There is some differing opinions on this - Brian says reject all uses of this (implicit or explicit) other than chained ctor calls, field read/writes. See point 3 in the Objectives section of https://bugs.openjdk.java.net/browse/JDK-8198749. John is of the opinion that once all fields are DA, instance method calls are OK. I am waiting for the dust to settle on this, In any case I will take this up as part of https://bugs.openjdk.java.net/browse/JDK-8205910 > > * tests - mayeb for later, and depending on whether we support inner > values (seems to, looking at InnerValueNew) - one kind of super > constructor call that might get you in trouble is the qualified super > constructor call - e.g., with regular ordinary classes you can have this: > > class A { > > ??? class Inner { } > } > > > class B extends A.Inner { > > ?????? B(A encl) { > ?????????? enc.super(); > ?????? } > } > > > It would be interesting to verify at some point that this kind of > idiom works with your value desugaring too. > Will check! My plan is to fix a bunch of feedback items before push and raise a follow up ticket for others. Thanks so much Maurizio, Have a restful break! Srikanth > That's all I can think of. > > Cheers > Maurizio > > > > On 11/07/18 11:56, Srikanth wrote: >> >> Hi Maurizio, >> >> Please review the following patch that implements the changes >> required for >> https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] >> Translation of value constructors in classic constructor notation) >> >> Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/ >> >> Part of the work in supporting value construction in the classic >> constructor notation >> will happen independently on behalf of >> https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of >> 'this' with DU fields (for VTs and VBCs)). >> >> Normally I would have requested the review after a fair bit more of >> testing and self-review, but given your proposed long absence, I am >> requesting the review now. However, I am happy to note that the code >> is in pretty decent shape for another person to study (known issues >> at the bottom) >> >> I will continue with the testing and self review in parallel. >> >> If time is an issue, you can limit the review to the following source >> files: >> >> ??? Gen.java >> ??? TransValues.java >> ??? LambdaToMethod.java >> >> and these test files: (these give an idea of what works already and >> allows you to experiment by tweaking) >> >> test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java >> test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java >> test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java >> test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java >> >> test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java >> >> Known issues: >> >> (1) make.at() calls may not be updated consistently/uniformly. >> (2) I need to double check that some subtree translations are not >> skipped inadvertently. >> (3) Some of the other *older* modified tests need rewriting - they >> compare javap output which is flaky due to constant pool offsets >> changing anytime there is a change in code generation scheme. >> (4) Some code duplication can be avoided by creating utility routines. >> >> langtools tests are green (except for one non-material failure). >> >> Thanks! >> Srikanth > From tobias.hartmann at oracle.com Wed Jul 11 13:43:13 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 11 Jul 2018 15:43:13 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> Message-ID: <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> Hi Roland, thanks for the review! On 11.07.2018 15:09, Roland Westrelin wrote: > In compile.cpp: > > 4652 // Return constant false because one operand is a non-null value type > 4653 return new CmpINode(phase->intcon(0), phase->intcon(1)); > > there must be a better way to return always false. Yes, here's the incremental webrev: http://cr.openjdk.java.net/~thartmann/8205044/webrev.01_inc/ > How is the change in callGenerator.cpp related to acmp? It's not related to acmp but I found the problem during testing with this patch. If we late inline a method handle linkTo* call, the return value might be a ValueTypeNode although we are expecting an oop. We need to allocate before we can replace the call. Thanks, Tobias From maurizio.cimadamore at oracle.com Wed Jul 11 14:07:06 2018 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 11 Jul 2018 15:07:06 +0100 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> Message-ID: <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> On 11/07/18 14:35, Srikanth wrote: > > > On Wednesday 11 July 2018 06:38 PM, Maurizio Cimadamore wrote: >> Hi Srikanth, >> very good piece of work. Some comments below: > > [...] >> >> - I don't fully get the dance around JCNewClass when you want to >> create a default value. I think a JCNewClass tree is too heavy for a >> default value creation. What you need is an AST node with argument >> expression and a type (or a symbol, if you want). You don't need >> constructor symbols, I think - I get that this code has probably >> changed over time from a world with slightly different invariants, >> but looking at it now feels overly complex. > > Agree. This is just a side effect of __MakeDefault piggyacking on > JCNewClass AST node with the > creationMode field serving as a discriminator - NEW for references and > DEFAULT_VALUE for value > types. > > We don't even need an argument expression - default value creation > cannot take any parameters. Right - I missed that! > Again, agree about the irrelevance of constructor symbol and type > there - It is just an attempt to > preserve internal consistency after having made many moons ago the > decision to overload the JCNewClass tree. Sure, I was suspecting that was the case - consider everything I raised as followup-worthy - doesn't need to be addressed Right Now. > > I will look at simplifying the AST in a follow up ticket - though with > the canonical constructor syntax, the continued need for __MakeDefault > would be questionable. Well, we have internal AST node - such as LetExpr, so, it's ok to have internal nodes (WithField and Default) for value types too. >> >> >> - on whether you need a return or not, is the problem that you don't >> know whether the code is alive or not after the last statement of the >> constructor has been evaluated? If that's the case, you *could* in >> principle feed the new method to Flow.aliveAnalyzer, and see whether >> it completes normally or not. That's the same logic we also use for >> lambda checking. E.g. you could create a new AliveAnalyzer visitor, >> run it on the body you have, and then check whether its 'alive' >> parameter is true or not. That will allow you to generate the body in >> full, w/o splitting logic between TransValues and Gen (which is of >> course fine as an interim workaround) > > Perfect. Thanks. Will fix. > >> >> - shouldn't we add the new factory to the scope of the class? How is >> even ClassWriter picking it up if it's not in the scope? Ah, I see, >> you add it into the scope in getValueFactory, and you do it only once >> because of the init2factory map. I suggest to move the scope entering >> near to where the factory method is created so that, longer term, we >> can be guarateed that we won't attempt to add it to the same scope >> twice. >> > Sounds good, will do. >> - replacing old constructor body with super call is odd. Maybe we >> should throw, to make sure nobody is calling that? > > I invested some good bit of time in the throw - but discarded it after > learning that the verifier rejects the class file if there ever is a > new opcode that targets a value Ok, sounds good then. >> >> - don't you need also to override visitApply in case the constructor >> is calling? an instance method on the value being constructed? > There is some differing opinions on this - Brian says reject all uses > of this (implicit or explicit) other than chained ctor calls, field > read/writes. if you can *read* fields, then I'd expect to be able to call methods? If we only allowed field writes (but I can understand that might be too restrictive), then I'd understand. In any case, this seems more a case of a design discussion, outside the scope of this code review. > > See point 3 in the Objectives section of > https://bugs.openjdk.java.net/browse/JDK-8198749. > > John is of the opinion that once all fields are DA, instance method > calls are OK. > > I am waiting for the dust to settle on this, In any case I will take > this up as part of https://bugs.openjdk.java.net/browse/JDK-8205910 > Sure >> >> * tests - mayeb for later, and depending on whether we support inner >> values (seems to, looking at InnerValueNew) - one kind of super >> constructor call that might get you in trouble is the qualified super >> constructor call - e.g., with regular ordinary classes you can have >> this: >> >> class A { >> >> ??? class Inner { } >> } >> >> >> class B extends A.Inner { >> >> ?????? B(A encl) { >> ?????????? enc.super(); >> ?????? } >> } >> >> >> It would be interesting to verify at some point that this kind of >> idiom works with your value desugaring too. >> > Will check! > > My plan is to fix a bunch of feedback items before push and raise a > follow up ticket for others. Thanks Maurizio > > Thanks so much Maurizio, > Have a restful break! > Srikanth >> That's all I can think of. >> >> Cheers >> Maurizio >> >> >> >> On 11/07/18 11:56, Srikanth wrote: >>> >>> Hi Maurizio, >>> >>> Please review the following patch that implements the changes >>> required for >>> https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] >>> Translation of value constructors in classic constructor notation) >>> >>> Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/ >>> >>> Part of the work in supporting value construction in the classic >>> constructor notation >>> will happen independently on behalf of >>> https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of >>> 'this' with DU fields (for VTs and VBCs)). >>> >>> Normally I would have requested the review after a fair bit more of >>> testing and self-review, but given your proposed long absence, I am >>> requesting the review now. However, I am happy to note that the code >>> is in pretty decent shape for another person to study (known issues >>> at the bottom) >>> >>> I will continue with the testing and self review in parallel. >>> >>> If time is an issue, you can limit the review to the following >>> source files: >>> >>> ??? Gen.java >>> ??? TransValues.java >>> ??? LambdaToMethod.java >>> >>> and these test files: (these give an idea of what works already and >>> allows you to experiment by tweaking) >>> >>> test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java >>> test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java >>> test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java >>> >>> test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java >>> >>> test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java >>> >>> >>> Known issues: >>> >>> (1) make.at() calls may not be updated consistently/uniformly. >>> (2) I need to double check that some subtree translations are not >>> skipped inadvertently. >>> (3) Some of the other *older* modified tests need rewriting - they >>> compare javap output which is flaky due to constant pool offsets >>> changing anytime there is a change in code generation scheme. >>> (4) Some code duplication can be avoided by creating utility routines. >>> >>> langtools tests are green (except for one non-material failure). >>> >>> Thanks! >>> Srikanth >> > From rwestrel at redhat.com Wed Jul 11 15:44:30 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 11 Jul 2018 17:44:30 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> Message-ID: Compiler changes look ok to me. Roland. From tobias.hartmann at oracle.com Wed Jul 11 15:49:32 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 11 Jul 2018 17:49:32 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> Message-ID: <7d7e7429-3289-e962-8796-a92a0f4a8ab3@oracle.com> Thanks Roland! Best regards, Tobias On 11.07.2018 17:44, Roland Westrelin wrote: > > Compiler changes look ok to me. > > Roland. > From karen.kinnear at oracle.com Wed Jul 11 16:05:07 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 11 Jul 2018 12:05:07 -0400 Subject: RFR: Value types consistency checks In-Reply-To: <98D40945-3D6C-4656-98C7-A1B72904BEBA@oracle.com> References: <71EB54F5-FAA9-4A9F-AEF7-DC1E756DF7E0@oracle.com> <4E9AA19D-1954-4838-896E-3E2D8D1A8A81@oracle.com> <98D40945-3D6C-4656-98C7-A1B72904BEBA@oracle.com> Message-ID: <21AF193C-E439-4B1F-8924-E0C6C4D963B4@oracle.com> Frederic (and Harold who offered to push this for the JIT folks to build on): The code looks good - ship it. Harold offered to look into the EnableValhalla issues with classfileparser/verifier as well. I am walking code paths to see if we need to add any additional checks, but that could be a follow-on. And the test itself could be a follow-on as well. thanks, Karen > On Jul 6, 2018, at 4:26 PM, Frederic Parain wrote: > > Karen, > > Thank you for the review. > > Here?s a updated version of the patch: > http://cr.openjdk.java.net/~fparain/VTAttributeChecks/webrev.02/index.html > > I?ve added support for declarer/overrider checks, fixed a few bugs and > added asserts to check ?L? in array signatures. > > I?ve tried to generate ValueTypes attribute meta-data only when > EnableValhalla was set to true, unfortunately, it causes some > failures with verifier tests. I?ll look at his in more details after > my vacations. > > Testing is tricky, I?m currently using some Java source files > and a script to test mismatch scenarios, but in their current > form, they cannot be integrated with jtreg. I?ve attached the > test files to this mail if you want to use them. > > Regards, > > Fred > > > > >> On Jun 29, 2018, at 16:51, Karen Kinnear wrote: >> >> Frederic, >> >> Many thanks for doing this and doing this so cleanly. >> >> Couple of questions: >> 1. instanceKlass.cpp: >> if (has_value_types_attribute) line 632 ? does this want to also be if EnableValhalla? >> my understanding is that extra attributes are ignored so classFileParser should just allow them >> >> 2. instanceKlass.cpp check_symbol/signature_for_value_types_consistency >> In the array part, did you want to check for ?L? or is that just me being over cautious? >> >> 3. klassVtable.cpp >> In update_inherited_vtable when you override a method (this is the vtable part), >> there is a if (check constraints & !targer_method()->is_overpass() - which needs >> a declarer/overridder match check. Also in initialize_itable_for_interface under if (check constraints) >> >> 4. Thank you for adding the ValueTypes attributes in the class files for the tests. >> Did you add any tests that fail consistency? >> >> many thanks, >> Karen >> >>> On Jun 28, 2018, at 4:38 PM, Frederic Parain wrote: >>> >>> Please review this changeset implementing consistency checks based on the >>> ValueTypes attribute. These checks ensure that the assumptions a class has >>> about value types, as encoded in its ValueTypes attribute, match the >>> reality, or the assumptions of another class it links to. >>> >>> The details of the consistency checks have been summarized by Karen in >>> this document: >>> http://cr.openjdk.java.net/~acorn/value-types-consistency-checking-details.pdf >>> >>> If the implementation doesn?t match the document, this is likely to be bug, >>> so please, report it. >>> >>> Some tests using the Bytecodes API have been updated to include a >>> ValueTypes attribute in the class files they generate (thanks to Srikanth >>> for adding this feature to the Bytecodes API). >>> >>> Webrev: >>> http://cr.openjdk.java.net/~fparain/VTAttributeChecks/webrev.01/ >>> >>> Thank you, >>> >>> Fred >>> >> > From harold.seigel at oracle.com Wed Jul 11 16:42:17 2018 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Wed, 11 Jul 2018 16:42:17 +0000 Subject: hg: valhalla/valhalla: Summary: Add value types consistency checks Message-ID: <201807111642.w6BGgHva002860@aojmv0008.oracle.com> Changeset: a5573f4f6392 Author: fparain Date: 2018-07-11 12:41 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a5573f4f6392 Summary: Add value types consistency checks Reviewed-by: acorn ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/linkResolver.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klassVtable.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/UninitializedValueFieldsTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueOops.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypesTest.java From karen.kinnear at oracle.com Wed Jul 11 19:42:53 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 11 Jul 2018 15:42:53 -0400 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> Message-ID: Ioi, Tobias, You asked a good question about MethodHandle and Reflection. I also checked out JNI. This is my understanding - please correct me if my assumptions are inaccurate. Here are my assumptions about when we need value type consistency 1. verifier - mismatches between bytecodes and type (within a classfile, no load/check for actual value type) 2. JIT performance optimizations 2a. flattening in containers - flattenable fields and array - require check of value type vs. ACTUAL loaded type - this is easy, we preload types 2b. JIT scalarization of field access - must be an ACTUAL value type and must be flattenable This will only work for fields that the JIT?d caller believes are value types, the declarer believes are value types and the declarer does an ACTUAL check Need caller-callee agreement for a JIT?d caller. 2c. JIT calling convention - scalarization of arguments Need either the caller-callee in agreement if both compiled OR For caller calls by reference, adapter that can scalarize arguments it knows are ACTUAL value types Today adaptor is created at callee link time, so we explicitly load types in local methods in the ValueTypes attribute so they can be scalarized 2d. JIT returning a value type I do not know our plans for value type return optimizations. The adaptor for returns are stored off of the return type, so they know the ACTUAL value. In general we can check caller-callee consistency so we can be in agreement about whether a type is a value type. The exception is the JavaCalls::call_helper path used by Reflection, jni (and others internally) - I assume we will always return a reference here (I have not studied the details yet, so I don?t know where that is handled) Details: 1. MethodHandles - invocation and field access always goes through LinkResolver at this point. There are two exceptions here: - one is when the MethodHandle creation does NOT pass in the calling class information - in that case there is no check for caller-callee consistency, we need to look at this independently - one is invokespecial indirect superclass (ACC_SUPER) which performs selection in the java code. - That is a rathole I won?t follow here - we should fix that anyway - multiple potential approaches. 2. Reflection: optimized reflection generates bytecodes, so goes through bytecode path, so goes through LinkResolver. initial reflection calls JavaCalls::call->JavaCalls::call_helper 3. JNI: also goes through JavaCalls::call_helper JavaCalls::call_helper calls call_stub to invoke the entry_point which is: normally: method->from_interpreted_entry debug: method->interpreter_entry For argument passing, my assumption is that we are ok with the JavaCalls::call_helper path because it always passes by reference and uses the callee adapter from interpreter which knows the declared value types that can be scalarized. So the same adaptor that works for interpreted code works for call_helper where the caller always assumes everything is a reference and passes by reference. JIT folks - does this work in practice? thanks, Karen > Thanks Karen for the explanation. I think it will simplify my patch for JDK-8206140 [lworld] Move return value null checks into the callee. > > If I understand correctly, this means that when we try to resolve a ClassRef, FieldRef, MethodRef, ..., in the constant pool, and there's a cross-class mismatch of ValueType, the constant pool entry will fail to resolve, and an ICCE will be thrown. > > This means the compiler should never see a mismatched cross-class reference. For example, > > class ClassB { > void foo(Point p) { > ClassA.m1(p); // ....., invokestatic MethodRef #4 = ClassA.m1:"(LPoint;)V" > } > } > > When foo is compiled, the compiler will see that the constant pool entry MethodRef #4 is unresolved. Thus, the compiler will generate an uncommon trap and let the interpreter handle it. The interpreter will try to resolve #4 again, resulting in an ICCE. > > BTW, value-types-consistency-checking-details.pdf doesn't mention MethodHandle and Reflection explicitly. However, I assume that the same set of rules applies as well? > > Thanks > - Ioi > >> From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so >> we are only passing null here. Tried to close all of these holes - could use review. Note to John - consistency checking for array elements >> relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type >> is a value type can not get their hands on an instance of that value type. >> >> Does this make sense for LW1? >> >> thanks, >> Karen >> >> p.s. Frederic checked in round 1 of the consistency checking - but did not get round 2 in before he left for vacation. He is out this >> week and the next. I attached his patch out for review if you want to use it to test with to see if that helps the compiler. He will be back I >> believe the 23rd. I will check with Harold on Frederic?s verifier question - we may want to push this (without perhaps the new test) before >> he gets back so you can use it. >> >> Note - John asked for some refactoring - given how tight the time is before EA and the vacation schedule - that will be a postlw1 rfe. >> >> >> >> >> >> >> >>> On Jul 10, 2018, at 8:22 AM, Tobias Hartmann wrote: >>> >>> Hi John, >>> >>> On 10.07.2018 02:08, John Rose wrote: >>>> On Jul 9, 2018, at 3:44 PM, Ioi Lam wrote: >>>>> In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). >>>>> >>>>> Is this understanding correct? >>>> Yes, that is correct. This model is intended to make it easier for old-school classfiles >>>> to link to old types which have (over time) been upgraded to value types. >>> How do we then handle the following scenario? >>> >>> We have a method m1(MyValue vt) in a class that has no value types attribute set although MyValue is >>> a value type. Once the calling convention for that method is determined (i.e. at adapter creation), >>> we therefore don't know that MyValue is a value type and as a result, m1 will expect vt to be passed >>> as oop. >>> >>> Now another compiled method m2 that calls compiled m1 might be well aware that vt is a value type >>> but has no way to know that m1 does *not* expect vt to be passed as fields (especially if the call >>> is virtual). >>> >>> Thanks, >>> Tobias > From karen.kinnear at oracle.com Wed Jul 11 19:58:19 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 11 Jul 2018 15:58:19 -0400 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: <27516711-DC2B-4AD0-B83F-840E89FB025A@oracle.com> References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> <27516711-DC2B-4AD0-B83F-840E89FB025A@oracle.com> Message-ID: John, We are trying to track multiple phases at once :-) Agree with your descriptions. Also looking forward to additional discussions on how to handle nullability at JVMLS. thanks, Karen > On Jul 10, 2018, at 3:55 PM, John Rose wrote: > > Thanks, Karen; I blundered into talking about post-LW1 intentions > when the questions were about LW1. So, in LW1, our intention is > to cut off, rather than adapt, mismatched accesses. This means > lying in wait at v-table preparation time and field and method linkage > time, throwing an ICCE if anyone tries to set up a mismatched > access. > > Here are a few more comments, mainly to make sure I am saying > the right things, and perhaps to throw some light in dark corners? > > The usual form of a mismatch access is a method-to-method call, > but it can also be a field reference or a use of a class from a bytecode > like instanceof or anewarray. > > Related to method-to-method calls, there is also v-table slot packing, > which is how method overriding is linked physically in HotSpot. > A prepared v-table slot is really a redirected call site, to execute later. > (A subclass inherits from its super not only a prefix of instance fields, > but also a prefix of v-table slots; the subclass can extend either.) > That's why we do all kinds of method analysis at preparation time, > and why we can reasonably speak of v-table slots, as well as methods, > as sources and targets of calls. For me it helps it think of a v-table > slot as a physical entity, like an instance field, but for the whole class. > > This trick allows me to visualize override relations between methods. > A v-table slot is inherited into a subclass from a superclass, and > thus v-table slots (in their various locations) are entities with their > own relations and properties. When I read about "method overrides" > the language is about relations between methods, and so it is > hard then to reason about relations between *those* relations > unless I can visualize them somehow. Anyway, that's why I keep > going on about v-tables, even though they are "just an implementation > trick". > > On Jul 10, 2018, at 11:24 AM, Karen Kinnear > wrote: >> >> Let me clarify the LW1 proposal. This model is designed to NOT take into account migration of value-based classes, which we will revisit >> much farther downstream. >> >> For LW1 - the goal is to fail with an ICCE if there are inconsistencies with value type expectations. The question is when do we catch >> the problem and fail, and do we allow field access and method invocation when the information is inaccurate. >> >> Ioi - here is the proposal >> http://cr.openjdk.java.net/~acorn/value-types-consistency-checking-details.pdf >> (As John pointed out in another email - I should update it to describe the ValueTypes attribute - for now see the not-yet-out latest JVMS draft - >> >> http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-4e.pdf >> >> For local methods there are two parts: >> 1) if a type in a descriptor is in the ValueTypes attribute, we will eagerly load it at preparation time. If it is not a value type, we will throw ICCE. >> 2) if a type in a descriptor is NOT in the ValueTypes attribute: see *5 Method Invocation: VT Point NOT in ValueTypes attribute in the Consistency >> Checking link. Extracted here - let me know if this does not make sense: >> >> Point is a value type. >> ClassA contains method m1(Point point). Point is NOT in Class A?s ValueTypes attribute. I think this matches Ioi?s and Tobias? examples. > > (Yes, I think so too, plus a call to m1 from some m2 in another class, > which as you say is case 2 below.) > >> case 1: method overriding >> ClassA?s method m1 overrides ClassZZ?s method m1, and m1 is in ClassZZ?s ValueTypes attribute. Preparation of ClassA will fail with ICCE when creating the vtable. > > ClassA inherits a v-table slot from ClassZZ that wants unboxed Points > (passed as fields) but ClassA's method doesn't fit in that slot, since it > uses Point refs (passed as oop). Does that sound right? > > Note that a calling sequence might not physically unbox a Point, > because of some implementation heuristic or limitation. However, > the JVM must enforce ref/value consistency even in such a case, > because the JVM needs to give a predictable model for error checks. > If the JVM has the *option* to unbox a value, it needs to protect > that option by throwing errors on inconsistent code even in cases > where it doesn't *exercise* the option. > > As a proxy for "could I unbox this Point value?", you can also ask > "could I pass a null for this Point value?" The two conditions are > mutually exclusive, and the middle ground (of passing as oop > but excluding null) is not visible to the user of the JVM; the user > can't see physical calling sequences inside a virtual machine. > > This is why nullability has arisen as a way to test whether a variable > is "really a value" or is just passed by reference. Nullability *also* > has an independent role in managing certain legacy APIs where > null is used as a sentinel value. When we work out all the details, > the JVMS might end up talking about identity as a property of > the loaded type itself, but nullability as a property of various > containers of that type. Both identity and nullability need to be > suppressed, via independent means in LW1, in order to fully > flatten heap data and scalarize method arguments and returns. > > (As instance fields and v-table slots are extended in parallel > across a class hierarchy, value type optimizations follow along > both avenues. There is a deep duality between method parameters > and object fields operating here.) > >> ClassD extends ClassA, ClassD?s method m1 overrides ClassA?s m1 and m1 is in ClassD?s ValueTypes attribute. Preparation of ClassD will fail with ICCE when creating the vtable due to the mismatch. >> Note ClassA keeps going - I don?t know of a way to bubble up the failure since ClassA may be in use. > > So: ClassA *creates* a v-table slot that wants Point refs. Then when > ClassD tries to fill that slot with a method that wants unboxed Points. > > (Note that if A extends ZZ, ClassA already died during preparation, > so ClassD will also die during preparation. But here ZZ is not present, > so A gets to determine the shape of the v-table slot.) > > Alternate scenario: ClassA inherits a v-table slot for m1 from ClassZZ that > wants unboxed Points, and ClassA does *not* override m1. ClassA commits > no real foul, since it doesn't try to change the contents of the slot. I think we > let this pass, since we only look at overrides, but the details are always tricky. > >> case 2: >> ClassB has Point in ValueTypes attribute and invokes ClassA.m1. >> - ClassB can successfully create an instance of Point >> - at method resolution time, caller-callee consistency check will throw ICCE, so ClassB can not invoke ClassA.m1 >> (Tobias - I think this is your last paragraph ?Now another compiled method) > > Here ClassB wants to attach to ClassA's v-table slot for m1. Just like > m1 itself, the slot has a calling sequence. In LW1 we aren't messing with > on-the-fly adaptation, so when B tries to link to A.m1 (either the v-table > slot or the method itself), the calling sequences don't align which causes > ICCE. > >> case 3: >> ClassC does NOT have Point in ValueTypes attribute and invokes ClassA.m1 >> ClassC is able to invoke ClassA - caller/callee check passed consistency (without checking reality) >> ClassC can pass a null Point > > In that case old code just does the old thing. One might ask how does > the old code get a reference to the new value, if all the calling sequences > are locked into alignment? The answer is that value instances are very > mobile in an LW* JVM; they can be laundered through java.lang.Object, > or passed as array or field elements, or through JNI, or through untyped > MH internals. It's hard to close all the holes. > > Thus, masking a Point as an Object allows old code to grab it. But I think > we do make it pretty difficult for the old code to re-type the thing as a non-value > Point. In order to do that, it must issue a checkcast (or equivalent), and in > LW1 (as described in Karen's very thorough write-up) a checkcast *does* > perform a consistency check, because it must resolve its CONSTANT_Class, > and those are *always* checked against Reality. That means the LW1 JVM > will throw ICCE on old code that attempts to cast an Object to a Point (if Point > is a value and the old code didn't know that). The code for detecting such a > mismatch is here in Fred's patch: > > http://cr.openjdk.java.net/~fparain/VTAttributeChecks/webrev.02/src/hotspot/share/oops/constantPool.cpp.udiff.html > > (Karen did I get that right?) > >> So - from a compiler perspective - only classes that share the same ValueTypes attribute information about Point can call ClassA.m1. >> >> From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so >> we are only passing null here. Tried to close all of these holes - could use review. > > It's hard to close all the holes, as noted above. And some holes we don't want > to close: Putting a Point into a List or Object[] means old code *can* > grab it and operate on it, as long as the old code doesn't mention the type > Point in its constant pool. That's an important interoperability property we > want to keep, if we can. > >> Note to John - consistency checking for array elements >> relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type >> is a value type can not get their hands on an instance of that value type. > > OK, that makes sense. Thanks for explaining. If we want to allow old code > to make a closer acquaintance with the point Point, then we have to implement > a new kind of "view" of Point, a reference to a buffered value, which is nullable. > And we are avoiding that in LW1, pending further analysis. > > If we add nullable references to values in the JVM as a feature post-LW1, then > we need to work out the various conversion and adaptation paths, as well as > decide whether those two views of Point should be spelled differently (as JVM > type descriptors), or spelled the same with contextual interpretation. If they > are different (say R-Point vs. Q-Point), then we need lots of tech for descriptor > shifting adapters, and we also need to chose which spelling (if either) is the > legacy spelling L-Point. If they are the same, then it's the legacy spelling all > around, and we need to be very careful to manage the side-channel information > which indicates the Q/R distinction. I hope to discuss this more at the JVMLS. > >> Does this make sense for LW1? > > Yes; hopefully my comments are correct also. > >> thanks, >> Karen >> >> p.s. Frederic checked in round 1 of the consistency checking - but did not get round 2 in before he left for vacation. He is out this >> week and the next. I attached his patch out for review if you want to use it to test with to see if that helps the compiler. He will be back I >> believe the 23rd. I will check with Harold on Frederic?s verifier question - we may want to push this (without perhaps the new test) before >> he gets back so you can use it. >> >> Note - John asked for some refactoring - given how tight the time is before EA and the vacation schedule - that will be a postlw1 rfe. > > As I think I said to Fred, that's fine with me. > > ? John From karen.kinnear at oracle.com Wed Jul 11 20:09:50 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 11 Jul 2018 16:09:50 -0400 Subject: JDK-8205549: unsafe and LW1: needed for MethodHandles, VarHandles and Reflection In-Reply-To: <1326849285.1130691.1530138526996.JavaMail.zimbra@u-pem.fr> References: <78B3AFFB-FCFF-47C3-BBA4-4D4E34E094A6@oracle.com> <1326849285.1130691.1530138526996.JavaMail.zimbra@u-pem.fr> Message-ID: <54607B18-FEDE-4C7E-B646-FE9401BFDA4F@oracle.com> Remi, Thank you for catching that - thought I had already thanked you. Karen > On Jun 27, 2018, at 6:28 PM, Remi Forax wrote: > > Hi Karen, > at least MethodHandles.zero also doesn't work with a value type. > > and there are method handles to access arrays, see below. > > R?mi > > ----- Mail original ----- >> De: "Karen Kinnear" >> ?: "valhalla-dev" >> Envoy?: Mercredi 27 Juin 2018 23:36:44 >> Objet: JDK-8205549: unsafe and LW1: needed for MethodHandles, VarHandles and Reflection > >> I?ve appended a summary of Unsafe object accessors used in MethodHandles, >> VarHandles and Reflection. >> >> Thanks to Remi?s hashCode that Mandy was trying, we identified a hole in our >> current implementation. >> Turns out our tests for MethodHandles, VarHandles and Reflection did not include >> testing for field accessors >> to flattened value type fields, which all use unsafe. >> >> Model of usage (see e.g. test/hotspot/jtreg/runtime/Unsafe/GetPutObject.java) >> 1. use reflection to return a j.l.reflect.Field: >> Test.class.getField("fieldname") >> 2. unsafe.objectFieldOffset(j.l.reflect.Field) >> 3. unsafe.getObject(jobject t, offset) >> >> sample array usage: >> Object arrayObject[] >> 1. int scale = unsafe.arrayIndexScale(arrayObject.getClass()) >> 2. long offset = unsafe.arrayBaseOffset(arrayObject.getClass()) >> 3. iterate, starting with offset, += scale and pass to >> unsafe.getObject(arrayObject, offset) >> >> Issues: >> 1. getObject on a flattened value field today will return the first 64 bits of >> the flattened contents >> 2. putObject on a flattened value field today will overwrite the first 64 bits >> with an object address >> 3. put$Type$ to a field in a value class will NOT prevent writing >> note: I recognize this is unsafe. I highly recommend we prevent writing when >> given a clazz and offset so >> we can identify a value type field. >> 4. getObject/putObject not only accept a clazz + offset, they also accept a null >> base pointer + arbitrary address >> - there is no way to determine the start of the object >> 5. performance >> - basic unsafe calls are going to be very slow when applied to flattened fields >> 6. C2 intrinsics >> - today we count on intrinsics to make these fast. If C2 scalarizes fields from >> a value type, there may not be any value type to return >> >> Status: >> 1. Frederic has been working rapidly on an initial prototype for changing >> unsafe, and sent a webrev >> for unsafe changes. >> http://cr.openjdk.java.net/~fparain/Unsafe/webrev.02/index.html >> >> Note - this will not handle passing a null base pointer to a value type >> >> 2. Paul has started prototyping one possible form of optimization - >> - add some internal APIs to determine if you have a flattened field or array >> - call a different unsafe API to access a flattened field or array element >> - use this for VarHandles >> >> 3. Mandy is prototyping optimizations for MethodHandles and Reflection to use >> these new APIs >> >> Next Steps: >> >> Roland: >> Please do look at C2 intrinsics for the unsafe Object accessors and see what it >> would take to make these intrinsics work >> for value types >> If you think there is significant benefit in adding new APIs, please help us >> understand what APIs might be most helpful. >> >> Mandy, Paul - could you possibly send your webrevs when you are ready? >> >> Then we can have a better conversation of alternatives with our C2 folks. >> >> We will need a more complete set of tests specifically for MethodHandles, >> VarHandles and Reflection as well as for >> unsafe. >> >> >> thanks, >> Karen >> >> p.s. Here is the usage of unsafe for MethodHandles, VarHandles, Reflection and >> java.util.Concurrent. >> I did not include explicit internal uses on JDK existing classes or on >> ByteBuffers. >> I did not do a complete search of the JDK. >> >> MethodHandles: >> >> DirectMethodHandles create LambdaForms with NamedFunctions in unsafe to access >> fields. Underneath they use unsafe: >> getObject, getObjectVolatile, putObject, putObjectVolatile as well as >> equivalents for primitive types. >> >> sources in DirectMethodHandles.java: see makePreparedFieldLambdaForm, >> getFieldKind: Kind is an enum in LambdaForm.java >> note: uses MethodHandleNatives.objectFieldOffset, staticFieldBase, >> staticFieldOffset to set up base & offset, base is always >> either the mirror for statics or the class for instances. offset is obtained >> from fieldDescriptor returned by LinkResolver::resolve_field, >> i.e. instanceKlass.find_field(). MemberName stores offset in vmindex, is_static, >> is_setter are stored in flags. >> >> I do not see any array element accessors via MethodHandles > > > MethodHandles.arrayElementGetter() and MethodHandles.arrayElementSetter. > > >> >> VarHandles: >> Creates Forms which use unsafe.get$Type$ use: >> getObject, putObject and decorations such as Volatile, Opaque,Acquire, ? as well >> as equivalents for primitive types >> >> VarHandles ALSO access array elements using unsafe. >> arrayBaseOffset, arrayIndexScale (returns ascale) >> shift = 31 - Integer.numberOfLeadingZeros(ascale) and then e.g. >> UNSAFE.get$Type$Volatile, etc. >> >> (sources in VarHandle.s.java, X-VarHandle.java.template). Acquire base and >> offset from MethodHandleNatives calls. >> For the non-volatile case, appears to directly get/set from the array[index] >> >> Reflection: >> Reflection creates UnsafeFieldAccessorImpl (or Qualified for Volatile, same 2 >> for static) and they use unsafe: >> getObject, putObject, getObjectVolatile, putObjectVolatile >> >> sources in jdk/internal/reflect/UnsafeFieldAccessorImpl.java uses >> unsafe.staticFieldOffset or unsafe.objectFieldOffset >> >> I do not see any array element accessors in Reflection. >> >> java.util.Concurrent: Atomics - uses various decorated versions of >> Get/putObjectVolatile/Release/compareAndSet etc. >> I think clarifying that LW1 does not support java.util.Concurrent atomics is the >> way to handle this one. From karen.kinnear at oracle.com Wed Jul 11 22:08:58 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 11 Jul 2018 18:08:58 -0400 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> Message-ID: <6994DED5-73C8-4651-82DB-A72DA4B65832@oracle.com> Mandy, Many thanks for jumping in and figuring this out so quickly. I had some questions about follow-on steps you were planning for lw1 please - could you possibly file lw1 bugs for the steps you are planning to do so we can sync up? 1. Flattened arrays ? AFAICT you have implemented unsafe support for value types in fields for MethodHandles, VarHandles and Reflection. What were your plans for array support? If you add new APIs here, can we disallow a base of zero and require a base that is an array? 2. There were several proposals for explicit new API points for getReference/putReference (your call on naming) and friends that would know they were dealing with objects. Are you planning to add those for lw1? And the C2 folks would move the intrinsics today used for getObject/putObject to be used for the new getReference/putReference. They need to know your timing here please. 3. getObject/putObject and variations See attached proposal - John bought into steps 1-3. So Step 2: Were you planning to move conditional logic to jdk.internal.misc.unsafe to split into calls to getValue/getReference for lw1? Step 3: Are there other JDK uses of getObject/putObject variations that you would change to explicitly use getValue/putValue or getReference/putReference? What I had proposed was that internal to the JDK we switch over to using the explicit new APIs. This could allow Remi?s proposal of moving the getObject/putObject split logic into sun.misc.unsafe 4. Immutability For the record I share Frederic?s concern - if you write to a value type that has its default value you overwrite the default value for that type. Looks like for lw1 folks want to allow this. 5. Writing null. Sounds like John wants this to be the user?s problem, with unpredictable results. Agree with not automatically replacing null with a default value. 6. For lw1, the vm does not support atomics/volatiles for value types. So glad you added a java workaround. thanks, Karen > On Jul 2, 2018, at 12:54 PM, mandy.chung at oracle.com wrote: > > Changeset: 0dd8795826b3 > Author: mchung > Date: 2018-07-02 09:53 -0700 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0dd8795826b3 > > 8205549: [lworld] Unsafe support for flattened field of value type > Reviewed-by: psandoz > > ! src/hotspot/share/prims/methodHandles.cpp > ! src/hotspot/share/prims/unsafe.cpp > ! src/hotspot/share/runtime/reflection.cpp > ! src/hotspot/share/utilities/accessFlags.hpp > ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java > ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java > ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java > ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java > ! src/java.base/share/classes/java/lang/invoke/MemberName.java > ! src/java.base/share/classes/java/lang/invoke/VarHandles.java > ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template > ! src/java.base/share/classes/java/lang/reflect/Modifier.java > ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java > ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java > ! src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java > ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java > ! src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java > ! test/jdk/valhalla/valuetypes/Line.java > + test/jdk/valhalla/valuetypes/MethodHandleTest.java > + test/jdk/valhalla/valuetypes/MutablePath.java > ! test/jdk/valhalla/valuetypes/ObjectMethods.java > ! test/jdk/valhalla/valuetypes/Point.java > ! test/jdk/valhalla/valuetypes/Reflection.java > From john.r.rose at oracle.com Wed Jul 11 23:17:17 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 Jul 2018 16:17:17 -0700 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: <6994DED5-73C8-4651-82DB-A72DA4B65832@oracle.com> References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> <6994DED5-73C8-4651-82DB-A72DA4B65832@oracle.com> Message-ID: On Jul 11, 2018, at 3:08 PM, Karen Kinnear wrote: > > Mandy, > > Many thanks for jumping in and figuring this out so quickly. > > I had some questions about follow-on steps you were planning for lw1 please - could you possibly > file lw1 bugs for the steps you are planning to do so we can sync up? > > 1. Flattened arrays > ? AFAICT you have implemented unsafe support for value types in fields for MethodHandles, VarHandles and Reflection. > What were your plans for array support? I think the array support uses bytecodes instead of Unsafe. As such, it should pretty much Just Work wth value types. See code for MethodHandleImpl.makeArrayElementAccessor; it has no use of Unsafe, just xaload/xastore instructions on particular array types. > If you add new APIs here, can we disallow a base of zero and require a base that is an array? Please, let's not disallow this. I think we can get away with it, and it's very useful. As long as a value type does not contain oops, it seems reasonable (failing some argument I'm not aware of) to store the value type in native memory. In fact, some value types (as in the Vector API) will be bridges to native data types which don't correspond to Java primitives. Those value types should be loadable and storable directly to and from memory via the usual conventions in Unsafe, which involve zero bases. > 2. There were several proposals for explicit new API points for getReference/putReference (your call on naming) and friends that would > know they were dealing with objects. Are you planning to add those for lw1? > > And the C2 folks would move the intrinsics today used for getObject/putObject to be used for the new getReference/putReference. > They need to know your timing here please. > > 3. getObject/putObject and variations > > See attached proposal - John bought into steps 1-3. So > > Step 2: Were you planning to move conditional logic to jdk.internal.misc.unsafe to split into calls to getValue/getReference for lw1? > > Step 3: Are there other JDK uses of getObject/putObject variations that you would change to explicitly use getValue/putValue or getReference/putReference? > > What I had proposed was that internal to the JDK we switch over to using the explicit new APIs. > This could allow Remi?s proposal of moving the getObject/putObject split logic into sun.misc.unsafe (Sounds reasonable to me!) > 4. Immutability > For the record I share Frederic?s concern - if you write to a value type that has its default value you overwrite the default value for that type. > Looks like for lw1 folks want to allow this. It seems paradoxical to allow putByte to an immutable storage, but that's the game with Unsafe: It performs machine-level operations that would be unsafe and potentially illegal and damaging if performed via a normal public-use JVM API. The interpreter, runtime, and JIT all perform such paradoxical stores, and Unsafe is a member of that select club. The complete story for this, in Unsafe, requires confining the paradoxical use of putByte, etc., to a limited explicit scope, using barrier operations before and after the paradoxical write. Between the barrier operations, the supposedly immutable value instance is held in a private buffer where mutations are localized (unobservable elsewhere, e.g., via global variables) until it is patched up to its new value, before it is released into the wild. So the sequence of operations is like this: Point patchPointValue(Point x1) { // x1 is immutable and shareable Point buf; // buf is mutable but private buf = Unsafe.makeWritableBufferedCopy(x1); // START Unsafe.putByte(buf, MY_OFFSET, 42); // MODIFY Point x2 = Unsafe.finishWritableBufferedCopy(buf); // END return x2; // x2 is immutable and shareable } The funny status of "buf" in this example is that of a "larval" object: It is hidden and under development, to be metamorphosed to an adult state when the changes are finished. Note that Unsafe.putByte (or any other putX) doesn't know whether it is doing something safe or not: It is the user's responsibility to avoid just scribbling a byte to any old value instance; the user must make sure that it is a private/buffered/writable/larval value instance. In doing so the user takes on exactly the same kind of responsibility that is taken on by the engineer of the interpreter, runtime, or JIT not to scribble results on the wrong output memory. In the current state of things there is no way to absolutely ensure that a given value instance is unshared; that's why the Unsafe API needs those fencing operations, one to force a value instance to be unshared (hence safely writable), and one to pat it on the back and send it on its way as a shareable immutable. > 5. Writing null. Sounds like John wants this to be the user?s problem, with unpredictable results. Agree with not automatically replacing > null with a default value. Yep. If we make it the user's problem, the user will write code to solve the problem. > 6. For lw1, the vm does not support atomics/volatiles for value types. So glad you added a java workaround. Yes, that will help. ? John From mandy.chung at oracle.com Wed Jul 11 23:22:28 2018 From: mandy.chung at oracle.com (mandy chung) Date: Wed, 11 Jul 2018 16:22:28 -0700 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: <6994DED5-73C8-4651-82DB-A72DA4B65832@oracle.com> References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> <6994DED5-73C8-4651-82DB-A72DA4B65832@oracle.com> Message-ID: <0d05af02-e03b-0707-bbf9-1c021b0b2f8c@oracle.com> On 7/11/18 3:08 PM, Karen Kinnear wrote: > Mandy, > > Many thanks for jumping in and figuring this out so quickly. > > I had some questions about follow-on steps you were planning for lw1 > please - could you possibly file lw1 bugs for the steps you are > planning to do so we can sync up? > > 1. Flattened arrays ? AFAICT you have implemented unsafe support for > value types in fields for MethodHandles, VarHandles and Reflection. > What were your plans for array support? If you add new APIs here, can > we disallow a base of zero and require a base that is an array? https://bugs.openjdk.java.net/browse/JDK-8205698 I'm waiting for the discussion with David when he returns from vacation, in particular to understand any reason why the current implementation to write an element in an array requires to specify raw_byte_size. One idea is to get Unsafe::arrayBaseOffset and arrayIndexScale along with Unsafe::getValue/putValue to support flattened arrays. > 2. There were several proposals for explicit new API points for > getReference/putReference (your call on naming) and friends that > would know they were dealing with objects. Are you planning to add > those for lw1? > > And the C2 folks would move the intrinsics today used for > getObject/putObject to be used for the new > getReference/putReference. They need to know your timing here > please. I was thinking getReference/putReference can be done post-LW1. I assume no LW1 dependency and urgency?? > 3. getObject/putObject and variations > > See attached proposal - John bought into steps 1-3. So > > Step 2: Were you planning to move conditional logic to > jdk.internal.misc.unsafe to split into calls to getValue/getReference > for lw1? > > Step 3: Are there other JDK uses of getObject/putObject variations > that you would change to explicitly use getValue/putValue or > getReference/putReference? There are other JDK uses of Unsafe::getObject/putObject such as java.io.File, ObjectStreamClass, Graal compiler etc and many tests using it. It's straight-forward to rename them. > What I had proposed was that internal to the JDK we switch over to > using the explicit new APIs. This could allow Remi?s proposal of > moving the getObject/putObject split logic into sun.misc.unsafe It may be good to do all these together: https://bugs.openjdk.java.net/browse/JDK-8207146 Do you see any of these is critical for LW1? Mandy > 4. Immutability For the record I share Frederic?s concern - if you > write to a value type that has its default value you overwrite the > default value for that type. Looks like for lw1 folks want to allow > this. > > 5. Writing null. Sounds like John wants this to be the user?s > problem, with unpredictable results. Agree with not automatically > replacing null with a default value. > 6. For lw1, the vm does not support atomics/volatiles for value > types. So glad you added a java workaround. > > thanks, Karen From mandy.chung at oracle.com Wed Jul 11 23:27:05 2018 From: mandy.chung at oracle.com (mandy chung) Date: Wed, 11 Jul 2018 16:27:05 -0700 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> <6994DED5-73C8-4651-82DB-A72DA4B65832@oracle.com> Message-ID: On 7/11/18 4:17 PM, John Rose wrote: > On Jul 11, 2018, at 3:08 PM, Karen Kinnear > wrote: >> 1. Flattened arrays ? AFAICT you have implemented unsafe support >> for value types in fields for MethodHandles, VarHandles and >> Reflection. What were your plans for array support? > > I think the array support uses bytecodes instead of Unsafe. As such, > it should pretty much Just Work wth value types. See code for > MethodHandleImpl.makeArrayElementAccessor; it has no use of Unsafe, > just xaload/xastore instructions on particular array types. > I should have made myself clear in my reply. John is correct about MethodHandles and I already have a test verifying it. What is not working is VarHandle w.r.t. https://bugs.openjdk.java.net/browse/JDK-8205698 Mandy From ioi.lam at oracle.com Wed Jul 11 23:30:05 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Wed, 11 Jul 2018 16:30:05 -0700 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> Message-ID: <6c86d38f-71ec-85cf-fe47-b6523380e0ac@oracle.com> Hi Tobias, I looked at the interpreter part of the change. I think it correctly implements the perturbation technique as described in [1]. Thanks - Ioi [1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-January/003722.html On 7/10/18 7:01 AM, Tobias Hartmann wrote: > Hi, > > please review the following patch: > https://bugs.openjdk.java.net/browse/JDK-8205044 > http://cr.openjdk.java.net/~thartmann/8205044/webrev.00/ > > I've ported this code from the Exp branch [1]. We therefore still use the klass pointer alignment > trick to determine if an oop points to a value type. We can later enhance this to use the mark word. > > Thanks, > Tobias > > [1] > http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-March/003935.html > http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-February/003824.html From john.r.rose at oracle.com Wed Jul 11 23:40:45 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 Jul 2018 16:40:45 -0700 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: <0d05af02-e03b-0707-bbf9-1c021b0b2f8c@oracle.com> References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> <6994DED5-73C8-4651-82DB-A72DA4B65832@oracle.com> <0d05af02-e03b-0707-bbf9-1c021b0b2f8c@oracle.com> Message-ID: <6E37236F-464F-4280-A145-5AF7003A7BF6@oracle.com> On Jul 11, 2018, at 4:22 PM, mandy chung wrote: > > > On 7/11/18 3:08 PM, Karen Kinnear wrote: >> Mandy, >> Many thanks for jumping in and figuring this out so quickly. >> I had some questions about follow-on steps you were planning for lw1 >> please - could you possibly file lw1 bugs for the steps you are >> planning to do so we can sync up? >> 1. Flattened arrays ? AFAICT you have implemented unsafe support for >> value types in fields for MethodHandles, VarHandles and Reflection. What were your plans for array support? If you add new APIs here, can >> we disallow a base of zero and require a base that is an array? > > > https://bugs.openjdk.java.net/browse/JDK-8205698 Oops: My previous comment that MHs array support "Just Works" is only true for the one API point MHs.arrayElementGetter; it is not true for VH API points which must use Unsafe to implement volatile access. > I'm waiting for the discussion with David when he returns from > vacation, in particular to understand any reason why the current > implementation to write an element in an array requires to > specify raw_byte_size. One idea is to get Unsafe::arrayBaseOffset > and arrayIndexScale along with Unsafe::getValue/putValue to support > flattened arrays. See http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004515.html (on this list) for a brief discussion of array indexing. The array stride is potentially different from (larger than) the actual size of the value type. That might be the reason for the extra parameter. If that's so, then you just do the natural thing and it will work: Scale the displacement by the arrayIndexScale and then use Unsafe.putValue, which will use the correct byte-size even if that is smaller than the array stride. > >> 2. There were several proposals for explicit new API points for >> getReference/putReference (your call on naming) and friends that >> would know they were dealing with objects. Are you planning to add >> those for lw1? >> And the C2 folks would move the intrinsics today used for >> getObject/putObject to be used for the new >> getReference/putReference. They need to know your timing here >> please. > > I was thinking getReference/putReference can be done post-LW1. > I assume no LW1 dependency and urgency?? (I am aware of none. But Karen knows more than me about successfully docking the Good Ship LW1.) > >> 3. getObject/putObject and variations >> See attached proposal - John bought into steps 1-3. So >> Step 2: Were you planning to move conditional logic to >> jdk.internal.misc.unsafe to split into calls to getValue/getReference >> for lw1? >> Step 3: Are there other JDK uses of getObject/putObject variations >> that you would change to explicitly use getValue/putValue or >> getReference/putReference? > > There are other JDK uses of Unsafe::getObject/putObject such as > java.io.File, ObjectStreamClass, Graal compiler etc and many tests > using it. It's straight-forward to rename them. I'm glad to hear this. This is the sort of refactoring that Mark was envisioning when he first got that funny "modules look" in his eye, so many years ago. > >> What I had proposed was that internal to the JDK we switch over to >> using the explicit new APIs. This could allow Remi?s proposal of >> moving the getObject/putObject split logic into sun.misc.unsafe > > It may be good to do all these together: > https://bugs.openjdk.java.net/browse/JDK-8207146 > > Do you see any of these is critical for LW1? (Same comment from me as before.) Thanks for doing this Mandy! ? John P.S. Also, let's think a bit about doing those brackets for value types. One more thought about that: The opening bracket could return a buffer that is just an untyped Object with different markings than a real Point instance. The closing bracket could take the untyped object *and* a Class mirror for the desired value type, which of course would have to match the input that created the buffer. For example, the buffered object could have the same klass field as an instance, but a different mark-word bit pattern, that was reserved only for this particular place in the Unsafe API. From john.r.rose at oracle.com Thu Jul 12 00:18:05 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 Jul 2018 17:18:05 -0700 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> Message-ID: <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> On Jul 11, 2018, at 7:07 AM, Maurizio Cimadamore wrote: > > On 11/07/18 14:35, Srikanth wrote: >> >> >> On Wednesday 11 July 2018 06:38 PM, Maurizio Cimadamore wrote: >>> Hi Srikanth, >>> very good piece of work. Some comments below: >> >> [...] >>> >>> - I don't fully get the dance around JCNewClass when you want to create a default value. I think a JCNewClass tree is too heavy for a default value creation. What you need is an AST node with argument expression and a type (or a symbol, if you want). You don't need constructor symbols, I think - I get that this code has probably changed over time from a world with slightly different invariants, but looking at it now feels overly complex. >> >> Agree. This is just a side effect of __MakeDefault piggyacking on JCNewClass AST node with the >> creationMode field serving as a discriminator - NEW for references and DEFAULT_VALUE for value >> types. >> >> We don't even need an argument expression - default value creation cannot take any parameters. > Right - I missed that! >> Again, agree about the irrelevance of constructor symbol and type there - It is just an attempt to >> preserve internal consistency after having made many moons ago the decision to overload the JCNewClass tree. > Sure, I was suspecting that was the case - consider everything I raised as followup-worthy - doesn't need to be addressed Right Now. I suggest rendering __MakeDefault by using a static variable reference tree. I think that's very close to the actual implementation: The JVM creates the canonical default instance at class preparation time, and thereafter hands it out to anybody who needs it. The reference to this canonical default instance is very likely stored in a manner similar to that of public static final reference fields. In any case, the semantics are similar enough to merge into one kind of tree node. I agree that JCNewClass is overkill. It dates from an earlier model of value type construction, where every value type construction would always specify all fields, to an omnibus vnew instruction. The current model for construction is a defaultvalue followed by a chain of withfields. >> >> I will look at simplifying the AST in a follow up ticket - though with the canonical constructor syntax, the continued need for __MakeDefault would be questionable. > Well, we have internal AST node - such as LetExpr, so, it's ok to have internal nodes (WithField and Default) for value types too. I think we will end up with some user-level syntax for referring to a VT's default value by name. Something like `` VT.default ``. It would compile directly to a defaultvalue instruction. Perhaps via a tree that strongly resembles a global constant reference in VT. Hmm, nice how all that hangs together? >>> >>> >>> - on whether you need a return or not, is the problem that you don't know whether the code is alive or not after the last statement of the constructor has been evaluated? If that's the case, you *could* in principle feed the new method to Flow.aliveAnalyzer, and see whether it completes normally or not. That's the same logic we also use for lambda checking. E.g. you could create a new AliveAnalyzer visitor, run it on the body you have, and then check whether its 'alive' parameter is true or not. That will allow you to generate the body in full, w/o splitting logic between TransValues and Gen (which is of course fine as an interim workaround) >> >> Perfect. Thanks. Will fix. >> >>> >>> - shouldn't we add the new factory to the scope of the class? How is even ClassWriter picking it up if it's not in the scope? Ah, I see, you add it into the scope in getValueFactory, and you do it only once because of the init2factory map. I suggest to move the scope entering near to where the factory method is created so that, longer term, we can be guarateed that we won't attempt to add it to the same scope twice. >>> >> Sounds good, will do. >>> - replacing old constructor body with super call is odd. Maybe we should throw, to make sure nobody is calling that? >> >> I invested some good bit of time in the throw - but discarded it after learning that the verifier rejects the class file if there ever is a new opcode that targets a value > Ok, sounds good then. In the longer term, I want to make methods (in their current void-returning form) valid *only* in object classes, not value classes. So they will go from unreachable to non-existent, in value classes. Maybe we will resurrect them (in a new VT-returning factory method form) in value classes only. For that usage, I'd favor coining a new name, , and work out a way to endow object classes (and interfaces also) with -named factory methods. Then become a legacy from the days of new/dup/invokespecial, but new code shifts to invokestatic, uniformly across all types. The *only* remaining use of would be to make the handshake from a subclass constructor to a superclass constructor, in an object class. >>> >>> - don't you need also to override visitApply in case the constructor is calling an instance method on the value being constructed? >> There is some differing opinions on this - Brian says reject all uses of this (implicit or explicit) other than chained ctor calls, field read/writes. > if you can *read* fields, then I'd expect to be able to call methods? You'd expect that, yes. But (a) the value as a whole isn't fully constructed yet, and (b) some of its fields may be DU. So grabbing the whole value means implicitly grabbing a DU field, which should be a no-no, even if grabbing a single field is OK?as long as it is DA, not DU. Brian's idea is to forbid materializing the value as a whole until the constructor exits. Mine is slightly more permissive, to allow access to the value inside the constructor, as soon as all fields are DA (not DU). Thus, after the dirty work of filling in fields, if the constructor code needs to somehow wash its hands, say by logging the new value, it has access to the value instance as a whole. I think a value type constructor is nothing more than a factory method with a funny invocation notation, plus a funny implementation notation that lets you write the fields, unlike any other kind of method. The funny notations are legacies from Java. ("Codes like a class?") (Along those lines, I *also* suspect that *value* class constructors should be allowed to *return a value*, which is the short-circuited result of the constructor. Thus, if the constructor decides that the client is really asking for a pre-existing value X, it can just say "return X" and that's what the client will get. If such a constructor says plain "return" with no value, or drops off of the end of the block, then of course the value implied by the current field settings?which must by DA before the return?is what the client gets. But I'm not pressing this thought too hard yet. I'm concentrating on "codes like class", more than on "look how values are so different from objects".) > If we only allowed field writes (but I can understand that might be too restrictive), then I'd understand. I'm glad you are thinking in terms of "codes like a class" here. I filed https://bugs.openjdk.java.net/browse/JDK-8205910 so that we could preserve "codes like a class" by making VBCs "code" more like values. The ability to call virtual methods on unfinished objects is a recurrent source of bugs, which it would be good to close down on as much as we can. > > In any case, this seems more a case of a design discussion, outside the scope of this code review. Yep. That hasn't made us shy of talking about it though. :-) ? John P.S. I'm wondering if we are almost ready to try "VT.__DefaulatValue" as a syntax, as opposed to new __DefaultValue VT(). Or even "T.default", which would compile to [ilff]const_0, aconst_null, or defaultvalue T. From brian.goetz at oracle.com Thu Jul 12 01:08:08 2018 From: brian.goetz at oracle.com (Brian Goetz) Date: Wed, 11 Jul 2018 21:08:08 -0400 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> Message-ID: <526A1C9C-FE68-47D9-9BD8-187C04222645@oracle.com> > I think we will end up with some user-level syntax for referring to a VT's > default value by name. Something like `` VT.default ``. It would compile > directly to a defaultvalue instruction. Perhaps via a tree that strongly > resembles a global constant reference in VT. Hmm, nice how all that > hangs together? T.default is what we used in Model 3. From john.r.rose at oracle.com Thu Jul 12 03:17:08 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 Jul 2018 20:17:08 -0700 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <526A1C9C-FE68-47D9-9BD8-187C04222645@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> <526A1C9C-FE68-47D9-9BD8-187C04222645@oracle.com> Message-ID: On Jul 11, 2018, at 6:08 PM, Brian Goetz wrote: > >> I think we will end up with some user-level syntax for referring to a VT's >> default value by name. Something like `` VT.default ``. It would compile >> directly to a defaultvalue instruction. Perhaps via a tree that strongly >> resembles a global constant reference in VT. Hmm, nice how all that >> hangs together? > > T.default is what we used in Model 3. Yeah; I think it's probably safe to add to current prototypes. Not hard to change if we decide to do something else later. From tobias.hartmann at oracle.com Thu Jul 12 07:10:51 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 12 Jul 2018 09:10:51 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <6c86d38f-71ec-85cf-fe47-b6523380e0ac@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6c86d38f-71ec-85cf-fe47-b6523380e0ac@oracle.com> Message-ID: <1eee5b69-1cf7-f9ee-85d1-4e0aa54e6c52@oracle.com> Hi Ioi, thanks for the review! Best regards, Tobias On 12.07.2018 01:30, Ioi Lam wrote: > Hi Tobias, > > I looked at the interpreter part of the change. I think it correctly implements the perturbation > technique as described in [1]. > > Thanks > > - Ioi > > [1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-January/003722.html > > > On 7/10/18 7:01 AM, Tobias Hartmann wrote: >> Hi, >> >> please review the following patch: >> https://bugs.openjdk.java.net/browse/JDK-8205044 >> http://cr.openjdk.java.net/~thartmann/8205044/webrev.00/ >> >> I've ported this code from the Exp branch [1]. We therefore still use the klass pointer alignment >> trick to determine if an oop points to a value type. We can later enhance this to use the mark word. >> >> Thanks, >> Tobias >> >> [1] >> http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-March/003935.html >> http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-February/003824.html > From tobias.hartmann at oracle.com Thu Jul 12 07:17:14 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Thu, 12 Jul 2018 07:17:14 +0000 Subject: hg: valhalla/valhalla: 8205044: [lworld] Interpreter and compiler support for acmp with value type operands Message-ID: <201807120717.w6C7HE6N017120@aojmv0008.oracle.com> Changeset: 44e73ab2123d Author: thartmann Date: 2018-07-12 09:16 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/44e73ab2123d 8205044: [lworld] Interpreter and compiler support for acmp with value type operands Reviewed-by: roland, iklam ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/subnode.hpp + test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java From john.r.rose at oracle.com Thu Jul 12 07:35:47 2018 From: john.r.rose at oracle.com (John Rose) Date: Thu, 12 Jul 2018 00:35:47 -0700 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> Message-ID: I was liking it all the way to the last file, especially the part that went "speculate, speculate, speculate"?truly a sentiment for our times. When I got to the last file, with CmpLNode::Ideal, I noticed that it seems to maybe work correctly for the particular graph shapes created elsewhere, but not considered in isolation. Note that there is no reference to in(2), only in(1)->in([1 or 2]). It can't be correct, in general, to execute the non-null returns, if you didn't inspect in(2). I think you need more pattern-matching here; it's too eager to get to the win as coded. I reviewed it and approve (heartily) of all of it, except for the above misgiving. ? John On Jul 11, 2018, at 6:43 AM, Tobias Hartmann wrote: > > Hi Roland, > > thanks for the review! > > On 11.07.2018 15:09, Roland Westrelin wrote: >> In compile.cpp: >> >> 4652 // Return constant false because one operand is a non-null value type >> 4653 return new CmpINode(phase->intcon(0), phase->intcon(1)); >> >> there must be a better way to return always false. > > Yes, here's the incremental webrev: > http://cr.openjdk.java.net/~thartmann/8205044/webrev.01_inc/ > >> How is the change in callGenerator.cpp related to acmp? > > It's not related to acmp but I found the problem during testing with this patch. If we late inline a > method handle linkTo* call, the return value might be a ValueTypeNode although we are expecting an > oop. We need to allocate before we can replace the call. > > Thanks, > Tobias From forax at univ-mlv.fr Thu Jul 12 07:45:46 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Thu, 12 Jul 2018 09:45:46 +0200 (CEST) Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> Message-ID: <1828948385.338312.1531381546922.JavaMail.zimbra@u-pem.fr> ----- Mail original ----- > De: "John Rose" > ?: "Maurizio Cimadamore" > Cc: "valhalla-dev" > Envoy?: Jeudi 12 Juillet 2018 02:18:05 > Objet: Re: RFR:JDK-8198749 Translation of value constructors in classic constructor notation [...] > (Along those lines, I *also* suspect that *value* class constructors should be > allowed to *return a value*, which is the short-circuited result of the constructor. > Thus, if the constructor decides that the client is really asking for a pre-existing > value X, it can just say "return X" and that's what the client will get. If such a > constructor says plain "return" with no value, or drops off of the end of the > block, then of course the value implied by the current field settings?which must by DA > before the return?is what the client gets. But I'm not pressing this thought > too hard yet. I'm concentrating on "codes like class", more than on "look how values > are so different from objects".) I will prefer not too allow (value) class constructor to return a value, it's what factory method are for. I think it's better to: - allow factory method for value and reference that returns a value/reference of any type. - have value class constructor automatically translated to factory method by the compiler. - make constructor and factory mutually exclusive. R?mi From tobias.hartmann at oracle.com Thu Jul 12 08:32:37 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 12 Jul 2018 10:32:37 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> Message-ID: <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> Hi John, thanks for looking at this! On 12.07.2018 09:35, John Rose wrote: > I was liking it all the way to the last file, especially the > part that went "speculate, speculate, speculate"?truly > a sentiment for our times. When I got to the last file, > with CmpLNode::Ideal, I noticed that it seems to maybe > work correctly for the particular graph shapes created > elsewhere, but not considered in isolation. Note that > there is no reference to in(2), only in(1)->in([1 or 2]). > It can't be correct, in general, to execute the non-null > returns, if you didn't inspect in(2). I think you need > more pattern-matching here; it's too eager to get to > the win as coded. Right, that code relies on the fact that we currently don't have a CmpLNode with a OrLNode(CastP2XNode, CastP2XNode) input ever. That code pattern is only generated by Compile::optimize_acmp(). But I agree that we should strengthen the CmpLNode::Ideal() pattern matching by looking at in(2) as well. What about this? http://cr.openjdk.java.net/~thartmann/8205044/webrev.02_inc/ I've already pushed (right before receiving your email) but will push this as a follow up fix. > I reviewed it and approve (heartily) of all of it, except > for the above misgiving. Thank you! Tobias From srikanth.adayapalam at oracle.com Thu Jul 12 08:43:39 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Thu, 12 Jul 2018 14:13:39 +0530 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> Message-ID: On Wednesday 11 July 2018 06:38 PM, Maurizio Cimadamore wrote: > Hi Srikanth, > very good piece of work. Some comments below: > > * JCTree: factory product symbol - I think what you did ( stash the > symbol in the tree) is an ok approach. If we were trying to reduce > changes to the AST (and we do not at this stage), we could probably > always assume that this symbol is the first local var slot of the > method (e.g. vload_0), so no symbol is strictly needed in Gen. At first sight, this idea seems to come bundled with wonderful possibilities. Hmm. How about slot 0 reserved for factory product *AND* call the factory product `this' ;-) This would mean that *we could simply band-pass many of the trees without touching them at all* - i.e a field access such as this.x can be passed along to the code generator. However, while prototyping it, I am hitting some interesting situations: SelfItem does not allow stores, since `this' is usually not writeable. OK, we can subclass SelfItem for value factories. No problem. But After doing that it turns out the class files produced would be bad from the verifier's standpoint because the initial frame shape is derived from the method descriptor and we have now stuck a VT ahead of the types in the descriptor :-( Not a problem, I can force the generation of a full frame at bci 0 that properly describes what we have done, but I doubt if there isn't more to it ... :) Appending the product as the first local post argument vector does not confer any opportunities for elegance I fear. Srikanth > And, as for TransValues, I think we could have some visitor variable > holding the temporary symbol. Again, not needed - just giving some > suggestion in case you want to clean up the changes in the method AST. > > * In LambdaToMethod, I believe your idea was that, for Foo::new, where > Foo is a value, is better to generate a lambda, given that the 'new > expression' will need to be altered by the TransValues rewriter. I > think this is a good, foward-looking call. +1 > > * TreeMaker not sure whether you need the new method to create a > method AST with a symbol in it - can't we just create the AST and then > set the symbol? Of course I don't object much to the new factory, > which is innocuous, it's just that it is only used in one place, and > it doesn't seem to improve the code all that much to justify the > addition. > > * TransValues... > > - the name 'translatingValueConstructor' seems a bit off - I would > probably call it "insideValueConstructor". Also, this predicate kind > of relies on the 'currentMethod' field to be set - I wonder if having > a true predicate on the method symbol wouldn't be better and more > reusable. > > - I don't fully get the dance around JCNewClass when you want to > create a default value. I think a JCNewClass tree is too heavy for a > default value creation. What you need is an AST node with argument > expression and a type (or a symbol, if you want). You don't need > constructor symbols, I think - I get that this code has probably > changed over time from a world with slightly different invariants, but > looking at it now feels overly complex. > > - on whether you need a return or not, is the problem that you don't > know whether the code is alive or not after the last statement of the > constructor has been evaluated? If that's the case, you *could* in > principle feed the new method to Flow.aliveAnalyzer, and see whether > it completes normally or not. That's the same logic we also use for > lambda checking. E.g. you could create a new AliveAnalyzer visitor, > run it on the body you have, and then check whether its 'alive' > parameter is true or not. That will allow you to generate the body in > full, w/o splitting logic between TransValues and Gen (which is of > course fine as an interim workaround) > > - shouldn't we add the new factory to the scope of the class? How is > even ClassWriter picking it up if it's not in the scope? Ah, I see, > you add it into the scope in getValueFactory, and you do it only once > because of the init2factory map. I suggest to move the scope entering > near to where the factory method is created so that, longer term, we > can be guarateed that we won't attempt to add it to the same scope twice. > > - replacing old constructor body with super call is odd. Maybe we > should throw, to make sure nobody is calling that? > > - don't you need also to override visitApply in case the constructor > is calling? an instance method on the value being constructed? > > * tests - mayeb for later, and depending on whether we support inner > values (seems to, looking at InnerValueNew) - one kind of super > constructor call that might get you in trouble is the qualified super > constructor call - e.g., with regular ordinary classes you can have this: > > class A { > > ??? class Inner { } > } > > > class B extends A.Inner { > > ?????? B(A encl) { > ?????????? enc.super(); > ?????? } > } > > > It would be interesting to verify at some point that this kind of > idiom works with your value desugaring too. > > > That's all I can think of. > > Cheers > Maurizio > > > > On 11/07/18 11:56, Srikanth wrote: >> >> Hi Maurizio, >> >> Please review the following patch that implements the changes >> required for >> https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] >> Translation of value constructors in classic constructor notation) >> >> Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/ >> >> Part of the work in supporting value construction in the classic >> constructor notation >> will happen independently on behalf of >> https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of >> 'this' with DU fields (for VTs and VBCs)). >> >> Normally I would have requested the review after a fair bit more of >> testing and self-review, but given your proposed long absence, I am >> requesting the review now. However, I am happy to note that the code >> is in pretty decent shape for another person to study (known issues >> at the bottom) >> >> I will continue with the testing and self review in parallel. >> >> If time is an issue, you can limit the review to the following source >> files: >> >> ??? Gen.java >> ??? TransValues.java >> ??? LambdaToMethod.java >> >> and these test files: (these give an idea of what works already and >> allows you to experiment by tweaking) >> >> test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java >> test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java >> test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java >> test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java >> >> test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java >> >> Known issues: >> >> (1) make.at() calls may not be updated consistently/uniformly. >> (2) I need to double check that some subtree translations are not >> skipped inadvertently. >> (3) Some of the other *older* modified tests need rewriting - they >> compare javap output which is flaky due to constant pool offsets >> changing anytime there is a change in code generation scheme. >> (4) Some code duplication can be avoided by creating utility routines. >> >> langtools tests are green (except for one non-material failure). >> >> Thanks! >> Srikanth > > From srikanth.adayapalam at oracle.com Thu Jul 12 09:04:34 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Thu, 12 Jul 2018 14:34:34 +0530 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> Message-ID: <66c522a9-deb6-7eff-7e60-bdc43ab08b57@oracle.com> On Wednesday 11 July 2018 06:38 PM, Maurizio Cimadamore wrote: > > * tests - mayeb for later, and depending on whether we support inner > values (seems to, looking at InnerValueNew) - one kind of super > constructor call that might get you in trouble is the qualified super > constructor call - e.g., with regular ordinary classes you can have this: > > class A { > > ??? class Inner { } > } > > > class B extends A.Inner { > > ?????? B(A encl) { > ?????????? enc.super(); > ?????? } > } > > > It would be interesting to verify at some point that this kind of > idiom works with your value desugaring too. > Perhaps I am missing some nuance: Of the three classes involved, A, B and A.Inner, only A can be a value class. B and A.Inner cannot be since values don't extend and can't be extended. In that case, after the prevailing desugaring/lowering we end up with class B extends A$Inner { ??? B(A encl) { ??????? super(<*nullchk*>encl); ??? } } that is being fed as *input* to the new translator. The nullcheck is bogus and should be eliminated for value typed `encl' - but what other complication do you see ? I do have tests that verify that constructors that receive synthetics such as enclosing instances and captured outer locals are translated properly. Thanks Srikanth > > That's all I can think of. > > Cheers > Maurizio > > > > On 11/07/18 11:56, Srikanth wrote: >> >> Hi Maurizio, >> >> Please review the following patch that implements the changes >> required for >> https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] >> Translation of value constructors in classic constructor notation) >> >> Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/ >> >> Part of the work in supporting value construction in the classic >> constructor notation >> will happen independently on behalf of >> https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of >> 'this' with DU fields (for VTs and VBCs)). >> >> Normally I would have requested the review after a fair bit more of >> testing and self-review, but given your proposed long absence, I am >> requesting the review now. However, I am happy to note that the code >> is in pretty decent shape for another person to study (known issues >> at the bottom) >> >> I will continue with the testing and self review in parallel. >> >> If time is an issue, you can limit the review to the following source >> files: >> >> ??? Gen.java >> ??? TransValues.java >> ??? LambdaToMethod.java >> >> and these test files: (these give an idea of what works already and >> allows you to experiment by tweaking) >> >> test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java >> test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java >> test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java >> test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java >> >> test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java >> >> Known issues: >> >> (1) make.at() calls may not be updated consistently/uniformly. >> (2) I need to double check that some subtree translations are not >> skipped inadvertently. >> (3) Some of the other *older* modified tests need rewriting - they >> compare javap output which is flaky due to constant pool offsets >> changing anytime there is a change in code generation scheme. >> (4) Some code duplication can be avoided by creating utility routines. >> >> langtools tests are green (except for one non-material failure). >> >> Thanks! >> Srikanth > > From srikanth.adayapalam at oracle.com Thu Jul 12 11:08:04 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Thu, 12 Jul 2018 11:08:04 +0000 Subject: hg: valhalla/valhalla: 8198749: lworld: Translation of value constructors in classic constructor notation Message-ID: <201807121108.w6CB85wu026284@aojmv0008.oracle.com> Changeset: 5d5382d7200c Author: sadayapalam Date: 2018-07-12 16:37 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5d5382d7200c 8198749: lworld: Translation of value constructors in classic constructor notation Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/TransValues.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! test/langtools/tools/javac/failover/CheckAttributedTree.java ! test/langtools/tools/javac/valhalla/lworld-values/ConstantPropagationTest.java + test/langtools/tools/javac/valhalla/lworld-values/CtorChain.java + test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java + test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java + test/langtools/tools/javac/valhalla/lworld-values/QualifiedSuperCtor.java + test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java + test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueCreationTest.java + test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueTypesAttributeTest.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfExplicitSelector.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfImplicitThis.java From srikanth.adayapalam at oracle.com Thu Jul 12 11:15:59 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Thu, 12 Jul 2018 16:45:59 +0530 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> Message-ID: <1b67884b-bbaa-ee68-7508-a7d937639673@oracle.com> Here is the push URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5d5382d7200c See below for action taken report. Thanks a lot for the review comments Maurizio. Appreciate it! Srikanth On Wednesday 11 July 2018 06:38 PM, Maurizio Cimadamore wrote: > Hi Srikanth, > very good piece of work. Some comments below: > > * JCTree: factory product symbol - I think what you did ( stash the > symbol in the tree) is an ok approach. If we were trying to reduce > changes to the AST (and we do not at this stage), we could probably > always assume that this symbol is the first local var slot of the > method (e.g. vload_0), so no symbol is strictly needed in Gen. And, as > for TransValues, I think we could have some visitor variable holding > the temporary symbol. Again, not needed - just giving some suggestion > in case you want to clean up the changes in the method AST. As documented in previous mail, I undertook this noble pursuit in earnest and it took me to some interesting corners that negated the initial promising simplification that appeared possible. So at least for now, I will stay with the present implementation. IMO it is not unreasonable that a parse tree node would store a computed/derived attribute as opposed to what was primarily present in source. > * In LambdaToMethod, I believe your idea was that, for Foo::new, where > Foo is a value, is better to generate a lambda, given that the 'new > expression' will need to be altered by the TransValues rewriter. I > think this is a good, foward-looking call. +1 Thanks > > * TreeMaker not sure whether you need the new method to create a > method AST with a symbol in it - can't we just create the AST and then > set the symbol? Of course I don't object much to the new factory, > which is innocuous, it's just that it is only used in one place, and > it doesn't seem to improve the code all that much to justify the > addition. I have withdrawn this change. > > * TransValues... > > - the name 'translatingValueConstructor' seems a bit off - I would > probably call it "insideValueConstructor". Also, this predicate kind > of relies on the 'currentMethod' field to be set - I wonder if having > a true predicate on the method symbol wouldn't be better and more > reusable. > Name simplified to constructingValue() > - I don't fully get the dance around JCNewClass when you want to > create a default value. I think a JCNewClass tree is too heavy for a > default value creation. What you need is an AST node with argument > expression and a type (or a symbol, if you want). You don't need > constructor symbols, I think - I get that this code has probably > changed over time from a world with slightly different invariants, but > looking at it now feels overly complex. Agreed. I have raised https://bugs.openjdk.java.net/browse/JDK-8207168. > - on whether you need a return or not, is the problem that you don't > know whether the code is alive or not after the last statement of the > constructor has been evaluated? If that's the case, you *could* in > principle feed the new method to Flow.aliveAnalyzer, and see whether > it completes normally or not. That's the same logic we also use for > lambda checking. E.g. you could create a new AliveAnalyzer visitor, > run it on the body you have, and then check whether its 'alive' > parameter is true or not. That will allow you to generate the body in > full, w/o splitting logic between TransValues and Gen (which is of > course fine as an interim workaround) This again I have deferred after taking a look. > - shouldn't we add the new factory to the scope of the class? How is > even ClassWriter picking it up if it's not in the scope? Ah, I see, > you add it into the scope in getValueFactory, and you do it only once > because of the init2factory map. I suggest to move the scope entering > near to where the factory method is created so that, longer term, we > can be guarateed that we won't attempt to add it to the same scope twice. Done. > - replacing old constructor body with super call is odd. Maybe we > should throw, to make sure nobody is calling that? As discussed elsewhere, a throw is not done because verifier anyways rejects any attempts to reach view new. new and VT don't go together. So ATM constructors are stubbed out with just a supercall which is required by the verifier. > > - don't you need also to override visitApply in case the constructor > is calling? an instance method on the value being constructed? This will be covered as part of JDK-8205910 > > * tests - mayeb for later, and depending on whether we support inner > values (seems to, looking at InnerValueNew) - one kind of super > constructor call that might get you in trouble is the qualified super > constructor call - e.g., with regular ordinary classes you can have this: I think this is a non-issue, anyway I have added the following as a test FWIW. > > class A { > > ??? class Inner { } > } > > > class B extends A.Inner { > > ?????? B(A encl) { > ?????????? enc.super(); > ?????? } > } > > > It would be interesting to verify at some point that this kind of > idiom works with your value desugaring too. > > > That's all I can think of. > > Cheers > Maurizio > > > > On 11/07/18 11:56, Srikanth wrote: >> >> Hi Maurizio, >> >> Please review the following patch that implements the changes >> required for >> https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] >> Translation of value constructors in classic constructor notation) >> >> Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/ >> >> Part of the work in supporting value construction in the classic >> constructor notation >> will happen independently on behalf of >> https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of >> 'this' with DU fields (for VTs and VBCs)). >> >> Normally I would have requested the review after a fair bit more of >> testing and self-review, but given your proposed long absence, I am >> requesting the review now. However, I am happy to note that the code >> is in pretty decent shape for another person to study (known issues >> at the bottom) >> >> I will continue with the testing and self review in parallel. >> >> If time is an issue, you can limit the review to the following source >> files: >> >> ??? Gen.java >> ??? TransValues.java >> ??? LambdaToMethod.java >> >> and these test files: (these give an idea of what works already and >> allows you to experiment by tweaking) >> >> test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java >> test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java >> test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java >> test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java >> >> test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java >> >> Known issues: >> >> (1) make.at() calls may not be updated consistently/uniformly. >> (2) I need to double check that some subtree translations are not >> skipped inadvertently. >> (3) Some of the other *older* modified tests need rewriting - they >> compare javap output which is flaky due to constant pool offsets >> changing anytime there is a change in code generation scheme. >> (4) Some code duplication can be avoided by creating utility routines. >> >> langtools tests are green (except for one non-material failure). >> >> Thanks! >> Srikanth > > From tobias.hartmann at oracle.com Thu Jul 12 11:40:57 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 12 Jul 2018 13:40:57 +0200 Subject: hg: valhalla/valhalla: Summary: Add value types consistency checks In-Reply-To: <201807111642.w6BGgHva002860@aojmv0008.oracle.com> References: <201807111642.w6BGgHva002860@aojmv0008.oracle.com> Message-ID: <5a5ac5e5-fc5f-75c0-174b-95148f2665f3@oracle.com> Some of our tests are now failing with an ICCE. I've filed: https://bugs.openjdk.java.net/browse/JDK-8207170 Thanks, Tobias On 11.07.2018 18:42, harold.seigel at oracle.com wrote: > Changeset: a5573f4f6392 > Author: fparain > Date: 2018-07-11 12:41 -0400 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a5573f4f6392 > > Summary: Add value types consistency checks > Reviewed-by: acorn > > ! src/hotspot/share/interpreter/linkResolver.cpp > ! src/hotspot/share/interpreter/linkResolver.hpp > ! src/hotspot/share/oops/constantPool.cpp > ! src/hotspot/share/oops/instanceKlass.cpp > ! src/hotspot/share/oops/instanceKlass.hpp > ! src/hotspot/share/oops/klassVtable.cpp > ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java > ! test/hotspot/jtreg/runtime/valhalla/valuetypes/UninitializedValueFieldsTest.java > ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueOops.java > ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypesTest.java > From tobias.hartmann at oracle.com Thu Jul 12 12:59:05 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Thu, 12 Jul 2018 12:59:05 +0000 Subject: hg: valhalla/valhalla: 8206002: [lworld] ValueTypesTest fails with 'assert(Universe::heap()->is_in_closed_subset(o)) failed: should be in closed'. Message-ID: <201807121259.w6CCx5wr029400@aojmv0008.oracle.com> Changeset: 00caa4e605cf Author: thartmann Date: 2018-07-12 14:58 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/00caa4e605cf 8206002: [lworld] ValueTypesTest fails with 'assert(Universe::heap()->is_in_closed_subset(o)) failed: should be in closed'. ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypesTest.java From tobias.hartmann at oracle.com Thu Jul 12 13:00:30 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 12 Jul 2018 15:00:30 +0200 Subject: hg: valhalla/valhalla: 8206002: [lworld] ValueTypesTest fails with 'assert(Universe::heap()->is_in_closed_subset(o)) failed: should be in closed'. In-Reply-To: <201807121259.w6CCx5wr029400@aojmv0008.oracle.com> References: <201807121259.w6CCx5wr029400@aojmv0008.oracle.com> Message-ID: <6250c749-dbe1-ebf0-09fa-0404c0b71cb3@oracle.com> I've pushed this directly because the fix is trivial: We did not emit GC barriers for stores to non-flattened value type fields because T_VALUETYPE was not treated as oop. I've also added -Xcomp to the corresponding test. Thanks, Tobias On 12.07.2018 14:59, tobias.hartmann at oracle.com wrote: > Changeset: 00caa4e605cf > Author: thartmann > Date: 2018-07-12 14:58 +0200 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/00caa4e605cf > > 8206002: [lworld] ValueTypesTest fails with 'assert(Universe::heap()->is_in_closed_subset(o)) failed: should be in closed'. > > ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp > ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp > ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypesTest.java > From john.r.rose at oracle.com Thu Jul 12 17:36:47 2018 From: john.r.rose at oracle.com (John Rose) Date: Thu, 12 Jul 2018 10:36:47 -0700 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> Message-ID: Yes, that's much better. The type of phase->longcon(1) is wrong; you mean intcon(1). Also, even intcon(1) is confusing; I think we want something that is more clearly related to the TypeInt::CC constants. In this case TypeInt::CC_GT is exactly what you want, since it asserts that the variable value is greater than zero, and unsigned pointer comparison is a reasonable fiction here. So, you can say makecon(TypeInt::CC_GT). There is no CC_NE, for various reasons. You could polish it up by adding TypeInt::CC_NOT_NULL as an alias for CC_GT. ? John On Jul 12, 2018, at 1:32 AM, Tobias Hartmann wrote: > > Hi John, > > thanks for looking at this! > > On 12.07.2018 09:35, John Rose wrote: >> I was liking it all the way to the last file, especially the >> part that went "speculate, speculate, speculate"?truly >> a sentiment for our times. When I got to the last file, >> with CmpLNode::Ideal, I noticed that it seems to maybe >> work correctly for the particular graph shapes created >> elsewhere, but not considered in isolation. Note that >> there is no reference to in(2), only in(1)->in([1 or 2]). >> It can't be correct, in general, to execute the non-null >> returns, if you didn't inspect in(2). I think you need >> more pattern-matching here; it's too eager to get to >> the win as coded. > > Right, that code relies on the fact that we currently don't have a CmpLNode with a > OrLNode(CastP2XNode, CastP2XNode) input ever. That code pattern is only generated by > Compile::optimize_acmp(). But I agree that we should strengthen the CmpLNode::Ideal() pattern > matching by looking at in(2) as well. > > What about this? > http://cr.openjdk.java.net/~thartmann/8205044/webrev.02_inc/ > > I've already pushed (right before receiving your email) but will push this as a follow up fix. > >> I reviewed it and approve (heartily) of all of it, except >> for the above misgiving. > > Thank you! > > Tobias From john.r.rose at oracle.com Thu Jul 12 17:54:09 2018 From: john.r.rose at oracle.com (John Rose) Date: Thu, 12 Jul 2018 10:54:09 -0700 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <1828948385.338312.1531381546922.JavaMail.zimbra@u-pem.fr> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> <1828948385.338312.1531381546922.JavaMail.zimbra@u-pem.fr> Message-ID: <34CF1961-54EF-4F9A-9CAA-E8D6CDEBF12E@oracle.com> On Jul 12, 2018, at 12:45 AM, Remi Forax wrote: > > I will prefer not too allow (value) class constructor to return a value, it's what factory method are for. > > I think it's better to: > - allow factory method for value and reference that returns a value/reference of any type. > - have value class constructor automatically translated to factory method by the compiler. > - make constructor and factory mutually exclusive. All that is reasonable to me. (Scoping is after LW1 of course.) So you vote for making a clean break from to . That's probably the right thing to do; I can't think of a strong reason to cleverly recycle (with a new method type) to denote . My point about an early value-return makes sense for but not , since is required to update its given L[0] argument in place. In the language, I'm speculating that there could be a place for a kind of source-level constructor which is really a method not an method. That kind of constructor could logically be given the capability to do an early value-return, since it's really a factory method. Such a constructor, if we decided to create it, would need a method type signature which allowed the value-return. Value types always have this, while currently object types never have this signature. So there's a notation problem to solve, which I don't have much opinion on. Maybe you mark a constructor using the keyword "factory" in an object class, and constructors in value classes are always factories? It's almost possible to make and mutually exclusive, except for non-final objects. In that case, the object class has API points for creators, which should be named , and API points for subclasses, which still need to be named . In a case like that, the method, if it is derived from a non-factory constructor, consists of the following code: ACC_STATIC (Arg?)ObjCls { new ObjCls dup push Arg... invokespecial ObjCls.(Arg?)V areturn } The method can be downgraded from ACC_PUBLIC to ACC_PROTECTED, and the verifier can be tightened up to exclude uses of which are now covered by . Result: A new convention for canonical factory methods for all types (object, value, interface), replacing and extending the translation strategy that used for "new ObjClass(arg?)". ? John From karen.kinnear at oracle.com Thu Jul 12 18:35:44 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 12 Jul 2018 14:35:44 -0400 Subject: hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type In-Reply-To: <6E37236F-464F-4280-A145-5AF7003A7BF6@oracle.com> References: <201807021654.w62GsUoJ023136@aojmv0008.oracle.com> <6994DED5-73C8-4651-82DB-A72DA4B65832@oracle.com> <0d05af02-e03b-0707-bbf9-1c021b0b2f8c@oracle.com> <6E37236F-464F-4280-A145-5AF7003A7BF6@oracle.com> Message-ID: Given John?s call on the unsafe philosophy - you need to know what you are doing - we won?t check for overwriting immutable - even if you overwrite canonical default - we won?t prevent writing nulls - we won?t prevent reading/writing first element of flattened field when you think you are getting a reference ? well - seems like LW1 is a good place to find out reactions to that - so we will put in a warning on the public wiki. So - translation is - Mandy - if you could add the VarHandles array support then I think we are all set as your propose for LW1. this means we also don?t need to change the current intrinsics for getObject/putObject and won?t put back Frederic?s changes. Many thanks to Frederic for the miracle and hope vacation helps recovery. Seat belts please, thanks, Karen > On Jul 11, 2018, at 7:40 PM, John Rose wrote: > > On Jul 11, 2018, at 4:22 PM, mandy chung > wrote: >> >> >> On 7/11/18 3:08 PM, Karen Kinnear wrote: >>> Mandy, >>> Many thanks for jumping in and figuring this out so quickly. >>> I had some questions about follow-on steps you were planning for lw1 >>> please - could you possibly file lw1 bugs for the steps you are >>> planning to do so we can sync up? >>> 1. Flattened arrays ? AFAICT you have implemented unsafe support for >>> value types in fields for MethodHandles, VarHandles and Reflection. What were your plans for array support? If you add new APIs here, can >>> we disallow a base of zero and require a base that is an array? >> >> >> https://bugs.openjdk.java.net/browse/JDK-8205698 > > Oops: My previous comment that MHs array support "Just Works" > is only true for the one API point MHs.arrayElementGetter; it is not > true for VH API points which must use Unsafe to implement volatile > access. > >> I'm waiting for the discussion with David when he returns from >> vacation, in particular to understand any reason why the current >> implementation to write an element in an array requires to >> specify raw_byte_size. One idea is to get Unsafe::arrayBaseOffset >> and arrayIndexScale along with Unsafe::getValue/putValue to support >> flattened arrays. > > See http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004515.html > (on this list) for a brief discussion of array indexing. The array stride is > potentially different from (larger than) the actual size of the value type. > That might be the reason for the extra parameter. If that's so, then > you just do the natural thing and it will work: Scale the displacement > by the arrayIndexScale and then use Unsafe.putValue, which will > use the correct byte-size even if that is smaller than the array stride. > >> >>> 2. There were several proposals for explicit new API points for >>> getReference/putReference (your call on naming) and friends that >>> would know they were dealing with objects. Are you planning to add >>> those for lw1? >>> And the C2 folks would move the intrinsics today used for >>> getObject/putObject to be used for the new >>> getReference/putReference. They need to know your timing here >>> please. >> >> I was thinking getReference/putReference can be done post-LW1. >> I assume no LW1 dependency and urgency?? > > (I am aware of none. But Karen knows more than me about successfully > docking the Good Ship LW1.) > >> >>> 3. getObject/putObject and variations >>> See attached proposal - John bought into steps 1-3. So >>> Step 2: Were you planning to move conditional logic to >>> jdk.internal.misc.unsafe to split into calls to getValue/getReference >>> for lw1? >>> Step 3: Are there other JDK uses of getObject/putObject variations >>> that you would change to explicitly use getValue/putValue or >>> getReference/putReference? >> >> There are other JDK uses of Unsafe::getObject/putObject such as >> java.io.File, ObjectStreamClass, Graal compiler etc and many tests >> using it. It's straight-forward to rename them. > > I'm glad to hear this. This is the sort of refactoring that Mark was > envisioning when he first got that funny "modules look" in his eye, > so many years ago. > >> >>> What I had proposed was that internal to the JDK we switch over to >>> using the explicit new APIs. This could allow Remi?s proposal of >>> moving the getObject/putObject split logic into sun.misc.unsafe >> >> It may be good to do all these together: >> https://bugs.openjdk.java.net/browse/JDK-8207146 >> >> Do you see any of these is critical for LW1? > > (Same comment from me as before.) > > Thanks for doing this Mandy! > > ? John > > P.S. Also, let's think a bit about doing those brackets for value types. > One more thought about that: The opening bracket could return > a buffer that is just an untyped Object with different markings than > a real Point instance. The closing bracket could take the untyped > object *and* a Class mirror for the desired value type, which of course > would have to match the input that created the buffer. For example, > the buffered object could have the same klass field as an instance, > but a different mark-word bit pattern, that was reserved only for > this particular place in the Unsafe API. From forax at univ-mlv.fr Thu Jul 12 18:43:26 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Thu, 12 Jul 2018 20:43:26 +0200 (CEST) Subject: boxing + unboxing a VT is not a no-op ? Message-ID: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> Hi guys, it seems that operations likes VT -> Object -> VT are not optimized has being a no-op. with IntBox being a value type that wrap an int, this code is slow (not very slow, i.e not interpreter slow) public int valuelist_intbox_innervalue_inlined_reduce() { __ByValue class Adder implements BiFunction { private final boolean nonEmpty; Adder() { nonEmpty = false; throw new AssertionError(); } public IntBox apply(IntBox acc, IntBox element) { return acc.add(element); } } BiFunction mapper = __MakeDefault Adder(); var sum = IntBox.zero(); int size = valueList.size(); for(int i = 0; i < size; i++) { sum = mapper.apply(sum, valueList.get(i)); } return sum.intValue(); } while this code is fast (more than 10 times faster) public int valuelist_intbox_inlined_reduce() { var sum = IntBox.zero(); int size = valueList.size(); for(int i = 0; i < size; i++) { sum = sum.add(valueList.get(i)); } return sum.intValue(); } the difference is that instead of calling add on an IntBox to do the addition, i used an anonymous value class which implement a functional interface which used Objects. (valueList is just an array of IntBox wrapped in a value type). regards, R?mi From ioi.lam at oracle.com Thu Jul 12 19:19:55 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Thu, 12 Jul 2018 12:19:55 -0700 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> Message-ID: I've simplified the runtime part of this patch after Harold pushed the "Add value types consistency checks" changes. http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v04/ Now Method::is_returning_vt() is initialized during class preparation time, and the run-time checks in the interpreter is kept to a minimum. There's no change to the compiler part of the patch since the last webrev. The test cases have been simplified since I no longer need to test for value types consistency. Thanks - Ioi On 7/10/18 8:59 AM, Ioi Lam wrote: > Oops, will do :-) > > Thanks > > - Ioi > > > On 7/10/18 8:47 AM, Tobias Hartmann wrote: >> Hi Ioi, >> >> On 10.07.2018 17:33, Ioi Lam wrote: >>> http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v03/ >>> >> Looks good to me but I think you need to add the copyright headers to >> the .jasm files (no new webrev >> required). >> >> Thanks, >> Tobias > From karen.kinnear at oracle.com Thu Jul 12 21:05:50 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 12 Jul 2018 17:05:50 -0400 Subject: ASM for value types that generates ValueTypes attribute? Message-ID: <49E45B44-8C95-4B77-ADAE-23C7578807EA@oracle.com> Remi, Is there an ASM for value types that allows adding types to the ValueTypes attribute? Apologies if we already have it and I have not been keeping up. With our new consistency checking, our reflection code needs to use it. thanks, Karen From paul.sandoz at oracle.com Thu Jul 12 21:39:06 2018 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 12 Jul 2018 14:39:06 -0700 Subject: RFR 8207205 [lworld] Unsafe/VarHandle read-modify-write value accessors Message-ID: <0DAB6FD9-7B5B-492D-8718-D899FE7B7000@oracle.com> Hi, This patch fills out the remaining (and not very efficient) support in Unsafe/VarHandle for read-modify-write value accessors: http://cr.openjdk.java.net/~psandoz/valhalla/vh-value-accessors/webrev/ I plan to follow up separately with tests, which may take a little more time to tease apart the current test infrastructure, plus i may not get to it this week before going on vacation. Paul. From mandy.chung at oracle.com Thu Jul 12 21:42:15 2018 From: mandy.chung at oracle.com (mandy chung) Date: Thu, 12 Jul 2018 14:42:15 -0700 Subject: RFR JDK-8207207: [lworld] test/jdk/valhalla/valuetypes/ValueBootstrapMethod fails with ICCE Message-ID: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207207 The generated ValueClass class fails with the value type consistency check as it does not have ValueTypes attribute. Simple fix. Mandy From karen.kinnear at oracle.com Thu Jul 12 21:44:50 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 12 Jul 2018 17:44:50 -0400 Subject: RFR 8207205 [lworld] Unsafe/VarHandle read-modify-write value accessors In-Reply-To: <0DAB6FD9-7B5B-492D-8718-D899FE7B7000@oracle.com> References: <0DAB6FD9-7B5B-492D-8718-D899FE7B7000@oracle.com> Message-ID: <0DFE57C9-4672-451E-8CD0-2D51A15B7391@oracle.com> Paul, I was so hoping you or Mandy would get a chance to add those. Code looks good - check it in and add tests as you can. many thanks, Karen > On Jul 12, 2018, at 5:39 PM, Paul Sandoz wrote: > > Hi, > > This patch fills out the remaining (and not very efficient) support in Unsafe/VarHandle for read-modify-write value accessors: > > http://cr.openjdk.java.net/~psandoz/valhalla/vh-value-accessors/webrev/ > > I plan to follow up separately with tests, which may take a little more time to tease apart the current test infrastructure, plus i may not get to it this week before going on vacation. > > Paul. From karen.kinnear at oracle.com Thu Jul 12 21:45:53 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 12 Jul 2018 17:45:53 -0400 Subject: ASM for value types that generates ValueTypes attribute? In-Reply-To: <49E45B44-8C95-4B77-ADAE-23C7578807EA@oracle.com> References: <49E45B44-8C95-4B77-ADAE-23C7578807EA@oracle.com> Message-ID: <859E41F6-CE81-443D-9A97-B1DA2C457ADF@oracle.com> I was not thinking - of course you support it - we just have to add an attribute. Running too fast. thanks, Karen > On Jul 12, 2018, at 5:05 PM, Karen Kinnear wrote: > > Remi, > > Is there an ASM for value types that allows adding types to the ValueTypes attribute? > Apologies if we already have it and I have not been keeping up. > > With our new consistency checking, our reflection code needs to use it. > > thanks, > Karen From karen.kinnear at oracle.com Thu Jul 12 21:53:27 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 12 Jul 2018 17:53:27 -0400 Subject: RFR JDK-8207207: [lworld] test/jdk/valhalla/valuetypes/ValueBootstrapMethod fails with ICCE In-Reply-To: References: Message-ID: <9664C3A8-76EB-4578-B391-05B94C548354@oracle.com> Mandy, Looks good. Thank you for the fix. Karen > On Jul 12, 2018, at 5:42 PM, mandy chung wrote: > > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207207 > > The generated ValueClass class fails with the value type consistency > check as it does not have ValueTypes attribute. Simple fix. > > Mandy From paul.sandoz at oracle.com Thu Jul 12 21:55:21 2018 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 12 Jul 2018 14:55:21 -0700 Subject: RFR JDK-8207207: [lworld] test/jdk/valhalla/valuetypes/ValueBootstrapMethod fails with ICCE In-Reply-To: References: Message-ID: +1 Paul. > On Jul 12, 2018, at 2:42 PM, mandy chung wrote: > > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207207 > > The generated ValueClass class fails with the value type consistency > check as it does not have ValueTypes attribute. Simple fix. > > Mandy From mandy.chung at oracle.com Thu Jul 12 21:57:12 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 12 Jul 2018 21:57:12 +0000 Subject: hg: valhalla/valhalla: 8207207: [lworld] test/jdk/valhalla/valuetypes/ValueBootstrapMethod fails with ICCE Message-ID: <201807122157.w6CLvDUq021020@aojmv0008.oracle.com> Changeset: 208e3da0bbc5 Author: mchung Date: 2018-07-12 14:57 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/208e3da0bbc5 8207207: [lworld] test/jdk/valhalla/valuetypes/ValueBootstrapMethod fails with ICCE Reviewed-by: acorn ! test/jdk/valhalla/valuetypes/ValueBootstrapMethods.java From mandy.chung at oracle.com Thu Jul 12 21:59:41 2018 From: mandy.chung at oracle.com (mandy chung) Date: Thu, 12 Jul 2018 14:59:41 -0700 Subject: RFR 8207205 [lworld] Unsafe/VarHandle read-modify-write value accessors In-Reply-To: <0DAB6FD9-7B5B-492D-8718-D899FE7B7000@oracle.com> References: <0DAB6FD9-7B5B-492D-8718-D899FE7B7000@oracle.com> Message-ID: <46d76577-2faa-5610-06c6-31031c47afa9@oracle.com> +1 Mandy On 7/12/18 2:39 PM, Paul Sandoz wrote: > Hi, > > This patch fills out the remaining (and not very efficient) support > in Unsafe/VarHandle for read-modify-write value accessors: > > http://cr.openjdk.java.net/~psandoz/valhalla/vh-value-accessors/webrev/ > > I plan to follow up separately with tests, which may take a little > more time to tease apart the current test infrastructure, plus i may > not get to it this week before going on vacation. > > Paul. > From paul.sandoz at oracle.com Thu Jul 12 23:06:18 2018 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 12 Jul 2018 16:06:18 -0700 Subject: RFR 8207205 [lworld] Unsafe/VarHandle read-modify-write value accessors In-Reply-To: <0DFE57C9-4672-451E-8CD0-2D51A15B7391@oracle.com> References: <0DAB6FD9-7B5B-492D-8718-D899FE7B7000@oracle.com> <0DFE57C9-4672-451E-8CD0-2D51A15B7391@oracle.com> Message-ID: > On Jul 12, 2018, at 2:44 PM, Karen Kinnear wrote: > > Paul, > > I was so hoping you or Mandy would get a chance to add those. Code looks good - check it in and add tests as you can. > Thanks. I had my suspicions the test i am working on might crash the compiler and it did :-) [1]. It?s crashing with -XX:-TieredCompilation when compiling the value type Point::equals method in either a CAS or CAE test where equality is required. The test passes when executed with -Xint. I may just finish polishing the test and commit for others to reproduce the failure and work out a solution. Paul. Current CompileTask: C2: 5268 439 Point::equals (8 bytes) Stack: [0x00007000059d2000,0x0000700005ad2000], sp=0x0000700005ace5c0, free space=1009k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.dylib+0x20d85d] AddPNode::Value(PhaseGVN*) const+0xd9 V [libjvm.dylib+0xc0a485] PhaseGVN::transform_no_reclaim(Node*)+0x119 V [libjvm.dylib+0xbf0320] Parse::optimize_cmp_with_klass(Node*)+0x1e2 V [libjvm.dylib+0xbf6526] Parse::do_one_bytecode()+0x615c V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 V [libjvm.dylib+0x57b76e] Parse::do_call()+0x78a V [libjvm.dylib+0xbf04bd] Parse::do_one_bytecode()+0xf3 V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 V [libjvm.dylib+0x57b76e] Parse::do_call()+0x78a V [libjvm.dylib+0xbf04bd] Parse::do_one_bytecode()+0xf3 V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 V [libjvm.dylib+0x57b76e] Parse::do_call()+0x78a V [libjvm.dylib+0xbf04bd] Parse::do_one_bytecode()+0xf3 V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 V [libjvm.dylib+0x57b76e] Parse::do_call()+0x78a V [libjvm.dylib+0xbf04bd] Parse::do_one_bytecode()+0xf3 V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 V [libjvm.dylib+0x4894ac] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x8e6 V [libjvm.dylib+0x48c61b] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x31 V [libjvm.dylib+0x358470] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x130 V [libjvm.dylib+0x49f3ec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x668 V [libjvm.dylib+0x49ec19] CompileBroker::compiler_thread_loop()+0x2f1 V [libjvm.dylib+0xd6c1c9] JavaThread::thread_main_inner()+0x1ed V [libjvm.dylib+0xd6bca2] JavaThread::run()+0x3da V [libjvm.dylib+0xba4ec8] thread_native_entry(Thread*)+0x12b C [libsystem_pthread.dylib+0x3661] _pthread_body+0x154 C [libsystem_pthread.dylib+0x350d] _pthread_body+0x0 C [libsystem_pthread.dylib+0x2bf9] thread_start+0xd From paul.sandoz at oracle.com Thu Jul 12 23:26:02 2018 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 12 Jul 2018 16:26:02 -0700 Subject: RFR 8207205 [lworld] Unsafe/VarHandle read-modify-write value accessors In-Reply-To: References: <0DAB6FD9-7B5B-492D-8718-D899FE7B7000@oracle.com> <0DFE57C9-4672-451E-8CD0-2D51A15B7391@oracle.com> Message-ID: An additional issue is because static fields are not (currently flattened) the ref var handle is used which uses an atomic hardware instruction for CAS/CAE and thus does ref equality, so there is more work to be done here to fix this. Paul. > On Jul 12, 2018, at 4:06 PM, Paul Sandoz wrote: > > > >> On Jul 12, 2018, at 2:44 PM, Karen Kinnear wrote: >> >> Paul, >> >> I was so hoping you or Mandy would get a chance to add those. Code looks good - check it in and add tests as you can. >> > > Thanks. > > I had my suspicions the test i am working on might crash the compiler and it did :-) [1]. > > It?s crashing with -XX:-TieredCompilation when compiling the value type Point::equals method in either a CAS or CAE test where equality is required. The test passes when executed with -Xint. > > I may just finish polishing the test and commit for others to reproduce the failure and work out a solution. > > Paul. > > Current CompileTask: > C2: 5268 439 Point::equals (8 bytes) > > Stack: [0x00007000059d2000,0x0000700005ad2000], sp=0x0000700005ace5c0, free space=1009k > Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) > V [libjvm.dylib+0x20d85d] AddPNode::Value(PhaseGVN*) const+0xd9 > V [libjvm.dylib+0xc0a485] PhaseGVN::transform_no_reclaim(Node*)+0x119 > V [libjvm.dylib+0xbf0320] Parse::optimize_cmp_with_klass(Node*)+0x1e2 > V [libjvm.dylib+0xbf6526] Parse::do_one_bytecode()+0x615c > V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f > V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 > V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 > V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 > V [libjvm.dylib+0x57b76e] Parse::do_call()+0x78a > V [libjvm.dylib+0xbf04bd] Parse::do_one_bytecode()+0xf3 > V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f > V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 > V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 > V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 > V [libjvm.dylib+0x57b76e] Parse::do_call()+0x78a > V [libjvm.dylib+0xbf04bd] Parse::do_one_bytecode()+0xf3 > V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f > V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 > V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 > V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 > V [libjvm.dylib+0x57b76e] Parse::do_call()+0x78a > V [libjvm.dylib+0xbf04bd] Parse::do_one_bytecode()+0xf3 > V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f > V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 > V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 > V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 > V [libjvm.dylib+0x57b76e] Parse::do_call()+0x78a > V [libjvm.dylib+0xbf04bd] Parse::do_one_bytecode()+0xf3 > V [libjvm.dylib+0xbe23af] Parse::do_one_block()+0x35f > V [libjvm.dylib+0xbe0e11] Parse::do_all_blocks()+0x421 > V [libjvm.dylib+0xbdd7b2] Parse::Parse(JVMState*, ciMethod*, float)+0xc96 > V [libjvm.dylib+0x35985c] ParseGenerator::generate(JVMState*)+0xb6 > V [libjvm.dylib+0x4894ac] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x8e6 > V [libjvm.dylib+0x48c61b] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x31 > V [libjvm.dylib+0x358470] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x130 > V [libjvm.dylib+0x49f3ec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x668 > V [libjvm.dylib+0x49ec19] CompileBroker::compiler_thread_loop()+0x2f1 > V [libjvm.dylib+0xd6c1c9] JavaThread::thread_main_inner()+0x1ed > V [libjvm.dylib+0xd6bca2] JavaThread::run()+0x3da > V [libjvm.dylib+0xba4ec8] thread_native_entry(Thread*)+0x12b > C [libsystem_pthread.dylib+0x3661] _pthread_body+0x154 > C [libsystem_pthread.dylib+0x350d] _pthread_body+0x0 > C [libsystem_pthread.dylib+0x2bf9] thread_start+0xd > From paul.sandoz at oracle.com Thu Jul 12 23:31:57 2018 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Thu, 12 Jul 2018 23:31:57 +0000 Subject: hg: valhalla/valhalla: 8207205: [lworld] Unsafe/VarHandle read-modify-write value accessors Message-ID: <201807122331.w6CNVwAW017970@aojmv0008.oracle.com> Changeset: 8f000e9ec8fe Author: psandoz Date: 2018-07-12 16:28 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8f000e9ec8fe 8207205: [lworld] Unsafe/VarHandle read-modify-write value accessors Reviewed-by: acorn ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java From ioi.lam at oracle.com Fri Jul 13 01:12:23 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Thu, 12 Jul 2018 18:12:23 -0700 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> Message-ID: <1025881d-4cc9-fa38-9549-52776c501b09@oracle.com> I have a test case where compiled code fails *even* if we have the consistency check. It's due to inlining. Details in https://bugs.openjdk.java.net/browse/JDK-8207219 Note that my test program is "consistent" because there are no cross-class references that involve Value Types. So far the crash happens only with my patch for JDK-8206140 (Move return value null checks into the callee). However, I am not sure if there are other assumptions in the JIT may be broken due to inlining. Anyway, I think we should avoid inlining in this situation. Thanks - Ioi On 7/11/18 12:42 PM, Karen Kinnear wrote: > Ioi, Tobias, > > You asked a good question about MethodHandle and Reflection. I also > checked out JNI. This is my understanding - please correct me > if my assumptions are inaccurate. > > Here are my assumptions about when we need value type consistency > 1. verifier - mismatches between bytecodes and type (within a > classfile, no load/check for actual value type) > 2. JIT performance optimizations > ? ? 2a. flattening in containers - flattenable fields and array - > require check of value type vs. ACTUAL loaded type > ? ? ? ? ? - this is easy, we preload types > > ? ? 2b. JIT scalarization of field access - must be an ACTUAL value > type and must be flattenable > ? ? ? ?This will only work for fields that the JIT?d caller believes > are value types, the declarer believes are value types and the > declarer does an ACTUAL check > ? ? ? ?Need caller-callee agreement for a JIT?d caller. > > ? ? 2c. JIT calling convention - scalarization of arguments > ? ? ? ?Need either the caller-callee in agreement if both compiled OR > ? ? ? ?For caller calls by reference, adapter that can scalarize > arguments it knows are ACTUAL value types > ? ? ? ?Today adaptor is created at callee link time, so we explicitly > load types in local methods in the ValueTypes attribute so they can be > scalarized > ? ? ?2d. JIT returning a value type > ? ? ? ? I do not know our plans for value type return optimizations. > ? ? ? ? The adaptor for returns are stored off of the return type, so > they know the ACTUAL value. > ? ? ? ? In general we can check caller-callee consistency so we can be > in agreement about whether a type is a value type. > ? ? ? ? The exception is the JavaCalls::call_helper path used by > Reflection, jni (and others internally) > ? ? ? ? ? ? - I assume we will always return a reference here (I have > not studied the details yet, so I don?t know where that is handled) > Details: > 1. MethodHandles - invocation and field access always goes through > LinkResolver at this point. > There are two exceptions here: > ? ? - one is when the MethodHandle creation does NOT pass in the > calling class information > ? ? ? - in that case there is no check for caller-callee consistency, > we need to look at this independently > ? ? - one is invokespecial indirect superclass (ACC_SUPER) which > performs selection in the java code. > ? ? ? ?- That is a rathole I won?t follow here - we should fix that > anyway - multiple potential approaches. > > 2. Reflection: > ? ?optimized reflection generates bytecodes, so goes through bytecode > path, so goes through LinkResolver. > ? ?initial reflection calls JavaCalls::call->JavaCalls::call_helper > > 3. JNI: > ? ?also goes through JavaCalls::call_helper > > JavaCalls::call_helper calls call_stub to invoke the entry_point which is: > ? ?normally: method->from_interpreted_entry > ? ?debug: method->interpreter_entry > > For argument passing, my assumption is that we are ok with the > JavaCalls::call_helper path because it always passes by reference > and uses the callee adapter from interpreter which knows the declared > value types that can be scalarized. So the same adaptor that works for > interpreted code works for call_helper where the caller always assumes > everything is a reference and passes by reference. > > JIT folks - does this work in practice? > > thanks, > Karen > > > >> Thanks Karen for the explanation. I think it will simplify my patch >> for JDK-8206140 [lworld] Move return value null checks into the callee. >> >> If I understand correctly, this means that when we try to resolve a >> ClassRef, FieldRef, MethodRef, ..., in the constant pool, and there's >> a cross-class mismatch of ValueType, the constant pool entry will >> fail to resolve, and an ICCE will be thrown. >> >> This means the compiler should never see a mismatched cross-class >> reference. For example, >> >> class ClassB { >> ??? void foo(Point p) { >> ???????? ClassA.m1(p);? // ....., invokestatic MethodRef #4 = >> ClassA.m1:"(LPoint;)V" >> ??? } >> } >> >> When foo is compiled, the compiler will see that the constant pool >> entry MethodRef #4 is unresolved. Thus, the compiler will generate an >> uncommon trap and let the interpreter handle it. The interpreter will >> try to resolve #4 again, resulting in an ICCE. >> >> BTW, value-types-consistency-checking-details.pdf doesn't mention >> MethodHandle and Reflection explicitly. However, I assume that the >> same set of rules applies as well? >> >> Thanks >> - Ioi >> >>> From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so >>> we are only passing null here. Tried to close all of these holes - could use review. Note to John - consistency checking for array elements >>> relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type >>> is a value type can not get their hands on an instance of that value type. >>> >>> Does this make sense for LW1? >>> >>> thanks, >>> Karen >>> >>> p.s. Frederic checked in round 1 of the consistency checking - but did not get round 2 in before he left for vacation. He is out this >>> week and the next. I attached his patch out for review if you want to use it to test with to see if that helps the compiler. He will be back I >>> believe the 23rd. I will check with Harold on Frederic?s verifier question - we may want to push this (without perhaps the new test) before >>> he gets back so you can use it. >>> >>> Note - John asked for some refactoring - given how tight the time is before EA and the vacation schedule - that will be a postlw1 rfe. >>> >>> >>> >>> >>> >>>> On Jul 10, 2018, at 8:22 AM, Tobias Hartmann wrote: >>>> >>>> Hi John, >>>> >>>> On 10.07.2018 02:08, John Rose wrote: >>>>> On Jul 9, 2018, at 3:44 PM, Ioi Lam wrote: >>>>>> In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). >>>>>> >>>>>> Is this understanding correct? >>>>> Yes, that is correct. This model is intended to make it easier for old-school classfiles >>>>> to link to old types which have (over time) been upgraded to value types. >>>> How do we then handle the following scenario? >>>> >>>> We have a method m1(MyValue vt) in a class that has no value types attribute set although MyValue is >>>> a value type. Once the calling convention for that method is determined (i.e. at adapter creation), >>>> we therefore don't know that MyValue is a value type and as a result, m1 will expect vt to be passed >>>> as oop. >>>> >>>> Now another compiled method m2 that calls compiled m1 might be well aware that vt is a value type >>>> but has no way to know that m1 does *not* expect vt to be passed as fields (especially if the call >>>> is virtual). >>>> >>>> Thanks, >>>> Tobias >> > From srikanth.adayapalam at oracle.com Fri Jul 13 05:32:01 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Fri, 13 Jul 2018 05:32:01 +0000 Subject: hg: valhalla/valhalla: lworld: Eliminate redundant null check inserted by javac. Message-ID: <201807130532.w6D5W2sr026051@aojmv0008.oracle.com> Changeset: 427e9f98ac72 Author: sadayapalam Date: 2018-07-13 11:01 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/427e9f98ac72 lworld: Eliminate redundant null check inserted by javac. ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java From srikanth.adayapalam at oracle.com Fri Jul 13 05:39:02 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Fri, 13 Jul 2018 11:09:02 +0530 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> <526A1C9C-FE68-47D9-9BD8-187C04222645@oracle.com> Message-ID: <394b6ade-9f5b-5f26-eb70-a01cf96ce19a@oracle.com> On Thursday 12 July 2018 08:47 AM, John Rose wrote: > On Jul 11, 2018, at 6:08 PM, Brian Goetz wrote: >>> I think we will end up with some user-level syntax for referring to a VT's >>> default value by name. Something like `` VT.default ``. It would compile >>> directly to a defaultvalue instruction. Perhaps via a tree that strongly >>> resembles a global constant reference in VT. Hmm, nice how all that >>> hangs together? >> T.default is what we used in Model 3. > Yeah; I think it's probably safe to add to current prototypes. > Not hard to change if we decide to do something else later. If that is a definite requirement, please say so on https://bugs.openjdk.java.net/browse/JDK-8207168 and I will follow up. Thanks Srikanth From john.r.rose at oracle.com Fri Jul 13 07:52:37 2018 From: john.r.rose at oracle.com (John Rose) Date: Fri, 13 Jul 2018 00:52:37 -0700 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <394b6ade-9f5b-5f26-eb70-a01cf96ce19a@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <25b014e6-7e32-ff9e-ebc5-3a71380d275f@oracle.com> <885e4367-bbb2-ee36-c838-0de15ff442b8@oracle.com> <448EBCD7-0523-4BD9-BB03-FFEE3D792D34@oracle.com> <526A1C9C-FE68-47D9-9BD8-187C04222645@oracle.com> <394b6ade-9f5b-5f26-eb70-a01cf96ce19a@oracle.com> Message-ID: <248CFE58-ECE1-489A-A218-7B8A771D479F@oracle.com> I upvoted it. Don?t let it derail more important work, though! > On Jul 12, 2018, at 10:39 PM, Srikanth wrote: > > > >> On Thursday 12 July 2018 08:47 AM, John Rose wrote: >> On Jul 11, 2018, at 6:08 PM, Brian Goetz wrote: >>>> I think we will end up with some user-level syntax for referring to a VT's >>>> default value by name. Something like `` VT.default ``. It would compile >>>> directly to a defaultvalue instruction. Perhaps via a tree that strongly >>>> resembles a global constant reference in VT. Hmm, nice how all that >>>> hangs together? >>> T.default is what we used in Model 3. >> Yeah; I think it's probably safe to add to current prototypes. >> Not hard to change if we decide to do something else later. > > If that is a definite requirement, please say so on https://bugs.openjdk.java.net/browse/JDK-8207168 > and I will follow up. > > Thanks > Srikanth > From tobias.hartmann at oracle.com Fri Jul 13 09:45:39 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 13 Jul 2018 11:45:39 +0200 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> Message-ID: Hi Karen, On 11.07.2018 21:42, Karen Kinnear wrote: > ? ? 2a. flattening in containers - flattenable fields and array - require check of value type vs. > ACTUAL loaded type > ? ? ? ? ? - this is easy, we preload types Yes, no issues here. > ? ? 2b. JIT scalarization of field access - must be an ACTUAL value type and must be flattenable > ? ? ? ?This will only work for fields that the JIT?d caller believes are value types, the declarer > believes are value types and the declarer does an ACTUAL check > ? ? ? ?Need caller-callee agreement for a JIT?d caller. I don't understand what you mean by caller/callee in the context of a field access? Also, I'm not sure what you mean by "scalarization of field access"? If compiled code loads a value type from a field (no matter if the field is flattenable or not), it will scalarize the value type if it's not null (i.e., pass it on in registers or on the stack). This relies on the fact that at compile time, the field type is loaded if it's a value type. > ? ? 2c. JIT calling convention - scalarization of arguments > ? ? ? ?Need either the caller-callee in agreement if both compiled OR > ? ? ? ?For caller calls by reference, adapter that can scalarize arguments it knows are ACTUAL value > types > ? ? ? ?Today adaptor is created at callee link time, so we explicitly load types in local methods in > the ValueTypes attribute so they can be scalarized Yes, but we don't support that for LW1 because there are still lots of other issues to sort out before we can re-enable -XX:+ValueTypePassFieldsAsArgs (for example, the issue with lambda forms and linkTo* calls). > ? ? ?2d. JIT returning a value type > ? ? ? ? I do not know our plans for value type return optimizations. The plan is to re-enable -XX:+ValueTypeReturnedAsFields for lworld once we have sorted out the calling convention issues. > ? ? ? ? The adaptor for returns are stored off of the return type, so they know the ACTUAL value. Returns do not use any adapters but we do some kind of handshaking between the caller and the callee to make sure that they agree on the type (see page 26/27 of [1]). > ? ? ? ? In general we can check caller-callee consistency so we can be in agreement about whether a > type is a value type. > ? ? ? ? The exception is the JavaCalls::call_helper path used by Reflection, jni (and others internally) > ? ? ? ? ? ? - I assume we will always return a reference here (I have not studied the details yet, > so I don?t know where that is handled) I'm not sure about the reflection/jni case but the short answer would be "we don't support scalarization of the return value for LW1". And I don't see any problems with the current code. > Details: > 1. MethodHandles - invocation and field access always goes through LinkResolver at this point. > There are two exceptions here: > ? ? - one is when the MethodHandle creation does NOT pass in the calling class information > ? ? ? - in that case there is no check for caller-callee consistency, we need to look at this > independently > ? ? - one is invokespecial indirect superclass (ACC_SUPER) which performs selection in the java code. > ? ? ? ?- That is a rathole I won?t follow here - we should fix that anyway - multiple potential > approaches. > > 2. Reflection: > ? ?optimized reflection generates bytecodes, so goes through bytecode path, so goes through > LinkResolver. > ? ?initial reflection calls JavaCalls::call->JavaCalls::call_helper > > 3. JNI: > ? ?also goes through JavaCalls::call_helper > > JavaCalls::call_helper calls call_stub to invoke the entry_point which is: > ? ?normally: method->from_interpreted_entry > ? ?debug: method->interpreter_entry > > For argument passing, my assumption is that we are ok with the JavaCalls::call_helper path because > it always passes by reference > and uses the callee adapter from interpreter which knows the declared value types that can be > scalarized. So the same adaptor that works for > interpreted code works for call_helper where the caller always assumes everything is a reference and > passes by reference. > > JIT folks - does this work in practice? Yes, that seems reasonable but it's very hard to figure this all out by code inspection. I think what we need is more tests to find bugs and/or gain confidence in our current design/implementation. That said, current JIT optimizations do not rely on the value types attribute but of course there might be bugs or implicit assumptions that do not hold. However, Ioi's optimization (8206140) relies on the fact that an interpreted callee always knows when it's returning null for a value type (and can then deoptimize the compiled caller). It seems that the attribute consistency checks cannot guarantee that but I need to take a closer look. My take on this is to defer all optimizations that rely on the consistency checks to after we got these right (and it's okay if that is after LW1). Best regards, Tobias [1] http://cr.openjdk.java.net/~thartmann/talks/2018-Value_Types_Compiler_Offsite.pdf From tobias.hartmann at oracle.com Fri Jul 13 12:10:24 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 13 Jul 2018 14:10:24 +0200 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: <1025881d-4cc9-fa38-9549-52776c501b09@oracle.com> References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> <1025881d-4cc9-fa38-9549-52776c501b09@oracle.com> Message-ID: <53751289-5cba-505f-5245-b9be36079ed3@oracle.com> Hi Ioi, good catch! I've replied in detail in the bug comments. Thanks, Tobias On 13.07.2018 03:12, Ioi Lam wrote: > I have a test case where compiled code fails *even* if we have the consistency check. It's due to > inlining. > > Details in https://bugs.openjdk.java.net/browse/JDK-8207219 > > Note that my test program is "consistent" because there are no cross-class references that involve > Value Types. > > So far the crash happens only with my patch for JDK-8206140 (Move return value null checks into the > callee). However, I am not sure if there are other assumptions in the JIT may be broken due to > inlining. Anyway, I think we should avoid inlining in this situation. > > Thanks > > - Ioi > > > > On 7/11/18 12:42 PM, Karen Kinnear wrote: >> Ioi, Tobias, >> >> You asked a good question about MethodHandle and Reflection. I also checked out JNI. This is my >> understanding - please correct me >> if my assumptions are inaccurate. >> >> Here are my assumptions about when we need value type consistency >> 1. verifier - mismatches between bytecodes and type (within a classfile, no load/check for actual >> value type) >> 2. JIT performance optimizations >> ? ? 2a. flattening in containers - flattenable fields and array - require check of value type vs. >> ACTUAL loaded type >> ? ? ? ? ? - this is easy, we preload types >> >> ? ? 2b. JIT scalarization of field access - must be an ACTUAL value type and must be flattenable >> ? ? ? ?This will only work for fields that the JIT?d caller believes are value types, the declarer >> believes are value types and the declarer does an ACTUAL check >> ? ? ? ?Need caller-callee agreement for a JIT?d caller. >> >> ? ? 2c. JIT calling convention - scalarization of arguments >> ? ? ? ?Need either the caller-callee in agreement if both compiled OR >> ? ? ? ?For caller calls by reference, adapter that can scalarize arguments it knows are ACTUAL >> value types >> ? ? ? ?Today adaptor is created at callee link time, so we explicitly load types in local methods >> in the ValueTypes attribute so they can be scalarized >> ?? >> ? ? ?2d. JIT returning a value type >> ? ? ? ? I do not know our plans for value type return optimizations. >> ? ? ? ? The adaptor for returns are stored off of the return type, so they know the ACTUAL value. >> ? ? ? ? In general we can check caller-callee consistency so we can be in agreement about whether >> a type is a value type. >> ? ? ? ? The exception is the JavaCalls::call_helper path used by Reflection, jni (and others >> internally) >> ? ? ? ? ? ? - I assume we will always return a reference here (I have not studied the details yet, >> so I don?t know where that is handled) >> ? ? ? ?? >> Details: >> 1. MethodHandles - invocation and field access always goes through LinkResolver at this point. >> There are two exceptions here: >> ? ? - one is when the MethodHandle creation does NOT pass in the calling class information >> ? ? ? - in that case there is no check for caller-callee consistency, we need to look at this >> independently >> ? ? - one is invokespecial indirect superclass (ACC_SUPER) which performs selection in the java code. >> ? ? ? ?- That is a rathole I won?t follow here - we should fix that anyway - multiple potential >> approaches. >> >> 2. Reflection: >> ? ?optimized reflection generates bytecodes, so goes through bytecode path, so goes through >> LinkResolver. >> ? ?initial reflection calls JavaCalls::call->JavaCalls::call_helper >> >> 3. JNI: >> ? ?also goes through JavaCalls::call_helper >> >> JavaCalls::call_helper calls call_stub to invoke the entry_point which is: >> ? ?normally: method->from_interpreted_entry >> ? ?debug: method->interpreter_entry >> >> For argument passing, my assumption is that we are ok with the JavaCalls::call_helper path because >> it always passes by reference >> and uses the callee adapter from interpreter which knows the declared value types that can be >> scalarized. So the same adaptor that works for >> interpreted code works for call_helper where the caller always assumes everything is a reference >> and passes by reference. >> >> JIT folks - does this work in practice? >> >> thanks, >> Karen >> >> >> >>> Thanks Karen for the explanation. I think it will simplify my patch for JDK-8206140 [lworld] Move >>> return value null checks into the callee. >>> >>> If I understand correctly, this means that when we try to resolve a ClassRef, FieldRef, >>> MethodRef, ..., in the constant pool, and there's a cross-class mismatch of ValueType, the >>> constant pool entry will fail to resolve, and an ICCE will be thrown. >>> >>> This means the compiler should never see a mismatched cross-class reference. For example, >>> >>> class ClassB { >>> ??? void foo(Point p) { >>> ???????? ClassA.m1(p);? // ....., invokestatic MethodRef #4 = ClassA.m1:"(LPoint;)V" >>> ??? } >>> } >>> >>> When foo is compiled, the compiler will see that the constant pool entry MethodRef #4 is >>> unresolved. Thus, the compiler will generate an uncommon trap and let the interpreter handle it. >>> The interpreter will try to resolve #4 again, resulting in an ICCE. >>> >>> BTW, value-types-consistency-checking-details.pdf doesn't mention MethodHandle and Reflection >>> explicitly. However, I assume that the same set of rules applies as well? >>> >>> Thanks >>> - Ioi >>> >>>> From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so >>>> we are only passing null here. Tried to close all of these holes - could use review. Note to John - consistency checking for array elements >>>> relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type >>>> is a value type can not get their hands on an instance of that value type. >>>> >>>> Does this make sense for LW1? >>>> >>>> thanks, >>>> Karen >>>> >>>> p.s. Frederic checked in round 1 of the consistency checking - but did not get round 2 in before he left for vacation. He is out this >>>> week and the next. I attached his patch out for review if you want to use it to test with to see if that helps the compiler. He will be back I >>>> believe the 23rd. I will check with Harold on Frederic?s verifier question - we may want to push this (without perhaps the new test) before >>>> he gets back so you can use it. >>>> >>>> Note - John asked for some refactoring - given how tight the time is before EA and the vacation schedule - that will be a postlw1 rfe. >>>> >>>> >>>> >>>> >>>> >>>>> On Jul 10, 2018, at 8:22 AM, Tobias Hartmann wrote: >>>>> >>>>> Hi John, >>>>> >>>>> On 10.07.2018 02:08, John Rose wrote: >>>>>> On Jul 9, 2018, at 3:44 PM, Ioi Lam wrote: >>>>>>> In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). >>>>>>> >>>>>>> Is this understanding correct? >>>>>> Yes, that is correct. This model is intended to make it easier for old-school classfiles >>>>>> to link to old types which have (over time) been upgraded to value types. >>>>> How do we then handle the following scenario? >>>>> >>>>> We have a method m1(MyValue vt) in a class that has no value types attribute set although MyValue is >>>>> a value type. Once the calling convention for that method is determined (i.e. at adapter creation), >>>>> we therefore don't know that MyValue is a value type and as a result, m1 will expect vt to be passed >>>>> as oop. >>>>> >>>>> Now another compiled method m2 that calls compiled m1 might be well aware that vt is a value type >>>>> but has no way to know that m1 does *not* expect vt to be passed as fields (especially if the call >>>>> is virtual). >>>>> >>>>> Thanks, >>>>> Tobias >>> >> > From tobias.hartmann at oracle.com Fri Jul 13 12:20:45 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 13 Jul 2018 14:20:45 +0200 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> Message-ID: Hi Ioi, thanks for making these changes! Your latest version of the patch looks good to me but I think we should hold off with pushing until we know how to fix JDK-8207219 and fully understand if value attribute consistency checking is strong enough to enable this optimization in all cases. Thanks, Tobias On 12.07.2018 21:19, Ioi Lam wrote: > I've simplified the runtime part of this patch after Harold pushed the "Add value types consistency > checks" changes. > > http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v04/ > > Now Method::is_returning_vt() is initialized during class preparation time, and the run-time checks > in the interpreter is kept to a minimum. > > There's no change to the compiler part of the patch since the last webrev. > > The test cases have been simplified since I no longer need to test for value types consistency. > > Thanks > > - Ioi > > > > On 7/10/18 8:59 AM, Ioi Lam wrote: >> Oops, will do :-) >> >> Thanks >> >> - Ioi >> >> >> On 7/10/18 8:47 AM, Tobias Hartmann wrote: >>> Hi Ioi, >>> >>> On 10.07.2018 17:33, Ioi Lam wrote: >>>> http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v03/ >>> Looks good to me but I think you need to add the copyright headers to the .jasm files (no new webrev >>> required). >>> >>> Thanks, >>> Tobias >> > From tobias.hartmann at oracle.com Fri Jul 13 12:43:10 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 13 Jul 2018 14:43:10 +0200 Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> Message-ID: <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> Hi Remi, thanks for reporting. Could you please provide the full source code so we can have a closer look? Best regards, Tobias On 12.07.2018 20:43, Remi Forax wrote: > Hi guys, > it seems that operations likes VT -> Object -> VT are not optimized has being a no-op. > > with IntBox being a value type that wrap an int, > this code is slow (not very slow, i.e not interpreter slow) > > public int valuelist_intbox_innervalue_inlined_reduce() { > __ByValue class Adder implements BiFunction { > private final boolean nonEmpty; > > Adder() { > nonEmpty = false; > throw new AssertionError(); > } > > public IntBox apply(IntBox acc, IntBox element) { > return acc.add(element); > } > } > BiFunction mapper = __MakeDefault Adder(); > var sum = IntBox.zero(); > int size = valueList.size(); > for(int i = 0; i < size; i++) { > sum = mapper.apply(sum, valueList.get(i)); > } > return sum.intValue(); > } > > while this code is fast (more than 10 times faster) > public int valuelist_intbox_inlined_reduce() { > var sum = IntBox.zero(); > int size = valueList.size(); > for(int i = 0; i < size; i++) { > sum = sum.add(valueList.get(i)); > } > return sum.intValue(); > } > > the difference is that instead of calling add on an IntBox to do the addition, > i used an anonymous value class which implement a functional interface which used Objects. > (valueList is just an array of IntBox wrapped in a value type). > > regards, > R?mi > > From rwestrel at redhat.com Fri Jul 13 13:06:18 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 13 Jul 2018 15:06:18 +0200 Subject: RFR: several small changes including 8207040: [lworld] TestLWorld fails with "Meet Not Symmetric" with -Xcomp Message-ID: http://cr.openjdk.java.net/~roland/8207040/webrev.00/ This includes the fix for the type system bug 8207040 and a test case that triggers it. The change mimics what happens with regular instances. In the process, I found that: - checkcast buffers values when it's not needed. The change delays allocation. I actually wonder if the path where we allocate is seen in practice and if it is if we need to allocate at all. - the Parse::merge_common sometimes buffers a value when there's no merge point which is unnecessary so I changed that logic too. With both changes, ValueTypeNodes are seen in a few places where they are not expected. This change fixes those. In particular an array store can see a ValueTypeNode when storing to a non flattened array. The current code treats it as a flattened store because its decision are based on the type of the value being stored (ValueTypeNode or not). I reworked that logic. I'm a bit confused by monitorenter. We deoptimize when we see a value but we're already at the monitorenter. So when we deoptimize, given we don't reexecute the monitorenter, we resume execution after that bytecode. How does that trigger an exception? Roland. From forax at univ-mlv.fr Fri Jul 13 13:11:07 2018 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Fri, 13 Jul 2018 15:11:07 +0200 (CEST) Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> Message-ID: <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> the source code is here: https://github.com/forax/valuetype-lworld/blob/master/src/test/java/fr.umlv.valuetype/fr/umlv/valuetype/perf/ReifiedListBenchMark.java#L118 the instructions about how to build are here: https://github.com/forax/valuetype-lworld R?mi ----- Mail original ----- > De: "Tobias Hartmann" > ?: "Remi Forax" , "valhalla-dev" > Envoy?: Vendredi 13 Juillet 2018 14:43:10 > Objet: Re: boxing + unboxing a VT is not a no-op ? > Hi Remi, > > thanks for reporting. Could you please provide the full source code so we can > have a closer look? > > Best regards, > Tobias > > On 12.07.2018 20:43, Remi Forax wrote: >> Hi guys, >> it seems that operations likes VT -> Object -> VT are not optimized has being a >> no-op. >> >> with IntBox being a value type that wrap an int, >> this code is slow (not very slow, i.e not interpreter slow) >> >> public int valuelist_intbox_innervalue_inlined_reduce() { >> __ByValue class Adder implements BiFunction { >> private final boolean nonEmpty; >> >> Adder() { >> nonEmpty = false; >> throw new AssertionError(); >> } >> >> public IntBox apply(IntBox acc, IntBox element) { >> return acc.add(element); >> } >> } >> BiFunction mapper = __MakeDefault Adder(); >> var sum = IntBox.zero(); >> int size = valueList.size(); >> for(int i = 0; i < size; i++) { >> sum = mapper.apply(sum, valueList.get(i)); >> } >> return sum.intValue(); >> } >> >> while this code is fast (more than 10 times faster) >> public int valuelist_intbox_inlined_reduce() { >> var sum = IntBox.zero(); >> int size = valueList.size(); >> for(int i = 0; i < size; i++) { >> sum = sum.add(valueList.get(i)); >> } >> return sum.intValue(); >> } >> >> the difference is that instead of calling add on an IntBox to do the addition, >> i used an anonymous value class which implement a functional interface which >> used Objects. >> (valueList is just an array of IntBox wrapped in a value type). >> >> regards, >> R?mi >> From tobias.hartmann at oracle.com Fri Jul 13 14:34:20 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 13 Jul 2018 16:34:20 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> Message-ID: <6edf3e41-408c-fe4a-783b-bc16a59284ea@oracle.com> Hi John, I've now remembered why I had to create a new node instead of returning a constant in my original patch. The problem is that we cannot return a (potentially cached) constant from Ideal because "Idealize should return new nodes, use Identity to return old nodes". To keep things simple and to avoid code duplication, I've factored the acmp optimizations into Compile::optimize_acmp which is both used during parsing and during Ideal. We could move the paths that return constant false into ::Value or ::sub but that would require to duplicate the pattern matching code and could also not be used during parsing. I think the best we can do without increasing complexity is this: http://cr.openjdk.java.net/~thartmann/8205044/webrev.03_inc/ I've added comments explaining why we cannot return a constant. In general, those CmpNodes with constant input will be immediately folded to constant false by GVN, so although it's a bit hacky, there is no impact on code generation. Thanks, Tobias On 12.07.2018 19:36, John Rose wrote: > Yes, that's much better. > > The type of phase->longcon(1) is wrong; you mean intcon(1). > > Also, even intcon(1) is confusing; I think we want something that > is more clearly related to the TypeInt::CC constants. In this case > TypeInt::CC_GT is exactly what you want, since it asserts that > the variable value is greater than zero, and unsigned pointer > comparison is a reasonable fiction here. So, you can say > makecon(TypeInt::CC_GT). There is no CC_NE, for various > reasons. You could polish it up by adding TypeInt::CC_NOT_NULL > as an alias for CC_GT. > > ? John > > On Jul 12, 2018, at 1:32 AM, Tobias Hartmann wrote: >> >> Hi John, >> >> thanks for looking at this! >> >> On 12.07.2018 09:35, John Rose wrote: >>> I was liking it all the way to the last file, especially the >>> part that went "speculate, speculate, speculate"?truly >>> a sentiment for our times. When I got to the last file, >>> with CmpLNode::Ideal, I noticed that it seems to maybe >>> work correctly for the particular graph shapes created >>> elsewhere, but not considered in isolation. Note that >>> there is no reference to in(2), only in(1)->in([1 or 2]). >>> It can't be correct, in general, to execute the non-null >>> returns, if you didn't inspect in(2). I think you need >>> more pattern-matching here; it's too eager to get to >>> the win as coded. >> >> Right, that code relies on the fact that we currently don't have a CmpLNode with a >> OrLNode(CastP2XNode, CastP2XNode) input ever. That code pattern is only generated by >> Compile::optimize_acmp(). But I agree that we should strengthen the CmpLNode::Ideal() pattern >> matching by looking at in(2) as well. >> >> What about this? >> http://cr.openjdk.java.net/~thartmann/8205044/webrev.02_inc/ >> >> I've already pushed (right before receiving your email) but will push this as a follow up fix. >> >>> I reviewed it and approve (heartily) of all of it, except >>> for the above misgiving. >> >> Thank you! >> >> Tobias > From tobias.hartmann at oracle.com Fri Jul 13 14:56:35 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 13 Jul 2018 16:56:35 +0200 Subject: RFR: several small changes including 8207040: [lworld] TestLWorld fails with "Meet Not Symmetric" with -Xcomp In-Reply-To: References: Message-ID: <7ac936c8-1d56-1091-d84a-f22386ae1ad8@oracle.com> Hi Roland, On 13.07.2018 15:06, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/8207040/webrev.00/ Looks good to me. > - checkcast buffers values when it's not needed. The change delays > allocation. I actually wonder if the path where we allocate is seen in > practice and if it is if we need to allocate at all. Did you try to add an assert and check if it's triggered with our test? > - the Parse::merge_common sometimes buffers a value when there's no > merge point which is unnecessary so I changed that logic too. Looks like the checks you are added are the ones used further below (line 1767) but without the control()->is_Region() check. Do you know why it's not needed? > I'm a bit confused by monitorenter. We deoptimize when we see a value > but we're already at the monitorenter. So when we deoptimize, given we > don't reexecute the monitorenter, we resume execution after that > bytecode. How does that trigger an exception? I think we do reexecute the monitorenter because the uncommon trap Please run all compiler tests with and without -XX:CompileTreshold=100 before pushing. Thanks, Tobias From tobias.hartmann at oracle.com Fri Jul 13 15:34:47 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Fri, 13 Jul 2018 15:34:47 +0000 Subject: hg: valhalla/valhalla: 8206112: [lworld] TestLWorld fails with 'bci must not shift' with -Xcomp Message-ID: <201807131534.w6DFYlpV019903@aojmv0008.oracle.com> Changeset: e6cdfa8b91dc Author: thartmann Date: 2018-07-13 17:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e6cdfa8b91dc 8206112: [lworld] TestLWorld fails with 'bci must not shift' with -Xcomp ! src/hotspot/share/opto/parse1.cpp From tobias.hartmann at oracle.com Fri Jul 13 15:37:34 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 13 Jul 2018 17:37:34 +0200 Subject: hg: valhalla/valhalla: 8206112: [lworld] TestLWorld fails with 'bci must not shift' with -Xcomp In-Reply-To: <201807131534.w6DFYlpV019903@aojmv0008.oracle.com> References: <201807131534.w6DFYlpV019903@aojmv0008.oracle.com> Message-ID: <0cb6773c-88d6-79b8-5547-54cab9355a5f@oracle.com> Trivial fix: We need to restore the parse bci before returning from merge_common when emitting an uncommon trap (usually the parse bci is reset right after at line 1747). We don't need to reset the jvms because _map is dead. Thanks, Tobias On 13.07.2018 17:34, tobias.hartmann at oracle.com wrote: > Changeset: e6cdfa8b91dc > Author: thartmann > Date: 2018-07-13 17:34 +0200 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e6cdfa8b91dc > > 8206112: [lworld] TestLWorld fails with 'bci must not shift' with -Xcomp > > ! src/hotspot/share/opto/parse1.cpp > From tobias.hartmann at oracle.com Fri Jul 13 15:52:00 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 13 Jul 2018 17:52:00 +0200 Subject: RFR: several small changes including 8207040: [lworld] TestLWorld fails with "Meet Not Symmetric" with -Xcomp In-Reply-To: <7ac936c8-1d56-1091-d84a-f22386ae1ad8@oracle.com> References: <7ac936c8-1d56-1091-d84a-f22386ae1ad8@oracle.com> Message-ID: On 13.07.2018 16:56, Tobias Hartmann wrote: > I think we do reexecute the monitorenter because the uncommon trap Sorry, I've pressed enter before finishing that sentence: I meant that it seems like we *are* re-executing the monitorenter because the uncommon trap is created before the monitorenter is parsed and with the obj still on the stack (see GraphKit::gen_value_type_guard()). Without that we hit: # Internal Error (/oracle/valhallaL/open/src/hotspot/share/opto/graphKit.cpp:2080), pid=3504, tid=3521 # assert(sp() >= inputs) failed: must have enough JVMS stack to execute monitorenter: sp=0, inputs=1 Best regards, Tobias From paul.sandoz at oracle.com Fri Jul 13 18:24:00 2018 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Fri, 13 Jul 2018 11:24:00 -0700 Subject: [lworld] VerifyError: Bad type on operand stack, limitation in javac for value type constructors Message-ID: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> Hi, The program below compiles but fails when executed: $ java -XX:+EnableValhalla A Exception in thread "main" java.lang.VerifyError: Bad type on operand stack Exception Details: Location: A$Point.$makeValue$()LA$Point; @12: i2b Reason: Type 'A$Point' (current frame, stack[1]) is not assignable to integer Current Frame: bci: @12 flags: { } locals: { 'A$Point' } stack: { 'A$Point', 'A$Point' } Bytecode: 0000000: cb00 024b 2a2a 03cc 0004 594b 91cc 0003 0000010: 4b2a b0 at A.main(A.java:31) The cause is this constructor: Point() { x = y = 0; // This is the cause } the byte code of which is: A$Point(); descriptor: ()V flags: (0x0000) Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: return LineNumberTable: line 6: 0 If the constructor is updated to the following then things work: Point() { x = 0; y = 0; } static A$Point point(); descriptor: ()LA$Point; flags: (0x0008) ACC_STATIC Code: stack=2, locals=0, args_size=0 0: iconst_0 1: iconst_0 2: invokestatic #6 // Method point:(II)LA$Point; 5: areturn There is a limitation in javac's current approach mapping field assignments to arguments passed to the static factory method. Paul. public class A { static final __ByValue class Point { final int x; final int y; Point() { x = y = 0; // This is the cause } static Point point(int x, int y) { Point p = __MakeDefault Point(); p = __WithField(p.x, x); p = __WithField(p.y, y); return p; } @Override public boolean equals(Object o) { if (!(o instanceof Point)) return false; Point op = (Point) o; return x == op.x && y == op.y; } static Point point() { return point(0, 0); } } public static void main(String[] args) { Point p = Point.point(); } } From harold.seigel at oracle.com Fri Jul 13 18:47:23 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Fri, 13 Jul 2018 14:47:23 -0400 Subject: [lworld] VerifyError: Bad type on operand stack, limitation in javac for value type constructors In-Reply-To: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> References: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> Message-ID: <88a8a643-e413-3fd5-db11-e0cbceaa187b@oracle.com> Hi Paul, For a withfield instruction, do you expect the verifier to push the type of the field on its stack or the type of the valuetype containing the field.? Currently, it pushes the valuetype on the stack. This is a JVM Spec issue. Harold On 7/13/2018 2:24 PM, Paul Sandoz wrote: > Hi, > > The program below compiles but fails when executed: > > $ java -XX:+EnableValhalla A > Exception in thread "main" java.lang.VerifyError: Bad type on operand stack > Exception Details: > Location: > A$Point.$makeValue$()LA$Point; @12: i2b > Reason: > Type 'A$Point' (current frame, stack[1]) is not assignable to integer > Current Frame: > bci: @12 > flags: { } > locals: { 'A$Point' } > stack: { 'A$Point', 'A$Point' } > Bytecode: > 0000000: cb00 024b 2a2a 03cc 0004 594b 91cc 0003 > 0000010: 4b2a b0 > > at A.main(A.java:31) > > > The cause is this constructor: > > Point() { > x = y = 0; // This is the cause > } > > the byte code of which is: > > A$Point(); > descriptor: ()V > flags: (0x0000) > Code: > stack=1, locals=1, args_size=1 > 0: aload_0 > 1: invokespecial #1 // Method java/lang/Object."":()V > 4: return > LineNumberTable: > line 6: 0 > > > If the constructor is updated to the following then things work: > > Point() { > x = 0; > y = 0; > } > > static A$Point point(); > descriptor: ()LA$Point; > flags: (0x0008) ACC_STATIC > Code: > stack=2, locals=0, args_size=0 > 0: iconst_0 > 1: iconst_0 > 2: invokestatic #6 // Method point:(II)LA$Point; > 5: areturn > > > There is a limitation in javac's current approach mapping field assignments to arguments passed to the static factory method. > > Paul. > > public class A { > static final __ByValue class Point { > final int x; > final int y; > > Point() { > x = y = 0; // This is the cause > } > > static Point point(int x, int y) { > Point p = __MakeDefault Point(); > p = __WithField(p.x, x); > p = __WithField(p.y, y); > return p; > } > > @Override > public boolean equals(Object o) { > if (!(o instanceof Point)) return false; > Point op = (Point) o; > > return x == op.x && y == op.y; > } > > static Point point() { > return point(0, 0); > } > } > > public static void main(String[] args) { > Point p = Point.point(); > } > } > From scolebourne at joda.org Fri Jul 13 21:00:11 2018 From: scolebourne at joda.org (Stephen Colebourne) Date: Fri, 13 Jul 2018 22:00:11 +0100 Subject: LocalDate profiling datapoint Message-ID: Just a quick datapoint from some memory profiling I did today on our business application. It turns out that LocalDate is the second largest user of memory in the small application I was testing, at around 11% of memory (the largest was String at around 25%). I guess it emphasises how value types could help, but also how important it is to be able to migrate existing types like LocalDate. Anyway, thanks for continuing to work on this! Stephen From john.r.rose at oracle.com Fri Jul 13 21:33:54 2018 From: john.r.rose at oracle.com (John Rose) Date: Fri, 13 Jul 2018 14:33:54 -0700 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <6edf3e41-408c-fe4a-783b-bc16a59284ea@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> <6edf3e41-408c-fe4a-783b-bc16a59284ea@oracle.com> Message-ID: <8A3921C2-3E1A-4BD0-8CCE-932B1DACA3C1@oracle.com> On Jul 13, 2018, at 7:34 AM, Tobias Hartmann wrote: > > Hi John, > > I've now remembered why I had to create a new node instead of returning a constant in my original > patch. The problem is that we cannot return a (potentially cached) constant from Ideal because > "Idealize should return new nodes, use Identity to return old nodes". > > To keep things simple and to avoid code duplication, I've factored the acmp optimizations into > Compile::optimize_acmp which is both used during parsing and during Ideal. We could move the paths > that return constant false into ::Value or ::sub but that would require to duplicate the pattern > matching code and could also not be used during parsing. > > I think the best we can do without increasing complexity is this: > http://cr.openjdk.java.net/~thartmann/8205044/webrev.03_inc/ > > I've added comments explaining why we cannot return a constant. In general, those CmpNodes with > constant input will be immediately folded to constant false by GVN, so although it's a bit hacky, > there is no impact on code generation. That's better, but I'll do you one more: - Ideal must return a new node. - Identity may return an old node. - Value may return a *constant* by returning a midline type. (I don't think the distinction between Ideal and Identity is very interesting or useful, BTW.) I think your methods that potentially return a constant result should be moved from Ideal to Value. ? John From mandy.chung at oracle.com Sat Jul 14 01:14:08 2018 From: mandy.chung at oracle.com (mandy chung) Date: Fri, 13 Jul 2018 18:14:08 -0700 Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class Message-ID: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> VarHandleTest* and ValueConstructorRef tests fail with ICCE with ValueTypes consistency checking because lambda generated class is missing ValueTypes attribute whereas the target class has the value types locally declared in the attribute. This patch updates InnerClassLambdaMetafactory to generate lambda classes with ValueTypes attribute. We will examine other class file generators in JDK separately (JDK-8207315). I also changed ICCE to include the relevant info which is helpful for troubleshooting. It may be useful to add a new method to return the list of declared value types but leave it for another day. Webrev: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 I ran jdk_core, jdk_valhalla, and hotspot_valhalla test groups. Mandy From mandy.chung at oracle.com Sat Jul 14 05:40:31 2018 From: mandy.chung at oracle.com (mandy chung) Date: Fri, 13 Jul 2018 22:40:31 -0700 Subject: RFR JDK-8207197: [lworld] VarHandle array support for value types Message-ID: <1184dd21-673f-7b44-cf8f-53f73f9163e4@oracle.com> This adds the VarHandle support for array value element and extends Unsafe::arrayBaseOffset and arrayIndexScale to return the base and scale for a value type array. I add some basic test for value array access via VarHandle but will need to add more tests to verify as a follow-up. http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207197/webrev.00/index.html Mandy From ioi.lam at oracle.com Sat Jul 14 18:22:23 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Sat, 14 Jul 2018 11:22:23 -0700 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: Message-ID: <6f56494c-3984-0a6e-7044-136a936cd683@oracle.com> Since Karen is on vacation, I took the liberty to forward this CFV to valhalla-dev -------- Forwarded Message -------- Subject: Re: CFV: New Valhalla Committer: Ioi Lam Date: Sat, 14 Jul 2018 07:53:03 +0100 From: Alan Bateman To: Karen Kinnear , jdk-dev Karen - the CFV is supposed to be on the project's mailing list so valhalla-dev in this case. I don't know if there will be procedural issue with having the vote on jdk-dev instead. -Alan On 13/07/2018 20:48, Karen Kinnear wrote: >> I hereby nominate Ioi Lam (iklam) to Valhalla Committer. >> >> Ioi is a member of the Hotspot Runtime team who's looking to join >> Project Valhalla (in the context of runtime support and JIT >> optimizations for Value Objects [3]). A list of most of his OpenJDK >> contributions is available at [4]. >> >> Votes are due by 18:00 ET July 27, 2018 >> >> Only current Valhalla Committers [1] are eligible to vote on this >> nomination. >> >> For Lazy Consensus voting instructions, see [2]. >> >> Thank you, >> Karen >> >> [1]http://openjdk.java.net/census >> [2]http://openjdk.java.net/projects/#committer-vote >> [3]http://openjdk.java.net/jeps/169 [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 From ioi.lam at oracle.com Sat Jul 14 20:14:36 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Sat, 14 Jul 2018 13:14:36 -0700 Subject: RFR JDK-8207219: [lworld] C2 should not invoke a method if its signature has inconsistent use of ValueType Message-ID: http://cr.openjdk.java.net/~iklam/valhalla/8207219_c2_invoke_vt_consistency.v01/ https://bugs.openjdk.java.net/browse/JDK-8207219 This patch prevents improper inlining: when you have programs like this ??? class VT { // knows that Point is a ValueType ??????? void crasher() { ??????????? NonVT.foo(); ??????? } ??? } ??? class NonVT { // does NOT know that Point is a ValueType ??????? static Point x; ??????? static void foo() { ??????????? x = bar(); // <-- cannot inline this call into VT.crasher ??????? } ??????? static Point bar() { ??????????? return null; ??????? } ??? } If we inlined the bar() call into VT.crasher, it would break JDK-8206140 [1], which assumes that a callee will never return a NULL value back to a compiled caller. Thanks - Ioi [1] https://bugs.openjdk.java.net/browse/JDK-8206140 ??? [lworld] Move return value null checks into the callee From forax at univ-mlv.fr Sun Jul 15 13:09:20 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Sun, 15 Jul 2018 15:09:20 +0200 (CEST) Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <66c522a9-deb6-7eff-7e60-bdc43ab08b57@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <66c522a9-deb6-7eff-7e60-bdc43ab08b57@oracle.com> Message-ID: <847918708.1055871.1531660160357.JavaMail.zimbra@u-pem.fr> Hi Srikanth, ----- Mail original ----- > De: "Srikanth" > ?: "Maurizio Cimadamore" , "valhalla-dev" > Envoy?: Jeudi 12 Juillet 2018 11:04:34 > Objet: Re: RFR:JDK-8198749 Translation of value constructors in classic constructor notation > On Wednesday 11 July 2018 06:38 PM, Maurizio Cimadamore wrote: >> >> * tests - mayeb for later, and depending on whether we support inner >> values (seems to, looking at InnerValueNew) - one kind of super >> constructor call that might get you in trouble is the qualified super >> constructor call - e.g., with regular ordinary classes you can have this: >> >> class A { >> >> ??? class Inner { } >> } >> >> >> class B extends A.Inner { >> >> ?????? B(A encl) { >> ?????????? enc.super(); >> ?????? } >> } >> >> >> It would be interesting to verify at some point that this kind of >> idiom works with your value desugaring too. >> > > > Perhaps I am missing some nuance: > > Of the three classes involved, A, B and A.Inner, only A can be a value > class. B and A.Inner cannot be since values don't extend and can't be > extended. > > In that case, after the prevailing desugaring/lowering we end up with > > class B extends A$Inner { > > ??? B(A encl) { > ??????? super(<*nullchk*>encl); > ??? } > } > > that is being fed as *input* to the new translator. The nullcheck is > bogus and should be eliminated for > value typed `encl' - but what other complication do you see ? > > I do have tests that verify that constructors that receive synthetics > such as enclosing instances and captured outer locals are translated > properly. > > Thanks > Srikanth I've just tested several inner classes cases and everything seems fine, Maurizio, most of the trouble comes as you said when you mix inheritance and inner classes, but a value type can only inherits from Object, so what you can do that may prevent the rewriting of the value type constructor is limited. I've still found a bug :) the field that reference the outer class is not marked as ACC_FLATENABLE even if the outer class is a value type. in this example, public __ByValue class Outer { private final int value; public Outer(int value) { this.value = value; } public __ByValue class Inner { private final int value2; public Inner(int value2) { this.value2 = value2; } } } javap says that inside Outer$Inner.class, this$0 is not ACC_FLATENABLE final fr.umlv.valuetype.Outer this$0; descriptor: Lfr/umlv/valuetype/Outer; flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC > > >> >> That's all I can think of. >> >> Cheers >> Maurizio cheers, R?mi From srikanth.adayapalam at oracle.com Mon Jul 16 06:42:39 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Mon, 16 Jul 2018 06:42:39 +0000 Subject: hg: valhalla/valhalla: 8207330: [Lworld] Javac fails to mark the synthetic field holding enclosing instance as ACC_FLATTENABLE where it should Message-ID: <201807160642.w6G6geSP022252@aojmv0008.oracle.com> Changeset: f0e1ddcd0054 Author: sadayapalam Date: 2018-07-16 12:12 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f0e1ddcd0054 8207330: [Lworld] Javac fails to mark the synthetic field holding enclosing instance as ACC_FLATTENABLE where it should ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java + test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableSyntheticFields.java From srikanth.adayapalam at oracle.com Mon Jul 16 06:46:34 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Mon, 16 Jul 2018 12:16:34 +0530 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <847918708.1055871.1531660160357.JavaMail.zimbra@u-pem.fr> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <66c522a9-deb6-7eff-7e60-bdc43ab08b57@oracle.com> <847918708.1055871.1531660160357.JavaMail.zimbra@u-pem.fr> Message-ID: Thanks so much for testing this, Remi! I raised https://bugs.openjdk.java.net/browse/JDK-8207330 and fixed it with a push of http://hg.openjdk.java.net/valhalla/valhalla/rev/f0e1ddcd0054 (Same problem existed for synthetics storing captured outer locals - also fixed) Thanks Srikanth On Sunday 15 July 2018 06:39 PM, Remi Forax wrote: > Hi Srikanth, > > ----- Mail original ----- >> De: "Srikanth" >> ?: "Maurizio Cimadamore" , "valhalla-dev" >> Envoy?: Jeudi 12 Juillet 2018 11:04:34 >> Objet: Re: RFR:JDK-8198749 Translation of value constructors in classic constructor notation >> On Wednesday 11 July 2018 06:38 PM, Maurizio Cimadamore wrote: >>> * tests - mayeb for later, and depending on whether we support inner >>> values (seems to, looking at InnerValueNew) - one kind of super >>> constructor call that might get you in trouble is the qualified super >>> constructor call - e.g., with regular ordinary classes you can have this: >>> >>> class A { >>> >>> ??? class Inner { } >>> } >>> >>> >>> class B extends A.Inner { >>> >>> ?????? B(A encl) { >>> ?????????? enc.super(); >>> ?????? } >>> } >>> >>> >>> It would be interesting to verify at some point that this kind of >>> idiom works with your value desugaring too. >>> >> >> Perhaps I am missing some nuance: >> >> Of the three classes involved, A, B and A.Inner, only A can be a value >> class. B and A.Inner cannot be since values don't extend and can't be >> extended. >> >> In that case, after the prevailing desugaring/lowering we end up with >> >> class B extends A$Inner { >> >> ??? B(A encl) { >> ??????? super(<*nullchk*>encl); >> ??? } >> } >> >> that is being fed as *input* to the new translator. The nullcheck is >> bogus and should be eliminated for >> value typed `encl' - but what other complication do you see ? >> >> I do have tests that verify that constructors that receive synthetics >> such as enclosing instances and captured outer locals are translated >> properly. >> >> Thanks >> Srikanth > > I've just tested several inner classes cases and everything seems fine, > Maurizio, most of the trouble comes as you said when you mix inheritance and inner classes, but a value type can only inherits from Object, > so what you can do that may prevent the rewriting of the value type constructor is limited. > > I've still found a bug :) > the field that reference the outer class is not marked as ACC_FLATENABLE even if the outer class is a value type. > > in this example, > public __ByValue class Outer { > private final int value; > > public Outer(int value) { > this.value = value; > } > > public __ByValue class Inner { > private final int value2; > > public Inner(int value2) { > this.value2 = value2; > } > } > } > > javap says that inside Outer$Inner.class, this$0 is not ACC_FLATENABLE > final fr.umlv.valuetype.Outer this$0; > descriptor: Lfr/umlv/valuetype/Outer; > flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC > > >> >>> That's all I can think of. >>> >>> Cheers >>> Maurizio > > cheers, > R?mi From tobias.hartmann at oracle.com Mon Jul 16 07:12:25 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 16 Jul 2018 09:12:25 +0200 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: <6f56494c-3984-0a6e-7044-136a936cd683@oracle.com> References: <6f56494c-3984-0a6e-7044-136a936cd683@oracle.com> Message-ID: Vote: yes Tobias On 14.07.2018 20:22, Ioi Lam wrote: > Since Karen is on vacation, I took the liberty to forward this CFV to valhalla-dev > > > > -------- Forwarded Message -------- > Subject:???? Re: CFV: New Valhalla Committer: Ioi Lam > Date:???? Sat, 14 Jul 2018 07:53:03 +0100 > From:???? Alan Bateman > To:???? Karen Kinnear , jdk-dev > > > > Karen - the CFV is supposed to be on the project's mailing list so > valhalla-dev in this case. I don't know if there will be procedural > issue with having the vote on jdk-dev instead. > > -Alan > > On 13/07/2018 20:48, Karen Kinnear wrote: >>> I hereby nominate Ioi Lam (iklam) to Valhalla Committer. >>> >>> Ioi is a member of the Hotspot Runtime team who's looking to join >>> Project Valhalla (in the context of runtime support and JIT >>> optimizations for Value Objects [3]). A list of most of his OpenJDK >>> contributions is available at [4]. >>> >>> Votes are due by 18:00 ET July 27, 2018 >>> >>> Only current Valhalla Committers [1] are eligible to vote on this >>> nomination. >>> >>> For Lazy Consensus voting instructions, see [2]. >>> >>> Thank you, >>> Karen >>> >>> [1]http://openjdk.java.net/census >>> [2]http://openjdk.java.net/projects/#committer-vote >>> >>> [3]http://openjdk.java.net/jeps/169 >>> [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 >>> > From rwestrel at redhat.com Mon Jul 16 07:53:26 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 16 Jul 2018 09:53:26 +0200 Subject: RFR: several small changes including 8207040: [lworld] TestLWorld fails with "Meet Not Symmetric" with -Xcomp In-Reply-To: <7ac936c8-1d56-1091-d84a-f22386ae1ad8@oracle.com> References: <7ac936c8-1d56-1091-d84a-f22386ae1ad8@oracle.com> Message-ID: >> http://cr.openjdk.java.net/~roland/8207040/webrev.00/ > > Looks good to me. Thanks for the review. >> - checkcast buffers values when it's not needed. The change delays >> allocation. I actually wonder if the path where we allocate is seen in >> practice and if it is if we need to allocate at all. > > Did you try to add an assert and check if it's triggered with our test? I tried it. That code path is executed at parse time. >> - the Parse::merge_common sometimes buffers a value when there's no >> merge point which is unnecessary so I changed that logic too. > > Looks like the checks you are added are the ones used further below (line 1767) but without the > control()->is_Region() check. Do you know why it's not needed? I'm not sure but from the comment it doesn't seem to be part of the logic that detects multiple predecessors. > Please run all compiler tests with and without -XX:CompileTreshold=100 before pushing. Tests pass except for TestNewAcmp.java that fails with InvocationTargetException but that's a known issue. Roland. From tobias.hartmann at oracle.com Mon Jul 16 07:54:42 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 16 Jul 2018 09:54:42 +0200 Subject: RFR: several small changes including 8207040: [lworld] TestLWorld fails with "Meet Not Symmetric" with -Xcomp In-Reply-To: References: <7ac936c8-1d56-1091-d84a-f22386ae1ad8@oracle.com> Message-ID: <19e9d99e-5440-1a46-1d62-e1808210b7f7@oracle.com> Hi Roland, okay, thanks for the clarifications. Looks good to me! Tobias On 16.07.2018 09:53, Roland Westrelin wrote: > >>> http://cr.openjdk.java.net/~roland/8207040/webrev.00/ >> >> Looks good to me. > > Thanks for the review. > >>> - checkcast buffers values when it's not needed. The change delays >>> allocation. I actually wonder if the path where we allocate is seen in >>> practice and if it is if we need to allocate at all. >> >> Did you try to add an assert and check if it's triggered with our test? > > I tried it. That code path is executed at parse time. > >>> - the Parse::merge_common sometimes buffers a value when there's no >>> merge point which is unnecessary so I changed that logic too. >> >> Looks like the checks you are added are the ones used further below (line 1767) but without the >> control()->is_Region() check. Do you know why it's not needed? > > I'm not sure but from the comment it doesn't seem to be part of the > logic that detects multiple predecessors. > >> Please run all compiler tests with and without -XX:CompileTreshold=100 before pushing. > > Tests pass except for TestNewAcmp.java that fails with > InvocationTargetException but that's a known issue. > > Roland. > From rwestrel at redhat.com Mon Jul 16 08:43:09 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Mon, 16 Jul 2018 08:43:09 +0000 Subject: hg: valhalla/valhalla: 8207040: [lworld] TestLWorld fails with "Meet Not Symmetric" with -Xcomp Message-ID: <201807160843.w6G8h98N027194@aojmv0008.oracle.com> Changeset: 19b069125c1d Author: roland Date: 2018-07-16 10:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/19b069125c1d 8207040: [lworld] TestLWorld fails with "Meet Not Symmetric" with -Xcomp Reviewed-by: thartmann ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/locknode.cpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/parseHelper.cpp ! src/hotspot/share/opto/type.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java From tobias.hartmann at oracle.com Mon Jul 16 08:44:48 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 16 Jul 2018 10:44:48 +0200 Subject: RFR JDK-8207219: [lworld] C2 should not invoke a method if its signature has inconsistent use of ValueType In-Reply-To: References: Message-ID: Hi Ioi, Inlining of a method 'callee' with a value type in it's signature into a method 'caller' is now only possible if the class declaring 'caller' has the value type in it's attribute. I think that's too strong because there can be very long inlining chains where _task->method()->method_holder() is not aware of a value type being used deep inside that chain. I think we would need a check like this: If 'callee' has a (loaded) non-primitive type in its signature, check if that type is known to be a value type (Klass::is_value()) and if so throw an ICCE if the 'callee' holder does not declare it in its value type attribute. That way we guarantee that assumptions of the caller at compile time (for example, non-nullness of the returned value type) are consistent with assumptions of the callee. It would be good to add the test(s) to the webrev. Thanks, Tobias On 14.07.2018 22:14, Ioi Lam wrote: > http://cr.openjdk.java.net/~iklam/valhalla/8207219_c2_invoke_vt_consistency.v01/ > https://bugs.openjdk.java.net/browse/JDK-8207219 > > This patch prevents improper inlining: when you have programs like this > > ??? class VT { // knows that Point is a ValueType > ??????? void crasher() { > ??????????? NonVT.foo(); > ??????? } > ??? } > > ??? class NonVT { // does NOT know that Point is a ValueType > ??????? static Point x; > ??????? static void foo() { > ??????????? x = bar(); // <-- cannot inline this call into VT.crasher > ??????? } > > ??????? static Point bar() { > ??????????? return null; > ??????? } > ??? } > > If we inlined the bar() call into VT.crasher, it would break JDK-8206140 [1], > which assumes that a callee will never return a NULL value back to a > compiled caller. > > Thanks > - Ioi > > > [1] https://bugs.openjdk.java.net/browse/JDK-8206140 > ??? [lworld] Move return value null checks into the callee > > From tobias.hartmann at oracle.com Mon Jul 16 12:21:18 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 16 Jul 2018 14:21:18 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <8A3921C2-3E1A-4BD0-8CCE-932B1DACA3C1@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> <6edf3e41-408c-fe4a-783b-bc16a59284ea@oracle.com> <8A3921C2-3E1A-4BD0-8CCE-932B1DACA3C1@oracle.com> Message-ID: <01fb34ec-0278-a5e6-c315-b16bea00984f@oracle.com> Hi John, On 13.07.2018 23:33, John Rose wrote: > I think your methods that potentially return a constant result should > be moved from Ideal to Value. That's not possible because these methods may return a new node *or* a constant. We would need to split the checks up and move them to Ideal or Value. I did this by re-factoring the code once more: http://cr.openjdk.java.net/~thartmann/8205044/webrev.04_inc/ All tests pass. Thanks, Tobias From harold.seigel at oracle.com Mon Jul 16 12:42:39 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Mon, 16 Jul 2018 08:42:39 -0400 Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> References: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> Message-ID: Hi Mandy, The JVM changes look good.? I like the improvement to the ICCE error messages. Can you change the CLASSFILE_VERSION in ClassLambdaMetafactory.java from 52 to either 55 or JVM_CLASSFILE_MAJOR_VERSION ? The ValueTypes attribute should be ignored in class file versions < 55. Similar changes may also be needed here: ?src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java share/classes/java/lang/invoke/StringConcatFactory.java share/classes/java/lang/reflect/ProxyGenerator.java Thanks, Harold On 7/13/2018 9:14 PM, mandy chung wrote: > VarHandleTest* and ValueConstructorRef tests fail with ICCE with > ValueTypes consistency checking because lambda generated class > is missing ValueTypes attribute whereas the target class has > the value types locally declared in the attribute. > > This patch updates InnerClassLambdaMetafactory to generate lambda > classes with ValueTypes attribute.? We will examine other class > file generators in JDK separately (JDK-8207315).? I also changed > ICCE to include the relevant info which is helpful for troubleshooting. > It may be useful to add a new method to return the list of declared > value types but leave it for another day. > > Webrev: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 > > I ran jdk_core, jdk_valhalla, and hotspot_valhalla test groups. > > Mandy From harold.seigel at oracle.com Mon Jul 16 13:00:50 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Mon, 16 Jul 2018 09:00:50 -0400 Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: References: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> Message-ID: <195f189e-d556-31bf-39f8-4504b48efcd1@oracle.com> Sorry, I meant class: *src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java* Harold ** On 7/16/2018 8:42 AM, Harold David Seigel wrote: > Hi Mandy, > > The JVM changes look good.? I like the improvement to the ICCE error > messages. > > Can you change the CLASSFILE_VERSION in ClassLambdaMetafactory.java > from 52 to either 55 or JVM_CLASSFILE_MAJOR_VERSION ? > > The ValueTypes attribute should be ignored in class file versions < 55. > > Similar changes may also be needed here: > > ?src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java > ?? share/classes/java/lang/invoke/StringConcatFactory.java > ?? share/classes/java/lang/reflect/ProxyGenerator.java > > Thanks, Harold > > On 7/13/2018 9:14 PM, mandy chung wrote: >> VarHandleTest* and ValueConstructorRef tests fail with ICCE with >> ValueTypes consistency checking because lambda generated class >> is missing ValueTypes attribute whereas the target class has >> the value types locally declared in the attribute. >> >> This patch updates InnerClassLambdaMetafactory to generate lambda >> classes with ValueTypes attribute.? We will examine other class >> file generators in JDK separately (JDK-8207315).? I also changed >> ICCE to include the relevant info which is helpful for troubleshooting. >> It may be useful to add a new method to return the list of declared >> value types but leave it for another day. >> >> Webrev: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 >> >> I ran jdk_core, jdk_valhalla, and hotspot_valhalla test groups. >> >> Mandy > From srikanth.adayapalam at oracle.com Mon Jul 16 13:15:31 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Mon, 16 Jul 2018 18:45:31 +0530 Subject: [lworld] VerifyError: Bad type on operand stack, limitation in javac for value type constructors In-Reply-To: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> References: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> Message-ID: <02197d0a-2f65-2ecd-8a6c-25397753dd9d@oracle.com> Thanks Paul, This is a tricky issue indeed, but not a hard limitation. I have raised: https://bugs.openjdk.java.net/browse/JDK-8207332 for this problem. I will tackle the related but simpler problem against https://bugs.openjdk.java.net/browse/JDK-8207341 first and then get to JDK-8207332. Thanks! Srikanth On Friday 13 July 2018 11:54 PM, Paul Sandoz wrote: > Hi, > > The program below compiles but fails when executed: > > $ java -XX:+EnableValhalla A > Exception in thread "main" java.lang.VerifyError: Bad type on operand stack > Exception Details: > Location: > A$Point.$makeValue$()LA$Point; @12: i2b > Reason: > Type 'A$Point' (current frame, stack[1]) is not assignable to integer > Current Frame: > bci: @12 > flags: { } > locals: { 'A$Point' } > stack: { 'A$Point', 'A$Point' } > Bytecode: > 0000000: cb00 024b 2a2a 03cc 0004 594b 91cc 0003 > 0000010: 4b2a b0 > > at A.main(A.java:31) > > > The cause is this constructor: > > Point() { > x = y = 0; // This is the cause > } > > the byte code of which is: > > A$Point(); > descriptor: ()V > flags: (0x0000) > Code: > stack=1, locals=1, args_size=1 > 0: aload_0 > 1: invokespecial #1 // Method java/lang/Object."":()V > 4: return > LineNumberTable: > line 6: 0 > > > If the constructor is updated to the following then things work: > > Point() { > x = 0; > y = 0; > } > > static A$Point point(); > descriptor: ()LA$Point; > flags: (0x0008) ACC_STATIC > Code: > stack=2, locals=0, args_size=0 > 0: iconst_0 > 1: iconst_0 > 2: invokestatic #6 // Method point:(II)LA$Point; > 5: areturn > > > There is a limitation in javac's current approach mapping field assignments to arguments passed to the static factory method. > > Paul. > > public class A { > static final __ByValue class Point { > final int x; > final int y; > > Point() { > x = y = 0; // This is the cause > } > > static Point point(int x, int y) { > Point p = __MakeDefault Point(); > p = __WithField(p.x, x); > p = __WithField(p.y, y); > return p; > } > > @Override > public boolean equals(Object o) { > if (!(o instanceof Point)) return false; > Point op = (Point) o; > > return x == op.x && y == op.y; > } > > static Point point() { > return point(0, 0); > } > } > > public static void main(String[] args) { > Point p = Point.point(); > } > } > From srikanth.adayapalam at oracle.com Mon Jul 16 13:17:17 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Mon, 16 Jul 2018 18:47:17 +0530 Subject: [lworld] VerifyError: Bad type on operand stack, limitation in javac for value type constructors In-Reply-To: <88a8a643-e413-3fd5-db11-e0cbceaa187b@oracle.com> References: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> <88a8a643-e413-3fd5-db11-e0cbceaa187b@oracle.com> Message-ID: I am not Paul :) but the present behavior you describe looks correct to me. Bottomline, javac is generating bad code for the case concerned. https://bugs.openjdk.java.net/browse/JDK-8207332 I doubt that there is a verifier defect here, but we will see after javac reforms itself. Thanks Srikanth On Saturday 14 July 2018 12:17 AM, Harold David Seigel wrote: > Hi Paul, > > For a withfield instruction, do you expect the verifier to push the > type of the field on its stack or the type of the valuetype containing > the field.? Currently, it pushes the valuetype on the stack. > > This is a JVM Spec issue. > > Harold > > > On 7/13/2018 2:24 PM, Paul Sandoz wrote: >> Hi, >> >> The program below compiles but fails when executed: >> >> ? $ java -XX:+EnableValhalla A >> Exception in thread "main" java.lang.VerifyError: Bad type on operand >> stack >> Exception Details: >> ?? Location: >> ???? A$Point.$makeValue$()LA$Point; @12: i2b >> ?? Reason: >> ???? Type 'A$Point' (current frame, stack[1]) is not assignable to >> integer >> ?? Current Frame: >> ???? bci: @12 >> ???? flags: { } >> ???? locals: { 'A$Point' } >> ???? stack: { 'A$Point', 'A$Point' } >> ?? Bytecode: >> ???? 0000000: cb00 024b 2a2a 03cc 0004 594b 91cc 0003 >> ???? 0000010: 4b2a b0 >> >> ????at A.main(A.java:31) >> >> >> The cause is this constructor: >> >> ???? Point() { >> ???????? x = y = 0; // This is the cause >> ???? } >> >> the byte code of which is: >> >> ?? A$Point(); >> ???? descriptor: ()V >> ???? flags: (0x0000) >> ???? Code: >> ?????? stack=1, locals=1, args_size=1 >> ????????? 0: aload_0 >> ????????? 1: invokespecial #1????????????????? // Method >> java/lang/Object."":()V >> ????????? 4: return >> ?????? LineNumberTable: >> ???????? line 6: 0 >> >> >> If the constructor is updated to the following then things work: >> >> ???? Point() { >> ???????? x = 0; >> ???????? y = 0; >> ???? } >> >> ?? static A$Point point(); >> ???? descriptor: ()LA$Point; >> ???? flags: (0x0008) ACC_STATIC >> ???? Code: >> ?????? stack=2, locals=0, args_size=0 >> ????????? 0: iconst_0 >> ????????? 1: iconst_0 >> ????????? 2: invokestatic? #6????????????????? // Method >> point:(II)LA$Point; >> ????????? 5: areturn >> >> >> There is a limitation in javac's current approach mapping field >> assignments to arguments passed to the static factory method. >> >> Paul. >> >> public class A { >> static final __ByValue class Point { >> ???? final int x; >> ???? final int y; >> >> ???? Point() { >> ???????? x = y = 0; // This is the cause >> ???? } >> >> ???? static Point point(int x, int y) { >> ???????? Point p = __MakeDefault Point(); >> ???????? p = __WithField(p.x, x); >> ???????? p = __WithField(p.y, y); >> ???????? return p; >> ???? } >> >> ???? @Override >> ???? public boolean equals(Object o) { >> ???????? if (!(o instanceof Point)) return false; >> ???????? Point op = (Point) o; >> >> ???????? return x == op.x && y == op.y; >> ???? } >> >> ???? static Point point() { >> ???????? return point(0, 0); >> ???? } >> } >> >> public static void main(String[] args) { >> ?? Point p = Point.point(); >> } >> } >> > From david.simms at oracle.com Mon Jul 16 13:43:58 2018 From: david.simms at oracle.com (David Simms) Date: Mon, 16 Jul 2018 15:43:58 +0200 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: <6f56494c-3984-0a6e-7044-136a936cd683@oracle.com> References: <6f56494c-3984-0a6e-7044-136a936cd683@oracle.com> Message-ID: Vote: yes /Simms On 14/07/18 20:22, Ioi Lam wrote: > Since Karen is on vacation, I took the liberty to forward this CFV to > valhalla-dev > > > > -------- Forwarded Message -------- > Subject:???? Re: CFV: New Valhalla Committer: Ioi Lam > Date:???? Sat, 14 Jul 2018 07:53:03 +0100 > From:???? Alan Bateman > To:???? Karen Kinnear , jdk-dev > > > > > Karen - the CFV is supposed to be on the project's mailing list so > valhalla-dev in this case. I don't know if there will be procedural > issue with having the vote on jdk-dev instead. > > -Alan > > On 13/07/2018 20:48, Karen Kinnear wrote: >>> I hereby nominate Ioi Lam (iklam) to Valhalla Committer. >>> >>> Ioi is a member of the Hotspot Runtime team who's looking to join >>> Project Valhalla (in the context of runtime support and JIT >>> optimizations for Value Objects [3]). A list of most of his OpenJDK >>> contributions is available at [4]. >>> >>> Votes are due by 18:00 ET July 27, 2018 >>> >>> Only current Valhalla Committers [1] are eligible to vote on this >>> nomination. >>> >>> For Lazy Consensus voting instructions, see [2]. >>> >>> Thank you, >>> Karen >>> >>> [1]http://openjdk.java.net/census >>> [2]http://openjdk.java.net/projects/#committer-vote >>> >>> [3]http://openjdk.java.net/jeps/169 >>> [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 >>> >>> > From forax at univ-mlv.fr Mon Jul 16 13:51:48 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Mon, 16 Jul 2018 15:51:48 +0200 (CEST) Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> References: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> Message-ID: <67788709.317462.1531749108286.JavaMail.zimbra@u-pem.fr> Hi Mandy, i think JavaLangAccess should export the array of the declared value types (the method in java.lang.Class should only do the null masking) and this array should be loaded by the constructor the builder and transformed to a set in the constructor too, because currently you are creating the set of declared value types at each call. Or even better, get the array of declared value types before creating the builder, because if the is not declared value type in the targetClass, there is no point to create the builder. The code while (c.isArray()) c = c.getComponentType(); if (c.isValue() && JLA.isDeclaredValueType(targetClass, c)) valueTypes.add(c.getName()); can be extracted in it's own method add that takes a Class avoiding code duplication. Instead of exporting the set of value types, i think it's better to use a method isEmpty because this is what you want. And the field JLA should be declared final because currently. Know correct me if i'm wrong, checking that the class is a value type at runtime is not necessary. Conceptually, you just want to propagate the fact that the targetClass believe that this is a value type to the code of the lambda proxy because the proxy class is generated at runtime and not at compile time. So this has nothing to do with isValue() which is a runtime check, so this is a kind of optimization. My fear here is that because of this optimization, the VM may not throw an exception where it should, i.e. if the class is declared as a value type but is not a value type at runtime, so if think the test to isValue() should be removed. regards, R?mi ----- Mail original ----- > De: "mandy chung" > ?: "valhalla-dev" > Envoy?: Samedi 14 Juillet 2018 03:14:08 > Objet: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class > VarHandleTest* and ValueConstructorRef tests fail with ICCE with > ValueTypes consistency checking because lambda generated class > is missing ValueTypes attribute whereas the target class has > the value types locally declared in the attribute. > > This patch updates InnerClassLambdaMetafactory to generate lambda > classes with ValueTypes attribute. We will examine other class > file generators in JDK separately (JDK-8207315). I also changed > ICCE to include the relevant info which is helpful for troubleshooting. > It may be useful to add a new method to return the list of declared > value types but leave it for another day. > > Webrev: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 > > I ran jdk_core, jdk_valhalla, and hotspot_valhalla test groups. > > Mandy From tobias.hartmann at oracle.com Mon Jul 16 14:16:51 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Mon, 16 Jul 2018 16:16:51 +0200 Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> Message-ID: <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> Thanks Remi! When trying to re-produce, I'm hitting JDK-8207346. I'll fix that first and then investigate the performance issue. Tobias On 13.07.2018 15:11, forax at univ-mlv.fr wrote: > the source code is here: > https://github.com/forax/valuetype-lworld/blob/master/src/test/java/fr.umlv.valuetype/fr/umlv/valuetype/perf/ReifiedListBenchMark.java#L118 > > the instructions about how to build are here: > https://github.com/forax/valuetype-lworld > > R?mi > > ----- Mail original ----- >> De: "Tobias Hartmann" >> ?: "Remi Forax" , "valhalla-dev" >> Envoy?: Vendredi 13 Juillet 2018 14:43:10 >> Objet: Re: boxing + unboxing a VT is not a no-op ? > >> Hi Remi, >> >> thanks for reporting. Could you please provide the full source code so we can >> have a closer look? >> >> Best regards, >> Tobias >> >> On 12.07.2018 20:43, Remi Forax wrote: >>> Hi guys, >>> it seems that operations likes VT -> Object -> VT are not optimized has being a >>> no-op. >>> >>> with IntBox being a value type that wrap an int, >>> this code is slow (not very slow, i.e not interpreter slow) >>> >>> public int valuelist_intbox_innervalue_inlined_reduce() { >>> __ByValue class Adder implements BiFunction { >>> private final boolean nonEmpty; >>> >>> Adder() { >>> nonEmpty = false; >>> throw new AssertionError(); >>> } >>> >>> public IntBox apply(IntBox acc, IntBox element) { >>> return acc.add(element); >>> } >>> } >>> BiFunction mapper = __MakeDefault Adder(); >>> var sum = IntBox.zero(); >>> int size = valueList.size(); >>> for(int i = 0; i < size; i++) { >>> sum = mapper.apply(sum, valueList.get(i)); >>> } >>> return sum.intValue(); >>> } >>> >>> while this code is fast (more than 10 times faster) >>> public int valuelist_intbox_inlined_reduce() { >>> var sum = IntBox.zero(); >>> int size = valueList.size(); >>> for(int i = 0; i < size; i++) { >>> sum = sum.add(valueList.get(i)); >>> } >>> return sum.intValue(); >>> } >>> >>> the difference is that instead of calling add on an IntBox to do the addition, >>> i used an anonymous value class which implement a functional interface which >>> used Objects. >>> (valueList is just an array of IntBox wrapped in a value type). >>> >>> regards, >>> R?mi >>> From srikanth.adayapalam at oracle.com Mon Jul 16 14:58:43 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Mon, 16 Jul 2018 14:58:43 +0000 Subject: hg: valhalla/valhalla: 8207341: [Lworld] Javac generates bad code for value constructors when expressions with side effects are involved Message-ID: <201807161458.w6GEwigo022916@aojmv0008.oracle.com> Changeset: 9e35bb8ec76c Author: sadayapalam Date: 2018-07-16 20:28 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9e35bb8ec76c 8207341: [Lworld] Javac generates bad code for value constructors when expressions with side effects are involved ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/TransValues.java + test/langtools/tools/javac/valhalla/lworld-values/SideEffectTest.java From srikanth.adayapalam at oracle.com Mon Jul 16 16:39:40 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Mon, 16 Jul 2018 16:39:40 +0000 Subject: hg: valhalla/valhalla: 8207332: [Lworld] Javac generates bad code for value constructors involving chained assignments Message-ID: <201807161639.w6GGdfQT024524@aojmv0008.oracle.com> Changeset: 54f37cb89cb3 Author: sadayapalam Date: 2018-07-16 22:09 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/54f37cb89cb3 8207332: [Lworld] Javac generates bad code for value constructors involving chained assignments ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + test/langtools/tools/javac/valhalla/lworld-values/ChainedAssignmentTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueCreationTest.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfExplicitSelector.java From srikanth.adayapalam at oracle.com Mon Jul 16 16:53:25 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Mon, 16 Jul 2018 22:23:25 +0530 Subject: [lworld] VerifyError: Bad type on operand stack, limitation in javac for value type constructors In-Reply-To: <02197d0a-2f65-2ecd-8a6c-25397753dd9d@oracle.com> References: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> <02197d0a-2f65-2ecd-8a6c-25397753dd9d@oracle.com> Message-ID: On Monday 16 July 2018 06:45 PM, Srikanth wrote: > Thanks Paul, > > This is a tricky issue indeed, but not a hard limitation. > I have raised: https://bugs.openjdk.java.net/browse/JDK-8207332 for > this problem. Note: I have pushed the fix here: http://hg.openjdk.java.net/valhalla/valhalla/rev/54f37cb89cb3 There was both a lowering problem and a code generation problem. Given: ??? x = y = 1234; Earlier it was being lowered to: $value = __WithField($value.x, $value = __WithField($value.y, 1234)); which is bogus. Now we lower the above chained assignment to: $value = __WithField($value.x, ($value = __WithField($value.y, 1234)).y); Now the lowering is good, but it complicates code generation due to side effects peculiar to values: For the outer withfield if we *first* load the value type instance onto the operand stack and *then* compute and load the expression ($value = __WithField($value.y, 1234)).y, we have trouble: Since the value type instance already loaded onto the operand stack is the one being modified by the subexpression ($value = __WithField($value.y, 1234)).y. So the right code generation is to first compute ($value = __WithField($value.y, 1234)).y with the attendant updates to $value (the factory's return value) and *then* load the *modified* value. Only complication is this leaves the withfield instructions operands in the reverse order. This is now fixed by a dup_x1 or dup_x2 as required, followed by a pop to get rid of the redundant value. This slightly convoluted code generation scheme is needed to ensure correctness in all cases. Perhaps some "optimization" at the bytecode level is possible by recognizing side effect free subexpressions. I am not sure if it is worth following up. I'll do if I hear strong opinions in favor. Thanks! Srikanth > > I will tackle the related but simpler problem against > https://bugs.openjdk.java.net/browse/JDK-8207341 > > first and then get to JDK-8207332. > > Thanks! > Srikanth > > On Friday 13 July 2018 11:54 PM, Paul Sandoz wrote: >> Hi, >> >> The program below compiles but fails when executed: >> >> ? $ java -XX:+EnableValhalla A >> Exception in thread "main" java.lang.VerifyError: Bad type on operand >> stack >> Exception Details: >> ?? Location: >> ???? A$Point.$makeValue$()LA$Point; @12: i2b >> ?? Reason: >> ???? Type 'A$Point' (current frame, stack[1]) is not assignable to >> integer >> ?? Current Frame: >> ???? bci: @12 >> ???? flags: { } >> ???? locals: { 'A$Point' } >> ???? stack: { 'A$Point', 'A$Point' } >> ?? Bytecode: >> ???? 0000000: cb00 024b 2a2a 03cc 0004 594b 91cc 0003 >> ???? 0000010: 4b2a b0 >> >> ????at A.main(A.java:31) >> >> >> The cause is this constructor: >> >> ???? Point() { >> ???????? x = y = 0; // This is the cause >> ???? } >> >> the byte code of which is: >> >> ?? A$Point(); >> ???? descriptor: ()V >> ???? flags: (0x0000) >> ???? Code: >> ?????? stack=1, locals=1, args_size=1 >> ????????? 0: aload_0 >> ????????? 1: invokespecial #1????????????????? // Method >> java/lang/Object."":()V >> ????????? 4: return >> ?????? LineNumberTable: >> ???????? line 6: 0 >> >> >> If the constructor is updated to the following then things work: >> >> ???? Point() { >> ???????? x = 0; >> ???????? y = 0; >> ???? } >> >> ?? static A$Point point(); >> ???? descriptor: ()LA$Point; >> ???? flags: (0x0008) ACC_STATIC >> ???? Code: >> ?????? stack=2, locals=0, args_size=0 >> ????????? 0: iconst_0 >> ????????? 1: iconst_0 >> ????????? 2: invokestatic? #6????????????????? // Method >> point:(II)LA$Point; >> ????????? 5: areturn >> >> >> There is a limitation in javac's current approach mapping field >> assignments to arguments passed to the static factory method. >> >> Paul. >> >> public class A { >> static final __ByValue class Point { >> ???? final int x; >> ???? final int y; >> >> ???? Point() { >> ???????? x = y = 0; // This is the cause >> ???? } >> >> ???? static Point point(int x, int y) { >> ???????? Point p = __MakeDefault Point(); >> ???????? p = __WithField(p.x, x); >> ???????? p = __WithField(p.y, y); >> ???????? return p; >> ???? } >> >> ???? @Override >> ???? public boolean equals(Object o) { >> ???????? if (!(o instanceof Point)) return false; >> ???????? Point op = (Point) o; >> >> ???????? return x == op.x && y == op.y; >> ???? } >> >> ???? static Point point() { >> ???????? return point(0, 0); >> ???? } >> } >> >> public static void main(String[] args) { >> ?? Point p = Point.point(); >> } >> } >> > From mandy.chung at oracle.com Mon Jul 16 17:49:15 2018 From: mandy.chung at oracle.com (mandy chung) Date: Mon, 16 Jul 2018 10:49:15 -0700 Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: References: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> Message-ID: On 7/16/18 5:42 AM, Harold David Seigel wrote: > Hi Mandy, > > The JVM changes look good.? I like the improvement to the ICCE error > messages. > > Can you change the CLASSFILE_VERSION in ClassLambdaMetafactory.java from > 52 to either 55 or JVM_CLASSFILE_MAJOR_VERSION ? > > The ValueTypes attribute should be ignored in class file versions < 55. I think we should do this as a follow up issue to enforce this in the VM together with the libraries changes to shake out any issue. Are you okay with that? Mandy > Similar changes may also be needed here: > > > ?src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java > ?? share/classes/java/lang/invoke/StringConcatFactory.java > ?? share/classes/java/lang/reflect/ProxyGenerator.java > > Thanks, Harold > > On 7/13/2018 9:14 PM, mandy chung wrote: >> VarHandleTest* and ValueConstructorRef tests fail with ICCE with >> ValueTypes consistency checking because lambda generated class >> is missing ValueTypes attribute whereas the target class has >> the value types locally declared in the attribute. >> >> This patch updates InnerClassLambdaMetafactory to generate lambda >> classes with ValueTypes attribute.? We will examine other class >> file generators in JDK separately (JDK-8207315).? I also changed >> ICCE to include the relevant info which is helpful for troubleshooting. >> It may be useful to add a new method to return the list of declared >> value types but leave it for another day. >> >> Webrev: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 >> >> I ran jdk_core, jdk_valhalla, and hotspot_valhalla test groups. >> >> Mandy > From harold.seigel at oracle.com Mon Jul 16 18:04:12 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Mon, 16 Jul 2018 14:04:12 -0400 Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: References: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> Message-ID: >> I think we should do this as a follow up issue to enforce this in the VM together with the libraries changes to shake out any issue.? Are you okay with that? Yes, I'm okay with that.? I'm working on a change to ignore the ValueTypes attribute unless the class file version > 55.? I'll include the CLASSFILE_VERSION changes with that, but wait until after you've pushed the fix for 8207194. Thanks, Harold On 7/16/2018 1:49 PM, mandy chung wrote: > On 7/16/18 5:42 AM, Harold David Seigel wrote: >> Hi Mandy, >> >> The JVM changes look good.? I like the improvement to the ICCE error >> messages. >> >> Can you change the CLASSFILE_VERSION in ClassLambdaMetafactory.java >> from 52 to either 55 or JVM_CLASSFILE_MAJOR_VERSION ? >> >> The ValueTypes attribute should be ignored in class file versions < 55. > > I think we should do this as a follow up issue to enforce this in the > VM together with the libraries changes to shake out any issue.? Are > you okay with that? > > Mandy > >> Similar changes may also be needed here: >> >> ??src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java >> ??? share/classes/java/lang/invoke/StringConcatFactory.java >> ??? share/classes/java/lang/reflect/ProxyGenerator.java >> >> Thanks, Harold >> >> On 7/13/2018 9:14 PM, mandy chung wrote: >>> VarHandleTest* and ValueConstructorRef tests fail with ICCE with >>> ValueTypes consistency checking because lambda generated class >>> is missing ValueTypes attribute whereas the target class has >>> the value types locally declared in the attribute. >>> >>> This patch updates InnerClassLambdaMetafactory to generate lambda >>> classes with ValueTypes attribute.? We will examine other class >>> file generators in JDK separately (JDK-8207315).? I also changed >>> ICCE to include the relevant info which is helpful for troubleshooting. >>> It may be useful to add a new method to return the list of declared >>> value types but leave it for another day. >>> >>> Webrev: >>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 >>> >>> I ran jdk_core, jdk_valhalla, and hotspot_valhalla test groups. >>> >>> Mandy >> From ioi.lam at oracle.com Mon Jul 16 18:24:33 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Mon, 16 Jul 2018 11:24:33 -0700 Subject: RFR JDK-8207219: [lworld] C2 should not invoke a method if its signature has inconsistent use of ValueType In-Reply-To: References: Message-ID: Hi Tobias, I think your suggestion should work. I'll need to think about how it might work when inlining across different class loaders. This could be tricky when LPoint; is a ValueType in CL1, but not a ValueType in CL2. I'll write a bunch of test cases to cover the scenarios. Thanks - Ioi On 7/16/18 1:44 AM, Tobias Hartmann wrote: > Hi Ioi, > > Inlining of a method 'callee' with a value type in it's signature into a method 'caller' is now only > possible if the class declaring 'caller' has the value type in it's attribute. I think that's too > strong because there can be very long inlining chains where _task->method()->method_holder() is not > aware of a value type being used deep inside that chain. > > I think we would need a check like this: > If 'callee' has a (loaded) non-primitive type in its signature, check if that type is known to be a > value type (Klass::is_value()) and if so throw an ICCE if the 'callee' holder does not declare it in > its value type attribute. That way we guarantee that assumptions of the caller at compile time (for > example, non-nullness of the returned value type) are consistent with assumptions of the callee. > > It would be good to add the test(s) to the webrev. > > Thanks, > Tobias > > On 14.07.2018 22:14, Ioi Lam wrote: >> http://cr.openjdk.java.net/~iklam/valhalla/8207219_c2_invoke_vt_consistency.v01/ >> https://bugs.openjdk.java.net/browse/JDK-8207219 >> >> This patch prevents improper inlining: when you have programs like this >> >> ??? class VT { // knows that Point is a ValueType >> ??????? void crasher() { >> ??????????? NonVT.foo(); >> ??????? } >> ??? } >> >> ??? class NonVT { // does NOT know that Point is a ValueType >> ??????? static Point x; >> ??????? static void foo() { >> ??????????? x = bar(); // <-- cannot inline this call into VT.crasher >> ??????? } >> >> ??????? static Point bar() { >> ??????????? return null; >> ??????? } >> ??? } >> >> If we inlined the bar() call into VT.crasher, it would break JDK-8206140 [1], >> which assumes that a callee will never return a NULL value back to a >> compiled caller. >> >> Thanks >> - Ioi >> >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8206140 >> ??? [lworld] Move return value null checks into the callee >> >> From mandy.chung at oracle.com Mon Jul 16 19:18:29 2018 From: mandy.chung at oracle.com (mandy chung) Date: Mon, 16 Jul 2018 12:18:29 -0700 Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: <67788709.317462.1531749108286.JavaMail.zimbra@u-pem.fr> References: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> <67788709.317462.1531749108286.JavaMail.zimbra@u-pem.fr> Message-ID: <9625f73c-8dbe-2b48-ae23-7c38903e7784@oracle.com> Hi Remi, Thanks for the suggestion.? Here is the updated webrev: ? http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.01/index.html On 7/16/18 6:51 AM, Remi Forax wrote: > Hi Mandy, > i think JavaLangAccess should export the array of the declared value types (the method in java.lang.Class should only do the null masking) and this array should be loaded by the constructor the builder and transformed to a set in the constructor too, because currently you are creating the set of declared value types at each call. Or even better, get the array of declared value types before creating the builder, because if the is not declared value type in the targetClass, there is no point to create the builder. Good point. I keep Class::getDeclaredValueTypeNames (renamed method to make it clear) to return an immutable set of Java class name rather than a mutable array with internal names so that the name conversion is done at most once if this method is called multiple times. > The code > while (c.isArray()) c = c.getComponentType(); > if (c.isValue() && JLA.isDeclaredValueType(targetClass, c)) > valueTypes.add(c.getName()); > > can be extracted in it's own method add that takes a Class avoiding code duplication. Sure and I planned to clean that up too. > Instead of exporting the set of value types, i think it's better to use a method isEmpty because this is what you want. > > And the field JLA should be declared final because currently. > > Know correct me if i'm wrong, checking that the class is a value type at runtime is not necessary. Conceptually, you just want to propagate the fact that the targetClass believe that this is a value type to the code of the lambda proxy because the proxy class is generated at runtime and not at compile time. So this has nothing to do with isValue() which is a runtime check, so this is a kind of optimization. > My fear here is that because of this optimization, the VM may not throw an exception where it should, i.e. if the class is declared as a value type but is not a value type at runtime, so if think the test to isValue() should be removed. I think you are right.?? The lambda proxy class should declare T in the ValueTypes attribute consistent with the target class regardless if T is a value type or not at runtime.? VM will do the value type consistency check.?? I take out the isValue check. Mandy > regards, > R?mi > > ----- Mail original ----- >> De: "mandy chung" >> ?: "valhalla-dev" >> Envoy?: Samedi 14 Juillet 2018 03:14:08 >> Objet: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class >> VarHandleTest* and ValueConstructorRef tests fail with ICCE with >> ValueTypes consistency checking because lambda generated class >> is missing ValueTypes attribute whereas the target class has >> the value types locally declared in the attribute. >> >> This patch updates InnerClassLambdaMetafactory to generate lambda >> classes with ValueTypes attribute. We will examine other class >> file generators in JDK separately (JDK-8207315). I also changed >> ICCE to include the relevant info which is helpful for troubleshooting. >> It may be useful to add a new method to return the list of declared >> value types but leave it for another day. >> >> Webrev: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 >> >> I ran jdk_core, jdk_valhalla, and hotspot_valhalla test groups. >> >> Mandy From john.r.rose at oracle.com Mon Jul 16 19:42:04 2018 From: john.r.rose at oracle.com (John Rose) Date: Mon, 16 Jul 2018 12:42:04 -0700 Subject: [lworld] VerifyError: Bad type on operand stack, limitation in javac for value type constructors In-Reply-To: References: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> <02197d0a-2f65-2ecd-8a6c-25397753dd9d@oracle.com> Message-ID: <0929645A-ABCE-49AD-9003-5C27132829D6@oracle.com> On Jul 16, 2018, at 9:53 AM, Srikanth wrote: > > There was both a lowering problem and a code generation problem. > Given: > > x = y = 1234; > > Earlier it was being lowered to: > > $value = __WithField($value.x, $value = __WithField($value.y, 1234)); > > which is bogus. > > Now we lower the above chained assignment to: > > $value = __WithField($value.x, ($value = __WithField($value.y, 1234)).y); > > Now the lowering is good, but it complicates code generation due to side effects peculiar to values: > > For the outer withfield if we *first* load the value type instance onto the operand stack and *then* > compute and load the expression ($value = __WithField($value.y, 1234)).y, we have trouble: Since the value type instance already loaded onto the operand stack is the one being modified by the subexpression > ($value = __WithField($value.y, 1234)).y. > > So the right code generation is to first compute ($value = __WithField($value.y, 1234)).y with the > attendant updates to $value (the factory's return value) and *then* load the *modified* value. > > Only complication is this leaves the withfield instructions operands in the reverse order. This lowered expression would do the job in the right order, correct? $value = __WithField(($value = __WithField($value.y, 1234)).x, $value.y); From forax at univ-mlv.fr Mon Jul 16 20:16:32 2018 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Mon, 16 Jul 2018 22:16:32 +0200 (CEST) Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: <9625f73c-8dbe-2b48-ae23-7c38903e7784@oracle.com> References: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> <67788709.317462.1531749108286.JavaMail.zimbra@u-pem.fr> <9625f73c-8dbe-2b48-ae23-7c38903e7784@oracle.com> Message-ID: <1368512651.397673.1531772192492.JavaMail.zimbra@u-pem.fr> > De: "mandy chung" > ?: "Remi Forax" > Cc: "valhalla-dev" > Envoy?: Lundi 16 Juillet 2018 21:18:29 > Objet: Re: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add > ValueTypes attribute in generated class > Hi Remi, > Thanks for the suggestion. Here is the updated webrev: > [ > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.01/index.html > | > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.01/index.html > ] In Class. getDeclaredValueTypeNames(), at the end, you can returns 'names' instead of reloading the field declaredValueTypeNames from the memory (which is a volatile read). Given that you publish an immutable Set, i believe there is no need to declare declaredValueTypeNames as volatile here, if you remove it, at worst, each thread will need to recompute it once, in practice at some point the other threads will see the value. In the InnerClassLambdaFactory, isDeclaredValueType can be private. Otherwise, thumb up. R?mi > On 7/16/18 6:51 AM, Remi Forax wrote: >> Hi Mandy, >> i think JavaLangAccess should export the array of the declared value types (the >> method in java.lang.Class should only do the null masking) and this array >> should be loaded by the constructor the builder and transformed to a set in the >> constructor too, because currently you are creating the set of declared value >> types at each call. Or even better, get the array of declared value types >> before creating the builder, because if the is not declared value type in the >> targetClass, there is no point to create the builder. > Good point. > I keep Class::getDeclaredValueTypeNames (renamed method to make it clear) to > return an immutable set of Java class name rather than a mutable array with > internal names so that the name conversion is done at most once if this method > is called multiple times. >> The code >> while (c.isArray()) c = c.getComponentType(); >> if (c.isValue() && JLA.isDeclaredValueType(targetClass, c)) >> valueTypes.add(c.getName()); >> can be extracted in it's own method add that takes a Class avoiding code >> duplication. > Sure and I planned to clean that up too. >> Instead of exporting the set of value types, i think it's better to use a method >> isEmpty because this is what you want. >> And the field JLA should be declared final because currently. >> Know correct me if i'm wrong, checking that the class is a value type at runtime >> is not necessary. Conceptually, you just want to propagate the fact that the >> targetClass believe that this is a value type to the code of the lambda proxy >> because the proxy class is generated at runtime and not at compile time. So >> this has nothing to do with isValue() which is a runtime check, so this is a >> kind of optimization. >> My fear here is that because of this optimization, the VM may not throw an >> exception where it should, i.e. if the class is declared as a value type but is >> not a value type at runtime, so if think the test to isValue() should be >> removed. > I think you are right. The lambda proxy class should declare T in the ValueTypes > attribute consistent with the target class regardless if T is a value type or > not at runtime. VM will do the value type consistency check. I take out the > isValue check. > Mandy >> regards, >> R?mi >> ----- Mail original ----- >>> De: "mandy chung" [ mailto:mandy.chung at oracle.com | ] >>> ?: "valhalla-dev" [ mailto:valhalla-dev at openjdk.java.net | >>> ] Envoy?: Samedi 14 Juillet 2018 03:14:08 >>> Objet: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add >>> ValueTypes attribute in generated class >>> VarHandleTest* and ValueConstructorRef tests fail with ICCE with >>> ValueTypes consistency checking because lambda generated class >>> is missing ValueTypes attribute whereas the target class has >>> the value types locally declared in the attribute. >>> This patch updates InnerClassLambdaMetafactory to generate lambda >>> classes with ValueTypes attribute. We will examine other class >>> file generators in JDK separately (JDK-8207315). I also changed >>> ICCE to include the relevant info which is helpful for troubleshooting. >>> It may be useful to add a new method to return the list of declared >>> value types but leave it for another day. >>> Webrev: [ http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 >>> | http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207194/webrev.00 ] I ran >>> jdk_core, jdk_valhalla, and hotspot_valhalla test groups. >>> Mandy From forax at univ-mlv.fr Mon Jul 16 20:20:53 2018 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Mon, 16 Jul 2018 22:20:53 +0200 (CEST) Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> Message-ID: <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> ----- Mail original ----- > De: "Tobias Hartmann" > ?: "Remi Forax" > Cc: "valhalla-dev" > Envoy?: Lundi 16 Juillet 2018 16:16:51 > Objet: Re: boxing + unboxing a VT is not a no-op ? > Thanks Remi! > > When trying to re-produce, I'm hitting JDK-8207346. I'll fix that first and then > investigate the performance issue. Ok, cool ! > > Tobias R?mi > > On 13.07.2018 15:11, forax at univ-mlv.fr wrote: >> the source code is here: >> https://github.com/forax/valuetype-lworld/blob/master/src/test/java/fr.umlv.valuetype/fr/umlv/valuetype/perf/ReifiedListBenchMark.java#L118 >> >> the instructions about how to build are here: >> https://github.com/forax/valuetype-lworld >> >> R?mi >> >> ----- Mail original ----- >>> De: "Tobias Hartmann" >>> ?: "Remi Forax" , "valhalla-dev" >>> >>> Envoy?: Vendredi 13 Juillet 2018 14:43:10 >>> Objet: Re: boxing + unboxing a VT is not a no-op ? >> >>> Hi Remi, >>> >>> thanks for reporting. Could you please provide the full source code so we can >>> have a closer look? >>> >>> Best regards, >>> Tobias >>> >>> On 12.07.2018 20:43, Remi Forax wrote: >>>> Hi guys, >>>> it seems that operations likes VT -> Object -> VT are not optimized has being a >>>> no-op. >>>> >>>> with IntBox being a value type that wrap an int, >>>> this code is slow (not very slow, i.e not interpreter slow) >>>> >>>> public int valuelist_intbox_innervalue_inlined_reduce() { >>>> __ByValue class Adder implements BiFunction { >>>> private final boolean nonEmpty; >>>> >>>> Adder() { >>>> nonEmpty = false; >>>> throw new AssertionError(); >>>> } >>>> >>>> public IntBox apply(IntBox acc, IntBox element) { >>>> return acc.add(element); >>>> } >>>> } >>>> BiFunction mapper = __MakeDefault Adder(); >>>> var sum = IntBox.zero(); >>>> int size = valueList.size(); >>>> for(int i = 0; i < size; i++) { >>>> sum = mapper.apply(sum, valueList.get(i)); >>>> } >>>> return sum.intValue(); >>>> } >>>> >>>> while this code is fast (more than 10 times faster) >>>> public int valuelist_intbox_inlined_reduce() { >>>> var sum = IntBox.zero(); >>>> int size = valueList.size(); >>>> for(int i = 0; i < size; i++) { >>>> sum = sum.add(valueList.get(i)); >>>> } >>>> return sum.intValue(); >>>> } >>>> >>>> the difference is that instead of calling add on an IntBox to do the addition, >>>> i used an anonymous value class which implement a functional interface which >>>> used Objects. >>>> (valueList is just an array of IntBox wrapped in a value type). >>>> >>>> regards, >>>> R?mi From mandy.chung at oracle.com Mon Jul 16 21:01:57 2018 From: mandy.chung at oracle.com (mandy chung) Date: Mon, 16 Jul 2018 14:01:57 -0700 Subject: RFR JDK-8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: <1368512651.397673.1531772192492.JavaMail.zimbra@u-pem.fr> References: <031a4af3-ac4f-1c93-c0e8-6b21f8f511b9@oracle.com> <67788709.317462.1531749108286.JavaMail.zimbra@u-pem.fr> <9625f73c-8dbe-2b48-ae23-7c38903e7784@oracle.com> <1368512651.397673.1531772192492.JavaMail.zimbra@u-pem.fr> Message-ID: On 7/16/18 1:16 PM, forax at univ-mlv.fr wrote: > In Class.getDeclaredValueTypeNames(), at the end, you can returns > 'names' instead of reloading the field declaredValueTypeNames from the > memory (which is a volatile read). > Given that you publish an immutable Set, i believe there is no need to > declare?declaredValueTypeNamesas volatile here, if you remove it, at > worst, each thread will need to recompute it once, in practice at some > point the other threads will see the value. True. I will change this before I push. > In the InnerClassLambdaFactory, isDeclaredValueType can be private. Ok. > Otherwise, thumb up. Thanks for the review. Mandy From mandy.chung at oracle.com Mon Jul 16 21:29:49 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 16 Jul 2018 21:29:49 +0000 Subject: hg: valhalla/valhalla: 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class Message-ID: <201807162129.w6GLTox4024480@aojmv0008.oracle.com> Changeset: b0224b61fd22 Author: mchung Date: 2018-07-16 14:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b0224b61fd22 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class Reviewed-by: forax, hseigel ! make/hotspot/symbols/symbols-unix ! src/hotspot/share/include/jvm.h ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java ! src/java.base/share/native/libjava/Class.c From srikanth.adayapalam at oracle.com Tue Jul 17 00:48:46 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Tue, 17 Jul 2018 06:18:46 +0530 Subject: hg: valhalla/valhalla: 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: <201807162129.w6GLTox4024480@aojmv0008.oracle.com> References: <201807162129.w6GLTox4024480@aojmv0008.oracle.com> Message-ID: Thanks for this fix Mandy. I confirm that langtools tests are back to being all green. Srikanth On Tuesday 17 July 2018 02:59 AM, mandy.chung at oracle.com wrote: > Changeset: b0224b61fd22 > Author: mchung > Date: 2018-07-16 14:29 -0700 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b0224b61fd22 > > 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class > Reviewed-by: forax, hseigel > > ! make/hotspot/symbols/symbols-unix > ! src/hotspot/share/include/jvm.h > ! src/hotspot/share/oops/constantPool.cpp > ! src/hotspot/share/oops/instanceKlass.cpp > ! src/hotspot/share/prims/jvm.cpp > ! src/java.base/share/classes/java/lang/Class.java > ! src/java.base/share/classes/java/lang/System.java > ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java > ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java > ! src/java.base/share/native/libjava/Class.c > From srikanth.adayapalam at oracle.com Tue Jul 17 01:14:51 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Tue, 17 Jul 2018 01:14:51 +0000 Subject: hg: valhalla/valhalla: [Lworld] Emit slightly better byte code sequence for withfield operation involving fields of category 1 computational type Message-ID: <201807170114.w6H1EqDH028103@aojmv0008.oracle.com> Changeset: fa4241b022ea Author: sadayapalam Date: 2018-07-17 06:44 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fa4241b022ea [Lworld] Emit slightly better byte code sequence for withfield operation involving fields of category 1 computational type ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueCreationTest.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfExplicitSelector.java From srikanth.adayapalam at oracle.com Tue Jul 17 01:22:22 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Tue, 17 Jul 2018 06:52:22 +0530 Subject: [lworld] VerifyError: Bad type on operand stack, limitation in javac for value type constructors In-Reply-To: <0929645A-ABCE-49AD-9003-5C27132829D6@oracle.com> References: <0F46E43B-4F7C-4948-936F-82517D7791EB@oracle.com> <02197d0a-2f65-2ecd-8a6c-25397753dd9d@oracle.com> <0929645A-ABCE-49AD-9003-5C27132829D6@oracle.com> Message-ID: On Tuesday 17 July 2018 01:12 AM, John Rose wrote: > On Jul 16, 2018, at 9:53 AM, Srikanth > wrote: >> >> There was both a lowering problem and a code generation problem. >> Given: >> >> ??? x = y = 1234; >> >> Earlier it was being lowered to: >> >> $value = __WithField($value.x, $value = __WithField($value.y, 1234)); >> >> which is bogus. >> >> Now we lower the above chained assignment to: >> >> $value = __WithField($value.x, ($value = __WithField($value.y, 1234)).y); >> >> Now the lowering is good, but it complicates code generation due to >> side effects peculiar to values: [...] > This lowered expression would do the job in the right order, correct? > > $value = __WithField(($value = __WithField($value.y, 1234)).x, $value.y); > Very likely yes. However the canonical recursive descent visitation would not yield that tree without some amount of contortion. In http://hg.openjdk.java.net/valhalla/valhalla/rev/fa4241b022ea, I have pushed a fix for a more optimal byte code sequence (that eliminates a pop instruction per withfield) for category 1 computational type. (The pop is still required when the value involved is of category 1 computational type. This is because swap does not work with ... long/double ValueInstance on top of operand stack (why?) and I have to use dup_x2.) Thanks! Srikanth From ioi.lam at oracle.com Tue Jul 17 06:08:55 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Mon, 16 Jul 2018 23:08:55 -0700 Subject: [lworld] Test cases for value type consistency checks Message-ID: <3a08fb66-595b-2ef9-1ca6-596113ae48e0@oracle.com> I have modified Frederic's test cases for the value type consistency checks [1]. See http://cr.openjdk.java.net/~iklam/valhalla/tests_for_value_types_consistency_checks.v01/ The test cases were originally driven by a shell script [2], and I rewrote them to run inside jtreg. The idea is to build 2 set of classes that have a different idea of whether "LPoint;" is a VT or not, and see how these classes interact. I'll try to write more test cases, including ones that use Reflection and MethodHandles. Thanks - Ioi [1] http://hg.openjdk.java.net/valhalla/valhalla/rev/a5573f4f6392 [2] http://cr.openjdk.java.net/~iklam/valhalla/tests_for_value_types_consistency_checks.v01/run.sh From david.simms at oracle.com Tue Jul 17 11:18:14 2018 From: david.simms at oracle.com (David Simms) Date: Tue, 17 Jul 2018 13:18:14 +0200 Subject: RFR JDK-8207197: [lworld] VarHandle array support for value types In-Reply-To: <1184dd21-673f-7b44-cf8f-53f73f9163e4@oracle.com> References: <1184dd21-673f-7b44-cf8f-53f73f9163e4@oracle.com> Message-ID: <791d7fb1-63ce-8237-a9c3-67ed916edafc@oracle.com> Looks good, some minor suggestions (don't need follow up RFR)... unsafe.cpp:315 :324 :360 :369 ??? Suggest moving the "index" calculation into a new method in valueArrayKlass.hpp so any size related calculations are encapsulated in the same place. ("jint ValueArrayKlass::index_at_offset(jlong)" ?) unsafe.cpp:319 :364 ??? Add a final condition "else { ShouldNotReachHere(); }" in the ASSERT block, just in case ArrayElementVarHandleTest.java ??? Run this tests with array flattening explicitly disabled via "-XX:-ValueArrayFlatten", and explicitly enabled "-XX:+ValueArrayFlatten" (i.e. 2 jteg @run lines) Good work, cheers /D On 14/07/18 07:40, mandy chung wrote: > This adds the VarHandle support for array value element and extends > Unsafe::arrayBaseOffset and arrayIndexScale to return the base > and scale for a value type array.? I add some basic test for value > array access via VarHandle but will need to add more tests to > verify as a follow-up. > > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207197/webrev.00/index.html > > > Mandy From tobias.hartmann at oracle.com Tue Jul 17 11:46:12 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 17 Jul 2018 13:46:12 +0200 Subject: RFR(S): 8207346: [lworld] C2 fails with "already heap allocated value types should be linked directly" Message-ID: <8190185e-64a0-a6f3-647f-930b8251d7da@oracle.com> Hi, please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8207346 http://cr.openjdk.java.net/~thartmann/8207346/webrev.00/ We hit an assert when trying to scalarize value types with safepoint usages because allocated value types should be linked directly. The problem is that ArrayCopyNodes have debug information (added by GraphKit::add_safepoint_edges()) but ArrayCopyNode::Ideal does not call SafePointNode::Ideal() which checks for value type inputs and links them directly. All tests pass. Thanks, Tobias From tobias.hartmann at oracle.com Tue Jul 17 12:31:08 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 17 Jul 2018 14:31:08 +0200 Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> Message-ID: <0f3f09aa-e7e7-c90e-23e4-fc7d69185b3e@oracle.com> Hi Remi, I had a look at the C2 generated code for valuelist_intbox_innervalue_inlined_reduce and it is essentially the same highly optimized code that is generated for valuelist_intbox_inlined_reduce. I'm not able to measure a performance difference either. Were you able to reproduce this with the latest version of the repo? Maybe some of our recent patches fixed this problem as well. Thanks, Tobias From tobias.hartmann at oracle.com Tue Jul 17 13:42:45 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 17 Jul 2018 15:42:45 +0200 Subject: hg: valhalla/valhalla: 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: <201807162129.w6GLTox4024480@aojmv0008.oracle.com> References: <201807162129.w6GLTox4024480@aojmv0008.oracle.com> Message-ID: Hi Mandy, I think this change broke the compiler tests: https://bugs.openjdk.java.net/browse/JDK-8207401 Thanks, Tobias On 16.07.2018 23:29, mandy.chung at oracle.com wrote: > Changeset: b0224b61fd22 > Author: mchung > Date: 2018-07-16 14:29 -0700 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b0224b61fd22 > > 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class > Reviewed-by: forax, hseigel > > ! make/hotspot/symbols/symbols-unix > ! src/hotspot/share/include/jvm.h > ! src/hotspot/share/oops/constantPool.cpp > ! src/hotspot/share/oops/instanceKlass.cpp > ! src/hotspot/share/prims/jvm.cpp > ! src/java.base/share/classes/java/lang/Class.java > ! src/java.base/share/classes/java/lang/System.java > ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java > ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java > ! src/java.base/share/native/libjava/Class.c > From forax at univ-mlv.fr Tue Jul 17 14:08:08 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Tue, 17 Jul 2018 16:08:08 +0200 (CEST) Subject: hg: valhalla/valhalla: 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: References: <201807162129.w6GLTox4024480@aojmv0008.oracle.com> Message-ID: <1743461382.615289.1531836488867.JavaMail.zimbra@u-pem.fr> I've the same one while trying to re-run the tests. # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fc2004a330e, pid=6471, tid=6491 # # JRE version: OpenJDK Runtime Environment (11.0) (build 11-internal+0-adhoc.travis.valhalla) # Java VM: OpenJDK 64-Bit Server VM (11-internal+0-adhoc.travis.valhalla, mixed mode, compressed oops, g1 gc, linux-amd64) # Problematic frame: # V [libjvm.so+0x88430e] java_lang_String::create_from_symbol(Symbol*, Thread*)+0x1e # # Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %e" (or dumping to /home/forax/git/valuetype-lworld/core.6471) # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # --------------- S U M M A R Y ------------ Command Line: -XX:+EnableValhalla --module-path=target/test/artifact:deps -Djdk.module.main=fr.umlv.valuetype -XX:+EnableValhalla -XX:CompileCommandFile=/tmp/jmh171386483904743367compilecommand org.openjdk.jmh.runner.ForkedMain 127.0.0.1 36393 Host: Intel(R) Core(TM) i7-7560U CPU @ 2.40GHz, 4 cores, 15G, Fedora release 27 (Twenty Seven) Time: Tue Jul 17 15:45:32 2018 CEST elapsed time: 2 seconds (0d 0h 0m 2s) --------------- T H R E A D --------------- Current thread (0x00007fc1f8400000): JavaThread "fr.umlv.valuetype.perf.ReifiedListBenchMark.valuelist_intbox_reduce-jmh-worker-1" daemon [_thread_in_vm, id=6491, stack(0x00007fc1d8db1000,0x00007fc1d8eb2000)] Stack: [0x00007fc1d8db1000,0x00007fc1d8eb2000], sp=0x00007fc1d8eaeee0, free space=1015k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x88430e] java_lang_String::create_from_symbol(Symbol*, Thread*)+0x1e V [libjvm.so+0x91c173] JVM_GetLocalValueTypes+0x113 j java.lang.Class.getLocalValueTypes0()[Ljava/lang/String;+0 java.base at 11-internal j java.lang.Class.getDeclaredValueTypeNames()Ljava/util/Set;+10 java.base at 11-internal j java.lang.System$2.getDeclaredValueTypeNames(Ljava/lang/Class;)Ljava/util/Set;+1 java.base at 11-internal j java.lang.invoke.InnerClassLambdaMetafactory.spinInnerClass()Ljava/lang/Class;+439 java.base at 11-internal j java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite()Ljava/lang/invoke/CallSite;+1 java.base at 11-internal j java.lang.invoke.LambdaMetafactory.metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;+31 java.base at 11-internal j java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base at 11-internal j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+28 java.base at 11-internal j java.lang.invoke.BootstrapMethodInvoker.invoke(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;+262 java.base at 11-internal j java.lang.invoke.CallSite.makeSite(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;+8 java.base at 11-internal j java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+6 java.base at 11-internal j java.lang.invoke.MethodHandleNatives.linkCallSite(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+46 java.base at 11-internal v ~StubRoutines::call_stub V [libjvm.so+0x881fcf] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x38f V [libjvm.so+0x880d40] JavaCalls::call_static(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x130 V [libjvm.so+0xd1ea07] SystemDictionary::find_dynamic_call_site_invoker(Klass*, int, Handle, Symbol*, Symbol*, Handle*, Handle*, Thread*)+0x487 V [libjvm.so+0xa3cf3a] LinkResolver::resolve_dynamic_call(CallInfo&, int, Handle, Symbol*, Symbol*, Klass*, Thread*)+0x5a V [libjvm.so+0xa3d4c3] LinkResolver::resolve_invokedynamic(CallInfo&, constantPoolHandle const&, int, Thread*)+0x4a3 V [libjvm.so+0xa42b3e] LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x4ee V [libjvm.so+0x873921] InterpreterRuntime::resolve_invokedynamic(JavaThread*)+0xf1 V [libjvm.so+0x875c75] InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0xa5 j fr.umlv.valuetype.perf.ReifiedListBenchMark.valuelist_intbox_reduce()I+7 fr.umlv.valuetype at 1.0 j fr.umlv.valuetype.perf.generated.ReifiedListBenchMark_valuelist_intbox_reduce_jmhTest.valuelist_intbox_reduce_avgt_jmhStub(Lorg/openjdk/jmh/runner/InfraControl;Lorg/openjdk/jmh/results/RawResults;Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/infra/IterationParams;Lorg/openjdk/jmh/infra/ThreadParams;Lorg/openjdk/jmh/infra/Blackhole;Lorg/openjdk/jmh/infra/Control;ILfr/umlv/valuetype/perf/generated/ReifiedListBenchMark_jmhType;)V+17 fr.umlv.valuetype at 1.0 j fr.umlv.valuetype.perf.generated.ReifiedListBenchMark_valuelist_intbox_reduce_jmhTest.valuelist_intbox_reduce_AverageTime(Lorg/openjdk/jmh/runner/InfraControl;Lorg/openjdk/jmh/infra/ThreadParams;)Lorg/openjdk/jmh/results/BenchmarkTaskResult;+144 fr.umlv.valuetype at 1.0 v ~StubRoutines::call_stub V [libjvm.so+0x881fcf] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x38f V [libjvm.so+0xc5eb03] invoke(InstanceKlass*, methodHandle const&, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*) [clone .isra.155]+0x603 V [libjvm.so+0xc60c58] Reflection::invoke_method(oopDesc*, Handle, objArrayHandle, Thread*)+0x128 V [libjvm.so+0x923eb4] JVM_InvokeMethod+0x194 j jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base at 11-internal j jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base at 11-internal j jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base at 11-internal j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base at 11-internal j org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call()Lorg/openjdk/jmh/results/BenchmarkTaskResult;+50 org.openjdk.jmh j org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call()Ljava/lang/Object;+1 org.openjdk.jmh j java.util.concurrent.FutureTask.run()V+39 java.base at 11-internal j java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4 java.base at 11-internal j java.util.concurrent.FutureTask.run()V+39 java.base at 11-internal j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base at 11-internal j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base at 11-internal j java.lang.Thread.run()V+11 java.base at 11-internal v ~StubRoutines::call_stub V [libjvm.so+0x881fcf] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x38f V [libjvm.so+0x87ffa0] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*)+0x200 V [libjvm.so+0x918fee] thread_entry(JavaThread*, Thread*)+0x8e V [libjvm.so+0xd5e1c8] JavaThread::thread_main_inner()+0xf8 V [libjvm.so+0xd5e938] JavaThread::run()+0x2a8 V [libjvm.so+0xbcb1b2] thread_native_entry(Thread*)+0xf2 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j java.lang.Class.getLocalValueTypes0()[Ljava/lang/String;+0 java.base at 11-internal j java.lang.Class.getDeclaredValueTypeNames()Ljava/util/Set;+10 java.base at 11-internal j java.lang.System$2.getDeclaredValueTypeNames(Ljava/lang/Class;)Ljava/util/Set;+1 java.base at 11-internal j java.lang.invoke.InnerClassLambdaMetafactory.spinInnerClass()Ljava/lang/Class;+439 java.base at 11-internal j java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite()Ljava/lang/invoke/CallSite;+1 java.base at 11-internal j java.lang.invoke.LambdaMetafactory.metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;+31 java.base at 11-internal j java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base at 11-internal j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+28 java.base at 11-internal j java.lang.invoke.BootstrapMethodInvoker.invoke(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;+262 java.base at 11-internal j java.lang.invoke.CallSite.makeSite(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;+8 java.base at 11-internal j java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+6 java.base at 11-internal j java.lang.invoke.MethodHandleNatives.linkCallSite(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+46 java.base at 11-internal v ~StubRoutines::call_stub j fr.umlv.valuetype.perf.ReifiedListBenchMark.valuelist_intbox_reduce()I+7 fr.umlv.valuetype at 1.0 j fr.umlv.valuetype.perf.generated.ReifiedListBenchMark_valuelist_intbox_reduce_jmhTest.valuelist_intbox_reduce_avgt_jmhStub(Lorg/openjdk/jmh/runner/InfraControl;Lorg/openjdk/jmh/results/RawResults;Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/infra/IterationParams;Lorg/openjdk/jmh/infra/ThreadParams;Lorg/openjdk/jmh/infra/Blackhole;Lorg/openjdk/jmh/infra/Control;ILfr/umlv/valuetype/perf/generated/ReifiedListBenchMark_jmhType;)V+17 fr.umlv.valuetype at 1.0 j fr.umlv.valuetype.perf.generated.ReifiedListBenchMark_valuelist_intbox_reduce_jmhTest.valuelist_intbox_reduce_AverageTime(Lorg/openjdk/jmh/runner/InfraControl;Lorg/openjdk/jmh/infra/ThreadParams;)Lorg/openjdk/jmh/results/BenchmarkTaskResult;+144 fr.umlv.valuetype at 1.0 v ~StubRoutines::call_stub j jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base at 11-internal j jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base at 11-internal j jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base at 11-internal j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base at 11-internal j org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call()Lorg/openjdk/jmh/results/BenchmarkTaskResult;+50 org.openjdk.jmh j org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call()Ljava/lang/Object;+1 org.openjdk.jmh j java.util.concurrent.FutureTask.run()V+39 java.base at 11-internal j java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4 java.base at 11-internal j java.util.concurrent.FutureTask.run()V+39 java.base at 11-internal j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base at 11-internal j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base at 11-internal j java.lang.Thread.run()V+11 java.base at 11-internal v ~StubRoutines::call_stub siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000000 Register to memory mapping: RAX=0x0000000000000020 is an unknown value RBX=0x00007fc1f8400000 is a thread RCX=0x00007fc1d8eaeee0 is pointing into the stack for thread: 0x00007fc1f8400000 RDX=0x00007fc1d8eaeef0 is pointing into the stack for thread: 0x00007fc1f8400000 RSP=0x00007fc1d8eaeee0 is pointing into the stack for thread: 0x00007fc1f8400000 RBP=0x00007fc1d8eaef20 is pointing into the stack for thread: 0x00007fc1f8400000 RSI=0x00007fc1f8400000 is a thread RDI=0x0 is NULL R8 =0x000000000000000b is an unknown value R9 =0x0000000000000074 is an unknown value R10=0x0000000000000040 is an unknown value R11=0x00007fc2017fbf80: in /lib64/libc.so.6 at 0x00007fc201687000 R12=0x00007fc1ecae9088 is pointing into metadata R13=0x0000000000000006 is an unknown value R14=0x0000000000000003 is an unknown value R15=0x00007fc1f8400000 is a thread Registers: RAX=0x0000000000000020, RBX=0x00007fc1f8400000, RCX=0x00007fc1d8eaeee0, RDX=0x00007fc1d8eaeef0 RSP=0x00007fc1d8eaeee0, RBP=0x00007fc1d8eaef20, RSI=0x00007fc1f8400000, RDI=0x0000000000000000 R8 =0x000000000000000b, R9 =0x0000000000000074, R10=0x0000000000000040, R11=0x00007fc2017fbf80 R12=0x00007fc1ecae9088, R13=0x0000000000000006, R14=0x0000000000000003, R15=0x00007fc1f8400000 RIP=0x00007fc2004a330e, EFLAGS=0x0000000000010202, CSGSFS=0x002b000000000033, ERR=0x0000000000000004 TRAPNO=0x000000000000000e Top of Stack: (sp=0x00007fc1d8eaeee0) 0x00007fc1d8eaeee0: 00007fc1ec4ab700 50eead9f798dda00 0x00007fc1d8eaeef0: 00000007074c9c01 00007fc1f8400000 0x00007fc1d8eaef00: 00007fc1f8400000 00007fc1ecae9088 0x00007fc1d8eaef10: 0000000000000002 0000000000000003 Instructions: (pc=0x00007fc2004a330e) 0x00007fc2004a32ee: 00 00 55 48 89 e5 41 56 48 8d 4d c0 48 8d 55 d0 0x00007fc2004a32fe: 41 55 4c 8d 6f 06 41 54 53 48 89 f3 48 83 ec 20 0x00007fc2004a330e: 0f b7 37 4c 89 ef e8 87 51 50 00 4c 63 e0 48 8d 0x00007fc2004a331e: 05 85 56 b1 00 80 38 00 74 28 0f b6 75 d0 48 89 R?mi ----- Mail original ----- > De: "Tobias Hartmann" > ?: "mandy chung" , "valhalla-dev" > Envoy?: Mardi 17 Juillet 2018 15:42:45 > Objet: Re: hg: valhalla/valhalla: 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in > generated class > Hi Mandy, > > I think this change broke the compiler tests: > https://bugs.openjdk.java.net/browse/JDK-8207401 > > Thanks, > Tobias > > On 16.07.2018 23:29, mandy.chung at oracle.com wrote: >> Changeset: b0224b61fd22 >> Author: mchung >> Date: 2018-07-16 14:29 -0700 >> URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b0224b61fd22 >> >> 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute >> in generated class >> Reviewed-by: forax, hseigel >> >> ! make/hotspot/symbols/symbols-unix >> ! src/hotspot/share/include/jvm.h >> ! src/hotspot/share/oops/constantPool.cpp >> ! src/hotspot/share/oops/instanceKlass.cpp >> ! src/hotspot/share/prims/jvm.cpp >> ! src/java.base/share/classes/java/lang/Class.java >> ! src/java.base/share/classes/java/lang/System.java >> ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java >> ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java >> ! src/java.base/share/native/libjava/Class.c From srikanth.adayapalam at oracle.com Tue Jul 17 14:08:31 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Tue, 17 Jul 2018 14:08:31 +0000 Subject: hg: valhalla/valhalla: 8205910: [Lworld] Diagnose use of 'this' with DU fields (for VTs and VBCs) Message-ID: <201807171408.w6HE8VtG014455@aojmv0008.oracle.com> Changeset: 4a738c0c297c Author: sadayapalam Date: 2018-07-17 19:38 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4a738c0c297c 8205910: [Lworld] Diagnose use of 'this' with DU fields (for VTs and VBCs) ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/diags/examples.not-yet.txt + test/langtools/tools/javac/valhalla/lworld-values/CheckThisLeak.java + test/langtools/tools/javac/valhalla/lworld-values/CheckThisLeak.out + test/langtools/tools/javac/valhalla/lworld-values/CheckThisLeakVBC.java + test/langtools/tools/javac/valhalla/lworld-values/CheckThisLeakVBC.out + test/langtools/tools/javac/valhalla/lworld-values/MiscThisLeak.java + test/langtools/tools/javac/valhalla/lworld-values/MiscThisLeak.out + test/langtools/tools/javac/valhalla/lworld-values/UnrelatedThisLeak.java From forax at univ-mlv.fr Tue Jul 17 14:14:30 2018 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Tue, 17 Jul 2018 16:14:30 +0200 (CEST) Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <0f3f09aa-e7e7-c90e-23e4-fc7d69185b3e@oracle.com> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> <0f3f09aa-e7e7-c90e-23e4-fc7d69185b3e@oracle.com> Message-ID: <1781569415.617965.1531836870267.JavaMail.zimbra@u-pem.fr> ----- Mail original ----- > De: "Tobias Hartmann" > ?: "Remi Forax" > Cc: "valhalla-dev" > Envoy?: Mardi 17 Juillet 2018 14:31:08 > Objet: Re: boxing + unboxing a VT is not a no-op ? > Hi Remi, > > I had a look at the C2 generated code for > valuelist_intbox_innervalue_inlined_reduce and it is > essentially the same highly optimized code that is generated for > valuelist_intbox_inlined_reduce. > > I'm not able to measure a performance difference either. Were you able to > reproduce this with the > latest version of the repo? Maybe some of our recent patches fixed this problem > as well. when i run the benchmark, Benchmark Mode Cnt Score Error Units ReifiedListBenchMark.arraylist_integer_get avgt 9 0.055 ? 0.001 ms/op ReifiedListBenchMark.reifiedlist_intbox_get avgt 9 506.190 ? 7.978 ms/op ReifiedListBenchMark.valuelist_intbox_get avgt 9 0.027 ? 0.001 ms/op ReifiedListBenchMark.valuelist_intbox_inlined_reduce avgt 9 0.027 ? 0.001 ms/op ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce avgt 9 0.304 ? 0.004 ms/op if you compare valuelist_intbox_get and valuelist_intbox_inlined_reduce you see that a value type that contains an int as as fast as an int, that's great but i'm more interested by the last two benchmarks. valuelist_intbox_innervalue_inlined_reduce should be as fast as valuelist_intbox_inlined_reduce, because the only difference is value type to object boxing. > > Thanks, > Tobias R?mi From mandy.chung at oracle.com Tue Jul 17 14:38:01 2018 From: mandy.chung at oracle.com (mandy chung) Date: Tue, 17 Jul 2018 07:38:01 -0700 Subject: hg: valhalla/valhalla: 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class In-Reply-To: References: <201807162129.w6GLTox4024480@aojmv0008.oracle.com> Message-ID: I will look at it. I ran hotspot_valhalla tests on Friday but TestNewAcmp was the only test failure. Hmm... Mandy On 7/17/18 6:42 AM, Tobias Hartmann wrote: > Hi Mandy, > > I think this change broke the compiler tests: > https://bugs.openjdk.java.net/browse/JDK-8207401 > > Thanks, > Tobias > > On 16.07.2018 23:29, mandy.chung at oracle.com wrote: >> Changeset: b0224b61fd22 >> Author: mchung >> Date: 2018-07-16 14:29 -0700 >> URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b0224b61fd22 >> >> 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class >> Reviewed-by: forax, hseigel >> >> ! make/hotspot/symbols/symbols-unix >> ! src/hotspot/share/include/jvm.h >> ! src/hotspot/share/oops/constantPool.cpp >> ! src/hotspot/share/oops/instanceKlass.cpp >> ! src/hotspot/share/prims/jvm.cpp >> ! src/java.base/share/classes/java/lang/Class.java >> ! src/java.base/share/classes/java/lang/System.java >> ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java >> ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java >> ! src/java.base/share/native/libjava/Class.c >> From tobias.hartmann at oracle.com Tue Jul 17 14:58:41 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 17 Jul 2018 16:58:41 +0200 Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <1781569415.617965.1531836870267.JavaMail.zimbra@u-pem.fr> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> <0f3f09aa-e7e7-c90e-23e4-fc7d69185b3e@oracle.com> <1781569415.617965.1531836870267.JavaMail.zimbra@u-pem.fr> Message-ID: <3e15d384-b1e1-7aaa-7b6f-51f9b5e0aaf9@oracle.com> Hi Remi, okay, thanks for the details. Could you maybe upload the jmh benchmark .jar? I have problems to build the entire benchmark suite from scratch and I cannot reproduce the performance difference when extracting the benchmark methods and running them manually. Thanks, Tobias On 17.07.2018 16:14, forax at univ-mlv.fr wrote: > when i run the benchmark, > > Benchmark Mode Cnt Score Error Units > ReifiedListBenchMark.arraylist_integer_get avgt 9 0.055 ? 0.001 ms/op > ReifiedListBenchMark.reifiedlist_intbox_get avgt 9 506.190 ? 7.978 ms/op > ReifiedListBenchMark.valuelist_intbox_get avgt 9 0.027 ? 0.001 ms/op > ReifiedListBenchMark.valuelist_intbox_inlined_reduce avgt 9 0.027 ? 0.001 ms/op > ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce avgt 9 0.304 ? 0.004 ms/op > > if you compare valuelist_intbox_get and valuelist_intbox_inlined_reduce you see that a value type that contains an int as as fast as an int, that's great but i'm more interested by the last two benchmarks. > > valuelist_intbox_innervalue_inlined_reduce should be as fast as valuelist_intbox_inlined_reduce, because the only difference is value type to object boxing. From forax at univ-mlv.fr Tue Jul 17 15:11:27 2018 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Tue, 17 Jul 2018 17:11:27 +0200 (CEST) Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <3e15d384-b1e1-7aaa-7b6f-51f9b5e0aaf9@oracle.com> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> <0f3f09aa-e7e7-c90e-23e4-fc7d69185b3e@oracle.com> <1781569415.617965.1531836870267.JavaMail.zimbra@u-pem.fr> <3e15d384-b1e1-7aaa-7b6f-51f9b5e0aaf9@oracle.com> Message-ID: <1097522717.638731.1531840287456.JavaMail.zimbra@u-pem.fr> The jar is test-fr.umlv.valuetype-1.0.jar, it has dependencies to JUnit 5 and JMH Every jars are here: http://www-igm.univ-mlv.fr/~forax/tmp/valhalla/ you can run it like this: /usr/jdk/jdk-11-lworld/bin/java -XX:+EnableValhalla --module-path path_to_the_folder_that_contains_the_jars -m fr.umlv.valuetype/fr.umlv.valuetype.perf.ReifiedListBenchMark regards, R?mi ----- Mail original ----- > De: "Tobias Hartmann" > ?: "Remi Forax" > Cc: "valhalla-dev" > Envoy?: Mardi 17 Juillet 2018 16:58:41 > Objet: Re: boxing + unboxing a VT is not a no-op ? > Hi Remi, > > okay, thanks for the details. Could you maybe upload the jmh benchmark .jar? I > have problems to > build the entire benchmark suite from scratch and I cannot reproduce the > performance difference when > extracting the benchmark methods and running them manually. > > Thanks, > Tobias > > On 17.07.2018 16:14, forax at univ-mlv.fr wrote: >> when i run the benchmark, >> >> Benchmark Mode Cnt >> Score Error Units >> ReifiedListBenchMark.arraylist_integer_get avgt 9 >> 0.055 ? 0.001 ms/op >> ReifiedListBenchMark.reifiedlist_intbox_get avgt 9 >> 506.190 ? 7.978 ms/op >> ReifiedListBenchMark.valuelist_intbox_get avgt 9 >> 0.027 ? 0.001 ms/op >> ReifiedListBenchMark.valuelist_intbox_inlined_reduce avgt 9 >> 0.027 ? 0.001 ms/op >> ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce avgt 9 >> 0.304 ? 0.004 ms/op >> >> if you compare valuelist_intbox_get and valuelist_intbox_inlined_reduce you see >> that a value type that contains an int as as fast as an int, that's great but >> i'm more interested by the last two benchmarks. >> >> valuelist_intbox_innervalue_inlined_reduce should be as fast as >> valuelist_intbox_inlined_reduce, because the only difference is value type to > > object boxing. From mandy.chung at oracle.com Tue Jul 17 15:53:30 2018 From: mandy.chung at oracle.com (mandy chung) Date: Tue, 17 Jul 2018 08:53:30 -0700 Subject: RFR JDK-8207401: [lworld] TestLWorld.java crashes java_lang_String::create_from_symbol Message-ID: The class name symbol is lazily set in InstanceKlass::_value_types array and hence when JVM_GetLocalValueTypes is called, _class_name symbol may be NULL in some entries. I will have to investigate further why the test didn't fail in my mach5 run but it fails in local run and might be timing issue if multiple tests were run in the agent vm. I ran all jdk, runtime, compiler, javac valhalla tests with one known failure TestNewAcmp.java. http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207401/webrev.00/ Mandy From harold.seigel at oracle.com Tue Jul 17 15:58:55 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Tue, 17 Jul 2018 11:58:55 -0400 Subject: RFR JDK-8207401: [lworld] TestLWorld.java crashes java_lang_String::create_from_symbol In-Reply-To: References: Message-ID: <1737b959-858d-3e79-8216-be5c7c7092fb@oracle.com> Hi Mandy, That looks good. Thanks! Harold On 7/17/2018 11:53 AM, mandy chung wrote: > The class name symbol is lazily set in InstanceKlass::_value_types array > and hence when JVM_GetLocalValueTypes is called, _class_name symbol > may be NULL in some entries. I will have to investigate further why > the test didn't fail in my mach5 run but it fails in local run and > might be timing issue if multiple tests were run in the agent vm. > > I ran all jdk, runtime, compiler, javac valhalla tests with one > known failure TestNewAcmp.java. > > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207401/webrev.00/ > > Mandy From mandy.chung at oracle.com Tue Jul 17 17:33:27 2018 From: mandy.chung at oracle.com (mandy chung) Date: Tue, 17 Jul 2018 10:33:27 -0700 Subject: RFR JDK-8207197: [lworld] VarHandle array support for value types In-Reply-To: <791d7fb1-63ce-8237-a9c3-67ed916edafc@oracle.com> References: <1184dd21-673f-7b44-cf8f-53f73f9163e4@oracle.com> <791d7fb1-63ce-8237-a9c3-67ed916edafc@oracle.com> Message-ID: <99616cad-edd0-1812-5e14-b26ec01e75ca@oracle.com> On 7/17/18 4:18 AM, David Simms wrote: > > Looks good, some minor suggestions (don't need follow up RFR)... > > > unsafe.cpp:315 :324 :360 :369 > > ??? Suggest moving the "index" calculation into a new method in > valueArrayKlass.hpp so any size related calculations are encapsulated in > the same place. ("jint ValueArrayKlass::index_at_offset(jlong)" ?) The index calculation here is for assert and logging which is temporary to aid troubleshooting. I don't see the need for ValueArrayKlass::index_at_offset and I would leave it as is. If we add it, it should probably detect invalid offset where possible and return -1. I move the assert and logging code in its function. > unsafe.cpp:319 :364 > > ??? Add a final condition "else { ShouldNotReachHere(); }" in the > ASSERT block, just in case Good suggestion. I added that. > ArrayElementVarHandleTest.java > > ??? Run this tests with array flattening explicitly disabled via > "-XX:-ValueArrayFlatten", and explicitly enabled > "-XX:+ValueArrayFlatten" (i.e. 2 jteg @run lines) Thanks for the flag. I added Unsafe::isFlattenedArray to detect if an array is flattened. We will revisit the Unsafe API after LW1. Webrev http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207197/webrev.01/ Mandy From david.simms at oracle.com Tue Jul 17 17:51:27 2018 From: david.simms at oracle.com (David Simms) Date: Tue, 17 Jul 2018 19:51:27 +0200 Subject: RFR JDK-8207197: [lworld] VarHandle array support for value types In-Reply-To: <99616cad-edd0-1812-5e14-b26ec01e75ca@oracle.com> References: <1184dd21-673f-7b44-cf8f-53f73f9163e4@oracle.com> <791d7fb1-63ce-8237-a9c3-67ed916edafc@oracle.com> <99616cad-edd0-1812-5e14-b26ec01e75ca@oracle.com> Message-ID: <97acc024-20a7-7ef6-1502-4f26e561a984@oracle.com> Looks good, ship it... On 17/07/2018 7:33 p.m., mandy chung wrote: > On 7/17/18 4:18 AM, David Simms wrote: >> >> Looks good, some minor suggestions (don't need follow up RFR)... >> >> >> unsafe.cpp:315 :324 :360 :369 >> >> ???? Suggest moving the "index" calculation into a new method in >> valueArrayKlass.hpp so any size related calculations are encapsulated >> in the same place. ("jint ValueArrayKlass::index_at_offset(jlong)" ?) > > The index calculation here is for assert and logging which is > temporary to aid troubleshooting.? I don't see the need for > ValueArrayKlass::index_at_offset and I would leave it as is. > If we add it, it should probably detect invalid offset where > possible and return -1. > > I move the assert and logging code in its function. > >> unsafe.cpp:319 :364 >> >> ???? Add a final condition "else { ShouldNotReachHere(); }" in the >> ASSERT block, just in case > > Good suggestion.? I added that. > >> ArrayElementVarHandleTest.java >> >> ???? Run this tests with array flattening explicitly disabled via >> "-XX:-ValueArrayFlatten", and explicitly enabled >> "-XX:+ValueArrayFlatten" (i.e. 2 jteg @run lines) > > Thanks for the flag.? I added Unsafe::isFlattenedArray to detect > if an array is flattened. We will revisit the Unsafe API after LW1. > > Webrev > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207197/webrev.01/ > > Mandy > From john.r.rose at oracle.com Tue Jul 17 19:40:23 2018 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 Jul 2018 12:40:23 -0700 Subject: CFV: New Valhalla Committer: Ioi Lam References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: [I'm posting this corrected CFV for Karen who is on vacation. Mark asked us [5] to restart the process on the correct list. Please re-send your votes; sorry for the extra traffic.] I hereby nominate Ioi Lam (iklam) to Valhalla Committer. Ioi is a member of the Hotspot Runtime team who's looking to join Project Valhalla (in the context of runtime support and JIT optimizations for Value Objects [3]). A list of most of his OpenJDK contributions is available at [4]. Votes are due by 12:30 PT July 31, 2018 Only current Valhalla Committers [1] are eligible to vote on this nomination. For Lazy Consensus voting instructions, see [2]. Thank you, John (for Karen) [1]http://openjdk.java.net/census [2]http://openjdk.java.net/projects/#committer-vote [3]http://openjdk.java.net/jeps/169 [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 [5]http://mail.openjdk.java.net/pipermail/jdk-dev/2018-July/001631.html From john.r.rose at oracle.com Tue Jul 17 19:41:04 2018 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 Jul 2018 12:41:04 -0700 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: <14097FFB-1984-4258-81DA-40B4347E649E@oracle.com> Vote: yes From harold.seigel at oracle.com Tue Jul 17 19:43:38 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Tue, 17 Jul 2018 15:43:38 -0400 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: <274f6f17-64ec-6a7c-a039-f50e824d8aa0@oracle.com> Vote: Yes Harold On 7/17/2018 3:40 PM, John Rose wrote: > [I'm posting this corrected CFV for Karen who is on vacation. > Mark asked us [5] to restart the process on the correct list. > Please re-send your votes; sorry for the extra traffic.] > > I hereby nominate Ioi Lam (iklam) to Valhalla Committer. > > Ioi is a member of the Hotspot Runtime team who's looking to join > Project Valhalla (in the context of runtime support and JIT > optimizations for Value Objects [3]). A list of most of his OpenJDK > contributions is available at [4]. > > Votes are due by 12:30 PT July 31, 2018 > > Only current Valhalla Committers [1] are eligible to vote on this > nomination. > > For Lazy Consensus voting instructions, see [2]. > > Thank you, > John (for Karen) > > [1]http://openjdk.java.net/census > [2]http://openjdk.java.net/projects/#committer-vote > [3]http://openjdk.java.net/jeps/169 > [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 > [5]http://mail.openjdk.java.net/pipermail/jdk-dev/2018-July/001631.html > From vladimir.x.ivanov at oracle.com Tue Jul 17 20:03:16 2018 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Tue, 17 Jul 2018 23:03:16 +0300 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: <5f45d004-b8ca-b0bb-0985-ab5a25ebfec7@oracle.com> Vote: yes Best regards, Vladimir Ivanov On 17/07/2018 22:40, John Rose wrote: > I hereby nominate Ioi Lam (iklam) to Valhalla Committer. From mandy.chung at oracle.com Tue Jul 17 20:16:38 2018 From: mandy.chung at oracle.com (mandy chung) Date: Tue, 17 Jul 2018 13:16:38 -0700 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: Vote: yes Mandy From mandy.chung at oracle.com Tue Jul 17 20:35:27 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Tue, 17 Jul 2018 20:35:27 +0000 Subject: hg: valhalla/valhalla: 2 new changesets Message-ID: <201807172035.w6HKZSlQ008335@aojmv0008.oracle.com> Changeset: eab3b58c9dde Author: mchung Date: 2018-07-17 13:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/eab3b58c9dde 8207401: [lworld] TestLWorld.java crashes java_lang_String::create_from_symbol Reviewed-by: hseigel ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvm.cpp Changeset: 29620b0ded89 Author: mchung Date: 2018-07-17 13:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/29620b0ded89 8207197: [lworld] VarHandle array support for value types Reviewed-by: dsimms ! src/hotspot/share/prims/unsafe.cpp ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java + test/jdk/valhalla/valuetypes/ArrayElementVarHandleTest.java ! test/jdk/valhalla/valuetypes/MethodHandleTest.java + test/jdk/valhalla/valuetypes/MixedValues.java From lois.foltan at oracle.com Tue Jul 17 20:40:06 2018 From: lois.foltan at oracle.com (Lois Foltan) Date: Tue, 17 Jul 2018 16:40:06 -0400 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: Vote: yes Lois On 7/17/2018 3:40 PM, John Rose wrote: > [I'm posting this corrected CFV for Karen who is on vacation. > Mark asked us [5] to restart the process on the correct list. > Please re-send your votes; sorry for the extra traffic.] > > I hereby nominate Ioi Lam (iklam) to Valhalla Committer. > > Ioi is a member of the Hotspot Runtime team who's looking to join > Project Valhalla (in the context of runtime support and JIT > optimizations for Value Objects [3]). A list of most of his OpenJDK > contributions is available at [4]. > > Votes are due by 12:30 PT July 31, 2018 > > Only current Valhalla Committers [1] are eligible to vote on this > nomination. > > For Lazy Consensus voting instructions, see [2]. > > Thank you, > John (for Karen) > > [1]http://openjdk.java.net/census > [2]http://openjdk.java.net/projects/#committer-vote > [3]http://openjdk.java.net/jeps/169 > [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 > [5]http://mail.openjdk.java.net/pipermail/jdk-dev/2018-July/001631.html > From srikanth.adayapalam at oracle.com Tue Jul 17 23:54:35 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Wed, 18 Jul 2018 05:24:35 +0530 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: <71bb7477-63b1-7a6d-098b-b1770faae6fb@oracle.com> Vote: yes Srikanth From tobias.hartmann at oracle.com Wed Jul 18 07:05:59 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 18 Jul 2018 09:05:59 +0200 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: Vote: yes On 17.07.2018 21:40, John Rose wrote: > [I'm posting this corrected CFV for Karen who is on vacation. > Mark asked us [5] to restart the process on the correct list. > Please re-send your votes; sorry for the extra traffic.] > > I hereby nominate Ioi Lam (iklam) to Valhalla Committer. > > Ioi is a member of the Hotspot Runtime team who's looking to join > Project Valhalla (in the context of runtime support and JIT > optimizations for Value Objects [3]). A list of most of his OpenJDK > contributions is available at [4]. > > Votes are due by 12:30 PT July 31, 2018 > > Only current Valhalla Committers [1] are eligible to vote on this > nomination. > > For Lazy Consensus voting instructions, see [2]. > > Thank you, > John (for Karen) > > [1]http://openjdk.java.net/census > [2]http://openjdk.java.net/projects/#committer-vote > [3]http://openjdk.java.net/jeps/169 > [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 > [5]http://mail.openjdk.java.net/pipermail/jdk-dev/2018-July/001631.html > From tobias.hartmann at oracle.com Wed Jul 18 07:32:04 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 18 Jul 2018 09:32:04 +0200 Subject: [lworld] Test cases for value type consistency checks In-Reply-To: <3a08fb66-595b-2ef9-1ca6-596113ae48e0@oracle.com> References: <3a08fb66-595b-2ef9-1ca6-596113ae48e0@oracle.com> Message-ID: Hi Ioi, this looks good to me. Just noticed that there is some uncommented code in ValuePoint.java. To get some more C2 coverage, it would be good to also run the tests with -Xcomp or (even better) run the ConsistencyTest::test method multiple times to trigger compilation. Do some of these tests fail? Because there is a "// BUG" comment in ConsistencyTest.java. Thanks, Tobias On 17.07.2018 08:08, Ioi Lam wrote: > I have modified Frederic's test cases for the value type consistency checks [1]. See > > http://cr.openjdk.java.net/~iklam/valhalla/tests_for_value_types_consistency_checks.v01/ > > The test cases were originally driven by a shell script [2], and I rewrote them to run inside jtreg. > The idea is to build 2 set of classes that have a different idea of whether "LPoint;" is a VT or > not, and see how these classes interact. > > I'll try to write more test cases, including ones that use Reflection and MethodHandles. > > Thanks > - Ioi > > > [1] http://hg.openjdk.java.net/valhalla/valhalla/rev/a5573f4f6392 > [2] http://cr.openjdk.java.net/~iklam/valhalla/tests_for_value_types_consistency_checks.v01/run.sh From david.simms at oracle.com Wed Jul 18 08:21:25 2018 From: david.simms at oracle.com (David Simms) Date: Wed, 18 Jul 2018 10:21:25 +0200 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: Vote: yes On 17/07/18 21:40, John Rose wrote: > [I'm posting this corrected CFV for Karen who is on vacation. > Mark asked us [5] to restart the process on the correct list. > Please re-send your votes; sorry for the extra traffic.] > > I hereby nominate Ioi Lam (iklam) to Valhalla Committer. > > Ioi is a member of the Hotspot Runtime team who's looking to join > Project Valhalla (in the context of runtime support and JIT > optimizations for Value Objects [3]). A list of most of his OpenJDK > contributions is available at [4]. > > Votes are due by 12:30 PT July 31, 2018 > > Only current Valhalla Committers [1] are eligible to vote on this > nomination. > > For Lazy Consensus voting instructions, see [2]. > > Thank you, > John (for Karen) > > [1]http://openjdk.java.net/census > [2]http://openjdk.java.net/projects/#committer-vote > [3]http://openjdk.java.net/jeps/169 > [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 > [5]http://mail.openjdk.java.net/pipermail/jdk-dev/2018-July/001631.html > From tobias.hartmann at oracle.com Wed Jul 18 11:28:48 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 18 Jul 2018 13:28:48 +0200 Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <1097522717.638731.1531840287456.JavaMail.zimbra@u-pem.fr> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <1c4cb403-7c3e-be25-fd40-354355cfce11@oracle.com> <1312921734.847153.1531487467931.JavaMail.zimbra@u-pem.fr> <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> <0f3f09aa-e7e7-c90e-23e4-fc7d69185b3e@oracle.com> <1781569415.617965.1531836870267.JavaMail.zimbra@u-pem.fr> <3e15d384-b1e1-7aaa-7b6f-51f9b5e0aaf9@oracle.com> <1097522717.638731.1531840287456.JavaMail.zimbra@u-pem.fr> Message-ID: Thanks, I've filed a bug [1] and have a fix ready. Here are the results with the patched JVM: Benchmark Mode Cnt Score Error Units ReifiedListBenchMark.arraylist_integer_get avgt 9 0.065 ? 0.010 ms/op ReifiedListBenchMark.reifiedlist_intbox_get avgt 9 593.495 ? 106.121 ms/op ReifiedListBenchMark.valuelist_intbox_get avgt 9 0.033 ? 0.007 ms/op ReifiedListBenchMark.valuelist_intbox_inlined_reduce avgt 9 0.030 ? 0.002 ms/op ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce avgt 9 0.029 ? 0.001 ms/op ReifiedListBenchMark.valuelist_intbox_reduce avgt 9 0.033 ? 0.009 ms/op Best regards, Tobias [1] https://bugs.openjdk.java.net/browse/JDK-8207773 On 17.07.2018 17:11, forax at univ-mlv.fr wrote: > The jar is test-fr.umlv.valuetype-1.0.jar, it has dependencies to JUnit 5 and JMH > > Every jars are here: > http://www-igm.univ-mlv.fr/~forax/tmp/valhalla/ > > you can run it like this: > /usr/jdk/jdk-11-lworld/bin/java -XX:+EnableValhalla --module-path path_to_the_folder_that_contains_the_jars -m fr.umlv.valuetype/fr.umlv.valuetype.perf.ReifiedListBenchMark > > regards, > R?mi > > ----- Mail original ----- >> De: "Tobias Hartmann" >> ?: "Remi Forax" >> Cc: "valhalla-dev" >> Envoy?: Mardi 17 Juillet 2018 16:58:41 >> Objet: Re: boxing + unboxing a VT is not a no-op ? > >> Hi Remi, >> >> okay, thanks for the details. Could you maybe upload the jmh benchmark .jar? I >> have problems to >> build the entire benchmark suite from scratch and I cannot reproduce the >> performance difference when >> extracting the benchmark methods and running them manually. >> >> Thanks, >> Tobias >> >> On 17.07.2018 16:14, forax at univ-mlv.fr wrote: >>> when i run the benchmark, >>> >>> Benchmark Mode Cnt >>> Score Error Units >>> ReifiedListBenchMark.arraylist_integer_get avgt 9 >>> 0.055 ? 0.001 ms/op >>> ReifiedListBenchMark.reifiedlist_intbox_get avgt 9 >>> 506.190 ? 7.978 ms/op >>> ReifiedListBenchMark.valuelist_intbox_get avgt 9 >>> 0.027 ? 0.001 ms/op >>> ReifiedListBenchMark.valuelist_intbox_inlined_reduce avgt 9 >>> 0.027 ? 0.001 ms/op >>> ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce avgt 9 >>> 0.304 ? 0.004 ms/op >>> >>> if you compare valuelist_intbox_get and valuelist_intbox_inlined_reduce you see >>> that a value type that contains an int as as fast as an int, that's great but >>> i'm more interested by the last two benchmarks. >>> >>> valuelist_intbox_innervalue_inlined_reduce should be as fast as >>> valuelist_intbox_inlined_reduce, because the only difference is value type to >>> object boxing. From tobias.hartmann at oracle.com Wed Jul 18 11:29:15 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 18 Jul 2018 13:29:15 +0200 Subject: RFR(S): 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method Message-ID: <3ed38397-790d-3103-dec7-c9920c6baf56@oracle.com> Hi, please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8207773 http://cr.openjdk.java.net/~thartmann/8207773/webrev.00/ When inlining a method that returns a value type as java.lang.Object, C2 will allocate the value type in the scope of the inlined method (see TestLWorld::test83). If the caller casts the return value back to a value type, the now unnecessary allocation might stay and affect performance. We should not allocate the returned value type when inlining but only if we return from the root method (this is handled in parse1.cpp:2339). If required, caller will take care of the allocation. Thanks a lot to Remi Forax for reporting this issue and helping with reproducing! Here are the results of Remi's benchmark with the patched JVM: Benchmark Mode Cnt Score Error Units ReifiedListBenchMark.arraylist_integer_get avgt 9 0.065 ? 0.010 ms/op ReifiedListBenchMark.reifiedlist_intbox_get avgt 9 593.495 ? 106.121 ms/op ReifiedListBenchMark.valuelist_intbox_get avgt 9 0.033 ? 0.007 ms/op ReifiedListBenchMark.valuelist_intbox_inlined_reduce avgt 9 0.030 ? 0.002 ms/op ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce avgt 9 0.029 ? 0.001 ms/op ReifiedListBenchMark.valuelist_intbox_reduce avgt 9 0.033 ? 0.009 ms/op Best regards, Tobias From forax at univ-mlv.fr Wed Jul 18 15:07:14 2018 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Wed, 18 Jul 2018 17:07:14 +0200 (CEST) Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> <0f3f09aa-e7e7-c90e-23e4-fc7d69185b3e@oracle.com> <1781569415.617965.1531836870267.JavaMail.zimbra@u-pem.fr> <3e15d384-b1e1-7aaa-7b6f-51f9b5e0aaf9@oracle.com> <1097522717.638731.1531840287456.JavaMail.zimbra@u-pem.fr> Message-ID: <2103022375.936347.1531926434346.JavaMail.zimbra@u-pem.fr> ----- Mail original ----- > De: "Tobias Hartmann" > ?: "Remi Forax" > Cc: "valhalla-dev" > Envoy?: Mercredi 18 Juillet 2018 13:28:48 > Objet: Re: boxing + unboxing a VT is not a no-op ? > Thanks, I've filed a bug [1] and have a fix ready. thanks for fixing it :) > > Here are the results with the patched JVM: > > Benchmark Mode Cnt > Score Error Units > ReifiedListBenchMark.arraylist_integer_get avgt 9 > 0.065 ? 0.010 ms/op > ReifiedListBenchMark.reifiedlist_intbox_get avgt 9 > 593.495 ? 106.121 ms/op > ReifiedListBenchMark.valuelist_intbox_get avgt 9 > 0.033 ? 0.007 ms/op > ReifiedListBenchMark.valuelist_intbox_inlined_reduce avgt 9 > 0.030 ? 0.002 ms/op > ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce avgt 9 > 0.029 ? 0.001 ms/op > ReifiedListBenchMark.valuelist_intbox_reduce avgt 9 > 0.033 ? 0.009 ms/op > nice :) about the bug, the summary is only about java.lang.Object, but the VM should not do buffering/boxing if it's an interface too. > Best regards, > Tobias > > [1] https://bugs.openjdk.java.net/browse/JDK-8207773 R?mi > > On 17.07.2018 17:11, forax at univ-mlv.fr wrote: >> The jar is test-fr.umlv.valuetype-1.0.jar, it has dependencies to JUnit 5 and >> JMH >> >> Every jars are here: >> http://www-igm.univ-mlv.fr/~forax/tmp/valhalla/ >> >> you can run it like this: >> /usr/jdk/jdk-11-lworld/bin/java -XX:+EnableValhalla --module-path >> path_to_the_folder_that_contains_the_jars -m >> fr.umlv.valuetype/fr.umlv.valuetype.perf.ReifiedListBenchMark >> >> regards, >> R?mi >> >> ----- Mail original ----- >>> De: "Tobias Hartmann" >>> ?: "Remi Forax" >>> Cc: "valhalla-dev" >>> Envoy?: Mardi 17 Juillet 2018 16:58:41 >>> Objet: Re: boxing + unboxing a VT is not a no-op ? >> >>> Hi Remi, >>> >>> okay, thanks for the details. Could you maybe upload the jmh benchmark .jar? I >>> have problems to >>> build the entire benchmark suite from scratch and I cannot reproduce the >>> performance difference when >>> extracting the benchmark methods and running them manually. >>> >>> Thanks, >>> Tobias >>> >>> On 17.07.2018 16:14, forax at univ-mlv.fr wrote: >>>> when i run the benchmark, >>>> >>>> Benchmark Mode Cnt >>>> Score Error Units >>>> ReifiedListBenchMark.arraylist_integer_get avgt 9 >>>> 0.055 ? 0.001 ms/op >>>> ReifiedListBenchMark.reifiedlist_intbox_get avgt 9 >>>> 506.190 ? 7.978 ms/op >>>> ReifiedListBenchMark.valuelist_intbox_get avgt 9 >>>> 0.027 ? 0.001 ms/op >>>> ReifiedListBenchMark.valuelist_intbox_inlined_reduce avgt 9 >>>> 0.027 ? 0.001 ms/op >>>> ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce avgt 9 >>>> 0.304 ? 0.004 ms/op >>>> >>>> if you compare valuelist_intbox_get and valuelist_intbox_inlined_reduce you see >>>> that a value type that contains an int as as fast as an int, that's great but >>>> i'm more interested by the last two benchmarks. >>>> >>>> valuelist_intbox_innervalue_inlined_reduce should be as fast as >>>> valuelist_intbox_inlined_reduce, because the only difference is value type to > >>> object boxing. From tobias.hartmann at oracle.com Wed Jul 18 15:23:42 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 18 Jul 2018 17:23:42 +0200 Subject: boxing + unboxing a VT is not a no-op ? In-Reply-To: <2103022375.936347.1531926434346.JavaMail.zimbra@u-pem.fr> References: <1666195965.600722.1531421006777.JavaMail.zimbra@u-pem.fr> <888020ed-8da4-e3b0-6690-da9a5e898e64@oracle.com> <1592731549.397916.1531772453724.JavaMail.zimbra@u-pem.fr> <0f3f09aa-e7e7-c90e-23e4-fc7d69185b3e@oracle.com> <1781569415.617965.1531836870267.JavaMail.zimbra@u-pem.fr> <3e15d384-b1e1-7aaa-7b6f-51f9b5e0aaf9@oracle.com> <1097522717.638731.1531840287456.JavaMail.zimbra@u-pem.fr> <2103022375.936347.1531926434346.JavaMail.zimbra@u-pem.fr> Message-ID: <5d964ff3-80d5-4e05-5933-af3040577da2@oracle.com> On 18.07.2018 17:07, forax at univ-mlv.fr wrote: > about the bug, the summary is only about java.lang.Object, but the VM should not do buffering/boxing if it's an interface too. Yes, sure, the fix works for interfaces too (I've now added a corresponding test to the webrev). Thanks, Tobias From rwestrel at redhat.com Wed Jul 18 15:51:26 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 18 Jul 2018 17:51:26 +0200 Subject: RFR(S): 8207346: [lworld] C2 fails with "already heap allocated value types should be linked directly" In-Reply-To: <8190185e-64a0-a6f3-647f-930b8251d7da@oracle.com> References: <8190185e-64a0-a6f3-647f-930b8251d7da@oracle.com> Message-ID: > http://cr.openjdk.java.net/~thartmann/8207346/webrev.00/ Looks good. Roland. From tobias.hartmann at oracle.com Wed Jul 18 15:52:11 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 18 Jul 2018 17:52:11 +0200 Subject: RFR(S): 8207346: [lworld] C2 fails with "already heap allocated value types should be linked directly" In-Reply-To: References: <8190185e-64a0-a6f3-647f-930b8251d7da@oracle.com> Message-ID: <239d6f0f-7615-b1e9-56f5-e77865820ce7@oracle.com> Thanks Roland! Best regards, Tobias On 18.07.2018 17:51, Roland Westrelin wrote: > >> http://cr.openjdk.java.net/~thartmann/8207346/webrev.00/ > > Looks good. > > Roland. > From rwestrel at redhat.com Wed Jul 18 15:54:09 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 18 Jul 2018 17:54:09 +0200 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: Vote: yes Roland. From rwestrel at redhat.com Wed Jul 18 15:56:03 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 18 Jul 2018 17:56:03 +0200 Subject: RFR(S): 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method In-Reply-To: <3ed38397-790d-3103-dec7-c9920c6baf56@oracle.com> References: <3ed38397-790d-3103-dec7-c9920c6baf56@oracle.com> Message-ID: > http://cr.openjdk.java.net/~thartmann/8207773/webrev.00/ That looks good. Roland. From tobias.hartmann at oracle.com Wed Jul 18 16:02:20 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 18 Jul 2018 18:02:20 +0200 Subject: RFR(S): 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method In-Reply-To: References: <3ed38397-790d-3103-dec7-c9920c6baf56@oracle.com> Message-ID: <053b4e5b-8160-4c94-870d-944050d9f77c@oracle.com> Thanks Roland! Best regards, Tobias On 18.07.2018 17:56, Roland Westrelin wrote: > >> http://cr.openjdk.java.net/~thartmann/8207773/webrev.00/ > > That looks good. > > Roland. > From tobias.hartmann at oracle.com Wed Jul 18 16:31:28 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Wed, 18 Jul 2018 16:31:28 +0000 Subject: hg: valhalla/valhalla: 8207346: [lworld] C2 fails with "already heap allocated value types should be linked directly" Message-ID: <201807181631.w6IGVTqs016518@aojmv0008.oracle.com> Changeset: f5c0ec6d7bfd Author: thartmann Date: 2018-07-18 18:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f5c0ec6d7bfd 8207346: [lworld] C2 fails with "already heap allocated value types should be linked directly" Reviewed-by: roland ! src/hotspot/share/opto/arraycopynode.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java From tobias.hartmann at oracle.com Wed Jul 18 16:36:17 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Wed, 18 Jul 2018 16:36:17 +0000 Subject: hg: valhalla/valhalla: 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method Message-ID: <201807181636.w6IGaIZu017743@aojmv0008.oracle.com> Changeset: 39a2d3a3b101 Author: thartmann Date: 2018-07-18 18:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/39a2d3a3b101 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method Reviewed-by: roland ! src/hotspot/share/opto/parse1.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java From ioi.lam at oracle.com Wed Jul 18 17:42:57 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Wed, 18 Jul 2018 10:42:57 -0700 Subject: [lworld] Test cases for value type consistency checks In-Reply-To: References: <3a08fb66-595b-2ef9-1ca6-596113ae48e0@oracle.com> Message-ID: <24401a99-fed2-f821-fddc-d194d0e6185c@oracle.com> I've updated the tests: http://cr.openjdk.java.net/~iklam/valhalla/tests_for_value_types_consistency_checks.v02/ http://cr.openjdk.java.net/~iklam/valhalla/tests_for_value_types_consistency_checks.v02/ConsistencyTest.jtr + Removed commented-out code in ValuePoint.java; also made the API the same as ? the POJOPoint.java. + Some tests are currently failing. You can run with ? "jtreg -DIgnoreFailures consistency" to run all test cases without failing ?? early. Then, search for upper case FAILED in the JTR file (see above JTR file) + Added -Xcomp. It produces more failures than -Xint, probably due to inlining. ? I'll experiment with warmup (similar to compiler/valhalla/valuetypes/ValueTypeTest.java) + For the "// BUG" comments in the code -- ResolveArray and ResolveMultiArray ? has opposite behavior. Specifically: ?????? anewarray???? #2??????????? // class Point ?????? multianewarray #2,? 2???? ? // class "[[LPoint;" ?? The anewarray bytecode fails but the multianewarray bytecode succeeds. ?? I think multianewarray should also fail. I've filed bug JDK-8207788 + I added a test for MethodHandle. The test fails. It seems that when an MH ? call site is resolved, the consistency test is not performed. Thanks - Ioi On 7/18/18 12:32 AM, Tobias Hartmann wrote: > Hi Ioi, > > this looks good to me. Just noticed that there is some uncommented code in ValuePoint.java. > > To get some more C2 coverage, it would be good to also run the tests with -Xcomp or (even better) > run the ConsistencyTest::test method multiple times to trigger compilation. > > Do some of these tests fail? Because there is a "// BUG" comment in ConsistencyTest.java. > > Thanks, > Tobias > > On 17.07.2018 08:08, Ioi Lam wrote: >> I have modified Frederic's test cases for the value type consistency checks [1]. See >> >> http://cr.openjdk.java.net/~iklam/valhalla/tests_for_value_types_consistency_checks.v01/ >> >> The test cases were originally driven by a shell script [2], and I rewrote them to run inside jtreg. >> The idea is to build 2 set of classes that have a different idea of whether "LPoint;" is a VT or >> not, and see how these classes interact. >> >> I'll try to write more test cases, including ones that use Reflection and MethodHandles. >> >> Thanks >> - Ioi >> >> >> [1] http://hg.openjdk.java.net/valhalla/valhalla/rev/a5573f4f6392 >> [2] http://cr.openjdk.java.net/~iklam/valhalla/tests_for_value_types_consistency_checks.v01/run.sh From harold.seigel at oracle.com Wed Jul 18 18:43:16 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Wed, 18 Jul 2018 14:43:16 -0400 Subject: RFR: version specific class file parser and verifier fixes Message-ID: <6f73a249-3d36-4c9b-1411-c8fc42a84cff@oracle.com> Hi, Please review this LWorld change to ignore the ValueTypes attribute and value type specific access flags for class file versions < 55.? This fix also includes changes to the verifier to throw VerifyError exceptions for withfield and defaultvalue opcodes for class file versions < 55. Open Webrev: http://cr.openjdk.java.net/~hseigel/lworld.cfp_verf/webrev/ The changes were tested with various tier1 - tier5 Mach5 tests on Linux and Mac. Thanks, Harold From mandy.chung at oracle.com Wed Jul 18 19:14:06 2018 From: mandy.chung at oracle.com (mandy chung) Date: Wed, 18 Jul 2018 12:14:06 -0700 Subject: RFR JDK-8207790: [lworld] update reflection to generate ValueTypes attribute Message-ID: <20610b60-ecb5-301a-2edd-0ab0925035f8@oracle.com> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.00/ The reflection class file generator is so old. We should replace it with ASM. Or maybe time to consider implementing core reflection with method handles. I can't resist to remove the duplicated CP entries (in a limited form in this patch, just the parameter types in the descriptor and declared value types). We can look at the performance impact due to the new Map and Set added in the future. This patch also fixes InnerClassLambdaMetafactory to add the element type to the ValueTypes attributes if it's an array type. I have verified locally on valhalla tests and currently running tier1 tests. I will write more tests for MH and reflection w.r.t. the value types consistency check to ensure all cases covered. Mandy [1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004728.html From john.r.rose at oracle.com Wed Jul 18 19:41:10 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 18 Jul 2018 12:41:10 -0700 Subject: RFR: version specific class file parser and verifier fixes In-Reply-To: <6f73a249-3d36-4c9b-1411-c8fc42a84cff@oracle.com> References: <6f73a249-3d36-4c9b-1411-c8fc42a84cff@oracle.com> Message-ID: Looks good. > On Jul 18, 2018, at 11:43 AM, Harold David Seigel wrote: > > Hi, > > Please review this LWorld change to ignore the ValueTypes attribute and value type specific access flags for class file versions < 55. This fix also includes changes to the verifier to throw VerifyError exceptions for withfield and defaultvalue opcodes for class file versions < 55. > > Open Webrev: http://cr.openjdk.java.net/~hseigel/lworld.cfp_verf/webrev/ > > The changes were tested with various tier1 - tier5 Mach5 tests on Linux and Mac. > > Thanks, Harold > From harold.seigel at oracle.com Wed Jul 18 19:49:12 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Wed, 18 Jul 2018 15:49:12 -0400 Subject: RFR: version specific class file parser and verifier fixes In-Reply-To: References: <6f73a249-3d36-4c9b-1411-c8fc42a84cff@oracle.com> Message-ID: Thanks John! Harold On 7/18/2018 3:41 PM, John Rose wrote: > Looks good. > >> On Jul 18, 2018, at 11:43 AM, Harold David Seigel wrote: >> >> Hi, >> >> Please review this LWorld change to ignore the ValueTypes attribute and value type specific access flags for class file versions < 55. This fix also includes changes to the verifier to throw VerifyError exceptions for withfield and defaultvalue opcodes for class file versions < 55. >> >> Open Webrev: http://cr.openjdk.java.net/~hseigel/lworld.cfp_verf/webrev/ >> >> The changes were tested with various tier1 - tier5 Mach5 tests on Linux and Mac. >> >> Thanks, Harold >> From john.r.rose at oracle.com Wed Jul 18 20:08:48 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 18 Jul 2018 13:08:48 -0700 Subject: RFR(S): 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method In-Reply-To: <053b4e5b-8160-4c94-870d-944050d9f77c@oracle.com> References: <3ed38397-790d-3103-dec7-c9920c6baf56@oracle.com> <053b4e5b-8160-4c94-870d-944050d9f77c@oracle.com> Message-ID: <3A0788C4-E5BA-4C00-BADD-5E41E412DEEC@oracle.com> That looks good, but the pre-existing assert may be overly restrictive: assert(tr->isa_instptr()->klass()->is_java_lang_Object(), "must be java.lang.Object"); The JVM treats all interfaces as untyped pointers, as well as Object. The verifier allows pervasive unchecked conversions between any interface and Object. See VerificationType::resolve_and_check_assignability and note that from_field_is_protected is false almost always. This odd status of interfaces has often been forgotten in JIT code. Any C2 TypeInstPtr whose klass is an interface is a general reference, a value of which may or may not implement the interface in question. In other words, anywhere an Object is allows, an interface is probably also valid. I wonder, do we have to do a round of assert adjustment the first time we mix values with interfaces? And one of the advantages of L-world is simple interop between interfaces and values: Are we giving up on this in LW1? ? John On Jul 18, 2018, at 9:02 AM, Tobias Hartmann wrote: > > Thanks Roland! > > Best regards, > Tobias > > On 18.07.2018 17:56, Roland Westrelin wrote: >> >>> http://cr.openjdk.java.net/~thartmann/8207773/webrev.00/ >> >> That looks good. >> >> Roland. >> From mandy.chung at oracle.com Wed Jul 18 20:31:08 2018 From: mandy.chung at oracle.com (mandy chung) Date: Wed, 18 Jul 2018 13:31:08 -0700 Subject: RFR: version specific class file parser and verifier fixes In-Reply-To: <6f73a249-3d36-4c9b-1411-c8fc42a84cff@oracle.com> References: <6f73a249-3d36-4c9b-1411-c8fc42a84cff@oracle.com> Message-ID: Looks good. jdk.internal.reflect.ClassFileAssembler::emitMagicAndVersion will need to be updated too after I push the fix for JDK-8207790. We can follow up separately depending on which patch goes first. Mandy On 7/18/18 11:43 AM, Harold David Seigel wrote: > Hi, > > Please review this LWorld change to ignore the ValueTypes attribute and > value type specific access flags for class file versions < 55.? This fix > also includes changes to the verifier to throw VerifyError exceptions > for withfield and defaultvalue opcodes for class file versions < 55. > > Open Webrev: http://cr.openjdk.java.net/~hseigel/lworld.cfp_verf/webrev/ > > The changes were tested with various tier1 - tier5 Mach5 tests on Linux > and Mac. > > Thanks, Harold > From forax at univ-mlv.fr Wed Jul 18 20:39:37 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Wed, 18 Jul 2018 22:39:37 +0200 (CEST) Subject: IncompatibleClassChangeError bug Message-ID: <1361259598.979028.1531946377075.JavaMail.zimbra@u-pem.fr> Hi all, a build from 39a2d3a3b101 breaks my tests with an IncompatibleClassChangeError. I have isolated the issue: --- import java.util.function.IntFunction; public class ArrayGeneratorBug { static __ByValue class Foo { private final int x; public Foo(int x) { this.x = x; } } private static T[] gen(IntFunction arrayCreator) { return arrayCreator.apply(0); } public static void main(String[] args) { Foo[] array = gen(Foo[]::new); System.out.println(array); } } --- At runtime something goes wrong: /usr/jdk/jdk-11-lworld/bin/java -XX:+EnableValhalla ArrayGeneratorBug Exception in thread "main" java.lang.IncompatibleClassChangeError: signature (I)[LArrayGeneratorBug$Foo; inconsistent value type: ArrayGeneratorBug$$Lambda$1/0x0000000800060840 ArrayGeneratorBug at ArrayGeneratorBug.gen(ArrayGeneratorBug.java:14) at ArrayGeneratorBug.main(ArrayGeneratorBug.java:18) regards, R?mi From forax at univ-mlv.fr Wed Jul 18 20:45:47 2018 From: forax at univ-mlv.fr (Remi Forax) Date: Wed, 18 Jul 2018 22:45:47 +0200 (CEST) Subject: IncompatibleClassChangeError bug In-Reply-To: <1361259598.979028.1531946377075.JavaMail.zimbra@u-pem.fr> References: <1361259598.979028.1531946377075.JavaMail.zimbra@u-pem.fr> Message-ID: <1551426156.979291.1531946747044.JavaMail.zimbra@u-pem.fr> If i read the error message correctly, it means that the lambda proxy is considered as a value type, which is quite cool be unexpected :) R?mi ----- Mail original ----- > De: "Remi Forax" > ?: "valhalla-dev" > Envoy?: Mercredi 18 Juillet 2018 22:39:37 > Objet: IncompatibleClassChangeError bug > Hi all, > a build from 39a2d3a3b101 breaks my tests with an IncompatibleClassChangeError. > I have isolated the issue: > > --- > import java.util.function.IntFunction; > > public class ArrayGeneratorBug { > > static __ByValue class Foo { > private final int x; > > public Foo(int x) { > this.x = x; > } > } > > private static T[] gen(IntFunction arrayCreator) { > return arrayCreator.apply(0); > } > > public static void main(String[] args) { > Foo[] array = gen(Foo[]::new); > System.out.println(array); > } > } > --- > > At runtime something goes wrong: > > /usr/jdk/jdk-11-lworld/bin/java -XX:+EnableValhalla ArrayGeneratorBug > Exception in thread "main" java.lang.IncompatibleClassChangeError: signature > (I)[LArrayGeneratorBug$Foo; inconsistent value type: > ArrayGeneratorBug$$Lambda$1/0x0000000800060840 ArrayGeneratorBug > at ArrayGeneratorBug.gen(ArrayGeneratorBug.java:14) > at ArrayGeneratorBug.main(ArrayGeneratorBug.java:18) > > regards, > R?mi From mandy.chung at oracle.com Wed Jul 18 20:48:49 2018 From: mandy.chung at oracle.com (mandy chung) Date: Wed, 18 Jul 2018 13:48:49 -0700 Subject: IncompatibleClassChangeError bug In-Reply-To: <1361259598.979028.1531946377075.JavaMail.zimbra@u-pem.fr> References: <1361259598.979028.1531946377075.JavaMail.zimbra@u-pem.fr> Message-ID: <7ec90fc0-25e7-b631-159f-2c37d8705c0b@oracle.com> Hi Remi, It's a bug in the InnerClassLambdaMetafactory including an array type in the ValueTypes attribute. I fix it in the fix for JDK-8207790 [1]: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.00/ I verified your test that works. Mandy [1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004730.html On 7/18/18 1:39 PM, Remi Forax wrote: > Hi all, > a build from 39a2d3a3b101 breaks my tests with an IncompatibleClassChangeError. > I have isolated the issue: > > --- > import java.util.function.IntFunction; > > public class ArrayGeneratorBug { > > static __ByValue class Foo { > private final int x; > > public Foo(int x) { > this.x = x; > } > } > > private static T[] gen(IntFunction arrayCreator) { > return arrayCreator.apply(0); > } > > public static void main(String[] args) { > Foo[] array = gen(Foo[]::new); > System.out.println(array); > } > } > --- > > At runtime something goes wrong: > > /usr/jdk/jdk-11-lworld/bin/java -XX:+EnableValhalla ArrayGeneratorBug > Exception in thread "main" java.lang.IncompatibleClassChangeError: signature (I)[LArrayGeneratorBug$Foo; inconsistent value type: ArrayGeneratorBug$$Lambda$1/0x0000000800060840 ArrayGeneratorBug > at ArrayGeneratorBug.gen(ArrayGeneratorBug.java:14) > at ArrayGeneratorBug.main(ArrayGeneratorBug.java:18) > > regards, > R?mi > > From harold.seigel at oracle.com Wed Jul 18 20:51:06 2018 From: harold.seigel at oracle.com (Harold David Seigel) Date: Wed, 18 Jul 2018 16:51:06 -0400 Subject: RFR: version specific class file parser and verifier fixes In-Reply-To: References: <6f73a249-3d36-4c9b-1411-c8fc42a84cff@oracle.com> Message-ID: Hi Mandy, Thanks for looking at this. Go ahead and push your patch first. I'll then update my patch with needed jdk.internal.reflect.ClassFileAssembler::emitMagicAndVersion changes. Harold On 7/18/2018 4:31 PM, mandy chung wrote: > Looks good. > > jdk.internal.reflect.ClassFileAssembler::emitMagicAndVersion will > need to be updated too after I push the fix for JDK-8207790. We > can follow up separately depending on which patch goes first. > > Mandy > > On 7/18/18 11:43 AM, Harold David Seigel wrote: >> Hi, >> >> Please review this LWorld change to ignore the ValueTypes attribute >> and value type specific access flags for class file versions < 55.? >> This fix also includes changes to the verifier to throw VerifyError >> exceptions for withfield and defaultvalue opcodes for class file >> versions < 55. >> >> Open Webrev: http://cr.openjdk.java.net/~hseigel/lworld.cfp_verf/webrev/ >> >> The changes were tested with various tier1 - tier5 Mach5 tests on >> Linux and Mac. >> >> Thanks, Harold >> From forax at univ-mlv.fr Wed Jul 18 20:52:09 2018 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Wed, 18 Jul 2018 22:52:09 +0200 (CEST) Subject: IncompatibleClassChangeError bug In-Reply-To: <7ec90fc0-25e7-b631-159f-2c37d8705c0b@oracle.com> References: <1361259598.979028.1531946377075.JavaMail.zimbra@u-pem.fr> <7ec90fc0-25e7-b631-159f-2c37d8705c0b@oracle.com> Message-ID: <986635957.979433.1531947129540.JavaMail.zimbra@u-pem.fr> Ok, great, i see the bug in the code, it inserts the name of the array instead of inserting the component type name. regards, R?mi ----- Mail original ----- > De: "mandy chung" > ?: "Remi Forax" > Cc: "valhalla-dev" > Envoy?: Mercredi 18 Juillet 2018 22:48:49 > Objet: Re: IncompatibleClassChangeError bug > Hi Remi, > > It's a bug in the InnerClassLambdaMetafactory including an array type > in the ValueTypes attribute. > > I fix it in the fix for JDK-8207790 [1]: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.00/ > > I verified your test that works. > > Mandy > [1] > http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004730.html > > On 7/18/18 1:39 PM, Remi Forax wrote: >> Hi all, >> a build from 39a2d3a3b101 breaks my tests with an IncompatibleClassChangeError. >> I have isolated the issue: >> >> --- >> import java.util.function.IntFunction; >> >> public class ArrayGeneratorBug { >> >> static __ByValue class Foo { >> private final int x; >> >> public Foo(int x) { >> this.x = x; >> } >> } >> >> private static T[] gen(IntFunction arrayCreator) { >> return arrayCreator.apply(0); >> } >> >> public static void main(String[] args) { >> Foo[] array = gen(Foo[]::new); >> System.out.println(array); >> } >> } >> --- >> >> At runtime something goes wrong: >> >> /usr/jdk/jdk-11-lworld/bin/java -XX:+EnableValhalla ArrayGeneratorBug >> Exception in thread "main" java.lang.IncompatibleClassChangeError: signature >> (I)[LArrayGeneratorBug$Foo; inconsistent value type: >> ArrayGeneratorBug$$Lambda$1/0x0000000800060840 ArrayGeneratorBug >> at ArrayGeneratorBug.gen(ArrayGeneratorBug.java:14) >> at ArrayGeneratorBug.main(ArrayGeneratorBug.java:18) >> >> regards, >> R?mi >> From mandy.chung at oracle.com Wed Jul 18 23:58:40 2018 From: mandy.chung at oracle.com (mandy chung) Date: Wed, 18 Jul 2018 16:58:40 -0700 Subject: RFR JDK-8207790: [lworld] update reflection to generate ValueTypes attribute In-Reply-To: <20610b60-ecb5-301a-2edd-0ab0925035f8@oracle.com> References: <20610b60-ecb5-301a-2edd-0ab0925035f8@oracle.com> Message-ID: Updated webrev: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.01/ This revision updates proxy class generator to add ValueTypes attribute and also added a test to verify the ValueTypes attributes generated by three (so far) bytecode generators. One bad news though: the proxy class generator was written 19 years ago per the history and no stack map table and so it has to stay in class file version 49. We will have to upgrade the proxy class generator (JDK-8207814). Mandy On 7/18/18 12:14 PM, mandy chung wrote: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.00/ > > The reflection class file generator is so old.? We should replace it > with ASM. Or maybe time to consider implementing core reflection with > method handles.? I can't resist to remove the duplicated CP entries > (in a limited form in this patch, just the parameter types in the > descriptor and declared value types).? We can look at the performance > impact due to the new Map and Set added in the future. > This patch also fixes InnerClassLambdaMetafactory to add the > element type to the ValueTypes attributes if it's an array type. > > I have verified locally on valhalla tests and currently running tier1 > tests.? I will write more tests for MH and reflection w.r.t. > the value types consistency check to ensure all cases covered. > > Mandy > [1] > http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004728.html From mandy.chung at oracle.com Thu Jul 19 00:16:40 2018 From: mandy.chung at oracle.com (mandy chung) Date: Wed, 18 Jul 2018 17:16:40 -0700 Subject: RFR JDK-8207815: [lworld] JVM_GetArrayElement and, JVM_SetArrayElement don't work for flatten array Message-ID: <8a53eef6-6230-9d8c-6718-8de06a913e6f@oracle.com> Array::get and Array::set call JVM_GetArrayElement and JVM_SetArrayElement function to get and set an array element. The JVM entry points don't support flattened arrays. Instead of adding the flatten array support in JVM_GetArrayElement and JVM_SetArrayElement, it's straight-forward to do that in Array::get and Array::set in Java. Webrev: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207815/webrev.00/index.html Mandy From john.r.rose at oracle.com Thu Jul 19 00:23:22 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 18 Jul 2018 17:23:22 -0700 Subject: RFR JDK-8207815: [lworld] JVM_GetArrayElement and, JVM_SetArrayElement don't work for flatten array In-Reply-To: <8a53eef6-6230-9d8c-6718-8de06a913e6f@oracle.com> References: <8a53eef6-6230-9d8c-6718-8de06a913e6f@oracle.com> Message-ID: <8209D276-4FFB-4AEA-9725-60E22C192FE2@oracle.com> If getComponentType is null you need to throw IAE. You can do this by sending the non-array straight to the native function: - if (!componentType.isPrimitive()) { + if (componentType != null && !componentType.isPrimitive()) { On Jul 18, 2018, at 5:16 PM, mandy chung wrote: > > Array::get and Array::set call JVM_GetArrayElement and > JVM_SetArrayElement function to get and set an array element. > The JVM entry points don't support flattened arrays. > > Instead of adding the flatten array support in JVM_GetArrayElement > and JVM_SetArrayElement, it's straight-forward to do that in > Array::get and Array::set in Java. > > Webrev: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207815/webrev.00/index.html > > Mandy From mandy.chung at oracle.com Thu Jul 19 00:33:44 2018 From: mandy.chung at oracle.com (mandy chung) Date: Wed, 18 Jul 2018 17:33:44 -0700 Subject: RFR JDK-8207815: [lworld] JVM_GetArrayElement and, JVM_SetArrayElement don't work for flatten array In-Reply-To: <8209D276-4FFB-4AEA-9725-60E22C192FE2@oracle.com> References: <8a53eef6-6230-9d8c-6718-8de06a913e6f@oracle.com> <8209D276-4FFB-4AEA-9725-60E22C192FE2@oracle.com> Message-ID: Oops... thanks for catching it. Will fix it before push. Mandy On 7/18/18 5:23 PM, John Rose wrote: > If getComponentType is null you need to throw IAE. > > You can do this by sending the non-array straight to the native function: > > - if (!componentType.isPrimitive()) { > + if (componentType != null && !componentType.isPrimitive()) { > > > > On Jul 18, 2018, at 5:16 PM, mandy chung wrote: >> >> Array::get and Array::set call JVM_GetArrayElement and >> JVM_SetArrayElement function to get and set an array element. >> The JVM entry points don't support flattened arrays. >> >> Instead of adding the flatten array support in JVM_GetArrayElement >> and JVM_SetArrayElement, it's straight-forward to do that in >> Array::get and Array::set in Java. >> >> Webrev: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207815/webrev.00/index.html >> >> Mandy > From ioi.lam at oracle.com Thu Jul 19 05:16:40 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Wed, 18 Jul 2018 22:16:40 -0700 Subject: [lworld] Clean up compiler test cases Message-ID: <1e6ce17b-d207-74bc-9a38-29508ead4cb5@oracle.com> I found that 7 valhalla tests for the compiler[1] have many very long @run command-lines [2]. The reason for having these @run cases is to test with different VM options. However, it's very difficult to maintain, especially when they are copied several times and are subsequently modified independently. I wrote a script to analyze the options [3]. If no one objects, I will refactor these tests to replace these @run lines with something more manageable. Thanks - Ioi --- [1] http://hg.openjdk.java.net/valhalla/valhalla/file/39a2d3a3b101/test/hotspot/jtreg/compiler/valhalla/valuetypes [2] An example of the complicated @run lines: ?* @run main/othervm/timeout=120 -Xbootclasspath/a:. -ea -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions ?*?????????????????? -XX:+UnlockExperimentalVMOptions -XX:+WhiteBoxAPI -XX:+AlwaysIncrementalInline ?*?????????????????? -XX:+EnableValhalla -XX:+ValueTypePassFieldsAsArgs -XX:+ValueTypeReturnedAsFields -XX:+ValueArrayFlatten ?*?????????????????? -XX:ValueFieldMaxFlatSize=-1 -XX:ValueArrayElemMaxFlatSize=-1 -XX:ValueArrayElemMaxFlatOops=-1 ?*?????????????????? compiler.valhalla.valuetypes.TestLWorld ?* @run main/othervm/timeout=120 -Xbootclasspath/a:. -ea -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions ?*?????????????????? -XX:+UnlockExperimentalVMOptions -XX:+WhiteBoxAPI -XX:-UseCompressedOops -XX:-UseOptoBiasInlining ?*?????????????????? -XX:+EnableValhalla -XX:-ValueTypePassFieldsAsArgs -XX:-ValueTypeReturnedAsFields -XX:+ValueArrayFlatten ?*?????????????????? -XX:ValueFieldMaxFlatSize=-1 -XX:ValueArrayElemMaxFlatSize=-1 -XX:ValueArrayElemMaxFlatOops=-1 ?*?????????????????? compiler.valhalla.valuetypes.TestLWorld ?* @run main/othervm/timeout=120 -Xbootclasspath/a:. -ea -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions ?*?????????????????? -XX:+UnlockExperimentalVMOptions -XX:+WhiteBoxAPI -XX:-UseCompressedOops -XX:-UseBiasedLocking ?*?????????????????? -XX:+EnableValhalla -XX:+ValueTypePassFieldsAsArgs -XX:+ValueTypeReturnedAsFields -XX:-ValueArrayFlatten ?*?????????????????? -XX:ValueFieldMaxFlatSize=0 -XX:ValueArrayElemMaxFlatSize=0 -XX:ValueArrayElemMaxFlatOops=0 ?*?????????????????? -DVerifyIR=false compiler.valhalla.valuetypes.TestLWorld ?* @run main/othervm/timeout=120 -Xbootclasspath/a:. -ea -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions ?*?????????????????? -XX:+UnlockExperimentalVMOptions -XX:+WhiteBoxAPI -XX:+AlwaysIncrementalInline -XX:-UseBiasedLocking ?*?????????????????? -XX:+EnableValhalla -XX:-ValueTypePassFieldsAsArgs -XX:-ValueTypeReturnedAsFields -XX:+ValueArrayFlatten ?*?????????????????? -XX:ValueFieldMaxFlatSize=0 -XX:ValueArrayElemMaxFlatSize=0 -XX:ValueArrayElemMaxFlatOops=0 ?*?????????????????? -XX:-MonomorphicArrayCheck ?*?????????????????? -DVerifyIR=false compiler.valhalla.valuetypes.TestLWorld ?* @run main/othervm/timeout=120 -Xbootclasspath/a:. -ea -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions ?*?????????????????? -XX:+UnlockExperimentalVMOptions -XX:+WhiteBoxAPI ?*?????????????????? -XX:+EnableValhalla -XX:+ValueTypePassFieldsAsArgs -XX:-ValueTypeReturnedAsFields -XX:+ValueArrayFlatten ?*?????????????????? -XX:ValueFieldMaxFlatSize=0 -XX:ValueArrayElemMaxFlatSize=-1 -XX:ValueArrayElemMaxFlatOops=-1 ?*?????????????????? -XX:-MonomorphicArrayCheck ?*?????????????????? -DVerifyIR=false compiler.valhalla.valuetypes.TestLWorld [3] Output of my script: Common to all 5 runs in all files: ??? -XX:+UnlockDiagnosticVMOptions ? ? -XX:+UnlockExperimentalVMOptions ??? -XX:+WhiteBoxAPI ? ? -XX:+EnableValhalla ??? -XX:+IgnoreUnrecognizedVMOptions ? ? -ea -Xbootclasspath/a:. ---- test 1 --- Common Options: -XX:+AlwaysIncrementalInline ??????????????? -XX:+ValueTypeReturnedAsFields ??????????????? -XX:ValueArrayElemMaxFlatSize=-1 ??????????????? -XX:ValueFieldMaxFlatSize=-1 ??????????????? -XX:+ValueArrayFlatten ??????????????? -XX:ValueArrayElemMaxFlatOops=-1 ??????????????? -XX:+ValueTypePassFieldsAsArgs File-specific options: ??? TestArrays.java: ??? TestLWorld.java: ??? TestMethodHandles.java: ??? TestCallingConvention.java: ??? TestOnStackReplacement.java: ??? TestIntrinsics.java: ??? TestBasicFunctionality.java: ---- test 2 --- Common Options: -XX:ValueFieldMaxFlatSize=-1 ??????????????? -XX:+ValueArrayFlatten ??????????????? -XX:ValueArrayElemMaxFlatOops=-1 ??????????????? -XX:-UseCompressedOops ??????????????? -XX:-ValueTypePassFieldsAsArgs ??????????????? -XX:-ValueTypeReturnedAsFields ??????????????? -XX:ValueArrayElemMaxFlatSize=-1 File-specific options: ??? TestArrays.java: ??? TestLWorld.java:?????????????? -XX:-UseOptoBiasInlining ??? TestMethodHandles.java: ??? TestCallingConvention.java:??? -XX:ValueTypesBufferMaxMemory=0 ??? TestOnStackReplacement.java: ??? TestIntrinsics.java: ??? TestBasicFunctionality.java: ---- test 3 --- Common Options: -XX:ValueArrayElemMaxFlatSize=0 ??????????????? -XX:ValueFieldMaxFlatSize=0 ??????????????? -XX:+ValueTypeReturnedAsFields ??????????????? -DVerifyIR=false ??????????????? -XX:ValueArrayElemMaxFlatOops=0 ??????????????? -XX:-ValueArrayFlatten ??????????????? -XX:-UseCompressedOops ??????????????? -XX:+ValueTypePassFieldsAsArgs File-specific options: ??? TestArrays.java: ??? TestLWorld.java:?????????????? -XX:-UseBiasedLocking ??? TestMethodHandles.java: ??? TestCallingConvention.java: ??? TestOnStackReplacement.java: ??? TestIntrinsics.java: ??? TestBasicFunctionality.java: ---- test 4 --- Common Options: -DVerifyIR=false ??????????????? -XX:ValueArrayElemMaxFlatSize=0 ??????????????? -XX:ValueFieldMaxFlatSize=0 ??????????????? -XX:ValueArrayElemMaxFlatOops=0 ??????????????? -XX:-ValueTypePassFieldsAsArgs ??????????????? -XX:+AlwaysIncrementalInline ??????????????? -XX:-ValueTypeReturnedAsFields File-specific options: ??? TestArrays.java:?????????????? -XX:-MonomorphicArrayCheck -XX:+ValueArrayFlatten ??? TestLWorld.java:?????????????? -XX:-UseBiasedLocking -XX:-MonomorphicArrayCheck ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? -XX:+ValueArrayFlatten ??? TestMethodHandles.java:??????? -XX:-ValueArrayFlatten ??? TestCallingConvention.java:??? -XX:-ValueArrayFlatten ??? TestOnStackReplacement.java:?? -XX:-ValueArrayFlatten ??? TestIntrinsics.java:?????????? -XX:-MonomorphicArrayCheck -XX:+ValueArrayFlatten ??? TestBasicFunctionality.java:?? -XX:-ValueArrayFlatten ---- test 5 --- Common Options: -XX:ValueArrayElemMaxFlatOops=-1 ??????????????? -XX:+ValueTypePassFieldsAsArgs ??????????????? -XX:ValueFieldMaxFlatSize=0 ??????????????? -XX:-ValueTypeReturnedAsFields ??????????????? -DVerifyIR=false ??????????????? -XX:ValueArrayElemMaxFlatSize=-1 ??????????????? -XX:+ValueArrayFlatten File-specific options: ??? TestArrays.java:?????????????? -XX:-MonomorphicArrayCheck ??? TestLWorld.java:?????????????? -XX:-MonomorphicArrayCheck ??? TestMethodHandles.java: ??? TestCallingConvention.java: ??? TestOnStackReplacement.java: ??? TestIntrinsics.java:?????????? -XX:-MonomorphicArrayCheck ??? TestBasicFunctionality.java: From mandy.chung at oracle.com Thu Jul 19 05:24:06 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 19 Jul 2018 05:24:06 +0000 Subject: hg: valhalla/valhalla: 8207815: [lworld] JVM_GetArrayElement and, JVM_SetArrayElement don't work for flatten array Message-ID: <201807190524.w6J5O7RE007521@aojmv0008.oracle.com> Changeset: d44793ca7966 Author: mchung Date: 2018-07-18 22:23 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d44793ca7966 8207815: [lworld] JVM_GetArrayElement and, JVM_SetArrayElement don't work for flatten array Reviewed-by: jrose ! src/java.base/share/classes/java/lang/reflect/Array.java ! src/java.base/share/native/libjava/Array.c ! test/jdk/valhalla/valuetypes/ArrayElementVarHandleTest.java + test/jdk/valhalla/valuetypes/NonFlattenValue.java + test/jdk/valhalla/valuetypes/ValueArray.java From tobias.hartmann at oracle.com Thu Jul 19 05:31:36 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 07:31:36 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <01fb34ec-0278-a5e6-c315-b16bea00984f@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> <6edf3e41-408c-fe4a-783b-bc16a59284ea@oracle.com> <8A3921C2-3E1A-4BD0-8CCE-932B1DACA3C1@oracle.com> <01fb34ec-0278-a5e6-c315-b16bea00984f@oracle.com> Message-ID: *ping* On 16.07.2018 14:21, Tobias Hartmann wrote: > Hi John, > > On 13.07.2018 23:33, John Rose wrote: >> I think your methods that potentially return a constant result should >> be moved from Ideal to Value. > > That's not possible because these methods may return a new node *or* a constant. We would need to > split the checks up and move them to Ideal or Value. I did this by re-factoring the code once more: > http://cr.openjdk.java.net/~thartmann/8205044/webrev.04_inc/ > > All tests pass. > > Thanks, > Tobias > From john.r.rose at oracle.com Thu Jul 19 06:09:23 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 18 Jul 2018 23:09:23 -0700 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: <01fb34ec-0278-a5e6-c315-b16bea00984f@oracle.com> References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> <6edf3e41-408c-fe4a-783b-bc16a59284ea@oracle.com> <8A3921C2-3E1A-4BD0-8CCE-932B1DACA3C1@oracle.com> <01fb34ec-0278-a5e6-c315-b16bea00984f@oracle.com> Message-ID: Sorry, it got lost in my inbox; thanks for the ping. This looks very good to me; thanks for refactoring it that way. And I think all of the node logic is now locally correct, regardless of what the other methods do. ? John On Jul 16, 2018, at 5:21 AM, Tobias Hartmann wrote: > > Hi John, > > On 13.07.2018 23:33, John Rose wrote: >> I think your methods that potentially return a constant result should >> be moved from Ideal to Value. > > That's not possible because these methods may return a new node *or* a constant. We would need to > split the checks up and move them to Ideal or Value. I did this by re-factoring the code once more: > http://cr.openjdk.java.net/~thartmann/8205044/webrev.04_inc/ > > All tests pass. > > Thanks, > Tobias From tobias.hartmann at oracle.com Thu Jul 19 06:15:31 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 08:15:31 +0200 Subject: RFR(L): 8205044: [lworld] Interpreter and compiler support for acmp with value type operands In-Reply-To: References: <7a881403-8d31-49ce-75c9-80ae8b55069b@oracle.com> <6a3d89b3-4301-41ad-1083-87105adc6ea3@oracle.com> <92073f83-a708-9b7d-e018-c83dafb0ea1d@oracle.com> <6edf3e41-408c-fe4a-783b-bc16a59284ea@oracle.com> <8A3921C2-3E1A-4BD0-8CCE-932B1DACA3C1@oracle.com> <01fb34ec-0278-a5e6-c315-b16bea00984f@oracle.com> Message-ID: <5b3b4092-8708-a3b5-94f8-5eca508cd017@oracle.com> Hi John, no problem, thanks a lot for the detailed review! Best regards, Tobias On 19.07.2018 08:09, John Rose wrote: > Sorry, it got lost in my inbox; thanks for the ping. > > This looks very good to me; thanks for refactoring it that way. > > And I think all of the node logic is now locally correct, regardless of what the other methods do. > > ? John > > On Jul 16, 2018, at 5:21 AM, Tobias Hartmann wrote: >> >> Hi John, >> >> On 13.07.2018 23:33, John Rose wrote: >>> I think your methods that potentially return a constant result should >>> be moved from Ideal to Value. >> >> That's not possible because these methods may return a new node *or* a constant. We would need to >> split the checks up and move them to Ideal or Value. I did this by re-factoring the code once more: >> http://cr.openjdk.java.net/~thartmann/8205044/webrev.04_inc/ >> >> All tests pass. >> >> Thanks, >> Tobias > From tobias.hartmann at oracle.com Thu Jul 19 06:23:10 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 08:23:10 +0200 Subject: RFR(S): 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method In-Reply-To: <3A0788C4-E5BA-4C00-BADD-5E41E412DEEC@oracle.com> References: <3ed38397-790d-3103-dec7-c9920c6baf56@oracle.com> <053b4e5b-8160-4c94-870d-944050d9f77c@oracle.com> <3A0788C4-E5BA-4C00-BADD-5E41E412DEEC@oracle.com> Message-ID: <153ef80c-cfdf-a1fe-3ae7-cd558578b831@oracle.com> Hi John, thanks for looking at this. On 18.07.2018 22:08, John Rose wrote: > That looks good, but the pre-existing assert may be overly restrictive: > > assert(tr->isa_instptr()->klass()->is_java_lang_Object(), "must be java.lang.Object"); I think the assert is fine because the interface case is handled just above in line 2365. We could handle value type to interface type returns here as well though. I've seen that you've filed JDK-8207811, we can do some code cleanups in that context. > The JVM treats all interfaces as untyped pointers, as well as Object. > The verifier allows pervasive unchecked conversions between any interface > and Object. See VerificationType::resolve_and_check_assignability > and note that from_field_is_protected is false almost always. > > This odd status of interfaces has often been forgotten in JIT code. > Any C2 TypeInstPtr whose klass is an interface is a general reference, > a value of which may or may not implement the interface in question. > In other words, anywhere an Object is allows, an interface is probably > also valid. Yes, we've introduced TypeOopPtr::can_be_value_type() for this: http://hg.openjdk.java.net/valhalla/valhalla/file/d44793ca7966/src/hotspot/share/opto/type.hpp#l1090 > I wonder, do we have to do a round of assert adjustment the first time we > mix values with interfaces? And one of the advantages of L-world is simple > interop between interfaces and values: Are we giving up on this in LW1? No, this *is* supported for LW1 and we have the corresponding JIT functionality and tests (basically whenever we have tests with java.lang.Object, we (should) have added tests with "MyInterface" which is implemented by our test value types). For example: http://hg.openjdk.java.net/valhalla/valhalla/file/d44793ca7966/test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java#l741 Thanks, Tobias From tobias.hartmann at oracle.com Thu Jul 19 06:35:31 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 08:35:31 +0200 Subject: RFR JDK-8207790: [lworld] update reflection to generate ValueTypes attribute In-Reply-To: References: <20610b60-ecb5-301a-2edd-0ab0925035f8@oracle.com> Message-ID: Hi Mandy, I can confirm that TestNewAcmp.java now passes (I've closed JDK-8207170 as duplicate of this). Thanks, Tobias On 19.07.2018 01:58, mandy chung wrote: > Updated webrev: > ? http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.01/ > > This revision updates proxy class generator to add ValueTypes attribute > and also added a test to verify the ValueTypes attributes generated by > three (so far) bytecode generators.? One bad news though: the proxy > class generator was written 19 years ago per the history and no stack > map table and so it has to stay in class file version 49.? We will > have to upgrade the proxy class generator (JDK-8207814). > > Mandy > > On 7/18/18 12:14 PM, mandy chung wrote: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.00/ >> >> The reflection class file generator is so old.? We should replace it >> with ASM. Or maybe time to consider implementing core reflection with >> method handles.? I can't resist to remove the duplicated CP entries >> (in a limited form in this patch, just the parameter types in the >> descriptor and declared value types).? We can look at the performance >> impact due to the new Map and Set added in the future. >> This patch also fixes InnerClassLambdaMetafactory to add the >> element type to the ValueTypes attributes if it's an array type. >> >> I have verified locally on valhalla tests and currently running tier1 >> tests.? I will write more tests for MH and reflection w.r.t. >> the value types consistency check to ensure all cases covered. >> >> Mandy >> [1] http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004728.html From tobias.hartmann at oracle.com Thu Jul 19 06:38:51 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Thu, 19 Jul 2018 06:38:51 +0000 Subject: hg: valhalla/valhalla: [lworld] Refactoring of changes for 8205044 Message-ID: <201807190638.w6J6cqdp025430@aojmv0008.oracle.com> Changeset: 4fea7e62e27a Author: thartmann Date: 2018-07-19 08:38 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4fea7e62e27a [lworld] Refactoring of changes for 8205044 Reviewed-by: jrose ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/subnode.hpp From john.r.rose at oracle.com Thu Jul 19 07:11:51 2018 From: john.r.rose at oracle.com (John Rose) Date: Thu, 19 Jul 2018 00:11:51 -0700 Subject: RFR(S): 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method In-Reply-To: <153ef80c-cfdf-a1fe-3ae7-cd558578b831@oracle.com> References: <3ed38397-790d-3103-dec7-c9920c6baf56@oracle.com> <053b4e5b-8160-4c94-870d-944050d9f77c@oracle.com> <3A0788C4-E5BA-4C00-BADD-5E41E412DEEC@oracle.com> <153ef80c-cfdf-a1fe-3ae7-cd558578b831@oracle.com> Message-ID: On Jul 18, 2018, at 11:23 PM, Tobias Hartmann wrote: > > Hi John, > > thanks for looking at this. > > On 18.07.2018 22:08, John Rose wrote: >> That looks good, but the pre-existing assert may be overly restrictive: >> >> assert(tr->isa_instptr()->klass()->is_java_lang_Object(), "must be java.lang.Object"); > > I think the assert is fine because the interface case is handled just above in line 2365. We could > handle value type to interface type returns here as well though. I've seen that you've filed > JDK-8207811, we can do some code cleanups in that context. In the context of JDK-8207811 I'd suggest adding a comment saying something like "interfaces are handled above". The theory I'm proposing is that a bare test for Object (without interfaces also) needs an excuse. ?But it's mainly a suggestion for avoiding future bugs, of a kind I've seen several times in the (long-gone) past. > >> The JVM treats all interfaces as untyped pointers, as well as Object. >> The verifier allows pervasive unchecked conversions between any interface >> and Object. See VerificationType::resolve_and_check_assignability >> and note that from_field_is_protected is false almost always. >> >> This odd status of interfaces has often been forgotten in JIT code. >> Any C2 TypeInstPtr whose klass is an interface is a general reference, >> a value of which may or may not implement the interface in question. >> In other words, anywhere an Object is allows, an interface is probably >> also valid. > > Yes, we've introduced TypeOopPtr::can_be_value_type() for this: > http://hg.openjdk.java.net/valhalla/valhalla/file/d44793ca7966/src/hotspot/share/opto/type.hpp#l1090 OK. The name reads oddly; Object itself isn't (and so can't) be a value type, but can be a super of value types, and its domain is able to contain value instances; same point for any interface. I won't bikeshed here. > >> I wonder, do we have to do a round of assert adjustment the first time we >> mix values with interfaces? And one of the advantages of L-world is simple >> interop between interfaces and values: Are we giving up on this in LW1? > > No, this *is* supported for LW1 and we have the corresponding JIT functionality and tests (basically > whenever we have tests with java.lang.Object, we (should) have added tests with "MyInterface" which > is implemented by our test value types). For example: > http://hg.openjdk.java.net/valhalla/valhalla/file/d44793ca7966/test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java#l741 Oh, good. I was slightly worried, along the lines of "how can that possibly work?" ? John From tobias.hartmann at oracle.com Thu Jul 19 07:20:30 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 09:20:30 +0200 Subject: [lworld] Clean up compiler test cases In-Reply-To: <1e6ce17b-d207-74bc-9a38-29508ead4cb5@oracle.com> References: <1e6ce17b-d207-74bc-9a38-29508ead4cb5@oracle.com> Message-ID: <657cb3ee-4d5e-e236-774e-5e68e70fda04@oracle.com> Hi Ioi, On 19.07.2018 07:16, Ioi Lam wrote: > I found that 7 valhalla tests for the compiler[1] have many very > long @run command-lines [2]. > > The reason for having these @run cases is to test with different VM > options. However, it's very difficult to maintain, especially when they > are copied several times and are subsequently modified independently. Yes, we need all those flag combinations because the compiler has many different optimization paths. The test also performs pattern matching on the C2 IR for only some of these combinations to catch performance regressions (see -DVerifyIR= ). > I wrote a script to analyze the options [3]. If no one objects, I will > refactor these tests to replace these @run lines with something more > manageable. Sure, that would be great. We just have to make sure that we don't reduce coverage. Thanks, Tobias From tobias.hartmann at oracle.com Thu Jul 19 08:58:40 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 10:58:40 +0200 Subject: RFR(S): 8207242: [lworld] TestLWorld fails with "assert(_base >= AnyPtr && _base <= KlassPtr) failed: Not a pointer" Message-ID: Hi, please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8207242 http://cr.openjdk.java.net/~thartmann/8207242/webrev.00/ We crash in ValueTypeBaseNode::is_allocated() because the oop input is TOP. The problem is that we are using a ValueTypeNode from a non-dominating path which died (but since we are not dominated, the ValueTypeNode was not removed). Details: In ValueTypeBaseNode::allocate(), if the value type is not yet allocated, we allocate a new buffer, store the field values and then replace the ValueTypeNode in the map by a clone that has the oop input set. However, storing the field values can call allocate() recursively to allocate new buffers for non-flattened value type fields. That code will also replace the ValueTypeNode for these fields in the map which is not correct because the allocation is only performed in the allocating branch of the parent allocate() call. We should save/restore the JVMState in ValueTypeBaseNode::allocate(). I've also added a test that triggers this deterministically (the bug was otherwise only reproducible with some -Xcomp runs). During testing, I've found another problem in ValueTypeNode::Ideal() where we fail with "assert(igvn->type(val)->is_zero_type()) failed: must be zero-type store". The assert is too strong because we can also have initializing stores that are not zero but the default value type oop. All tests pass. Thanks, Tobias From tobias.hartmann at oracle.com Thu Jul 19 11:29:53 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 13:29:53 +0200 Subject: RFR(S): 8207844: [lworld] Crash during method resolution because value type holder is not linked Message-ID: Hi, please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8207844 http://cr.openjdk.java.net/~thartmann/8207844/webrev.00/ We crash after deoptimization at a call when performing method resolution in the interpreter because compiled code for _defaultvalue did not make sure that the value klass was initialized. Similar to Parse::do_new(), we should add an uncommon trap if the value klass is not loaded at compile time. All tests pass. Thanks, Tobias From tobias.hartmann at oracle.com Thu Jul 19 13:57:47 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 15:57:47 +0200 Subject: RFR(S): 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" Message-ID: <717c56eb-1fbd-5c7f-ba69-afc3e624470c@oracle.com> Hi, please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8207848 http://cr.openjdk.java.net/~thartmann/8207848/webrev.00/ We need to pass the trap_bci from ValueTypeNode::make_from_oop() to load() to ensure that the uncommon trap is placed at the right bytecode for correct re-execution. All tests finally pass with and without -Xcomp! Thanks, Tobias From rwestrel at redhat.com Thu Jul 19 14:19:22 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 19 Jul 2018 16:19:22 +0200 Subject: RFR(S): 8207242: [lworld] TestLWorld fails with "assert(_base >= AnyPtr && _base <= KlassPtr) failed: Not a pointer" In-Reply-To: References: Message-ID: > http://cr.openjdk.java.net/~thartmann/8207242/webrev.00/ Seems reasonable. Roland. From rwestrel at redhat.com Thu Jul 19 14:20:33 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 19 Jul 2018 16:20:33 +0200 Subject: RFR(S): 8207844: [lworld] Crash during method resolution because value type holder is not linked In-Reply-To: References: Message-ID: > http://cr.openjdk.java.net/~thartmann/8207844/webrev.00/ This looks reasonable too. Roland. From tobias.hartmann at oracle.com Thu Jul 19 14:24:47 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 16:24:47 +0200 Subject: RFR(S): 8207242: [lworld] TestLWorld fails with "assert(_base >= AnyPtr && _base <= KlassPtr) failed: Not a pointer" In-Reply-To: References: Message-ID: <4561ea24-3bcd-9358-acfa-88e3650b3ab0@oracle.com> Thanks Roland! Best regards, Tobias On 19.07.2018 16:19, Roland Westrelin wrote: > >> http://cr.openjdk.java.net/~thartmann/8207242/webrev.00/ > > Seems reasonable. > > Roland. > From tobias.hartmann at oracle.com Thu Jul 19 14:24:52 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 16:24:52 +0200 Subject: RFR(S): 8207844: [lworld] Crash during method resolution because value type holder is not linked In-Reply-To: References: Message-ID: <46ac4f03-0c81-5f9e-b5c5-88aae08eb57c@oracle.com> Thanks Roland! Best regards, Tobias On 19.07.2018 16:20, Roland Westrelin wrote: > >> http://cr.openjdk.java.net/~thartmann/8207844/webrev.00/ > > This looks reasonable too. > > Roland. > From tobias.hartmann at oracle.com Thu Jul 19 14:26:49 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Thu, 19 Jul 2018 14:26:49 +0000 Subject: hg: valhalla/valhalla: 8207242: [lworld] TestLWorld fails with "assert(_base >= AnyPtr && _base <= KlassPtr) failed: Not a pointer" Message-ID: <201807191426.w6JEQowv001073@aojmv0008.oracle.com> Changeset: 9f1c2791c71f Author: thartmann Date: 2018-07-19 16:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9f1c2791c71f 8207242: [lworld] TestLWorld fails with "assert(_base >= AnyPtr && _base <= KlassPtr) failed: Not a pointer" Reviewed-by: roland ! src/hotspot/share/opto/valuetypenode.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java From tobias.hartmann at oracle.com Thu Jul 19 14:28:10 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Thu, 19 Jul 2018 14:28:10 +0000 Subject: hg: valhalla/valhalla: 8207844: [lworld] Crash during method resolution because value type holder is not linked Message-ID: <201807191428.w6JESBux001594@aojmv0008.oracle.com> Changeset: 0ab71209f7f1 Author: thartmann Date: 2018-07-19 16:27 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0ab71209f7f1 8207844: [lworld] Crash during method resolution because value type holder is not linked Reviewed-by: roland ! src/hotspot/share/opto/parseHelper.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java From rwestrel at redhat.com Thu Jul 19 14:31:07 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 19 Jul 2018 16:31:07 +0200 Subject: RFR(S): 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" In-Reply-To: <717c56eb-1fbd-5c7f-ba69-afc3e624470c@oracle.com> References: <717c56eb-1fbd-5c7f-ba69-afc3e624470c@oracle.com> Message-ID: > http://cr.openjdk.java.net/~thartmann/8207848/webrev.00/ Why no need to adjust the bci for this one: 553 kit->uncommon_trap(Deoptimization::Reason_null_check, Deoptimization::Action_none); ? Roland. From tobias.hartmann at oracle.com Thu Jul 19 14:35:43 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 19 Jul 2018 16:35:43 +0200 Subject: RFR(S): 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" In-Reply-To: References: <717c56eb-1fbd-5c7f-ba69-afc3e624470c@oracle.com> Message-ID: <79e54e20-112b-5b04-578c-6f1147e71c32@oracle.com> Hi Roland, On 19.07.2018 16:31, Roland Westrelin wrote: > Why no need to adjust the bci for this one: > > 553 kit->uncommon_trap(Deoptimization::Reason_null_check, Deoptimization::Action_none); Good question, I think this code was never called from where we would pass trap_bci != -1 but we should handle it just to be on the safe side: http://cr.openjdk.java.net/~thartmann/8207848/webrev.01/ Thanks, Tobias From rwestrel at redhat.com Thu Jul 19 14:47:15 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 19 Jul 2018 16:47:15 +0200 Subject: RFR(S): 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" In-Reply-To: <79e54e20-112b-5b04-578c-6f1147e71c32@oracle.com> References: <717c56eb-1fbd-5c7f-ba69-afc3e624470c@oracle.com> <79e54e20-112b-5b04-578c-6f1147e71c32@oracle.com> Message-ID: > http://cr.openjdk.java.net/~thartmann/8207848/webrev.01/ Would it be feasible to adjust the bci and sp only once, on entry of the first call to ValueTypeNode::make_from_oop() then you wouldn't have to pass trap_bci around? Roland. From mandy.chung at oracle.com Thu Jul 19 16:00:14 2018 From: mandy.chung at oracle.com (mandy chung) Date: Thu, 19 Jul 2018 09:00:14 -0700 Subject: RFR JDK-8207790: [lworld] update reflection to generate ValueTypes attribute In-Reply-To: References: <20610b60-ecb5-301a-2edd-0ab0925035f8@oracle.com> Message-ID: On 7/18/18 11:35 PM, Tobias Hartmann wrote: > Hi Mandy, > > I can confirm that TestNewAcmp.java now passes (I've closed > JDK-8207170 as duplicate of this). Thanks Tobias. Any objection if I push this patch? Mandy From rwestrel at redhat.com Thu Jul 19 16:00:29 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 19 Jul 2018 18:00:29 +0200 Subject: RFR(XS): 8207344: [lworld] hotspot jtreg test TestArrayCopyAsLoadsStores.java fails with EnableValhalla Message-ID: http://cr.openjdk.java.net/~roland/8207344/webrev.00/ The crash occurs because a type being tested for can_be_value_type() has a null _klass (it's a bottom[] array). The fix is to return false for any array and true if _klass is otherwise null. Roland. From ioi.lam at oracle.com Thu Jul 19 17:05:09 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Thu, 19 Jul 2018 10:05:09 -0700 Subject: [lworld] Patch for TestNewAcmp.java Message-ID: <1a30d803-f375-7c90-d1aa-21c884babb62@oracle.com> TestNewAcmp.javafails when running with a product VM. It's missing -XX:+UnlockDiagnosticVMOptions. Here's a patch that fixes it. Since I am not a committer, could someone push it? Thanks - Ioi ------------------- # HG changeset patch # User iklam # Date 1531433067 25200 #????? Thu Jul 12 15:04:27 2018 -0700 # Branch lworld # Node ID 2cb813013879c1ee0de27d1e928a0feaa61e16e3 # Parent? 208e3da0bbc560095361f435d2a1c31d9c7510ae Summary: Added missing -XX:+UnlockDiagnosticVMOptions to TestNewAcmp.java diff -r 208e3da0bbc5 -r 2cb813013879 test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java --- a/test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java Thu Jul 12 14:57:10 2018 -0700 +++ b/test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java Thu Jul 12 15:04:27 2018 -0700 @@ -27,27 +27,27 @@ ? * @library /testlibrary /test/lib /compiler/whitebox / ? * @compile -XDenableValueTypes -XDallowFlattenabilityModifiers TestNewAcmp.java ? * @run driver ClassFileInstaller sun.hotspot.WhiteBox - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* ? * compiler.valhalla.valuetypes.TestNewAcmp 0 - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 -XX:+AlwaysIncrementalInline ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* ? * compiler.valhalla.valuetypes.TestNewAcmp 0 - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* ? * compiler.valhalla.valuetypes.TestNewAcmp 1 - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 -XX:+AlwaysIncrementalInline ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* ? * compiler.valhalla.valuetypes.TestNewAcmp 1 - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* ? * compiler.valhalla.valuetypes.TestNewAcmp 2 - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 -XX:+AlwaysIncrementalInline ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* ? * compiler.valhalla.valuetypes.TestNewAcmp 2 From mandy.chung at oracle.com Thu Jul 19 18:50:44 2018 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 19 Jul 2018 18:50:44 +0000 Subject: hg: valhalla/valhalla: 8207790: [lworld] update reflection to generate ValueTypes attribute Message-ID: <201807191850.w6JIoieb014011@aojmv0008.oracle.com> Changeset: 129128ab7c0f Author: mchung Date: 2018-07-19 11:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/129128ab7c0f 8207790: [lworld] update reflection to generate ValueTypes attribute Reviewed-by: dsimms ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/jdk/internal/reflect/MethodAccessorGenerator.java ! test/jdk/valhalla/valuetypes/Line.java + test/jdk/valhalla/valuetypes/ValueTypesAttributeTest.java From john.r.rose at oracle.com Thu Jul 19 20:39:53 2018 From: john.r.rose at oracle.com (John Rose) Date: Thu, 19 Jul 2018 13:39:53 -0700 Subject: RFR(S): 8207844: [lworld] Crash during method resolution because value type holder is not linked In-Reply-To: References: Message-ID: Fix is good, but seems a little more cut-n-pasty than I like. Suggest a cleanup which pull all of the conditional logic, plus the deopt, into emit_guard_for_new. See below. On Jul 19, 2018, at 4:29 AM, Tobias Hartmann wrote: > > Hi, > > please review the following patch: > https://bugs.openjdk.java.net/browse/JDK-8207844 > http://cr.openjdk.java.net/~thartmann/8207844/webrev.00/ diff --git a/src/hotspot/share/opto/parseHelper.cpp b/src/hotspot/share/opto/parseHelper.cpp --- a/src/hotspot/share/opto/parseHelper.cpp +++ b/src/hotspot/share/opto/parseHelper.cpp @@ -311,18 +311,8 @@ assert(will_link, "_new: typeflow responsibility"); // Should initialize, or throw an InstantiationError? - if ((!klass->is_initialized() && !klass->is_being_initialized()) || - klass->is_abstract() || klass->is_interface() || - klass->name() == ciSymbol::java_lang_Class() || - iter().is_unresolved_klass()) { - uncommon_trap(Deoptimization::Reason_uninitialized, - Deoptimization::Action_reinterpret, - klass); - return; - } - if (klass->is_being_initialized()) { - emit_guard_for_new(klass); - } + emit_guard_for_new(klass); + if (stopped()) return; Node* kls = makecon(TypeKlassPtr::make(klass)); Node* obj = new_instance(kls); @@ -349,6 +339,11 @@ bool will_link; ciValueKlass* vk = iter().get_klass(will_link)->as_value_klass(); assert(will_link, "defaultvalue: typeflow responsibility"); + + // Should initialize, or throw an InstantiationError? + emit_guard_for_new(klass); + if (stopped()) return; + // Create and push a new default ValueTypeNode push(ValueTypeNode::make_default(_gvn, vk)); } From john.r.rose at oracle.com Thu Jul 19 20:55:21 2018 From: john.r.rose at oracle.com (John Rose) Date: Thu, 19 Jul 2018 13:55:21 -0700 Subject: RFR(S): 8207242: [lworld] TestLWorld fails with "assert(_base >= AnyPtr && _base <= KlassPtr) failed: Not a pointer" In-Reply-To: References: Message-ID: <058BC135-CCFB-4FDD-8B20-6320742DE267@oracle.com> On Jul 19, 2018, at 1:58 AM, Tobias Hartmann wrote: > > https://bugs.openjdk.java.net/browse/JDK-8207242 > http://cr.openjdk.java.net/~thartmann/8207242/webrev.00/ > > We crash in ValueTypeBaseNode::is_allocated() because the oop input is TOP. The problem is that we > are using a ValueTypeNode from a non-dominating path which died (but since we are not dominated, the > ValueTypeNode was not removed). Good fix, and code looks better too. ? John From john.r.rose at oracle.com Thu Jul 19 21:20:57 2018 From: john.r.rose at oracle.com (John Rose) Date: Thu, 19 Jul 2018 14:20:57 -0700 Subject: Unsafe API and explicit VT allocation Message-ID: <22E87C09-C79F-4CAD-89F9-0D875F7D81D9@oracle.com> This is not critical for LW1, but I want to start the ball rolling on discussion of explicit low-level buffering intrinsics for value types. Specifically, I'd like to talk about the C2 IR shapes that support this. (I'm prompted to this by looking at some recent work by Tobias.) So, we should talk about IR shapes for making private mutable buffers for value types, for use (only) by the Unsafe API. I think it involves an intrinsic to trigger an allocate regardless of previous allocation state, which precedes the unsafe ops, and (maybe) a subsequent intrinsic (or the same intrinsic) to suppress the allocation state at the end of the Unsafe patching. The Java code would be something like: private static final Unsafe U = Unsafe.getUnsafe(); private static final long FO_counter = U.objectFieldOffset(MyVT.class.getField("counter")); MyVT peekPoke(MyVT x) { Object xbuf = U.bufferValue(x, MyVT.class); int counter = U.getInt(xbuf, FO_count); ++counter; U.put(xbuf, FO_count, counter); return U.unbufferValue(xbuf, MyVT.class); } An alternative to that pattern would be to ask the Unsafe user to assemble the value in a 1-array containing the value under construction, *but* that fails to work unless the value array is flattened, which is not guaranteed (though is likely). So I think we need an intrinsic or two here (in the Unsafe API) to control buffering. The bracketing of the Unsafe code which peeks and pokes the buffer would probably involve not only explicit allocation ops, but also CPU-order membars and/or Opaque masking of either the value or the memory states accessed by Unsafe. The IR would be something like: MyVT peekPoke(MyVT x) { //Object xbuf = U.bufferValue(x, MyVT.class); checkTypeOrTrap(x, MyVT); xbuf = ValueTypePtrNode::forceAllocate(x); //int counter = U.getInt(xbuf, FO_count); addr = field_addressing(T_INT, xbuf, longcon(FO_count)); counter = expand_unsafe_get(addr); //++counter; counter' = AddNode::make(counter, intcon(1)); //U.put(xbuf, FO_count, counter); expand_unsafe_put(addr, counter); //return U.unbufferValue(xbuf, MyVT.class); return_value = ValueTypePtrNode::discardBuffer(xbuf); } If the Unsafe ops correspond correctly to normal field accesses, as observed by the JIT, then the buffer can be completely deleted, and the fieldwise computation released from any residual barriers (which suggests CPU-order is the wrong tool here). The important thing in the IR is that everybody agrees that xbuf is totally local (doesn't escape from the IR block). The discardBuffer either removes the buffer node completely or hides it securely behind some sort of barrier or Opaque node. For extra points, the bufferValue and unbufferValue intrinsics could also do interesting things with objects, such as a forced shallow clone. Such operations would be, well, "unsafe" for general objects, but would be a useful tool for writing "withers" for value-based classes (which approximate the characteristics of true value types). In other words, like the rest of Unsafe, such intrinsics can be useful (occasionally even indispensable) when used with the cooperation of the class and proper respect for its invariants, though they are utterly dangerous otherwise. ? John P.S. Another message is coming about the various internal formats we are using for value types? From john.r.rose at oracle.com Thu Jul 19 22:13:42 2018 From: john.r.rose at oracle.com (John Rose) Date: Thu, 19 Jul 2018 15:13:42 -0700 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> Message-ID: <67AD1BCE-B6A6-4CF6-8AD6-0205978A6943@oracle.com> On Jul 13, 2018, at 2:45 AM, Tobias Hartmann wrote: > > Hi Karen, > > On 11.07.2018 21:42, Karen Kinnear wrote: >> 2a. flattening in containers - flattenable fields and array - require check of value type vs. >> ACTUAL loaded type >> - this is easy, we preload types > > Yes, no issues here. > >> 2b. JIT scalarization of field access - must be an ACTUAL value type and must be flattenable >> This will only work for fields that the JIT?d caller believes are value types, the declarer >> believes are value types and the declarer does an ACTUAL check >> Need caller-callee agreement for a JIT?d caller. > > I don't understand what you mean by caller/callee in the context of a field access? > Also, I'm not sure what you mean by "scalarization of field access"? Here's an obtuse answer, although I'm probably missing the acuteness of your point: (caller : callee : method) :: (accessing object : containing object : field) The representation choices, and the negotiation of a shared understanding of those choices, are similar on the two sides of the "::". A resolved field consists of an offset (small integer) into its container, plus an indication of its type (if necessary). Scalarization of field access means that the resolved field is loaded or stored as contiguous subfields. A non-scalarized value-type field is secretly stored as a buffer pointer. Resolution of an accessing class's field access involves a check to determine the true status of the field in the containing class. To avoid crashes, we must either throw an error if resolution detects a mismatch, or prepare the accessing class to access the field in its correct format. In LW1 we take the former option, which is very strict but fine for initial experimentation. The rest of this note is squarely post-LW1; here goes: Several different formats can be conceived of for value type fields: - inline-struct: a contiguous block of memory directly inside the container, aligned and/or padded - inline-exploded: components puzzled in wherever they fit in the containing object (or registers) - word-wise-exploded: same as inline-struct, but with successive word images separately register-allocated (used by ABIs) - object-like-ref: a reference in the container (e.g., compressed oop), indirecting to a hidden buffer node in the shared heap - thread-local-ref: a reference in a thread-confined variable (register), indirected to a thread-local heap node - ref-to-federated: a reference in the container, indirecting to a hidden buffer area contiguous with the containing object - off-heap-ref: a reference in the container, indirecting to a hidden buffer area not in the main heap - inline-with-souvenir-ref: components stored inline, plus optional (nullable) reference to a shareable copy The techniques separate broadly into a choice between inlined components vs. (hidden) references to buffered values. There are other choices after that. IR graphs of course mainly use the exploded format, allocating component values independently to registers, stack, and/or nowhere. The exploded format is also good for out-of-line calling sequences. The souvenir format uses the most storage, but is very helpful in IR graphs, since it facilitates conversion between exploded and buffered forms. It is also sometimes used in calling sequences, for the same reason. In memory, the exploded format minimizes fragmentation overhead by treating sub-fields exactly like fields, reordering them so that bytes are next to bytes, longs next to longs, etc., without regard for the boundaries of distinct values stored within the same container. The trade-off is that the fields must be separately located in the container, which means the CP cache must be equipped with multiple offsets, perhaps one for each value type field. It also makes hash of the Unsafe API. But if we want maximum packing, we could work the details, without changing any higher-level APIs or specifications. The exploded format also has potential for highly packed flat arrays, since fragmentation overheads are multiplied by the length of the array, and thus potentially worth reducing. A two-tiered flat array would distribute blocks of objects tightly packed into cache lines, packing each block the same way, but as tightly as possible, as if the block were an object containing a fixed number of values. Indexing would compute first the block (using a divide) and then the index within the block (using a modulo). Individual fields would picked up a varying computed offsets within the block. We aren't considering ref-based storage other than object-like and thread-local, but I put them there for the record. The GC might be able to eliminate headers and retain locality with a federated format. It could do this secretly and at its own discretion, like we do today for thread-locals. Perhaps it would federate when the buffered value is unique to its container. But the complexity would be high, and historically we'vehad plenty of trouble, and enough payoff, implementing the simpler techniques. Any ref-based format has the physical potential to hold a null, or to be part of a reference cycle. The JVM should (a) enforce invariants that exclude such things, and (b) be robust if a bug breaks such an invariant. Probably value types will be able to contain cycles, but *only* through explicit Java references. Consider a buffered value that has an Object field that just happens to refer back to the same value. There's no way to exclude such cycles systematically. Nulls can be systematically excluded from "secret" references, by simply taking special action when a null is observed, before a bytecode can get hold of it. Two special actions are relevant: (1) Throw NPE, and (2) substitute a defaultvalue. The first is useful when legacy code might have sent a null, and we decide that the user model must exclude this with an exception. The second is also useful with legacy code, in the more unlikely case where we decide to substitute the default value for null. (This is sometimes a requested feature, but not necessarily one we should agree to pay for.) The second is useful for bootstrapping, sometimes: If a hidden reference is part of an object's layout, and the object is initialized to all-zero-bits, then we want to bootstrap the hidden reference to a non-zero pointer to its buffered default value. But if we can't reliably do that in all cases, then any read of that field must be prepared to zero-check the field and substitute the missing default. Perhaps we can avoid this in all cases, but I think we currently use this trick, to simplify object initialization. We might also need it to bootstrap the defaultvalue bytecode itself, by lazily creating the canonical buffered default the first time it is actually used. > If compiled code loads a value type from a field (no matter if the field is flattenable or not), it > will scalarize the value type if it's not null (i.e., pass it on in registers or on the stack). This > relies on the fact that at compile time, the field type is loaded if it's a value type. This is a case where the accessing/using/calling code wants a value, and intends to immediately explode it into components. In that case, if the container/used/callee object contains a reference, any null must be handled by (1) or (2) above, depending on user model. If the null is supposed to be impossible, the JVM should probably still fail gracefully if the bad thing appears. If the caller and callee differ on value-ness, then we have a tug-of-war between opinions. For starters, we should do what's convenient if the problem arises, and document it. Those are the points where we need to elevating the first implementation to a robust user model (post-LW1). > >> 2c. JIT calling convention - scalarization of arguments >> Need either the caller-callee in agreement if both compiled OR >> For caller calls by reference, adapter that can scalarize arguments it knows are ACTUAL value >> types >> Today adaptor is created at callee link time, so we explicitly load types in local methods in >> the ValueTypes attribute so they can be scalarized > > Yes, but we don't support that for LW1 because there are still lots of other issues to sort out > before we can re-enable -XX:+ValueTypePassFieldsAsArgs (for example, the issue with lambda forms and > linkTo* calls). The LFs and linkTo calls will have to use buffered values uniformly. That implies that the linkTo calls will have to be given the ability to scalarize on the fly. This probably implies pre-generated adapters. Post-LW1 (or intra-LW1 at best) if we don't have it now. I don't know a better approach, though I think Roland and I were on the verge of something in this discussion: http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-May/004273.html One idea would be to expand ref-based calling sequences in place by exploding into additional argument positions, obtained by sneaking more space from the caller's top-of-stack area. We could really use a handshake which allows a callee to borrow more space in the caller's argument list, but secretly pay it back on return. This is necessary for tail-calls also: The chain of tail calls can require an unbounded amount of extra TOS to store parameters of the various tail calls, all without the cooperation of the original non-tail caller of the tail-call chain. A good problem to think about when not otherwise occupied. > >> 2d. JIT returning a value type >> I do not know our plans for value type return optimizations. > > The plan is to re-enable -XX:+ValueTypeReturnedAsFields for lworld once we have sorted out the > calling convention issues. +100 > >> The adaptor for returns are stored off of the return type, so they know the ACTUAL value. > > Returns do not use any adapters but we do some kind of handshaking between the caller and the callee > to make sure that they agree on the type (see page 26/27 of [1]). > >> In general we can check caller-callee consistency so we can be in agreement about whether a >> type is a value type. >> The exception is the JavaCalls::call_helper path used by Reflection, jni (and others internally) >> - I assume we will always return a reference here (I have not studied the details yet, >> so I don?t know where that is handled) > > I'm not sure about the reflection/jni case but the short answer would be "we don't support > scalarization of the return value for LW1". And I don't see any problems with the current code. Like the linkTo* methods, JNI access will have to adapt exploded (scalarized) arguments and return values to buffered (ref) ones. If we can solve the TOS-borrowing problem (described above), we can arrange some pretty reasonable adapters that can shift between ref-based and exploded formats. For bonus points, consider designing a calling sequence which includes souvenirs. They are useful, and the exercise might simplify the adapter logic: When going from references-only to exploded-with-souvenirs, you don't change any reference arguments at all, just push in the exploded components *after* them in the argument list. (This works fine because of the way we allocate calling sequences left-to-right.) Going from exploded-with-souvenirs to references-only is a no-op (actually, a tail-call) since the callee can just ignore the extra trailing arguments. Actually, any null souvenirs would have to be fixed up to hold non-null references to buffered values, just like in local IR. Thus, one calling sequence subsumes the other. This might make LF-based calls (using linkTo*) easier to generate, since they would just send exploded-with-souvenir arguments, and let the callee decide independently whether to ignore or use the components. As Roland pointed out, one hard part about on-the-fly explosion is borrowing the extra TOS from the caller, but in the case of LFs that could be hardwired, since the full size is known before the call. HTH ? John > >> Details: >> 1. MethodHandles - invocation and field access always goes through LinkResolver at this point. >> There are two exceptions here: >> - one is when the MethodHandle creation does NOT pass in the calling class information >> - in that case there is no check for caller-callee consistency, we need to look at this >> independently >> - one is invokespecial indirect superclass (ACC_SUPER) which performs selection in the java code. >> - That is a rathole I won?t follow here - we should fix that anyway - multiple potential >> approaches. >> >> 2. Reflection: >> optimized reflection generates bytecodes, so goes through bytecode path, so goes through >> LinkResolver. >> initial reflection calls JavaCalls::call->JavaCalls::call_helper >> >> 3. JNI: >> also goes through JavaCalls::call_helper >> >> JavaCalls::call_helper calls call_stub to invoke the entry_point which is: >> normally: method->from_interpreted_entry >> debug: method->interpreter_entry >> >> For argument passing, my assumption is that we are ok with the JavaCalls::call_helper path because >> it always passes by reference >> and uses the callee adapter from interpreter which knows the declared value types that can be >> scalarized. So the same adaptor that works for >> interpreted code works for call_helper where the caller always assumes everything is a reference and >> passes by reference. >> >> JIT folks - does this work in practice? > > Yes, that seems reasonable but it's very hard to figure this all out by code inspection. I think > what we need is more tests to find bugs and/or gain confidence in our current design/implementation. > > That said, current JIT optimizations do not rely on the value types attribute but of course there > might be bugs or implicit assumptions that do not hold. > > However, Ioi's optimization (8206140) relies on the fact that an interpreted callee always knows > when it's returning null for a value type (and can then deoptimize the compiled caller). It seems > that the attribute consistency checks cannot guarantee that but I need to take a closer look. > > My take on this is to defer all optimizations that rely on the consistency checks to after we got > these right (and it's okay if that is after LW1). > > Best regards, > Tobias > > [1] http://cr.openjdk.java.net/~thartmann/talks/2018-Value_Types_Compiler_Offsite.pdf From ioi.lam at oracle.com Fri Jul 20 06:40:29 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Thu, 19 Jul 2018 23:40:29 -0700 Subject: RFR [lworld] Compiler tests cleanup Message-ID: <9400fb18-d414-181e-6935-1bb78c69d7c5@oracle.com> See original discussion at http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004744.html http://cr.openjdk.java.net/~iklam/valhalla/compiler_tests_cleanup.v01/ All of the affected compilers tests have 5 scenarios that use different combinations of VM options. I moved the options common to all tests to a single place, ValueTypeTest.getVMParameters(int scenario). In the future, we can easily add more scenarios, or fine tune the existing ones without going over all the tests. Some tests add extra VM options to specific scenarios. This can be done by overriding ValueTypeTest.getExtraVMParameters(int scenario). The getVMParameters and getExtraVMParameters methods are generated by a script that parses all the @run tags in the affected tests. (that's not something that a human would be capable of doing). I also added an property -Dscenarios=1,2 so you can pick exactly which ones to test. Thanks - Ioi From tobias.hartmann at oracle.com Fri Jul 20 07:48:51 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 09:48:51 +0200 Subject: RFR(S): 8207242: [lworld] TestLWorld fails with "assert(_base >= AnyPtr && _base <= KlassPtr) failed: Not a pointer" In-Reply-To: <058BC135-CCFB-4FDD-8B20-6320742DE267@oracle.com> References: <058BC135-CCFB-4FDD-8B20-6320742DE267@oracle.com> Message-ID: <17f45380-6894-d759-34b4-0501157bfc5f@oracle.com> Thanks John! Best regards, Tobias On 19.07.2018 22:55, John Rose wrote: > On Jul 19, 2018, at 1:58 AM, Tobias Hartmann > wrote: >> >> https://bugs.openjdk.java.net/browse/JDK-8207242 >> http://cr.openjdk.java.net/~thartmann/8207242/webrev.00/ >> >> We crash in ValueTypeBaseNode::is_allocated() because the oop input is TOP. The problem is that we >> are using a ValueTypeNode from a non-dominating path which died (but since we are not dominated, the >> ValueTypeNode was not removed). > > Good fix, and code looks better too. ?? John From tobias.hartmann at oracle.com Fri Jul 20 08:44:28 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 10:44:28 +0200 Subject: RFR [lworld] Compiler tests cleanup In-Reply-To: <9400fb18-d414-181e-6935-1bb78c69d7c5@oracle.com> References: <9400fb18-d414-181e-6935-1bb78c69d7c5@oracle.com> Message-ID: Hi Ioi, very nice cleanup! Thanks for doing this. I'll sponsor. Best regards, Tobias On 20.07.2018 08:40, Ioi Lam wrote: > See original discussion at http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004744.html > > http://cr.openjdk.java.net/~iklam/valhalla/compiler_tests_cleanup.v01/ > > All of the affected compilers tests have 5 scenarios that use different > combinations of VM options. I moved the options common to all tests > to a single place, ValueTypeTest.getVMParameters(int scenario). > > In the future, we can easily add more scenarios, or fine tune the existing ones > without going over all the tests. > > Some tests add extra VM options to specific scenarios. This can be done > by overriding ValueTypeTest.getExtraVMParameters(int scenario). > > The getVMParameters and getExtraVMParameters methods are generated by > a script that parses all the @run tags in the affected tests. (that's not > something that a human would be capable of doing). > > I also added an property -Dscenarios=1,2 so you can pick exactly which ones > to test. > > Thanks > - Ioi From tobias.hartmann at oracle.com Fri Jul 20 08:50:20 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Fri, 20 Jul 2018 08:50:20 +0000 Subject: hg: valhalla/valhalla: [lworld] Compiler tests cleanup Message-ID: <201807200850.w6K8oLEB026232@aojmv0008.oracle.com> Changeset: 86eb719ec8d5 Author: iklam Date: 2018-07-20 10:49 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/86eb719ec8d5 [lworld] Compiler tests cleanup Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestArrays.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestBasicFunctionality.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConvention.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestMethodHandles.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestOnStackReplacement.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java From tobias.hartmann at oracle.com Fri Jul 20 08:56:29 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Fri, 20 Jul 2018 08:56:29 +0000 Subject: hg: valhalla/valhalla: [lworld] Added missing -XX:+UnlockDiagnosticVMOptions to TestNewAcmp.java Message-ID: <201807200856.w6K8uUfU028068@aojmv0008.oracle.com> Changeset: 20e4a243dbda Author: iklam Date: 2018-07-20 10:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/20e4a243dbda [lworld] Added missing -XX:+UnlockDiagnosticVMOptions to TestNewAcmp.java Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java From tobias.hartmann at oracle.com Fri Jul 20 08:56:33 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 10:56:33 +0200 Subject: [lworld] Patch for TestNewAcmp.java In-Reply-To: <1a30d803-f375-7c90-d1aa-21c884babb62@oracle.com> References: <1a30d803-f375-7c90-d1aa-21c884babb62@oracle.com> Message-ID: <7c57644e-6111-e4b7-88b2-56ea72e464c4@oracle.com> Hi Ioi, thanks for fixing! Pushed. Best regards, Tobias On 19.07.2018 19:05, Ioi Lam wrote: > TestNewAcmp.javafails when running with a product VM. It's missing -XX:+UnlockDiagnosticVMOptions. > > Here's a patch that fixes it. Since I am not a committer, could someone push it? > > Thanks > - Ioi > > > ------------------- > > # HG changeset patch > # User iklam > # Date 1531433067 25200 > #????? Thu Jul 12 15:04:27 2018 -0700 > # Branch lworld > # Node ID 2cb813013879c1ee0de27d1e928a0feaa61e16e3 > # Parent? 208e3da0bbc560095361f435d2a1c31d9c7510ae > Summary: Added missing -XX:+UnlockDiagnosticVMOptions to TestNewAcmp.java > > diff -r 208e3da0bbc5 -r 2cb813013879 test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java > --- a/test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java Thu Jul 12 14:57:10 2018 -0700 > +++ b/test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java Thu Jul 12 15:04:27 2018 -0700 > @@ -27,27 +27,27 @@ > ? * @library /testlibrary /test/lib /compiler/whitebox / > ? * @compile -XDenableValueTypes -XDallowFlattenabilityModifiers TestNewAcmp.java > ? * @run driver ClassFileInstaller sun.hotspot.WhiteBox > - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch > + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch > ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 > ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* > ? * compiler.valhalla.valuetypes.TestNewAcmp 0 > - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch > + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch > ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 -XX:+AlwaysIncrementalInline > ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* > ? * compiler.valhalla.valuetypes.TestNewAcmp 0 > - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch > + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch > ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 > ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* > ? * compiler.valhalla.valuetypes.TestNewAcmp 1 > - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch > + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch > ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 -XX:+AlwaysIncrementalInline > ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* > ? * compiler.valhalla.valuetypes.TestNewAcmp 1 > - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch > + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch > ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 > ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* > ? * compiler.valhalla.valuetypes.TestNewAcmp 2 > - * @run main/othervm -Xbootclasspath/a:. -XX:+WhiteBoxAPI -Xbatch > + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbatch > ? *?????????????????? -XX:+EnableValhalla -XX:TypeProfileLevel=222 -XX:+AlwaysIncrementalInline > ? * -XX:CompileCommand=dontinline,compiler.valhalla.valuetypes.TestNewAcmp::test* > ? * compiler.valhalla.valuetypes.TestNewAcmp 2 > From tobias.hartmann at oracle.com Fri Jul 20 09:14:50 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Fri, 20 Jul 2018 09:14:50 +0000 Subject: hg: valhalla/valhalla: [lworld] Cleanup of 8207844 Message-ID: <201807200914.w6K9Epor003770@aojmv0008.oracle.com> Changeset: d6e90a7411bb Author: thartmann Date: 2018-07-20 11:14 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d6e90a7411bb [lworld] Cleanup of 8207844 Reviewed-by: jrose ! src/hotspot/share/opto/parseHelper.cpp From tobias.hartmann at oracle.com Fri Jul 20 09:15:04 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 11:15:04 +0200 Subject: RFR(S): 8207844: [lworld] Crash during method resolution because value type holder is not linked In-Reply-To: References: Message-ID: <77867df4-7f75-e247-bdc6-f05d0dae7f7f@oracle.com> Hi John, thanks for the review. On 19.07.2018 22:39, John Rose wrote: > Fix is good, but seems a little more cut-n-pasty than I like. > Suggest a cleanup which pull all of the conditional logic, > plus the deopt, into emit_guard_for_new. Yes, that's better. I've pushed a cleanup: http://hg.openjdk.java.net/valhalla/valhalla/rev/d6e90a7411bb Thanks, Tobias From tobias.hartmann at oracle.com Fri Jul 20 09:22:37 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 11:22:37 +0200 Subject: RFR(S): 8207773: [lworld] C2 should not allocate when returning a value type as Object from an inlined method In-Reply-To: References: <3ed38397-790d-3103-dec7-c9920c6baf56@oracle.com> <053b4e5b-8160-4c94-870d-944050d9f77c@oracle.com> <3A0788C4-E5BA-4C00-BADD-5E41E412DEEC@oracle.com> <153ef80c-cfdf-a1fe-3ae7-cd558578b831@oracle.com> Message-ID: <1319fdfd-a495-05b2-6c2f-4d3971c9a103@oracle.com> Hi John, On 19.07.2018 09:11, John Rose wrote: > In the context of JDK-8207811 I'd suggest adding a comment saying > something like "interfaces are handled above". The theory I'm proposing > is that a bare test for Object (without interfaces also) needs an excuse. > ?But it's mainly a suggestion for avoiding future bugs, of a kind I've > seen several times in the (long-gone) past. Yes, I agree. I've added a link to this discussion to JDK-8207811 and will take care of it post-LW1. > OK. The name reads oddly; Object itself isn't (and so can't) be a value > type, but can be a super of value types, and its domain is able to contain > value instances; same point for any interface. I won't bikeshed here. Yes, I'll change the naming with JDK-8207811. Thanks, Tobias From rwestrel at redhat.com Fri Jul 20 09:53:02 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 20 Jul 2018 11:53:02 +0200 Subject: Unsafe API and explicit VT allocation In-Reply-To: <22E87C09-C79F-4CAD-89F9-0D875F7D81D9@oracle.com> References: <22E87C09-C79F-4CAD-89F9-0D875F7D81D9@oracle.com> Message-ID: Hi John, In the current code, Unsafe.getX on a value type argument either retrieves the corresponding field from the ValueTypeNode or if that can't work triggers an allocation: http://hg.openjdk.java.net/valhalla/valhalla/file/d6e90a7411bb/src/hotspot/share/opto/library_call.cpp#l2356 (that code should also check that the access size matches the field size) Unsafe.putX has not special logic for ValueTypeNode so using it would crash C2 but it could be modified with similar logic. We would create a new ValueTypeNode with an updated field. In your example the allocation is only useless, if we can tell what field of the value type is updated, right? So what is the benefit of having the allocation be explicit with a new unsafe rather than implicit like we have today? (I'm on PTO for 2 weeks starting tomorrow) Roland. From tobias.hartmann at oracle.com Fri Jul 20 09:53:48 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 11:53:48 +0200 Subject: RFR(S): 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" In-Reply-To: References: <717c56eb-1fbd-5c7f-ba69-afc3e624470c@oracle.com> <79e54e20-112b-5b04-578c-6f1147e71c32@oracle.com> Message-ID: <082fdffb-6769-ba90-d994-2ff6cefc9d7d@oracle.com> Hi Roland, On 19.07.2018 16:47, Roland Westrelin wrote: > Would it be feasible to adjust the bci and sp only once, on entry of the > first call to ValueTypeNode::make_from_oop() then you wouldn't have to > pass trap_bci around? Yes, we could do that but the problem is that we also need to push NULL before the uncommon trap if we continue execution at the next bytecode (because the NULL result needs to be available on the stack for re-execution, see line 556 and 585). Since we need to do that right before the uncommon trap and only if trap_bci != -1, we would still need to pass trap_bci to load(). Thanks, Tobias From tobias.hartmann at oracle.com Fri Jul 20 10:11:50 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 12:11:50 +0200 Subject: RFR(XS): 8207344: [lworld] hotspot jtreg test TestArrayCopyAsLoadsStores.java fails with EnableValhalla In-Reply-To: References: Message-ID: Hi Roland, On 19.07.2018 18:00, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/8207344/webrev.00/ > > The crash occurs because a type being tested for can_be_value_type() has > a null _klass (it's a bottom[] array). The fix is to return false for > any array and true if _klass is otherwise null. Looks good to me. Thanks, Tobias From rwestrel at redhat.com Fri Jul 20 10:33:44 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Fri, 20 Jul 2018 10:33:44 +0000 Subject: hg: valhalla/valhalla: 8207344: [lworld] hotspot jtreg test TestArrayCopyAsLoadsStores.java fails with EnableValhalla Message-ID: <201807201033.w6KAXjsc023092@aojmv0008.oracle.com> Changeset: 34a480be2a04 Author: roland Date: 2018-07-20 12:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/34a480be2a04 8207344: [lworld] hotspot jtreg test TestArrayCopyAsLoadsStores.java fails with EnableValhalla Reviewed-by: thartmann ! src/hotspot/share/opto/type.hpp From rwestrel at redhat.com Fri Jul 20 12:41:55 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 20 Jul 2018 14:41:55 +0200 Subject: RFR(S): 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" In-Reply-To: <082fdffb-6769-ba90-d994-2ff6cefc9d7d@oracle.com> References: <717c56eb-1fbd-5c7f-ba69-afc3e624470c@oracle.com> <79e54e20-112b-5b04-578c-6f1147e71c32@oracle.com> <082fdffb-6769-ba90-d994-2ff6cefc9d7d@oracle.com> Message-ID: > Yes, we could do that but the problem is that we also need to push NULL before the uncommon trap if > we continue execution at the next bytecode (because the NULL result needs to be available on the > stack for re-execution, see line 556 and 585). Since we need to do that right before the uncommon > trap and only if trap_bci != -1, we would still need to pass trap_bci to load(). Ok. Change is good then. Roland. From tobias.hartmann at oracle.com Fri Jul 20 12:49:50 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 14:49:50 +0200 Subject: RFR(S): 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" In-Reply-To: References: <717c56eb-1fbd-5c7f-ba69-afc3e624470c@oracle.com> <79e54e20-112b-5b04-578c-6f1147e71c32@oracle.com> <082fdffb-6769-ba90-d994-2ff6cefc9d7d@oracle.com> Message-ID: <11d3ba43-6675-36f0-74f4-3afd09551774@oracle.com> Thanks Roland! Tobias On 20.07.2018 14:41, Roland Westrelin wrote: > >> Yes, we could do that but the problem is that we also need to push NULL before the uncommon trap if >> we continue execution at the next bytecode (because the NULL result needs to be available on the >> stack for re-execution, see line 556 and 585). Since we need to do that right before the uncommon >> trap and only if trap_bci != -1, we would still need to pass trap_bci to load(). > > Ok. Change is good then. > > Roland. > From tobias.hartmann at oracle.com Fri Jul 20 13:01:57 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Fri, 20 Jul 2018 13:01:57 +0000 Subject: hg: valhalla/valhalla: 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" Message-ID: <201807201301.w6KD1vj1001021@aojmv0008.oracle.com> Changeset: 9bdeec43044a Author: thartmann Date: 2018-07-20 15:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9bdeec43044a 8207848: [lworld] Compilation fails with "must have enough JVMS stack to execute invokevirtual" Reviewed-by: roland ! src/hotspot/share/opto/valuetypenode.cpp ! src/hotspot/share/opto/valuetypenode.hpp From tobias.hartmann at oracle.com Fri Jul 20 13:42:19 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 20 Jul 2018 15:42:19 +0200 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: <67AD1BCE-B6A6-4CF6-8AD6-0205978A6943@oracle.com> References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> <67AD1BCE-B6A6-4CF6-8AD6-0205978A6943@oracle.com> Message-ID: <1505fefd-360f-4acf-c99e-ca2e1653c9db@oracle.com> Hi John, thanks for providing more details here! On 20.07.2018 00:13, John Rose wrote: >> I don't understand what you mean by caller/callee in the context of a field access? >> Also, I'm not sure what you mean by "scalarization of field access"? > > Here's an obtuse answer, although I'm probably missing the > acuteness of your point: > > (caller : callee : method) :: (accessing object : containing object : field) > > The representation choices, and the negotiation of a shared understanding > of those choices, are similar on the two sides of the "::". I was just confused by the caller/callee terms in a scenario where there is not necessarily a call involved. Your clarification helped, thanks! > A resolved field consists of an offset (small integer) into its container, > plus an indication of its type (if necessary). > > Scalarization of field access means that the resolved field is loaded > or stored as contiguous subfields. A non-scalarized value-type field > is secretly stored as a buffer pointer. Resolution of an accessing > class's field access involves a check to determine the true status > of the field in the containing class. To avoid crashes, we must either > throw an error if resolution detects a mismatch, or prepare the > accessing class to access the field in its correct format. In LW1 > we take the former option, which is very strict but fine for initial > experimentation. Right, I've tried to make sense of this from a perspective of the JIT doing something special for "scalarization of field access" but as you made clear, this is just about implementing flattened fields (basically no difference between JIT and interpreter). For consistency checking, we need to make sure that the JIT is not missing any checks. > The rest of this note is squarely post-LW1; here goes: > > Several different formats can be conceived of for value type fields: > > - inline-struct: a contiguous block of memory directly inside the container, aligned and/or padded > - inline-exploded: components puzzled in wherever they fit in the containing object (or registers) > - word-wise-exploded: same as inline-struct, but with successive word images separately register-allocated (used by ABIs) > - object-like-ref: a reference in the container (e.g., compressed oop), indirecting to a hidden buffer node in the shared heap > - thread-local-ref: a reference in a thread-confined variable (register), indirected to a thread-local heap node > - ref-to-federated: a reference in the container, indirecting to a hidden buffer area contiguous with the containing object > - off-heap-ref: a reference in the container, indirecting to a hidden buffer area not in the main heap > - inline-with-souvenir-ref: components stored inline, plus optional (nullable) reference to a shareable copy > > The techniques separate broadly into a choice between inlined components > vs. (hidden) references to buffered values. There are other choices after that. > > IR graphs of course mainly use the exploded format, allocating component > values independently to registers, stack, and/or nowhere. The exploded > format is also good for out-of-line calling sequences. > > The souvenir format uses the most storage, but is very helpful in IR graphs, > since it facilitates conversion between exploded and buffered forms. > It is also sometimes used in calling sequences, for the same reason. > > In memory, the exploded format minimizes fragmentation overhead by > treating sub-fields exactly like fields, reordering them so that bytes are > next to bytes, longs next to longs, etc., without regard for the boundaries > of distinct values stored within the same container. The trade-off > is that the fields must be separately located in the container, which > means the CP cache must be equipped with multiple offsets, perhaps > one for each value type field. It also makes hash of the Unsafe API. > But if we want maximum packing, we could work the details, without > changing any higher-level APIs or specifications. > > The exploded format also has potential for highly packed flat arrays, > since fragmentation overheads are multiplied by the length of the array, > and thus potentially worth reducing. A two-tiered flat array would > distribute blocks of objects tightly packed into cache lines, packing > each block the same way, but as tightly as possible, as if the block > were an object containing a fixed number of values. Indexing would > compute first the block (using a divide) and then the index within > the block (using a modulo). Individual fields would picked up > a varying computed offsets within the block. > > We aren't considering ref-based storage other than object-like > and thread-local, but I put them there for the record. The GC > might be able to eliminate headers and retain locality with a > federated format. It could do this secretly and at its own > discretion, like we do today for thread-locals. Perhaps > it would federate when the buffered value is unique to > its container. But the complexity would be high, and > historically we'vehad plenty of trouble, and enough payoff, > implementing the simpler techniques. > > Any ref-based format has the physical potential to hold a null, > or to be part of a reference cycle. The JVM should (a) enforce > invariants that exclude such things, and (b) be robust if a bug > breaks such an invariant. Probably value types will be able > to contain cycles, but *only* through explicit Java references. > Consider a buffered value that has an Object field that just > happens to refer back to the same value. There's no way to > exclude such cycles systematically. > > Nulls can be systematically excluded from "secret" references, > by simply taking special action when a null is observed, before > a bytecode can get hold of it. Two special actions are relevant: > (1) Throw NPE, and (2) substitute a defaultvalue. The first > is useful when legacy code might have sent a null, and we > decide that the user model must exclude this with an exception. > The second is also useful with legacy code, in the more unlikely > case where we decide to substitute the default value for null. > (This is sometimes a requested feature, but not necessarily > one we should agree to pay for.) The second is useful for > bootstrapping, sometimes: If a hidden reference is part of > an object's layout, and the object is initialized to all-zero-bits, > then we want to bootstrap the hidden reference to a non-zero > pointer to its buffered default value. But if we can't reliably > do that in all cases, then any read of that field must be prepared > to zero-check the field and substitute the missing default. > Perhaps we can avoid this in all cases, but I think we > currently use this trick, to simplify object initialization. > We might also need it to bootstrap the defaultvalue bytecode > itself, by lazily creating the canonical buffered default > the first time it is actually used. Thanks for this great summary, very helpful! >> If compiled code loads a value type from a field (no matter if the field is flattenable or not), it >> will scalarize the value type if it's not null (i.e., pass it on in registers or on the stack). This >> relies on the fact that at compile time, the field type is loaded if it's a value type. > > This is a case where the accessing/using/calling code wants a value, > and intends to immediately explode it into components. In that case, > if the container/used/callee object contains a reference, any null must > be handled by (1) or (2) above, depending on user model. If the > null is supposed to be impossible, the JVM should probably still > fail gracefully if the bad thing appears. Right, currently we handle this by deoptimizing from compiled code. > If the caller and callee differ on value-ness, then we have a tug-of-war > between opinions. For starters, we should do what's convenient if the > problem arises, and document it. Those are the points where we need > to elevating the first implementation to a robust user model (post-LW1). Yes, I agree. We need more tests for all the different cases. > The LFs and linkTo calls will have to use buffered values uniformly. > That implies that the linkTo calls will have to be given the ability to > scalarize on the fly. This probably implies pre-generated adapters. > Post-LW1 (or intra-LW1 at best) if we don't have it now. I don't know > a better approach, though I think Roland and I were on the verge > of something in this discussion: > > http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-May/004273.html > > One idea would be to expand ref-based calling sequences in place > by exploding into additional argument positions, obtained by sneaking > more space from the caller's top-of-stack area. > > We could really use a handshake which allows a callee to borrow more > space in the caller's argument list, but secretly pay it back on return. > This is necessary for tail-calls also: The chain of tail calls can require > an unbounded amount of extra TOS to store parameters of the various > tail calls, all without the cooperation of the original non-tail caller of the > tail-call chain. A good problem to think about when not otherwise occupied. Yes, I think there are several options that we need to evaluate carefully. Now that we reached some reasonably stability with the LW1 prototype, I can hopefully spend some time on thinking this through. >> I'm not sure about the reflection/jni case but the short answer would be "we don't support >> scalarization of the return value for LW1". And I don't see any problems with the current code. > > Like the linkTo* methods, JNI access will have to adapt exploded (scalarized) > arguments and return values to buffered (ref) ones. > > If we can solve the TOS-borrowing problem (described above), we can > arrange some pretty reasonable adapters that can shift between ref-based > and exploded formats. > > For bonus points, consider designing a calling sequence which includes > souvenirs. They are useful, and the exercise might simplify the adapter > logic: When going from references-only to exploded-with-souvenirs, > you don't change any reference arguments at all, just push in the > exploded components *after* them in the argument list. (This works > fine because of the way we allocate calling sequences left-to-right.) > > Going from exploded-with-souvenirs to references-only is a no-op > (actually, a tail-call) since the callee can just ignore the extra trailing > arguments. Actually, any null souvenirs would have to be fixed up > to hold non-null references to buffered values, just like in local IR. > > Thus, one calling sequence subsumes the other. This might make > LF-based calls (using linkTo*) easier to generate, since they would > just send exploded-with-souvenir arguments, and let the callee > decide independently whether to ignore or use the components. > > As Roland pointed out, one hard part about on-the-fly explosion > is borrowing the extra TOS from the caller, but in the case of LFs > that could be hardwired, since the full size is known before the call. Yes, I think that's the hard part and I'm not yet convinced that it's better / easier than the solution of having a method with two entry points (one calling the other). Thanks, Tobias From john.r.rose at oracle.com Fri Jul 20 22:02:23 2018 From: john.r.rose at oracle.com (John Rose) Date: Fri, 20 Jul 2018 15:02:23 -0700 Subject: Unsafe API and explicit VT allocation In-Reply-To: References: <22E87C09-C79F-4CAD-89F9-0D875F7D81D9@oracle.com> Message-ID: <12523B6F-8265-4E77-AA12-7A9AD5898D3A@oracle.com> On Jul 20, 2018, at 2:53 AM, Roland Westrelin wrote: > > Hi John, > > In the current code, Unsafe.getX on a value type argument either > retrieves the corresponding field from the ValueTypeNode or if that > can't work triggers an allocation: > > http://hg.openjdk.java.net/valhalla/valhalla/file/d6e90a7411bb/src/hotspot/share/opto/library_call.cpp#l2356 > > (that code should also check that the access size matches the field > size) Yes, it's pretty rough code. It should also check the type loaded as well as the size. And ciValueKlass::field_index_by_offset is a lossy function to use with Unsafe, which can validly request *any* offset and *any* type. For example, it can perform bytewise loads from long fields, and there are legitimate uses for this. But, for *reading* a value type, it's basically the right idea. The semantic model is that you allocate a buffer with a stable layout, and then you slice a few bytes from it with a load instruction. If you can short-circuit the allocation of the buffer by recognizing common idioms (when the slice is identical with or contained in an exploded component of the value) then you take the win. Otherwise you make the buffer and do the load the slow way. > Unsafe.putX has not special logic for ValueTypeNode so using it would > crash C2 but it could be modified with similar logic. We would create a > new ValueTypeNode with an updated field. For *writing* a value type there is an output to be produced, which is the updated value. As you say, a similar trick can be done as with reading, but there has to be a user model for picking up the new value. Also, for writing, de-aliasing is crucial. The JIT can tell if a reference to a value instance might be used somewhere else, and can clone the buffer storage in that case. The current call to vt->allocate does *not* de-alias the buffer, which would be major bug for writes. Indeed, this is at the root of why value type updates need some extra care and thought with Unsafe. One way to do updates is with a new suite of Unsafe API points, withInt, withByte, etc., which produce a new value instance as output. That would fit in the model you are proposing; is that what you were thinking of? > In your example the allocation is only useless, if we can tell what > field of the value type is updated, right? Of course. That would work with either my API or the one which (I think) you are implying. > So what is the benefit of having the allocation be explicit with a new > unsafe rather than implicit like we have today? Because of the problem of delivering the updated value, I don't see how to do value updating without new Unsafe API points. If I follow your implications, I think I have to introduce a large number of new withX functions. There are *many* putX functions, because of the cross-product of types and access modes. I suppose the withX functions would only need to be across types, so perhaps they are kind of like a new access mode. My proposal is different: Repurpose the putX functions to values by introducing two new API points: bufferValue and unbufferValue to bracket peek-n-poke in a private buffer. I think it's a more conservative delta on Unsafe. I don't think it changes the optimization opportunities for C2, relative to adding withX functions; it just simplifies the API surface. It's also closer to the hardware to do it my way, since every user of Unsafe knows about memory layouts already and knows that values can be buffered (e.g., in flat array elements). So why not let them use that knowledge, to drive the familiar getX and putX functions, instead of new withX functions? Also, if we push withX functions down into the JIT, then every field update will involve a separate transaction at the IR level (to possibly allocate and also de-alias the memory buffer?the current implementation fails to de-alias, which would be a major bug). If you give the Unsafe user control of the de-aliasing task, the JIT's job gets simplier, and the user gets more control. More control, simpler API, less responsibility on JIT: That's why I think we want 2 more API points, not #types new API points. And if you have a way to do it with zero more Unsafe API points, of course I'm listening. > (I'm on PTO for 2 weeks starting tomorrow) Enjoy; sorry I won't see you at the Summit. ? John From john.r.rose at oracle.com Fri Jul 20 22:05:20 2018 From: john.r.rose at oracle.com (John Rose) Date: Fri, 20 Jul 2018 15:05:20 -0700 Subject: RFR(S): 8207844: [lworld] Crash during method resolution because value type holder is not linked In-Reply-To: <77867df4-7f75-e247-bdc6-f05d0dae7f7f@oracle.com> References: <77867df4-7f75-e247-bdc6-f05d0dae7f7f@oracle.com> Message-ID: Yes, that's nice. Thanks. ? John On Jul 20, 2018, at 2:15 AM, Tobias Hartmann wrote: > > Hi John, > > thanks for the review. > > On 19.07.2018 22:39, John Rose wrote: >> Fix is good, but seems a little more cut-n-pasty than I like. >> Suggest a cleanup which pull all of the conditional logic, >> plus the deopt, into emit_guard_for_new. > > Yes, that's better. I've pushed a cleanup: > http://hg.openjdk.java.net/valhalla/valhalla/rev/d6e90a7411bb From srikanth.adayapalam at oracle.com Sat Jul 21 03:15:43 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Sat, 21 Jul 2018 03:15:43 +0000 Subject: hg: valhalla/valhalla: [Lworld]: Test value instance creation using new under separate compilation. Message-ID: <201807210315.w6L3FiXe016072@aojmv0008.oracle.com> Changeset: 4a4c62a9d2c6 Author: sadayapalam Date: 2018-07-21 08:45 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4a4c62a9d2c6 [Lworld]: Test value instance creation using new under separate compilation. + test/langtools/tools/javac/valhalla/lworld-values/CheckSeparateCompile.java + test/langtools/tools/javac/valhalla/lworld-values/CheckSeparateCompile0.java From srikanth.adayapalam at oracle.com Mon Jul 23 01:43:34 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Mon, 23 Jul 2018 07:13:34 +0530 Subject: RFR:JDK-8198749 Translation of value constructors in classic constructor notation In-Reply-To: <1b67884b-bbaa-ee68-7508-a7d937639673@oracle.com> References: <9ee0e292-be6b-e53b-97bc-808f94f5e7a4@oracle.com> <1b67884b-bbaa-ee68-7508-a7d937639673@oracle.com> Message-ID: <7159a0a1-3820-1bbe-ac2e-a462e66decec@oracle.com> On Thursday 12 July 2018 04:45 PM, Srikanth wrote: [...] >> >> - don't you need also to override visitApply in case the constructor >> is calling? an instance method on the value being constructed? > > This will be covered as part of JDK-8205910 Oops! I forgot to cover that under JDK-8205910. I have raised https://bugs.openjdk.java.net/browse/JDK-8208067 now. Thanks Srikanth >> >> * tests - mayeb for later, and depending on whether we support inner >> values (seems to, looking at InnerValueNew) - one kind of super >> constructor call that might get you in trouble is the qualified super >> constructor call - e.g., with regular ordinary classes you can have >> this: > > I think this is a non-issue, anyway I have added the following as a > test FWIW. > >> >> class A { >> >> ??? class Inner { } >> } >> >> >> class B extends A.Inner { >> >> ?????? B(A encl) { >> ?????????? enc.super(); >> ?????? } >> } >> >> >> It would be interesting to verify at some point that this kind of >> idiom works with your value desugaring too. >> >> >> That's all I can think of. >> >> Cheers >> Maurizio >> >> >> >> On 11/07/18 11:56, Srikanth wrote: >>> >>> Hi Maurizio, >>> >>> Please review the following patch that implements the changes >>> required for >>> https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] >>> Translation of value constructors in classic constructor notation) >>> >>> Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/ >>> >>> Part of the work in supporting value construction in the classic >>> constructor notation >>> will happen independently on behalf of >>> https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of >>> 'this' with DU fields (for VTs and VBCs)). >>> >>> Normally I would have requested the review after a fair bit more of >>> testing and self-review, but given your proposed long absence, I am >>> requesting the review now. However, I am happy to note that the code >>> is in pretty decent shape for another person to study (known issues >>> at the bottom) >>> >>> I will continue with the testing and self review in parallel. >>> >>> If time is an issue, you can limit the review to the following >>> source files: >>> >>> ??? Gen.java >>> ??? TransValues.java >>> ??? LambdaToMethod.java >>> >>> and these test files: (these give an idea of what works already and >>> allows you to experiment by tweaking) >>> >>> test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java >>> test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java >>> test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java >>> >>> test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java >>> >>> test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java >>> >>> >>> Known issues: >>> >>> (1) make.at() calls may not be updated consistently/uniformly. >>> (2) I need to double check that some subtree translations are not >>> skipped inadvertently. >>> (3) Some of the other *older* modified tests need rewriting - they >>> compare javap output which is flaky due to constant pool offsets >>> changing anytime there is a change in code generation scheme. >>> (4) Some code duplication can be avoided by creating utility routines. >>> >>> langtools tests are green (except for one non-material failure). >>> >>> Thanks! >>> Srikanth >> >> > From srikanth.adayapalam at oracle.com Mon Jul 23 02:09:48 2018 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Mon, 23 Jul 2018 02:09:48 +0000 Subject: hg: valhalla/valhalla: [Lworld]: Test value instance creation using new under separate compilation. Message-ID: <201807230209.w6N29mYE008395@aojmv0008.oracle.com> Changeset: 081343ac62dd Author: sadayapalam Date: 2018-07-23 07:39 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/081343ac62dd [Lworld]: Test value instance creation using new under separate compilation. ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/TransValues.java + test/langtools/tools/javac/valhalla/lworld-values/CanonicalCtorTest.java From srikanth.adayapalam at oracle.com Mon Jul 23 02:12:05 2018 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Mon, 23 Jul 2018 07:42:05 +0530 Subject: hg: valhalla/valhalla: [Lworld]: Test value instance creation using new under separate compilation. In-Reply-To: <201807230209.w6N29mYE008395@aojmv0008.oracle.com> References: <201807230209.w6N29mYE008395@aojmv0008.oracle.com> Message-ID: <6be5e7bb-405d-2052-82c0-a8662b8cea21@oracle.com> On Monday 23 July 2018 07:39 AM, srikanth.adayapalam at oracle.com wrote: > Changeset: 081343ac62dd > Author: sadayapalam > Date: 2018-07-23 07:39 +0530 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/081343ac62dd > > [Lworld]: Test value instance creation using new under separate compilation. That commit message should really read: 8208067: [LWorld] Missing translation in value construction using classic constructor notation Sorry about that. Srikanth > > ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/TransValues.java > + test/langtools/tools/javac/valhalla/lworld-values/CanonicalCtorTest.java > From david.simms at oracle.com Mon Jul 23 11:32:27 2018 From: david.simms at oracle.com (david.simms at oracle.com) Date: Mon, 23 Jul 2018 11:32:27 +0000 Subject: hg: valhalla/valhalla: Adjust prototype README & version Message-ID: <201807231132.w6NBWSQS029406@aojmv0008.oracle.com> Changeset: 78d4bfadf03a Author: dsimms Date: 2018-07-23 13:32 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/78d4bfadf03a Adjust prototype README & version ! make/conf/jib-profiles.js ! src/README From frederic.parain at oracle.com Mon Jul 23 13:26:56 2018 From: frederic.parain at oracle.com (Frederic Parain) Date: Mon, 23 Jul 2018 09:26:56 -0400 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: Vote: Yes Fred On 07/17/2018 03:40 PM, John Rose wrote: > [I'm posting this corrected CFV for Karen who is on vacation. > Mark asked us [5] to restart the process on the correct list. > Please re-send your votes; sorry for the extra traffic.] > > I hereby nominate Ioi Lam (iklam) to Valhalla Committer. > > Ioi is a member of the Hotspot Runtime team who's looking to join > Project Valhalla (in the context of runtime support and JIT > optimizations for Value Objects [3]). A list of most of his OpenJDK > contributions is available at [4]. > > Votes are due by 12:30 PT July 31, 2018 > > Only current Valhalla Committers [1] are eligible to vote on this > nomination. > > For Lazy Consensus voting instructions, see [2]. > > Thank you, > John (for Karen) > > [1]http://openjdk.java.net/census > [2]http://openjdk.java.net/projects/#committer-vote > [3]http://openjdk.java.net/jeps/169 > [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 > [5]http://mail.openjdk.java.net/pipermail/jdk-dev/2018-July/001631.html > From ioi.lam at oracle.com Mon Jul 23 15:24:28 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Mon, 23 Jul 2018 08:24:28 -0700 Subject: [lworld] Handling of missing ValueTypes attributes In-Reply-To: References: <3d2e5b63-f22b-e154-20b2-69dfd8a53022@oracle.com> <31492fc0-162b-0945-a904-5e8b1290c4c7@oracle.com> <4d5e0adf-8eb2-cd38-a16c-7b33faccd889@oracle.com> Message-ID: I found two cases where the current repo doesn't generate ICCE as expected: https://bugs.openjdk.java.net/browse/JDK-8208090 ??? [lworld] MethodHandle invocation should check for ValueType consistency https://bugs.openjdk.java.net/browse/JDK-8207788 ??? [lworld] multinewarray bytecode should check for ValueType inconsistency Thanks - Ioi On 7/11/18 12:42 PM, Karen Kinnear wrote: > Ioi, Tobias, > > You asked a good question about MethodHandle and Reflection. I also > checked out JNI. This is my understanding - please correct me > if my assumptions are inaccurate. > > Here are my assumptions about when we need value type consistency > 1. verifier - mismatches between bytecodes and type (within a > classfile, no load/check for actual value type) > 2. JIT performance optimizations > ? ? 2a. flattening in containers - flattenable fields and array - > require check of value type vs. ACTUAL loaded type > ? ? ? ? ? - this is easy, we preload types > > ? ? 2b. JIT scalarization of field access - must be an ACTUAL value > type and must be flattenable > ? ? ? ?This will only work for fields that the JIT?d caller believes > are value types, the declarer believes are value types and the > declarer does an ACTUAL check > ? ? ? ?Need caller-callee agreement for a JIT?d caller. > > ? ? 2c. JIT calling convention - scalarization of arguments > ? ? ? ?Need either the caller-callee in agreement if both compiled OR > ? ? ? ?For caller calls by reference, adapter that can scalarize > arguments it knows are ACTUAL value types > ? ? ? ?Today adaptor is created at callee link time, so we explicitly > load types in local methods in the ValueTypes attribute so they can be > scalarized > ? ? ?2d. JIT returning a value type > ? ? ? ? I do not know our plans for value type return optimizations. > ? ? ? ? The adaptor for returns are stored off of the return type, so > they know the ACTUAL value. > ? ? ? ? In general we can check caller-callee consistency so we can be > in agreement about whether a type is a value type. > ? ? ? ? The exception is the JavaCalls::call_helper path used by > Reflection, jni (and others internally) > ? ? ? ? ? ? - I assume we will always return a reference here (I have > not studied the details yet, so I don?t know where that is handled) > Details: > 1. MethodHandles - invocation and field access always goes through > LinkResolver at this point. > There are two exceptions here: > ? ? - one is when the MethodHandle creation does NOT pass in the > calling class information > ? ? ? - in that case there is no check for caller-callee consistency, > we need to look at this independently > ? ? - one is invokespecial indirect superclass (ACC_SUPER) which > performs selection in the java code. > ? ? ? ?- That is a rathole I won?t follow here - we should fix that > anyway - multiple potential approaches. > > 2. Reflection: > ? ?optimized reflection generates bytecodes, so goes through bytecode > path, so goes through LinkResolver. > ? ?initial reflection calls JavaCalls::call->JavaCalls::call_helper > > 3. JNI: > ? ?also goes through JavaCalls::call_helper > > JavaCalls::call_helper calls call_stub to invoke the entry_point which is: > ? ?normally: method->from_interpreted_entry > ? ?debug: method->interpreter_entry > > For argument passing, my assumption is that we are ok with the > JavaCalls::call_helper path because it always passes by reference > and uses the callee adapter from interpreter which knows the declared > value types that can be scalarized. So the same adaptor that works for > interpreted code works for call_helper where the caller always assumes > everything is a reference and passes by reference. > > JIT folks - does this work in practice? > > thanks, > Karen > > > >> Thanks Karen for the explanation. I think it will simplify my patch >> for JDK-8206140 [lworld] Move return value null checks into the callee. >> >> If I understand correctly, this means that when we try to resolve a >> ClassRef, FieldRef, MethodRef, ..., in the constant pool, and there's >> a cross-class mismatch of ValueType, the constant pool entry will >> fail to resolve, and an ICCE will be thrown. >> >> This means the compiler should never see a mismatched cross-class >> reference. For example, >> >> class ClassB { >> ??? void foo(Point p) { >> ???????? ClassA.m1(p);? // ....., invokestatic MethodRef #4 = >> ClassA.m1:"(LPoint;)V" >> ??? } >> } >> >> When foo is compiled, the compiler will see that the constant pool >> entry MethodRef #4 is unresolved. Thus, the compiler will generate an >> uncommon trap and let the interpreter handle it. The interpreter will >> try to resolve #4 again, resulting in an ICCE. >> >> BTW, value-types-consistency-checking-details.pdf doesn't mention >> MethodHandle and Reflection explicitly. However, I assume that the >> same set of rules applies as well? >> >> Thanks >> - Ioi >> >>> From an execution perspective, we would like to ensure that neither ClassC nor ClassA can get their hands on an instance of Point, so >>> we are only passing null here. Tried to close all of these holes - could use review. Note to John - consistency checking for array elements >>> relative to ValueTypes attribute is part of closing this hole, i.e. ensuring that a class that has the wrong information about whether a type >>> is a value type can not get their hands on an instance of that value type. >>> >>> Does this make sense for LW1? >>> >>> thanks, >>> Karen >>> >>> p.s. Frederic checked in round 1 of the consistency checking - but did not get round 2 in before he left for vacation. He is out this >>> week and the next. I attached his patch out for review if you want to use it to test with to see if that helps the compiler. He will be back I >>> believe the 23rd. I will check with Harold on Frederic?s verifier question - we may want to push this (without perhaps the new test) before >>> he gets back so you can use it. >>> >>> Note - John asked for some refactoring - given how tight the time is before EA and the vacation schedule - that will be a postlw1 rfe. >>> >>> >>> >>> >>>> On Jul 10, 2018, at 8:22 AM, Tobias Hartmann wrote: >>>> >>>> Hi John, >>>> >>>> On 10.07.2018 02:08, John Rose wrote: >>>>> On Jul 9, 2018, at 3:44 PM, Ioi Lam wrote: >>>>>> In that case, I think the program's output should be the same as if the ValueTypes attribute had been present, although performance may differ (slower, more heap allocations, etc). >>>>>> >>>>>> Is this understanding correct? >>>>> Yes, that is correct. This model is intended to make it easier for old-school classfiles >>>>> to link to old types which have (over time) been upgraded to value types. >>>> How do we then handle the following scenario? >>>> >>>> We have a method m1(MyValue vt) in a class that has no value types attribute set although MyValue is >>>> a value type. Once the calling convention for that method is determined (i.e. at adapter creation), >>>> we therefore don't know that MyValue is a value type and as a result, m1 will expect vt to be passed >>>> as oop. >>>> >>>> Now another compiled method m2 that calls compiled m1 might be well aware that vt is a value type >>>> but has no way to know that m1 does *not* expect vt to be passed as fields (especially if the call >>>> is virtual). >>>> >>>> Thanks, >>>> Tobias >> > From karen.kinnear at oracle.com Mon Jul 23 21:36:06 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Mon, 23 Jul 2018 17:36:06 -0400 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: <5D98FD03-DA75-40CA-A601-ECE196DDA426@oracle.com> Vote: yes thanks, Karen > On Jul 17, 2018, at 3:40 PM, John Rose wrote: > > [I'm posting this corrected CFV for Karen who is on vacation. > Mark asked us [5] to restart the process on the correct list. > Please re-send your votes; sorry for the extra traffic.] > > I hereby nominate Ioi Lam (iklam) to Valhalla Committer. > > Ioi is a member of the Hotspot Runtime team who's looking to join > Project Valhalla (in the context of runtime support and JIT > optimizations for Value Objects [3]). A list of most of his OpenJDK > contributions is available at [4]. > > Votes are due by 12:30 PT July 31, 2018 > > Only current Valhalla Committers [1] are eligible to vote on this > nomination. > > For Lazy Consensus voting instructions, see [2]. > > Thank you, > John (for Karen) > > [1]http://openjdk.java.net/census > [2]http://openjdk.java.net/projects/#committer-vote > [3]http://openjdk.java.net/jeps/169 > [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 > [5]http://mail.openjdk.java.net/pipermail/jdk-dev/2018-July/001631.html > From stanislav.smirnov at oracle.com Mon Jul 23 22:24:43 2018 From: stanislav.smirnov at oracle.com (Stanislav Smirnov) Date: Mon, 23 Jul 2018 18:24:43 -0400 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: <3B401812-D5B1-4AD2-96FB-43440359F24D@oracle.com> Vote: yes Best regards, Stanislav Smirnov > On Jul 17, 2018, at 3:40 PM, John Rose wrote: > > [I'm posting this corrected CFV for Karen who is on vacation. > Mark asked us [5] to restart the process on the correct list. > Please re-send your votes; sorry for the extra traffic.] > > I hereby nominate Ioi Lam (iklam) to Valhalla Committer. > > Ioi is a member of the Hotspot Runtime team who's looking to join > Project Valhalla (in the context of runtime support and JIT > optimizations for Value Objects [3]). A list of most of his OpenJDK > contributions is available at [4]. > > Votes are due by 12:30 PT July 31, 2018 > > Only current Valhalla Committers [1] are eligible to vote on this > nomination. > > For Lazy Consensus voting instructions, see [2]. > > Thank you, > John (for Karen) > > [1]http://openjdk.java.net/census > [2]http://openjdk.java.net/projects/#committer-vote > [3]http://openjdk.java.net/jeps/169 > [4]http://hg.openjdk.java.net/jdk/jdk/search/?rev=author(iklam)&revcount=22 > [5]http://mail.openjdk.java.net/pipermail/jdk-dev/2018-July/001631.html > From sergey.kuksenko at oracle.com Tue Jul 24 22:13:36 2018 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Tue, 24 Jul 2018 15:13:36 -0700 Subject: JDK-8208163 [lworld] JDK-8208163 Valhalla causes ~2x times performance regression on String(char[]) constructor. Message-ID: <5c2c9385-1b6d-04a2-13ce-a63b8892319b@oracle.com> Please look into the issue https://bugs.openjdk.java.net/browse/JDK-8208163 From tobias.hartmann at oracle.com Wed Jul 25 07:19:15 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 25 Jul 2018 09:19:15 +0200 Subject: JDK-8208163 [lworld] JDK-8208163 Valhalla causes ~2x times performance regression on String(char[]) constructor. In-Reply-To: <5c2c9385-1b6d-04a2-13ce-a63b8892319b@oracle.com> References: <5c2c9385-1b6d-04a2-13ce-a63b8892319b@oracle.com> Message-ID: <258b1fbe-8a36-4099-9902-1ea5735d5c22@oracle.com> Hi Sergey, thanks for reporting! I'll take care of the issue. Best regards, Tobias On 25.07.2018 00:13, Sergey Kuksenko wrote: > Please look into the issue > > https://bugs.openjdk.java.net/browse/JDK-8208163 > > > From david.simms at oracle.com Wed Jul 25 10:16:15 2018 From: david.simms at oracle.com (David Simms) Date: Wed, 25 Jul 2018 12:16:15 +0200 Subject: RFR (s): 8208162: Support for multi-dimensional value arrays is incomplete Message-ID: <9ced8bf9-aa17-3dd6-d213-0dfa5e1d375d@oracle.com> Greetings, Bug: https://bugs.openjdk.java.net/browse/JDK-8208162 Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8208162/ I believe the intention of the "ObjArrayKlass::_bottom_klass" field was always to hold an instance klass that contained user class that might require a number of checks, e.g. access checking for reflection, module access etc... A value of "typeArrayKlass" simply denoted, "system type". I believe assigning a valueArrayKlass to this field to be incorrect, the fix is simply to pick out the valueArrayKlass element type as "bottom klass" Testing: internal tier1, and Ioi's consistency tests now exhibit correct behavior. Cheers /David Simms From karen.kinnear at oracle.com Wed Jul 25 13:15:50 2018 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 25 Jul 2018 09:15:50 -0400 Subject: RFR (s): 8208162: Support for multi-dimensional value arrays is incomplete In-Reply-To: <9ced8bf9-aa17-3dd6-d213-0dfa5e1d375d@oracle.com> References: <9ced8bf9-aa17-3dd6-d213-0dfa5e1d375d@oracle.com> Message-ID: Mr Simms, Code changes look good and logic makes sense. thanks for the quick fix! Karen > On Jul 25, 2018, at 6:16 AM, David Simms wrote: > > Greetings, > > Bug: https://bugs.openjdk.java.net/browse/JDK-8208162 > > Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8208162/ > > I believe the intention of the "ObjArrayKlass::_bottom_klass" field was always to hold an instance klass that contained user class that might require a number of checks, e.g. access checking for reflection, module access etc... > > A value of "typeArrayKlass" simply denoted, "system type". I believe assigning a valueArrayKlass to this field to be incorrect, the fix is simply to pick out the valueArrayKlass element type as "bottom klass" > > Testing: internal tier1, and Ioi's consistency tests now exhibit correct behavior. > > Cheers > > /David Simms > > > From frederic.parain at oracle.com Wed Jul 25 13:25:52 2018 From: frederic.parain at oracle.com (Frederic Parain) Date: Wed, 25 Jul 2018 09:25:52 -0400 Subject: RFR (s): 8208162: Support for multi-dimensional value arrays is incomplete In-Reply-To: <9ced8bf9-aa17-3dd6-d213-0dfa5e1d375d@oracle.com> References: <9ced8bf9-aa17-3dd6-d213-0dfa5e1d375d@oracle.com> Message-ID: <731B8221-5780-495D-BBF3-7A7A65ED2AAD@oracle.com> If no code relies on getting the ValueArrayKlass instance, this change makes sense and it minimizes changes. I?ll wait for this fix to be pushed before pushing the fix for JDK-8207788 (because the fix uses _bottom_klass). Count this as a positive review. Thank you, Fred > On Jul 25, 2018, at 06:16, David Simms wrote: > > Greetings, > > Bug: https://bugs.openjdk.java.net/browse/JDK-8208162 > > Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8208162/ > > I believe the intention of the "ObjArrayKlass::_bottom_klass" field was always to hold an instance klass that contained user class that might require a number of checks, e.g. access checking for reflection, module access etc... > > A value of "typeArrayKlass" simply denoted, "system type". I believe assigning a valueArrayKlass to this field to be incorrect, the fix is simply to pick out the valueArrayKlass element type as "bottom klass" > > Testing: internal tier1, and Ioi's consistency tests now exhibit correct behavior. > > Cheers > > /David Simms > > > From ioi.lam at oracle.com Wed Jul 25 14:22:14 2018 From: ioi.lam at oracle.com (Ioi Lam) Date: Wed, 25 Jul 2018 07:22:14 -0700 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> Message-ID: I modified the patch so that the compiled code matches what the interpreter does: we assumed the returned oop will not be NULL only if Method::is_returning_vt() is true. http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v05/ Only these 4 files changed from the last webrev: + src/hotspot/share/opto/compile.cpp + src/hotspot/share/opto/doCall.cpp + src/hotspot/share/opto/type.cpp + src/hotspot/share/opto/type.hpp With this change, I think it's no longer to fix JDK-8207219 (as it would enforce a behavior that's more strict than what we actually need). What do you think? I'll also update the test cases for this bug and post a new webrev later today. Thanks - Ioi On 7/13/18 5:20 AM, Tobias Hartmann wrote: > Hi Ioi, > > thanks for making these changes! > > Your latest version of the patch looks good to me but I think we should hold off with pushing until > we know how to fix JDK-8207219 and fully understand if value attribute consistency checking is > strong enough to enable this optimization in all cases. > > Thanks, > Tobias > > On 12.07.2018 21:19, Ioi Lam wrote: >> I've simplified the runtime part of this patch after Harold pushed the "Add value types consistency >> checks" changes. >> >> http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v04/ >> >> Now Method::is_returning_vt() is initialized during class preparation time, and the run-time checks >> in the interpreter is kept to a minimum. >> >> There's no change to the compiler part of the patch since the last webrev. >> >> The test cases have been simplified since I no longer need to test for value types consistency. >> >> Thanks >> >> - Ioi >> >> >> >> On 7/10/18 8:59 AM, Ioi Lam wrote: >>> Oops, will do :-) >>> >>> Thanks >>> >>> - Ioi >>> >>> >>> On 7/10/18 8:47 AM, Tobias Hartmann wrote: >>>> Hi Ioi, >>>> >>>> On 10.07.2018 17:33, Ioi Lam wrote: >>>>> http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v03/ >>>> Looks good to me but I think you need to add the copyright headers to the .jasm files (no new webrev >>>> required). >>>> >>>> Thanks, >>>> Tobias From david.simms at oracle.com Wed Jul 25 15:12:30 2018 From: david.simms at oracle.com (david.simms at oracle.com) Date: Wed, 25 Jul 2018 15:12:30 +0000 Subject: hg: valhalla/valhalla: 8208162: Support for multi-dimensional value arrays is incomplete Message-ID: <201807251512.w6PFCV8H029996@aojmv0008.oracle.com> Changeset: c04fad04a5fa Author: dsimms Date: 2018-07-25 17:12 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c04fad04a5fa 8208162: Support for multi-dimensional value arrays is incomplete Reviewed-by: fparain, acorn ! src/hotspot/share/ci/ciObjArrayKlass.cpp ! src/hotspot/share/oops/objArrayKlass.cpp From tobias.hartmann at oracle.com Wed Jul 25 15:33:58 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 25 Jul 2018 17:33:58 +0200 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> Message-ID: <2290f565-dcdb-8005-3be0-dd6c72607525@oracle.com> Hi Ioi, On 25.07.2018 16:22, Ioi Lam wrote: > I modified the patch so that the compiled code matches what the interpreter does: we assumed the > returned oop will not be NULL only if Method::is_returning_vt() is true. > > http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v05/ That makes sense to me. Like this, we will add a null check at the call site if there's an inconsistency in the expected return type between caller and callee. Maybe adjust the comment in type.cpp a bit, explaining why the basic return type can be T_VALUETYPE but is_returning_vt() can be false (i.e., that there can be inconsistencies). > With this change, I think it's no longer to fix JDK-8207219 (as it would enforce a behavior that's > more strict than what we actually need). What do you think? Yes, I think that 8207219 can be closed as "Not an issue". > I'll also update the test cases for this bug and post a new webrev later today. Yes, please add the test from 8207219. I'll have another look tomorrow (with a "fresh" brain) and then sponsor the change. Thanks, Tobias From harold.seigel at oracle.com Wed Jul 25 17:30:21 2018 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Wed, 25 Jul 2018 17:30:21 +0000 Subject: hg: valhalla/valhalla: Summary: Add -XX:+IgnoreUnrecognizedVMOptions to test because -XX:+AlwaysIncrementalInline is a develop flag Message-ID: <201807251730.w6PHUMNr007878@aojmv0008.oracle.com> Changeset: 646be3e1cad4 Author: hseigel Date: 2018-07-25 13:29 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/646be3e1cad4 Summary: Add -XX:+IgnoreUnrecognizedVMOptions to test because -XX:+AlwaysIncrementalInline is a develop flag Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java From frederic.parain at oracle.com Wed Jul 25 17:42:35 2018 From: frederic.parain at oracle.com (frederic.parain at oracle.com) Date: Wed, 25 Jul 2018 17:42:35 +0000 Subject: hg: valhalla/valhalla: 8207788: [lworld] multinewarray bytecode should check for ValueType inconsistency Message-ID: <201807251742.w6PHga5P013253@aojmv0008.oracle.com> Changeset: 90b4035ea0f3 Author: fparain Date: 2018-07-25 13:43 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/90b4035ea0f3 8207788: [lworld] multinewarray bytecode should check for ValueType inconsistency Contributed-by: ioi.lam at oracle.com ! src/hotspot/share/oops/constantPool.cpp + test/hotspot/jtreg/runtime/valhalla/valuetypes/consistency/ConsistencyTest.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/consistency/Mismatched.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/consistency/POJOPoint.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/consistency/ValuePoint.java From paul.sandoz at oracle.com Wed Jul 25 21:12:34 2018 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Wed, 25 Jul 2018 14:12:34 -0700 Subject: CFV: New Valhalla Committer: Ioi Lam In-Reply-To: References: <3E0C0947-EE64-4070-8E7C-D5FACB833EFA@oracle.com> Message-ID: <148EE5FF-6B08-4A14-A355-EFE7CCF48B3F@oracle.com> Vote: yes Paul. From john.r.rose at oracle.com Wed Jul 25 23:15:45 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 25 Jul 2018 16:15:45 -0700 Subject: RFR (s): 8208162: Support for multi-dimensional value arrays is incomplete In-Reply-To: <9ced8bf9-aa17-3dd6-d213-0dfa5e1d375d@oracle.com> References: <9ced8bf9-aa17-3dd6-d213-0dfa5e1d375d@oracle.com> Message-ID: On Jul 25, 2018, at 3:16 AM, David Simms wrote: > > Greetings, > > Bug: https://bugs.openjdk.java.net/browse/JDK-8208162 > > Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8208162/ > > I believe the intention of the "ObjArrayKlass::_bottom_klass" field was always to hold an instance klass that contained user class that might require a number of checks, e.g. access checking for reflection, module access etc... > > A value of "typeArrayKlass" simply denoted, "system type". I believe assigning a valueArrayKlass to this field to be incorrect, the fix is simply to pick out the valueArrayKlass element type as "bottom klass" > > Testing: internal tier1, and Ioi's consistency tests now exhibit correct behavior. It's a long-standing oddity of HotSpot that primitive types don't have metadata. This makes types like int[][][] different in confusing detail from almost-identical types like String[][][]. So, from some points of view int[][][] has a depth of 2 while String[][][] has a depth of 3. It's something we live with, like hereditary baldness. ? John From sergey.kuksenko at oracle.com Thu Jul 26 01:14:51 2018 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Wed, 25 Jul 2018 18:14:51 -0700 Subject: optimizing acmp in L-World In-Reply-To: <47625659-9B0E-481C-B755-4C5C4E2DE23C@oracle.com> References: <47625659-9B0E-481C-B755-4C5C4E2DE23C@oracle.com> Message-ID: <6654e587-6e23-24ab-f992-5d2e28c8e8ac@oracle.com> I've measured new Valhalla acmp code on legacy (non-value types code). Performance regression of acmp operation is 10%-20% comparing to before valhalla world. It was measured on microbenchmarks and looks like it shouldn't be significantly visible on real apps except some corner cases. I to suggest to a small improvement which make sense to try. I really that trick: > bool new_acmp(ptr x, ptr y) { > if (x == null) return y == null; > int bit = (x->class_in_header & Q_TYPE_BIT); > ptr x1 = x | swar_broadcast_bit(bit != 0); > return old_acmp(x1, y); > } > int swar_broadcast_bit(bool z) { > return z ? -1 : 0; // use ALU ops > } And right now the code checking and mixing if class is value looks like: mov??? 0x8(%rcx),%r10d? // load class ptr shr ? ? $0x3,%r10 and??? $0x1,%r10??????????? // here r10 is 1 if value, 0 if not value add??? %r10,%rcx??????????? // mix with value bit > Suppose there is a branch free technique for implementing is_value_ptr With the current is_value_ptr scheme I want to suggest branch free technique and return to initial idea of codegeneration > So the logic looks like this, and the new semantics are in > the second "if" statement: > > bool new_acmp(ptr x, ptr y) { > if (!old_acmp(x, y)) return false; // x != y => false > if (is_value_ptr(x)) return false; // x.is_value => false > return true; > } > bool old_acmp(ptr x, ptr y) { > return x == y; // cmpq etc. > } > I'd rather rewrite to: bool new_acmp(ptr x, ptr y) { if (!old_acmp(x, y)) return false; // x != y => false return x!=null && !is_value_ptr(x); } and the following will get us required 0 and 1 from this mov??? 0x8(%rcx),%r10d? // load class ptr shr ? ? $0x3,%r10 and??? $0x1,%r10??????????? // here r10 is 1 if value, 0 if not value xor ??? $0x1,%r10??????????? // here r10 false if value, true if not value. Checking currently generated code I'd split it into traces and count asm instructions, and count asm instructions which could new in suggested codegeneration: (doesn't count unconditional branches) case x==null & y==null: ?? ? ? current code:? 3 ALU ops + 2 branches ? suggested code:? 3 ALU ops + 2 branches case x==null & y!=null: ?? ? ? current code:? 3 ALU ops + 2 branches ? suggested code:? 2 ALU ops + 1 branches case x==y: ?? ? ? current code:? 6 ALU ops + 2 branches + 1 load from memory ? suggested code:? 5 ALU ops + 2 branches + 1 load from memory case x!=y: ?? ? ? current code:? 6 ALU ops + 2 branches + 1 load from memory ? suggested code:? 2 ALU ops + 1 branch In some cases acmp cost is the same as in before valhalla world? (2 ALU ops + 1 branch) The most important fact here is not a quite small decrease of ALU instructions, which honestly won't be visible even on microbenchmarks, but the fact in case of x!=y we eliminate load from memory which even in hit to L1 cache will cost as all other instructions and much more in case of cache miss. The final suggested code (simplified): ??? cmp rx,ry ??? je equal ??? xor eax,eax ??? jmp end equal: ??? test rx,rx ??? je is_null ??? mov klass ptr from memory to eax ??? shr 3,eax ??? and 1,eax ? ? xor? 1,eax ? ? jmp end is_null: ?? mov 1,eax ?? jmp end end: ? // eax contains result From john.r.rose at oracle.com Thu Jul 26 03:45:09 2018 From: john.r.rose at oracle.com (John Rose) Date: Wed, 25 Jul 2018 20:45:09 -0700 Subject: optimizing acmp in L-World In-Reply-To: <6654e587-6e23-24ab-f992-5d2e28c8e8ac@oracle.com> References: <47625659-9B0E-481C-B755-4C5C4E2DE23C@oracle.com> <6654e587-6e23-24ab-f992-5d2e28c8e8ac@oracle.com> Message-ID: Good analysis. I like the point about avoiding the klass load. If we were to hoist the value-bit into the oop itself, I think the analysis would go the other way, because the header load wouldn't happen and the null check would not be needed either. That could possibly be where we end up eventually, if we were to *also* hoist klass index info into 64-bit oops. We'd have to convince the GC to let us control the hoisted value-bit (and klass index bits), which will take time. So I think I buy your suggestion. A more important limitation on the applicability of your analysis: The JIT routinely rearranges the acmp code based on its own static analysis of the operands, whether they are, are not, may frequently be, or may occasionally be null and/or a value. Also, there's a corner that should be rounded off: The acmp instruction code is usually targeted to a test, not to the generation of a boolean, so it would be natural to consider your specific code idioms as generating a branch to one of two locations; it's only rarely a bit in a register. If you avoid materializing the bit, you can get rid of instructions that steer bits down to the LSB, and the xor that flips it. For an example of taking an answer as a branch, see MacroAssembler::check_klass_subtype and subroutines. When you generate a boolean as a jump, there are always two or three versions of the code, depending on whether fallthrough is used to signal true or false. Specific examples are below, after your code sequence. ? John On Jul 25, 2018, at 6:14 PM, Sergey Kuksenko wrote: > > I've measured new Valhalla acmp code on legacy (non-value types code). > Performance regression of acmp operation is 10%-20% comparing to before valhalla world. It was measured on microbenchmarks and looks like it shouldn't be significantly visible on real apps except some corner cases. > I to suggest to a small improvement which make sense to try. > > I really that trick: >> bool new_acmp(ptr x, ptr y) { >> if (x == null) return y == null; >> int bit = (x->class_in_header & Q_TYPE_BIT); >> ptr x1 = x | swar_broadcast_bit(bit != 0); >> return old_acmp(x1, y); >> } >> int swar_broadcast_bit(bool z) { >> return z ? -1 : 0; // use ALU ops >> } > And right now the code checking and mixing if class is value looks like: > > mov 0x8(%rcx),%r10d // load class ptr > shr $0x3,%r10 > and $0x1,%r10 // here r10 is 1 if value, 0 if not value > add %r10,%rcx // mix with value bit > >> Suppose there is a branch free technique for implementing is_value_ptr > With the current is_value_ptr scheme I want to suggest branch free technique and return to initial idea of codegeneration >> So the logic looks like this, and the new semantics are in >> the second "if" statement: >> >> bool new_acmp(ptr x, ptr y) { >> if (!old_acmp(x, y)) return false; // x != y => false >> if (is_value_ptr(x)) return false; // x.is_value => false >> return true; >> } >> bool old_acmp(ptr x, ptr y) { >> return x == y; // cmpq etc. >> } >> > I'd rather rewrite to: > > bool new_acmp(ptr x, ptr y) { > if (!old_acmp(x, y)) return false; // x != y => false > return x!=null && !is_value_ptr(x); > } > > and the following will get us required 0 and 1 from this > > mov 0x8(%rcx),%r10d // load class ptr > shr $0x3,%r10 > and $0x1,%r10 // here r10 is 1 if value, 0 if not value > xor $0x1,%r10 // here r10 false if value, true if not value. > > Checking currently generated code I'd split it into traces and count asm instructions, and count asm instructions which could new in suggested codegeneration: > (doesn't count unconditional branches) > > case x==null & y==null: > current code: 3 ALU ops + 2 branches > suggested code: 3 ALU ops + 2 branches > > case x==null & y!=null: > current code: 3 ALU ops + 2 branches > suggested code: 2 ALU ops + 1 branches > > case x==y: > current code: 6 ALU ops + 2 branches + 1 load from memory > suggested code: 5 ALU ops + 2 branches + 1 load from memory > > case x!=y: > current code: 6 ALU ops + 2 branches + 1 load from memory > suggested code: 2 ALU ops + 1 branch > > In some cases acmp cost is the same as in before valhalla world (2 ALU ops + 1 branch) > > The most important fact here is not a quite small decrease of ALU instructions, which honestly won't be visible even on microbenchmarks, but the fact in case of x!=y we eliminate load from memory which even in hit to L1 cache will cost as all other instructions and much more in case of cache miss. > > The final suggested code (simplified): > > cmp rx,ry > je equal > xor eax,eax > jmp end > > equal: > test rx,rx > je is_null > mov klass ptr from memory to eax > shr 3,eax > and 1,eax > xor 1,eax > jmp end > > is_null: > mov 1,eax > jmp end > > end: > // eax contains result amp code which falls through on "not equal" and takes a jump on "equal": cmp rx,ry jne 1f # not equal test rx,rx jz 1f # not equal testb (rx + byte_in_header), 0x8 # test against bit 3 jz TAKEN # if bit is clear, go to TAKEN ("equal") 1f: // FALLTHROUGH ("not equal") amp code which falls through on "equal" and takes a jump on "not equal": cmp rx,ry jne TAKEN # not equal test rx,rx jz TAKEN # not equal testb (rx + byte_in_header), 0x8 # test against bit 3 jnz TAKEN # if bit is set, go to TAKEN ("not equal") // FALLTHROUGH ("equal") From tobias.hartmann at oracle.com Thu Jul 26 08:31:40 2018 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Thu, 26 Jul 2018 08:31:40 +0000 Subject: hg: valhalla/valhalla: 8206140: [lworld] Move return value null checks into the callee Message-ID: <201807260831.w6Q8VeJH001500@aojmv0008.oracle.com> Changeset: d2aa5d494481 Author: iklam Date: 2018-07-26 10:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d2aa5d494481 8206140: [lworld] Move return value null checks into the callee Reviewed-by: thartmann ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java + test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld_mismatched.jasm From tobias.hartmann at oracle.com Thu Jul 26 08:32:11 2018 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 26 Jul 2018 10:32:11 +0200 Subject: RFR(S) JDK-8206140 [lworld] Move return value null checks into the callee In-Reply-To: <2290f565-dcdb-8005-3be0-dd6c72607525@oracle.com> References: <9aafd244-eab3-99f9-657f-6d45ff9dbac4@oracle.com> <2290f565-dcdb-8005-3be0-dd6c72607525@oracle.com> Message-ID: <29b54384-8b5a-1fb3-e8d8-0b04caad6948@oracle.com> Hi Ioi, On 25.07.2018 17:33, Tobias Hartmann wrote: > Yes, please add the test from 8207219. > > I'll have another look tomorrow (with a "fresh" brain) and then sponsor the change. I've seen from the comments in 8207219 that you've updated the webrev: http://cr.openjdk.java.net/~iklam/valhalla/8206140_lworld_null_check_in_callee.v06/ This looks good to me! I'll sponsor. Thanks, Tobias From sergey.kuksenko at oracle.com Thu Jul 26 17:03:21 2018 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Thu, 26 Jul 2018 10:03:21 -0700 Subject: optimizing acmp in L-World In-Reply-To: References: <47625659-9B0E-481C-B755-4C5C4E2DE23C@oracle.com> <6654e587-6e23-24ab-f992-5d2e28c8e8ac@oracle.com> Message-ID: Sure, playing with xor is not relevant here. Simple test could be better. I just had to say that the first idea (old_cmp first then check is_value if equals) anyway looks better. In case of false first comparison we have the same acmp cost as before, that I think will happen in more than 50% cases. On 07/25/2018 08:45 PM, John Rose wrote: > Good analysis. I like the point about avoiding the klass load. > > If we were to hoist the value-bit into the oop itself, I think the analysis > would go the other way, because the header load wouldn't happen and > the null check would not be needed either. That could possibly be where > we end up eventually, if we were to *also* hoist klass index info into 64-bit > oops. We'd have to convince the GC to let us control the hoisted value-bit > (and klass index bits), which will take time. So I think I buy your suggestion. > > A more important limitation on the applicability of your analysis: The JIT > routinely rearranges the acmp code based on its own static analysis of the > operands, whether they are, are not, may frequently be, or may occasionally > be null and/or a value. > > Also, there's a corner that should be rounded off: The acmp instruction > code is usually targeted to a test, not to the generation of a boolean, > so it would be natural to consider your specific code idioms as generating > a branch to one of two locations; it's only rarely a bit in a register. > > If you avoid materializing the bit, you can get rid of instructions that steer > bits down to the LSB, and the xor that flips it. For an example of taking > an answer as a branch, see MacroAssembler::check_klass_subtype and > subroutines. > > When you generate a boolean as a jump, there are always two or three > versions of the code, depending on whether fallthrough is used to signal > true or false. > > Specific examples are below, after your code sequence. > > ? John > > On Jul 25, 2018, at 6:14 PM, Sergey Kuksenko wrote: >> I've measured new Valhalla acmp code on legacy (non-value types code). >> Performance regression of acmp operation is 10%-20% comparing to before valhalla world. It was measured on microbenchmarks and looks like it shouldn't be significantly visible on real apps except some corner cases. >> I to suggest to a small improvement which make sense to try. >> >> I really that trick: >>> bool new_acmp(ptr x, ptr y) { >>> if (x == null) return y == null; >>> int bit = (x->class_in_header & Q_TYPE_BIT); >>> ptr x1 = x | swar_broadcast_bit(bit != 0); >>> return old_acmp(x1, y); >>> } >>> int swar_broadcast_bit(bool z) { >>> return z ? -1 : 0; // use ALU ops >>> } >> And right now the code checking and mixing if class is value looks like: >> >> mov 0x8(%rcx),%r10d // load class ptr >> shr $0x3,%r10 >> and $0x1,%r10 // here r10 is 1 if value, 0 if not value >> add %r10,%rcx // mix with value bit >> >>> Suppose there is a branch free technique for implementing is_value_ptr >> With the current is_value_ptr scheme I want to suggest branch free technique and return to initial idea of codegeneration >>> So the logic looks like this, and the new semantics are in >>> the second "if" statement: >>> >>> bool new_acmp(ptr x, ptr y) { >>> if (!old_acmp(x, y)) return false; // x != y => false >>> if (is_value_ptr(x)) return false; // x.is_value => false >>> return true; >>> } >>> bool old_acmp(ptr x, ptr y) { >>> return x == y; // cmpq etc. >>> } >>> >> I'd rather rewrite to: >> >> bool new_acmp(ptr x, ptr y) { >> if (!old_acmp(x, y)) return false; // x != y => false >> return x!=null && !is_value_ptr(x); >> } >> >> and the following will get us required 0 and 1 from this >> >> mov 0x8(%rcx),%r10d // load class ptr >> shr $0x3,%r10 >> and $0x1,%r10 // here r10 is 1 if value, 0 if not value >> xor $0x1,%r10 // here r10 false if value, true if not value. >> >> Checking currently generated code I'd split it into traces and count asm instructions, and count asm instructions which could new in suggested codegeneration: >> (doesn't count unconditional branches) >> >> case x==null & y==null: >> current code: 3 ALU ops + 2 branches >> suggested code: 3 ALU ops + 2 branches >> >> case x==null & y!=null: >> current code: 3 ALU ops + 2 branches >> suggested code: 2 ALU ops + 1 branches >> >> case x==y: >> current code: 6 ALU ops + 2 branches + 1 load from memory >> suggested code: 5 ALU ops + 2 branches + 1 load from memory >> >> case x!=y: >> current code: 6 ALU ops + 2 branches + 1 load from memory >> suggested code: 2 ALU ops + 1 branch >> >> In some cases acmp cost is the same as in before valhalla world (2 ALU ops + 1 branch) >> >> The most important fact here is not a quite small decrease of ALU instructions, which honestly won't be visible even on microbenchmarks, but the fact in case of x!=y we eliminate load from memory which even in hit to L1 cache will cost as all other instructions and much more in case of cache miss. >> >> The final suggested code (simplified): >> >> cmp rx,ry >> je equal >> xor eax,eax >> jmp end >> >> equal: >> test rx,rx >> je is_null >> mov klass ptr from memory to eax >> shr 3,eax >> and 1,eax >> xor 1,eax >> jmp end >> >> is_null: >> mov 1,eax >> jmp end >> >> end: >> // eax contains result > > amp code which falls through on "not equal" and takes a jump on "equal": > > cmp rx,ry > jne 1f # not equal > > test rx,rx > jz 1f # not equal > > testb (rx + byte_in_header), 0x8 # test against bit 3 > jz TAKEN # if bit is clear, go to TAKEN ("equal") > > 1f: > // FALLTHROUGH ("not equal") > > amp code which falls through on "equal" and takes a jump on "not equal": > > cmp rx,ry > jne TAKEN # not equal > > test rx,rx > jz TAKEN # not equal > > testb (rx + byte_in_header), 0x8 # test against bit 3 > jnz TAKEN # if bit is set, go to TAKEN ("not equal") > > // FALLTHROUGH ("equal") > From david.simms at oracle.com Mon Jul 30 16:08:55 2018 From: david.simms at oracle.com (david.simms at oracle.com) Date: Mon, 30 Jul 2018 16:08:55 +0000 Subject: hg: valhalla/valhalla: Added tag lw1_0 for changeset d2aa5d494481 Message-ID: <201807301608.w6UG8uLM020458@aojmv0008.oracle.com> Changeset: 03fcb1a761a4 Author: dsimms Date: 2018-07-30 18:07 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/03fcb1a761a4 Added tag lw1_0 for changeset d2aa5d494481 ! .hgtags From david.simms at oracle.com Tue Jul 31 18:49:25 2018 From: david.simms at oracle.com (David Simms) Date: Tue, 31 Jul 2018 11:49:25 -0700 Subject: "L-World" Value Types Early Access Binaries now available Message-ID: <75afd061-3810-3379-cb6c-6fa2b412811d@oracle.com> Just in time for JVMLS ! For your convenience, "L-World Value Types" Early Access Binaries: http://jdk.java.net/valhalla/ "The first truly usable value type prototype" with experimental language support. Based on JDK mainline, almost complete JDK 11. This is build "0", there are bugs, performance issues, and usability issues. Let us know, feedback is much appreciated: valhalla-dev at openjdk.java.net Check out the Valhalla project wiki for further information - https://wiki.openjdk.java.net/display/valhalla/Main - https://wiki.openjdk.java.net/display/valhalla/L-World+Value+Types