From srikanth.adayapalam at oracle.com Mon Jun 3 12:56:48 2019 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Mon, 03 Jun 2019 12:56:48 +0000 Subject: hg: valhalla/valhalla: 8222711: [lworld]: Value construction modalities in class file - finishing touches Message-ID: <201906031256.x53CunD5011834@aojmv0008.oracle.com> Changeset: 335cf115f9e8 Author: sadayapalam Date: 2019-06-03 18:26 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/335cf115f9e8 8222711: [lworld]: Value construction modalities in class file - finishing touches ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.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/util/Names.java ! test/langtools/tools/javac/valhalla/lworld-values/ArrayCreationWithQuestion.java ! test/langtools/tools/javac/valhalla/lworld-values/BoxValCastTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ProjectedArrayDotClass.java ! test/langtools/tools/javac/valhalla/lworld-values/QTypeTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueCreationTest.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 Mon Jun 3 13:15:56 2019 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Mon, 3 Jun 2019 18:45:56 +0530 Subject: hg: valhalla/valhalla: 8222711: [lworld]: Value construction modalities in class file - finishing touches In-Reply-To: <201906031256.x53CunD5011834@aojmv0008.oracle.com> References: <201906031256.x53CunD5011834@aojmv0008.oracle.com> Message-ID: <1c69f611-545f-3116-5169-09809dc28416@oracle.com> This change set withdraws the backup support that existed for the older $makeValue$ factory based inline class construction. The static factory based new implementation has been the default for 3 weeks or so and I haven't heard of any issues that would necessitate switching to the older implementation as a stop gap measure. So time for spring cleaning... Thanks Srikanth On 03/06/19 6:26 PM, srikanth.adayapalam at oracle.com wrote: > Changeset: 335cf115f9e8 > Author: sadayapalam > Date: 2019-06-03 18:26 +0530 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/335cf115f9e8 > > 8222711: [lworld]: Value construction modalities in class file - finishing touches > > ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java > ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.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/util/Names.java > ! test/langtools/tools/javac/valhalla/lworld-values/ArrayCreationWithQuestion.java > ! test/langtools/tools/javac/valhalla/lworld-values/BoxValCastTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/ProjectedArrayDotClass.java > ! test/langtools/tools/javac/valhalla/lworld-values/QTypeTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/ValueCreationTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfExplicitSelector.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfImplicitThis.java > From Roger.Riggs at oracle.com Mon Jun 3 18:44:09 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Mon, 3 Jun 2019 14:44:09 -0400 Subject: RFR 8223349: [lworld] Reflection support on static factory methods for inline types In-Reply-To: References: <5d58e352-7cd6-5ef4-8412-5122216c1257@oracle.com> <822ce7c2-2fc3-b487-2963-e5baa4b67880@oracle.com> <7f8e2b77-f7f6-0437-ae3f-b41da9c1f2ee@oracle.com> <458fc1e1-d81b-c5f7-07e2-df7394ea57bd@oracle.com> Message-ID: Hi Mandy, New webrev: http://cr.openjdk.java.net/~rriggs/webrev-init-8223349-6/index.html On 05/31/2019 04:23 PM, Mandy Chung wrote: > > > On 5/31/19 12:13 PM, Roger Riggs wrote: >> Hi, >> >> A minor update to make the test code checking constructors more >> generic and used for >> Point, Line, and NonFlattenedValue.? It only checked the signatures, >> but does not invoke each constructor. >> >> webrev: >> http://cr.openjdk.java.net/~rriggs/webrev-init-8223349-4/index.html >> > > AccessibleObject.checkCanSetAccessible also needs update as it special > case the Constructor case of a inline class which is no longer > needed.? It will follow normal access check rule. Removed:? (Since it did not throw an exception when requested, it may have been silently ignored) > > For the test, constructors take the expected toString names.?? I > suggest to create a local inline class to have the expected > constructors.? Also move ctor.setAccessible and ctor.trySetAccessible > to use this new inline class as these test cases are specific to > static init factories.? Maybe time to have a separate test file for > static init factories rather than extending the existing test. Moved tests for constructors of inline classes and setAccessible tests to InlineConstructorTest.java. Thanks, Roger > > thanks > Mandy From mandy.chung at oracle.com Mon Jun 3 19:59:37 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 3 Jun 2019 12:59:37 -0700 Subject: RFR 8223349: [lworld] Reflection support on static factory methods for inline types In-Reply-To: References: <5d58e352-7cd6-5ef4-8412-5122216c1257@oracle.com> <822ce7c2-2fc3-b487-2963-e5baa4b67880@oracle.com> <7f8e2b77-f7f6-0437-ae3f-b41da9c1f2ee@oracle.com> <458fc1e1-d81b-c5f7-07e2-df7394ea57bd@oracle.com> Message-ID: <25fdfeda-2675-8345-3178-9352f4d11f59@oracle.com> On 6/3/19 11:44 AM, Roger Riggs wrote: > Hi Mandy, > > New webrev: > > http://cr.openjdk.java.net/~rriggs/webrev-init-8223349-6/index.html Looks good. Mandy From sergey.kuksenko at oracle.com Mon Jun 3 21:09:38 2019 From: sergey.kuksenko at oracle.com (sergey.kuksenko at oracle.com) Date: Mon, 03 Jun 2019 21:09:38 +0000 Subject: hg: valhalla/valhalla: [lworld] minor benchmarks cleanup Message-ID: <201906032109.x53L9dV5012100@aojmv0008.oracle.com> Changeset: 0f04959e04fd Author: skuksenko Date: 2019-06-03 14:09 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0f04959e04fd [lworld] minor benchmarks cleanup ! test/micro/org/openjdk/bench/valhalla/lworld/arrays/Sum1.java ! test/micro/org/openjdk/bench/valhalla/lworld/arrays/Sum2.java ! test/micro/org/openjdk/bench/valhalla/lworld/arrays/Sum8.java ! test/micro/org/openjdk/bench/valhalla/lworld/fields/Sum1.java ! test/micro/org/openjdk/bench/valhalla/lworld/fields/Sum2.java ! test/micro/org/openjdk/bench/valhalla/lworld/fields/Sum8.java ! test/micro/org/openjdk/bench/valhalla/lworld/matrix/Boxed.java From ioi.lam at oracle.com Tue Jun 4 04:31:47 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Mon, 3 Jun 2019 21:31:47 -0700 Subject: RFR 8224831 [lworld] TestCallingConventionC1.java fails with -Xcomp Message-ID: https://bugs.openjdk.java.net/browse/JDK-8224831 http://cr.openjdk.java.net/~iklam/valhalla/8224831-TestCallingConventionC1-fails-xcomp.v01/ The crash happens when a C1-compiled method calls a callee through its unverified entry [1]. Because C1 doesn't scalarize the outgoing parameters, we must link the call to a new type of "unverified value entry point" (UVEP). This patch implements UVEP for C1, C2 and C2i adapters: A C1-compiled virtual method looks like this: ??? [(unverified) Entry Point] ??????? check ic_miss ??? [Verified Value Entry Point (RO)] ??????? pack fields into value objects ??????? jump VVEP ??? [Verified Entry Point] ??????? pack fields into value objects ??????? jump VVEP ??? [unverified) Value Entry Point] ??????? check ic_miss ??? [Verified Value Entry Point] ??????? main body of compiled code A C2-compiled virtual method looks like this: ??? [unverified) Entry Point] ??????? check ic_miss ??? [Verified Value Entry Point (RO)] ??????? unpack fields (except ) ??????? jump VEP ??? [unverified) Value Entry Point] ??????? check ic_miss ??? [Verified Value Entry Point] ??????? unpack fields ??????? jump VEP ??? [Verified Entry Point] ??????? main body of compiled code For testing, I added more test cases in TestCallingConventionC1 to test all scenarios where an UEP or UVEP is called. [1] http://hg.openjdk.java.net/valhalla/valhalla/file/2d8d0287bc22/src/hotspot/share/code/compiledIC.cpp#l541 Thanks - Ioi From srikanth.adayapalam at oracle.com Tue Jun 4 05:26:27 2019 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Tue, 04 Jun 2019 05:26:27 +0000 Subject: hg: valhalla/valhalla: 8225222: [lworld]: Withdraw support for value modifier and @__value__ annotation Message-ID: <201906040526.x545QS5H026111@aojmv0008.oracle.com> Changeset: bfc6acdf88b3 Author: sadayapalam Date: 2019-06-04 10:56 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bfc6acdf88b3 8225222: [lworld]: Withdraw support for value modifier and @__value__ annotation - src/java.base/share/classes/java/lang/__value__.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 ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! test/langtools/tools/javac/valhalla/lworld-values/AnonymousValue.java ! test/langtools/tools/javac/valhalla/lworld-values/AnonymousValueType.java ! test/langtools/tools/javac/valhalla/lworld-values/ArrayCreationWithQuestion.java ! test/langtools/tools/javac/valhalla/lworld-values/ArrayRelationsTest.java ! test/langtools/tools/javac/valhalla/lworld-values/AssortedTests.java ! test/langtools/tools/javac/valhalla/lworld-values/BoxValCastTest.java ! test/langtools/tools/javac/valhalla/lworld-values/CanonicalCtorTest.java ! test/langtools/tools/javac/valhalla/lworld-values/CastNullCheckTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ChainedAssignmentTest.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckClone.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckClone.out ! test/langtools/tools/javac/valhalla/lworld-values/CheckCyclicMembership.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckExtends.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckExtends.out ! test/langtools/tools/javac/valhalla/lworld-values/CheckFieldDescriptors.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckFinal.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckFinalize.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableCycles.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableSyntheticFields.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/CheckLocalClasses.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckMakeDefault.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckMakeDefault.out ! test/langtools/tools/javac/valhalla/lworld-values/CheckMultiDimensionalArrayStore.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/CheckNullWithQuestion.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckQuestionInMessages.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckSeparateCompile0.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/CheckThisLeak.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckThisLeakVBC.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueFactoryWithReference.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueModifier.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueModifier.out ! test/langtools/tools/javac/valhalla/lworld-values/CompilesJustFine.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/DocLintSyntheticsTest.java ! test/langtools/tools/javac/valhalla/lworld-values/EmptyValueTest.java ! test/langtools/tools/javac/valhalla/lworld-values/EmptyValueTest.out ! test/langtools/tools/javac/valhalla/lworld-values/FinalFieldTest.java ! test/langtools/tools/javac/valhalla/lworld-values/FlattenableFlagFromClass.java ! test/langtools/tools/javac/valhalla/lworld-values/FlattenableNegativeTest.java ! test/langtools/tools/javac/valhalla/lworld-values/GenericArrayRegression.java ! test/langtools/tools/javac/valhalla/lworld-values/GenericArrayTest.java ! test/langtools/tools/javac/valhalla/lworld-values/GenericsAndValues1.java ! test/langtools/tools/javac/valhalla/lworld-values/GenericsAndValues2.java ! test/langtools/tools/javac/valhalla/lworld-values/GenericsAndValues3.java ! test/langtools/tools/javac/valhalla/lworld-values/GenericsWithQuestion.java ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest.java ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest.out ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest2.java ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest2.out ! test/langtools/tools/javac/valhalla/lworld-values/InferredValueParameterizationTest.java ! test/langtools/tools/javac/valhalla/lworld-values/InnerClassAttributeValuenessTest.java ! test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java ! test/langtools/tools/javac/valhalla/lworld-values/IntercastTest.java ! test/langtools/tools/javac/valhalla/lworld-values/IntercastTest2.java ! test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java ! test/langtools/tools/javac/valhalla/lworld-values/LookupOnLoxTest.java ! test/langtools/tools/javac/valhalla/lworld-values/LookupOnLoxTest2.java ! test/langtools/tools/javac/valhalla/lworld-values/MiscThisLeak.java ! test/langtools/tools/javac/valhalla/lworld-values/MyValue.java ! test/langtools/tools/javac/valhalla/lworld-values/NoncovariantArrayTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ParameterizedDefault.java ! test/langtools/tools/javac/valhalla/lworld-values/Point.java ! test/langtools/tools/javac/valhalla/lworld-values/ProjectedArrayDotClass.java ! test/langtools/tools/javac/valhalla/lworld-values/QPoint.java ! test/langtools/tools/javac/valhalla/lworld-values/QTypedValue.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/SideEffectTest.java ! test/langtools/tools/javac/valhalla/lworld-values/SneakThroSuperCallTest.java ! test/langtools/tools/javac/valhalla/lworld-values/TypeRelationsNegativeTest.java ! test/langtools/tools/javac/valhalla/lworld-values/TypeRelationsTest.java ! test/langtools/tools/javac/valhalla/lworld-values/UncheckedDefault.java ! test/langtools/tools/javac/valhalla/lworld-values/UnrelatedThisLeak.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueAnnotationOnAnonymousClass.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueAnnotationOnAnonymousClass.out ! test/langtools/tools/javac/valhalla/lworld-values/ValueAnnotationTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueBasedWarningsTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueBootstrapMethodsTest.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/ValueModifierTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueModifierTest.out ! test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueOverGenericsTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ValuesAsRefs.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldAccessorTest.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldNegativeTests.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfExplicitSelector.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfGenericType.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfImplicitThis.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOperatorTest.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldRuntimeTest.java From srikanth.adayapalam at oracle.com Tue Jun 4 05:30:53 2019 From: srikanth.adayapalam at oracle.com (Srikanth) Date: Tue, 4 Jun 2019 11:00:53 +0530 Subject: hg: valhalla/valhalla: 8225222: [lworld]: Withdraw support for value modifier and @__value__ annotation In-Reply-To: <201906040526.x545QS5H026111@aojmv0008.oracle.com> References: <201906040526.x545QS5H026111@aojmv0008.oracle.com> Message-ID: <1d7441a3-dec0-9f45-aeb3-434813717f0c@oracle.com> As warned well in advance, this change set removes the value modifier and @__value__ annotation. Anyone still using them should use the inine modifier and @__inline__ annotation to get their code to compile. Srikanth On 04/06/19 10:56 AM, srikanth.adayapalam at oracle.com wrote: > Changeset: bfc6acdf88b3 > Author: sadayapalam > Date: 2019-06-04 10:56 +0530 > URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bfc6acdf88b3 > > 8225222: [lworld]: Withdraw support for value modifier and @__value__ annotation > > - src/java.base/share/classes/java/lang/__value__.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 > ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java > ! test/langtools/tools/javac/valhalla/lworld-values/AnonymousValue.java > ! test/langtools/tools/javac/valhalla/lworld-values/AnonymousValueType.java > ! test/langtools/tools/javac/valhalla/lworld-values/ArrayCreationWithQuestion.java > ! test/langtools/tools/javac/valhalla/lworld-values/ArrayRelationsTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/AssortedTests.java > ! test/langtools/tools/javac/valhalla/lworld-values/BoxValCastTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/CanonicalCtorTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/CastNullCheckTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/ChainedAssignmentTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckClone.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckClone.out > ! test/langtools/tools/javac/valhalla/lworld-values/CheckCyclicMembership.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckExtends.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckExtends.out > ! test/langtools/tools/javac/valhalla/lworld-values/CheckFieldDescriptors.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckFinal.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckFinalize.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableCycles.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableSyntheticFields.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/CheckLocalClasses.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckMakeDefault.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckMakeDefault.out > ! test/langtools/tools/javac/valhalla/lworld-values/CheckMultiDimensionalArrayStore.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/CheckNullWithQuestion.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckQuestionInMessages.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckSeparateCompile0.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/CheckThisLeak.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckThisLeakVBC.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueFactoryWithReference.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueModifier.java > ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueModifier.out > ! test/langtools/tools/javac/valhalla/lworld-values/CompilesJustFine.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/DocLintSyntheticsTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/EmptyValueTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/EmptyValueTest.out > ! test/langtools/tools/javac/valhalla/lworld-values/FinalFieldTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/FlattenableFlagFromClass.java > ! test/langtools/tools/javac/valhalla/lworld-values/FlattenableNegativeTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/GenericArrayRegression.java > ! test/langtools/tools/javac/valhalla/lworld-values/GenericArrayTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/GenericsAndValues1.java > ! test/langtools/tools/javac/valhalla/lworld-values/GenericsAndValues2.java > ! test/langtools/tools/javac/valhalla/lworld-values/GenericsAndValues3.java > ! test/langtools/tools/javac/valhalla/lworld-values/GenericsWithQuestion.java > ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest.out > ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest2.java > ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest2.out > ! test/langtools/tools/javac/valhalla/lworld-values/InferredValueParameterizationTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/InnerClassAttributeValuenessTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java > ! test/langtools/tools/javac/valhalla/lworld-values/IntercastTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/IntercastTest2.java > ! test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java > ! test/langtools/tools/javac/valhalla/lworld-values/LookupOnLoxTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/LookupOnLoxTest2.java > ! test/langtools/tools/javac/valhalla/lworld-values/MiscThisLeak.java > ! test/langtools/tools/javac/valhalla/lworld-values/MyValue.java > ! test/langtools/tools/javac/valhalla/lworld-values/NoncovariantArrayTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/ParameterizedDefault.java > ! test/langtools/tools/javac/valhalla/lworld-values/Point.java > ! test/langtools/tools/javac/valhalla/lworld-values/ProjectedArrayDotClass.java > ! test/langtools/tools/javac/valhalla/lworld-values/QPoint.java > ! test/langtools/tools/javac/valhalla/lworld-values/QTypedValue.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/SideEffectTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/SneakThroSuperCallTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/TypeRelationsNegativeTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/TypeRelationsTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/UncheckedDefault.java > ! test/langtools/tools/javac/valhalla/lworld-values/UnrelatedThisLeak.java > ! test/langtools/tools/javac/valhalla/lworld-values/ValueAnnotationOnAnonymousClass.java > ! test/langtools/tools/javac/valhalla/lworld-values/ValueAnnotationOnAnonymousClass.out > ! test/langtools/tools/javac/valhalla/lworld-values/ValueAnnotationTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/ValueBasedWarningsTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/ValueBootstrapMethodsTest.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/ValueModifierTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/ValueModifierTest.out > ! test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java > ! test/langtools/tools/javac/valhalla/lworld-values/ValueOverGenericsTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/ValuesAsRefs.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldAccessorTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldNegativeTests.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfExplicitSelector.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfGenericType.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfImplicitThis.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOperatorTest.java > ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldRuntimeTest.java > From srikanth.adayapalam at oracle.com Tue Jun 4 06:56:23 2019 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Tue, 04 Jun 2019 06:56:23 +0000 Subject: hg: valhalla/valhalla: [lworld]: Change value modifier to inline in benchmarks Message-ID: <201906040656.x546uOBs015898@aojmv0008.oracle.com> Changeset: 55053b493c67 Author: sadayapalam Date: 2019-06-04 12:26 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/55053b493c67 [lworld]: Change value modifier to inline in benchmarks ! test/micro/org/openjdk/bench/valhalla/lworld/matrix/Complex.java From srikanth.adayapalam at oracle.com Tue Jun 4 08:27:15 2019 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Tue, 04 Jun 2019 08:27:15 +0000 Subject: hg: valhalla/valhalla: [lworld]: Change a few lingering value modifiers to inline Message-ID: <201906040827.x548RGKx009013@aojmv0008.oracle.com> Changeset: a5f247d5d36c Author: sadayapalam Date: 2019-06-04 13:56 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a5f247d5d36c [lworld]: Change a few lingering value modifiers to inline ! test/langtools/tools/javac/diags/examples/GenericParameterizationWithValueType.java ! test/langtools/tools/javac/diags/examples/ValueInstanceFieldExpectedHere.java ! test/langtools/tools/javac/diags/examples/ValuesNotSupported.java ! test/langtools/tools/javac/diags/examples/WithFieldOperatorDisallowed.java From david.simms at oracle.com Tue Jun 4 14:45:30 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Tue, 04 Jun 2019 14:45:30 +0000 Subject: hg: valhalla/valhalla: [lworld] Disable UseSharedSpace by default Message-ID: <201906041445.x54EjVbZ004609@aojmv0008.oracle.com> Changeset: bd2896e93b2c Author: dsimms Date: 2019-06-04 16:04 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bd2896e93b2c [lworld] Disable UseSharedSpace by default ! src/hotspot/share/runtime/globals.hpp From david.simms at oracle.com Tue Jun 4 14:47:11 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Tue, 04 Jun 2019 14:47:11 +0000 Subject: hg: valhalla/valhalla: 187 new changesets Message-ID: <201906041447.x54ElL9G005332@aojmv0008.oracle.com> Changeset: cdb107ca16e6 Author: redestad Date: 2019-05-23 18:43 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cdb107ca16e6 8224202: Speed up Properties.load Reviewed-by: rriggs, igerasim ! src/java.base/share/classes/java/util/Properties.java Changeset: 8559810c60f8 Author: aeubanks Date: 2019-05-23 09:03 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8559810c60f8 8224635: Revert 8224256 and add back java/security/SecureClassLoader/DefineClass.java test Reviewed-by: mullan Contributed-by: aeubanks at google.com ! test/jdk/ProblemList.txt ! test/jdk/java/security/SecureClassLoader/DefineClass.java ! test/jdk/java/security/SecureClassLoader/DefineClass.policy Changeset: 2218f9d57d2f Author: ccheung Date: 2019-05-23 10:05 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2218f9d57d2f 8224264: [TESTBUG] HelloDynamicCustom.java test failed on the Windows platform in tiers 6 and 7 testing Summary: Making use of the DynamicArchiveTestBase class so that mapping failure can be handled more robustly. Reviewed-by: iklam ! test/hotspot/jtreg/runtime/appcds/dynamicArchive/HelloDynamicCustom.java Changeset: fb0cfce19262 Author: mseledtsov Date: 2019-05-23 11:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fb0cfce19262 8224165: [TESTBUG] Docker tests produce excessive output Summary: Trimmed child process output, saving child stdout to file Reviewed-by: dholmes, lmesnik ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 8dae495a59e7 Author: naoto Date: 2019-05-23 12:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8dae495a59e7 8221431: Support for Unicode 12.1 Reviewed-by: erikj, rriggs ! make/CompileJavaModules.gmk ! make/ToolsJdk.gmk ! make/data/characterdata/CharacterData00.java.template ! make/data/characterdata/CharacterData01.java.template + make/data/unicodedata/Blocks.txt + make/data/unicodedata/NormalizationTest.txt ! make/data/unicodedata/PropList.txt + make/data/unicodedata/PropertyValueAliases.txt ! make/data/unicodedata/Scripts.txt ! make/data/unicodedata/SpecialCasing.txt ! make/data/unicodedata/UnicodeData.txt ! make/data/unicodedata/VERSION + make/data/unicodedata/auxiliary/GraphemeBreakProperty.txt + make/data/unicodedata/auxiliary/GraphemeBreakTest.txt + make/data/unicodedata/emoji-data.txt ! make/gensrc/Gensrc-java.base.gmk + make/gensrc/GensrcEmojiData.gmk + make/jdk/src/classes/build/tools/generateemojidata/GenerateEmojiData.java ! src/java.base/share/classes/java/lang/Character.java + src/java.base/share/classes/java/util/regex/EmojiData.java.template ! src/java.base/share/classes/java/util/regex/Grapheme.java ! src/java.base/share/classes/java/util/regex/Pattern.java + src/java.base/share/classes/sun/text/normalizer/CodePointMap.java + src/java.base/share/classes/sun/text/normalizer/CodePointTrie.java ! src/java.base/share/classes/sun/text/normalizer/ICUBinary.java ! src/java.base/share/classes/sun/text/normalizer/Norm2AllModes.java ! src/java.base/share/classes/sun/text/normalizer/NormalizerImpl.java - src/java.base/share/classes/sun/text/resources/nfc.icu + src/java.base/share/classes/sun/text/resources/nfc.nrm - src/java.base/share/classes/sun/text/resources/nfkc.icu + src/java.base/share/classes/sun/text/resources/nfkc.nrm - src/java.base/share/classes/sun/text/resources/nfkc_cf.icu ! src/java.base/share/classes/sun/text/resources/ubidi.icu ! src/java.base/share/classes/sun/text/resources/uprops.icu ! src/java.base/share/legal/icu.md ! src/java.base/share/legal/unicode.md ! test/jdk/java/lang/Character/CharPropTest.java ! test/jdk/java/lang/Character/CheckProp.java ! test/jdk/java/lang/Character/CheckScript.java ! test/jdk/java/lang/Character/CheckUnicode.java - test/jdk/java/lang/Character/PropList.txt - test/jdk/java/lang/Character/PropertyValueAliases.txt - test/jdk/java/lang/Character/Scripts.txt - test/jdk/java/lang/Character/SpecialCasing.txt - test/jdk/java/lang/Character/UnicodeBlock/Blocks.txt ! test/jdk/java/lang/Character/UnicodeBlock/CheckBlocks.java ! test/jdk/java/lang/Character/UnicodeBlock/OptimalMapSize.java ! test/jdk/java/lang/Character/UnicodeCasingTest.java - test/jdk/java/lang/Character/UnicodeData.txt - test/jdk/java/lang/Character/charprop00.bin - test/jdk/java/lang/Character/charprop01.bin - test/jdk/java/lang/Character/charprop02.bin - test/jdk/java/lang/Character/charprop03.bin - test/jdk/java/lang/Character/charprop0E.bin - test/jdk/java/lang/Character/charprop0F.bin - test/jdk/java/lang/Character/charprop10.bin ! test/jdk/java/lang/String/SpecialCasingTest.java ! test/jdk/java/lang/String/UnicodeCasingTest.java + test/jdk/java/text/Normalizer/ConformanceTest.java + test/jdk/java/text/Normalizer/DataValidationTest.java + test/jdk/java/text/Normalizer/ICUBasicTest.java + test/jdk/java/text/Normalizer/ICUNormalizationTest.txt + test/jdk/java/text/Normalizer/NormalizationTest-3.2.0.Corrigendum4.txt + test/jdk/java/text/Normalizer/NormalizationTest-3.2.0.txt + test/jdk/java/text/Normalizer/SquareEraCharacterTest.java - test/jdk/java/util/regex/GraphemeBreakProperty.txt - test/jdk/java/util/regex/GraphemeBreakTest.txt ! test/jdk/java/util/regex/GraphemeTest.java ! test/jdk/java/util/regex/RegExTest.java + test/jdk/lib/testlibrary/java/lang/UCDFiles.java Changeset: 8b43726c1a47 Author: iklam Date: 2019-05-23 12:57 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8b43726c1a47 8224689: ProblemList runtime/appcds/SharedArchiveConsistency.java Reviewed-by: ccheung, dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 738285c4d1e1 Author: rkennke Date: 2019-05-23 17:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/738285c4d1e1 8224667: Shenandoah: Post-LRB cleanup Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: 4f98fcd1bf16 Author: igerasim Date: 2019-05-23 13:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4f98fcd1bf16 7061590: Javadoc issues in Charset and StandardCharsets Reviewed-by: alanb, jjg ! src/java.base/share/classes/java/nio/charset/Charset.java ! src/java.base/share/classes/java/nio/charset/StandardCharsets.java Changeset: 5dc15cb1405c Author: erikj Date: 2019-05-23 14:13 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5dc15cb1405c 8224677: Dtrace .d files clash with make dependency .d files Reviewed-by: tbell ! make/hotspot/lib/JvmDtraceObjects.gmk Changeset: ecb7b9a98f0e Author: erikj Date: 2019-05-23 14:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ecb7b9a98f0e 8224145: Build compare script fails intermittently on test image native libraries Reviewed-by: tbell ! make/scripts/compare.sh ! make/scripts/compare_exceptions.sh.incl Changeset: c55404ed4bd9 Author: jwilhelm Date: 2019-05-24 03:17 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c55404ed4bd9 8224715: ProblemList compiler/graalunit/HotspotJdk9Test.java Reviewed-by: mikael ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 2bcb825c8edf Author: mseledtsov Date: 2019-05-23 18:31 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2bcb825c8edf 8224706: [TESTBUG] problem list failing JDK docker API tests Summary: Put the failing tests on a problem list Reviewed-by: lmesnik ! test/jdk/ProblemList.txt Changeset: d84176dd57b0 Author: darcy Date: 2019-05-23 18:47 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d84176dd57b0 8224177: Harden annotation processing framework to irregular behavior from processors Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/diags/examples/DuplicateSupportedInfoFromProc/DuplicateSupportedInfoFromProc.java + test/langtools/tools/javac/diags/examples/DuplicateSupportedInfoFromProc/processors/AnnoProc.java ! test/langtools/tools/javac/diags/examples/MalformedSupported/MalformedSupported.java + test/langtools/tools/javac/diags/examples/RedundantTypesWithWildcardProc/RedundantTypesWithWildcardProc.java + test/langtools/tools/javac/diags/examples/RedundantTypesWithWildcardProc/processors/AnnoProc.java + test/langtools/tools/javac/processing/warnings/TestRepeatedItemsRuntime.java + test/langtools/tools/javac/processing/warnings/auric_current.out Changeset: 9785b9fb328e Author: clanger Date: 2019-05-24 07:56 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9785b9fb328e 8223553: Fix code constructs that do not compile with the Eclipse Java Compiler Reviewed-by: smarks, dfuchs ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.management/share/classes/java/lang/management/ManagementFactory.java ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java Changeset: d56d8e40b6cd Author: stuefe Date: 2019-05-24 09:02 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d56d8e40b6cd 8220394: bufferedStream does not honor size limit Reviewed-by: dholmes, clanger ! src/hotspot/share/utilities/ostream.cpp ! src/hotspot/share/utilities/ostream.hpp ! test/hotspot/gtest/utilities/test_ostream.cpp Changeset: 948385f851f2 Author: lucy Date: 2019-05-23 18:50 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/948385f851f2 8224652: 32-bit build failures after JDK-8213084 Reviewed-by: thartmann, shade Contributed-by: shade at redhat.com ! src/hotspot/share/compiler/abstractDisassembler.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: e93621d4db2c Author: thartmann Date: 2019-05-24 09:51 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e93621d4db2c 8224723: [TESTBUG] compiler/arraycopy/TestArrayCopyWithBadOffset.java failed Summary: Added missing -XX:+IgnoreUnrecognizedVMOptions Reviewed-by: thartmann Contributed-by: wangxue at loongson.cn ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyWithBadOffset.java Changeset: a8673ccddffd Author: dkejriwal Date: 2019-05-23 12:36 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a8673ccddffd 8214563: Use {@systemProperty} in specification of system properties in java.nio packages 8214565: Use {@systemProperty} for definitions of system properties Reviewed-by: alanb, rriggs ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/io/ObjectInputFilter.java ! src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java ! src/java.base/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/java.base/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java Changeset: adb2493b120e Author: jlahoda Date: 2019-05-24 12:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/adb2493b120e 8220702: compiling in the context of an automatic module disallows --add-modules ALL-MODULE-PATH Summary: Allow --add-modules ALL-MODULE-PATH when compiling in the context of an automatic module. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/modules/AutomaticModules.java Changeset: da5435d9a801 Author: zgu Date: 2019-05-24 09:23 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/da5435d9a801 8224679: Shenandoah: Make ShenandoahParallelCodeCacheIterator noncopyable Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp Changeset: fc66237d5eae Author: zgu Date: 2019-05-22 21:24 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fc66237d5eae 8224115: Shenandoah: Eliminate RWLock that protects recorded nmethod data array Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp Changeset: 703b2c04fc2c Author: lucy Date: 2019-05-24 15:36 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/703b2c04fc2c 8224742: JLONG_FORMAT_W incompatible with type jlong Reviewed-by: thartmann, clanger ! src/hotspot/share/utilities/globalDefinitions_gcc.hpp Changeset: 37a077319427 Author: dfuchs Date: 2019-05-24 15:34 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/37a077319427 8224603: Replace wildcard address with loopback or local host in tests - part 11 Summary: Fixes a batch of tests that were observed failing intermittently. Reviewed-by: chegar, vtewari ! test/jdk/com/sun/net/httpserver/SelCacheTest.java ! test/jdk/com/sun/net/httpserver/bugs/6725892/Test.java ! test/jdk/java/net/Authenticator/B4722333.java ! test/jdk/java/net/DatagramSocket/Send12k.java ! test/jdk/java/net/Socket/CloseAvailable.java ! test/jdk/java/net/Socket/setReuseAddress/Restart.java ! test/jdk/java/net/Socks/BadProxySelector.java ! test/jdk/java/net/Socks/SocksProxyVersion.java ! test/jdk/java/net/URLPermission/URLTest.java ! test/jdk/sun/net/www/http/ChunkedOutputStream/CheckError.java ! test/jdk/sun/net/www/httptest/TestHttpServer.java ! test/jdk/sun/net/www/protocol/https/ChunkedOutputStream.java ! test/jdk/sun/net/www/protocol/https/TestHttpsServer.java Changeset: 11d9cd8d99f3 Author: dl Date: 2019-05-24 08:39 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/11d9cd8d99f3 8224698: ConcurrentSkipListMap.java does not compile with the Eclipse Java Compiler Reviewed-by: martin, clanger, smarks, dfuchs ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java Changeset: c72451a9f67e Author: dl Date: 2019-05-24 08:43 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c72451a9f67e 8224176: Fix inconsistencies in @jls tags in java.util.concurrent Reviewed-by: martin, darcy, jjg ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicLong.java Changeset: f46be958c4ac Author: dl Date: 2019-05-24 08:47 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f46be958c4ac 8224024: java/util/concurrent/BlockingQueue/DrainToFails.java testBounded fails intermittently Reviewed-by: martin ! test/jdk/java/util/concurrent/BlockingQueue/DrainToFails.java Changeset: 3a30c73838f6 Author: dl Date: 2019-05-24 08:51 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3a30c73838f6 8220478: java/util/concurrent/ConcurrentHashMap/ToArray.java timed out intermittently 8223379: Clarify ForkJoinPool.getStealCount() javadoc Reviewed-by: martin ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 265b110fc022 Author: dl Date: 2019-05-24 08:55 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/265b110fc022 8223245: Miscellaneous changes imported from jsr166 CVS 2019-06 Reviewed-by: martin ! src/java.base/share/classes/java/util/ArrayList.java ! src/java.base/share/classes/java/util/Vector.java Changeset: 290679ec47bb Author: rhalade Date: 2019-05-24 09:47 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/290679ec47bb 8202651: Test ComodoCA.java fails Reviewed-by: mullan ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java Changeset: 4ccc8d8bc02b Author: joehw Date: 2019-05-24 10:28 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4ccc8d8bc02b 8223658: Performance regression of XML.validation in 13-b19 Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java Changeset: 4947a097db60 Author: lancea Date: 2019-05-24 15:06 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4947a097db60 8224682: Remove the com.sun.CORBA.ORBIorTypeCheckRegistryFilter security property Reviewed-by: bchristi ! src/java.base/share/conf/security/java.security ! test/lib/jdk/test/lib/security/JDKSecurityProperties.java Changeset: 0627b8ad33c1 Author: weijun Date: 2019-05-25 08:30 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0627b8ad33c1 6682540: Incorrect SASL DIGEST-MD5 behavior Reviewed-by: jnimeh ! src/java.security.sasl/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java + test/jdk/com/sun/security/sasl/digest/HasInitialResponse.java Changeset: 18f94e911c55 Author: sspitsyn Date: 2019-05-24 21:05 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/18f94e911c55 8046018: JVMTI Spec: can_redefine_any_class capability spec is inconsistent Summary: Make the "can_redefine_any_class" capability spec clear and consistent Reviewed-by: alanb, cjplummer, dholmes, dcubed, jcbeyler ! src/hotspot/share/prims/jvmti.xml Changeset: 6264783438f6 Author: clanger Date: 2019-05-25 10:54 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6264783438f6 8224727: Problem list test security/infra/java/security/cert/CertPathValidator/certification/ActalisCA.java Reviewed-by: rhalade ! test/jdk/ProblemList.txt Changeset: d871ce8ab96b Author: ysuenaga Date: 2019-05-25 20:55 +0900 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d871ce8ab96b 8224252: [TESTBUG] hotspot/test/serviceability/sa/sadebugd/SADebugDTest.java is timing out again after fix for JDK-8163805 Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java Changeset: d3afe760b392 Author: mbaesken Date: 2019-05-23 15:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d3afe760b392 8224221: add memprotect calls to event log Reviewed-by: dholmes, mdoerr ! 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/share/runtime/globals.hpp ! src/hotspot/share/utilities/events.hpp Changeset: 3a8433d967ea Author: aefimov Date: 2019-05-27 13:29 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3a8433d967ea 8224035: Replace wildcard address with loopback or local host in tests - part 9 Reviewed-by: dfuchs ! test/jdk/java/net/ServerSocket/ThreadStop.java ! test/jdk/java/net/Socket/asyncClose/Race.java ! test/jdk/java/net/URLClassLoader/HttpTest.java ! test/jdk/java/net/URLConnection/TimeoutTest.java ! test/jdk/sun/net/www/http/HttpClient/CookieHttpClientTest.java ! test/jdk/sun/net/www/protocol/http/HttpInputStream.java ! test/jdk/sun/net/www/protocol/http/HttpStreams.java ! test/jdk/sun/net/www/protocol/http/RedirectOnPost.java ! test/jdk/sun/net/www/protocol/http/SetChunkedStreamingMode.java ! test/jdk/sun/net/www/protocol/http/SetIfModifiedSince.java Changeset: 7f03c3e42628 Author: rkennke Date: 2019-05-27 14:57 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7f03c3e42628 8224836: Backout: JDK-8224626: Shenandoah: Elide barriers on uncommon traps Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: 3131927311ee Author: dfuchs Date: 2019-05-27 19:24 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3131927311ee 8224761: Replace wildcard address with loopback or local host in tests - part 12 Summary: fixes a batch of intermittent failures. Reviewed-by: chegar, vtewari ! test/jdk/com/sun/net/httpserver/Test6a.java ! test/jdk/java/net/MulticastSocket/UnreferencedMulticastSockets.java ! test/jdk/java/net/ProxySelector/ProxyTest.java ! test/jdk/java/net/ResponseCache/Test.java ! test/jdk/java/net/URLConnection/ZeroContentLength.java ! test/jdk/sun/net/www/http/HttpClient/B6726695.java ! test/jdk/sun/net/www/http/KeepAliveStream/InfiniteLoop.java ! test/jdk/sun/net/www/protocol/http/HttpOnly.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java ! test/lib/jdk/test/lib/NetworkConfiguration.java Changeset: 812212323fb1 Author: zgu Date: 2019-05-27 14:34 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/812212323fb1 8224751: Shenandoah: Shenandoah Verifier should select proper roots according to current GC cycle Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 4853b1ceb3d6 Author: iignatyev Date: 2019-05-27 19:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4853b1ceb3d6 8222414: bring googlemock v1.8.1 Reviewed-by: erikj, rwestberg ! make/hotspot/lib/CompileGtest.gmk - test/fmw/gtest/CHANGES - test/fmw/gtest/CONTRIBUTORS - test/fmw/gtest/LICENSE - test/fmw/gtest/README.md + test/fmw/gtest/googlemock/CHANGES + test/fmw/gtest/googlemock/CONTRIBUTORS + test/fmw/gtest/googlemock/LICENSE + test/fmw/gtest/googlemock/README.md + test/fmw/gtest/googlemock/include/gmock/gmock-actions.h + test/fmw/gtest/googlemock/include/gmock/gmock-cardinalities.h + test/fmw/gtest/googlemock/include/gmock/gmock-generated-actions.h + test/fmw/gtest/googlemock/include/gmock/gmock-generated-actions.h.pump + test/fmw/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h + test/fmw/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump + test/fmw/gtest/googlemock/include/gmock/gmock-generated-matchers.h + test/fmw/gtest/googlemock/include/gmock/gmock-generated-matchers.h.pump + test/fmw/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h + test/fmw/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump + test/fmw/gtest/googlemock/include/gmock/gmock-matchers.h + test/fmw/gtest/googlemock/include/gmock/gmock-more-actions.h + test/fmw/gtest/googlemock/include/gmock/gmock-more-matchers.h + test/fmw/gtest/googlemock/include/gmock/gmock-spec-builders.h + test/fmw/gtest/googlemock/include/gmock/gmock.h + test/fmw/gtest/googlemock/include/gmock/internal/custom/README.md + test/fmw/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h + test/fmw/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump + test/fmw/gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h + test/fmw/gtest/googlemock/include/gmock/internal/custom/gmock-port.h + test/fmw/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h + test/fmw/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump + test/fmw/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h + test/fmw/gtest/googlemock/include/gmock/internal/gmock-port.h + test/fmw/gtest/googlemock/src/gmock-all.cc + test/fmw/gtest/googlemock/src/gmock-cardinalities.cc + test/fmw/gtest/googlemock/src/gmock-internal-utils.cc + test/fmw/gtest/googlemock/src/gmock-matchers.cc + test/fmw/gtest/googlemock/src/gmock-spec-builders.cc + test/fmw/gtest/googlemock/src/gmock.cc + test/fmw/gtest/googlemock/src/gmock_main.cc + test/fmw/gtest/googletest/CHANGES + test/fmw/gtest/googletest/CONTRIBUTORS + test/fmw/gtest/googletest/LICENSE + test/fmw/gtest/googletest/README.md + test/fmw/gtest/googletest/include/gtest/gtest-death-test.h + test/fmw/gtest/googletest/include/gtest/gtest-message.h + test/fmw/gtest/googletest/include/gtest/gtest-param-test.h + test/fmw/gtest/googletest/include/gtest/gtest-param-test.h.pump + test/fmw/gtest/googletest/include/gtest/gtest-printers.h + test/fmw/gtest/googletest/include/gtest/gtest-spi.h + test/fmw/gtest/googletest/include/gtest/gtest-test-part.h + test/fmw/gtest/googletest/include/gtest/gtest-typed-test.h + test/fmw/gtest/googletest/include/gtest/gtest.h + test/fmw/gtest/googletest/include/gtest/gtest_pred_impl.h + test/fmw/gtest/googletest/include/gtest/gtest_prod.h + test/fmw/gtest/googletest/include/gtest/internal/custom/README.md + test/fmw/gtest/googletest/include/gtest/internal/custom/gtest-port.h + test/fmw/gtest/googletest/include/gtest/internal/custom/gtest-printers.h + test/fmw/gtest/googletest/include/gtest/internal/custom/gtest.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-filepath.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-internal.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-linked_ptr.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump + test/fmw/gtest/googletest/include/gtest/internal/gtest-param-util.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-port-arch.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-port.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-string.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-tuple.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-tuple.h.pump + test/fmw/gtest/googletest/include/gtest/internal/gtest-type-util.h + test/fmw/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump + test/fmw/gtest/googletest/src/gtest-all.cc + test/fmw/gtest/googletest/src/gtest-death-test.cc + test/fmw/gtest/googletest/src/gtest-filepath.cc + test/fmw/gtest/googletest/src/gtest-internal-inl.h + test/fmw/gtest/googletest/src/gtest-port.cc + test/fmw/gtest/googletest/src/gtest-printers.cc + test/fmw/gtest/googletest/src/gtest-test-part.cc + test/fmw/gtest/googletest/src/gtest-typed-test.cc + test/fmw/gtest/googletest/src/gtest.cc + test/fmw/gtest/googletest/src/gtest_main.cc - test/fmw/gtest/include/gtest/gtest-death-test.h - test/fmw/gtest/include/gtest/gtest-message.h - test/fmw/gtest/include/gtest/gtest-param-test.h - test/fmw/gtest/include/gtest/gtest-param-test.h.pump - test/fmw/gtest/include/gtest/gtest-printers.h - test/fmw/gtest/include/gtest/gtest-spi.h - test/fmw/gtest/include/gtest/gtest-test-part.h - test/fmw/gtest/include/gtest/gtest-typed-test.h - test/fmw/gtest/include/gtest/gtest.h - test/fmw/gtest/include/gtest/gtest_pred_impl.h - test/fmw/gtest/include/gtest/gtest_prod.h - test/fmw/gtest/include/gtest/internal/custom/README.md - test/fmw/gtest/include/gtest/internal/custom/gtest-port.h - test/fmw/gtest/include/gtest/internal/custom/gtest-printers.h - test/fmw/gtest/include/gtest/internal/custom/gtest.h - test/fmw/gtest/include/gtest/internal/gtest-death-test-internal.h - test/fmw/gtest/include/gtest/internal/gtest-filepath.h - test/fmw/gtest/include/gtest/internal/gtest-internal.h - test/fmw/gtest/include/gtest/internal/gtest-linked_ptr.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h.pump - test/fmw/gtest/include/gtest/internal/gtest-param-util.h - test/fmw/gtest/include/gtest/internal/gtest-port-arch.h - test/fmw/gtest/include/gtest/internal/gtest-port.h - test/fmw/gtest/include/gtest/internal/gtest-string.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h.pump - test/fmw/gtest/include/gtest/internal/gtest-type-util.h - test/fmw/gtest/include/gtest/internal/gtest-type-util.h.pump - test/fmw/gtest/src/gtest-all.cc - test/fmw/gtest/src/gtest-death-test.cc - test/fmw/gtest/src/gtest-filepath.cc - test/fmw/gtest/src/gtest-internal-inl.h - test/fmw/gtest/src/gtest-port.cc - test/fmw/gtest/src/gtest-printers.cc - test/fmw/gtest/src/gtest-test-part.cc - test/fmw/gtest/src/gtest-typed-test.cc - test/fmw/gtest/src/gtest.cc - test/fmw/gtest/src/gtest_main.cc ! test/hotspot/gtest/gtestMain.cpp ! test/hotspot/gtest/unittest.hpp Changeset: feba48c5dfb4 Author: rraghavan Date: 2019-05-28 12:01 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/feba48c5dfb4 8213416: Replace some enums with static const members in hotspot/compiler Summary: Changes to fix enumeral and non-enumeral type in conditional expression warnings with -Wextra for gcc on hotspot Reviewed-by: kvn, thartmann ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/node.hpp Changeset: fb9758536458 Author: lucy Date: 2019-05-28 09:41 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fb9758536458 8224672: (lib)hsdis-.so search incorrect after JDK-8213084 Reviewed-by: kvn, shade ! src/hotspot/share/compiler/disassembler.cpp Changeset: 05a408cbd945 Author: coleenp Date: 2019-05-28 06:42 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/05a408cbd945 8220688: [TESTBUG] runtime/NMT/MallocStressTest.java timed out Summary: reduce number of threads and iterate rather than sleep. Reviewed-by: zgu, dholmes ! test/hotspot/jtreg/runtime/NMT/MallocStressTest.java Changeset: d58e1a447d2b Author: mgronlun Date: 2019-05-28 13:28 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d58e1a447d2b 8221121: applications/microbenchmarks are encountering crashes in tier5 Reviewed-by: egahlin, dholmes ! src/hotspot/share/jfr/recorder/storage/jfrBuffer.cpp ! src/hotspot/share/jfr/recorder/storage/jfrBuffer.hpp ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: 78e49883146f Author: aph Date: 2019-05-23 07:57 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/78e49883146f 8224671: AArch64: mauve System.arraycopy test failure Reviewed-by: adinn ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp Changeset: 755f1c66a891 Author: aph Date: 2019-05-28 08:25 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/755f1c66a891 Merge - src/hotspot/share/c1/c1_globals.cpp - src/hotspot/share/opto/c2_globals.cpp - src/java.base/share/classes/sun/text/resources/nfc.icu - src/java.base/share/classes/sun/text/resources/nfkc.icu - src/java.base/share/classes/sun/text/resources/nfkc_cf.icu - test/fmw/gtest/CHANGES - test/fmw/gtest/CONTRIBUTORS - test/fmw/gtest/LICENSE - test/fmw/gtest/README.md - test/fmw/gtest/include/gtest/gtest-death-test.h - test/fmw/gtest/include/gtest/gtest-message.h - test/fmw/gtest/include/gtest/gtest-param-test.h - test/fmw/gtest/include/gtest/gtest-param-test.h.pump - test/fmw/gtest/include/gtest/gtest-printers.h - test/fmw/gtest/include/gtest/gtest-spi.h - test/fmw/gtest/include/gtest/gtest-test-part.h - test/fmw/gtest/include/gtest/gtest-typed-test.h - test/fmw/gtest/include/gtest/gtest.h - test/fmw/gtest/include/gtest/gtest_pred_impl.h - test/fmw/gtest/include/gtest/gtest_prod.h - test/fmw/gtest/include/gtest/internal/custom/README.md - test/fmw/gtest/include/gtest/internal/custom/gtest-port.h - test/fmw/gtest/include/gtest/internal/custom/gtest-printers.h - test/fmw/gtest/include/gtest/internal/custom/gtest.h - test/fmw/gtest/include/gtest/internal/gtest-death-test-internal.h - test/fmw/gtest/include/gtest/internal/gtest-filepath.h - test/fmw/gtest/include/gtest/internal/gtest-internal.h - test/fmw/gtest/include/gtest/internal/gtest-linked_ptr.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h.pump - test/fmw/gtest/include/gtest/internal/gtest-param-util.h - test/fmw/gtest/include/gtest/internal/gtest-port-arch.h - test/fmw/gtest/include/gtest/internal/gtest-port.h - test/fmw/gtest/include/gtest/internal/gtest-string.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h.pump - test/fmw/gtest/include/gtest/internal/gtest-type-util.h - test/fmw/gtest/include/gtest/internal/gtest-type-util.h.pump - test/fmw/gtest/src/gtest-all.cc - test/fmw/gtest/src/gtest-death-test.cc - test/fmw/gtest/src/gtest-filepath.cc - test/fmw/gtest/src/gtest-internal-inl.h - test/fmw/gtest/src/gtest-port.cc - test/fmw/gtest/src/gtest-printers.cc - test/fmw/gtest/src/gtest-test-part.cc - test/fmw/gtest/src/gtest-typed-test.cc - test/fmw/gtest/src/gtest.cc - test/fmw/gtest/src/gtest_main.cc - test/jdk/java/lang/Character/PropList.txt - test/jdk/java/lang/Character/PropertyValueAliases.txt - test/jdk/java/lang/Character/Scripts.txt - test/jdk/java/lang/Character/SpecialCasing.txt - test/jdk/java/lang/Character/UnicodeBlock/Blocks.txt - test/jdk/java/lang/Character/UnicodeData.txt - test/jdk/java/lang/Character/charprop00.bin - test/jdk/java/lang/Character/charprop01.bin - test/jdk/java/lang/Character/charprop02.bin - test/jdk/java/lang/Character/charprop03.bin - test/jdk/java/lang/Character/charprop0E.bin - test/jdk/java/lang/Character/charprop0F.bin - test/jdk/java/lang/Character/charprop10.bin - test/jdk/java/util/regex/GraphemeBreakProperty.txt - test/jdk/java/util/regex/GraphemeBreakTest.txt - test/jdk/sun/management/windows/revokeall.c - test/jdk/sun/management/windows/revokeall.exe Changeset: 146f257274c9 Author: thartmann Date: 2019-05-28 14:53 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/146f257274c9 8224870: Problemlist compiler/c2/Test8004741.java until JDK-8214904 is fixed Summary: Added Test8004741 to problem list. Reviewed-by: shade ! test/hotspot/jtreg/ProblemList.txt Changeset: 63ab89cc3e69 Author: sundar Date: 2019-05-28 19:30 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/63ab89cc3e69 8216553: JrtFIleSystemProvider getPath(URI) omits /modules element from file path Reviewed-by: alanb, jlaskey ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystemProvider.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtPath.java ! test/jdk/jdk/internal/jrtfs/Basic.java ! test/langtools/tools/lib/toolbox/JarTask.java Changeset: 30094911fffd Author: aph Date: 2019-05-28 09:13 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/30094911fffd 8224880: AArch64: java/javac error with AllocatePrefetchDistance Reviewed-by: adinn ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: 0422b4b5cb8e Author: aph Date: 2019-05-28 10:20 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0422b4b5cb8e Merge Changeset: b5ca5b98037b Author: ccheung Date: 2019-05-28 09:40 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b5ca5b98037b 8224548: [TESTBUG] runtime/appcds/jvmti/ClassFileLoadHookTest.java failed: must be shared Summary: improve the -Xshare:auto case Reviewed-by: iklam, coleenp ! test/hotspot/jtreg/runtime/appcds/jvmti/ClassFileLoadHook.java ! test/hotspot/jtreg/runtime/appcds/jvmti/ClassFileLoadHookTest.java Changeset: d1fa0f8d8c9a Author: vdeshpande Date: 2019-05-28 09:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d1fa0f8d8c9a 8224558: Fix replicateB encoding Reviewed-by: thartmann, vlivanov ! src/hotspot/cpu/x86/x86.ad Changeset: 45128070fd15 Author: darcy Date: 2019-05-28 10:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/45128070fd15 8224783: Javadoc of String strip methods uses link where linkplain would be better Reviewed-by: lancea, jlaskey ! src/java.base/share/classes/java/lang/String.java Changeset: 51c699875f7c Author: coffeys Date: 2019-05-28 19:19 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/51c699875f7c 8042904: apple.security.KeychainStore.getSalt() calling generateSeed() Reviewed-by: jnimeh ! src/java.base/macosx/classes/apple/security/KeychainStore.java Changeset: cb35ce1770a0 Author: jjg Date: 2019-05-28 11:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cb35ce1770a0 8219147: Javadoc should expose covariant return type overrides Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java + test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg6/Base.java + test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg6/Sub.java Changeset: 103f9068c39f Author: jjg Date: 2019-05-28 11:22 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/103f9068c39f Merge Changeset: b9d1e2fbe51d Author: mullan Date: 2019-05-28 14:28 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b9d1e2fbe51d 8224885: ProblemList sun/security/tools/keytool/KeyToolTest.java and WeakAlgTest.java on Solaris Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 52a1bebd1355 Author: mullan Date: 2019-05-28 14:29 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/52a1bebd1355 Merge Changeset: f6260463dbe4 Author: rehn Date: 2019-05-28 20:47 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f6260463dbe4 8224795: some runtime/SelectionResolution tests are timing out Reviewed-by: dholmes, thartmann ! src/hotspot/share/code/nmethod.cpp Changeset: 6e0786d8451b Author: shade Date: 2019-05-28 21:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6e0786d8451b 8224796: C code is not compiled correctly due to undefined "i386" Reviewed-by: dholmes, mikael ! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.c ! src/jdk.hotspot.agent/macosx/native/libsaproc/ps_core.c Changeset: d850d0f41c72 Author: jlaskey Date: 2019-05-28 16:51 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d850d0f41c72 8224908: Revert: 8216553: JrtFileSystemProvider getPath(URI) omits /modules element from file path Reviewed-by: darcy, kbarrett ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystemProvider.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtPath.java ! test/jdk/jdk/internal/jrtfs/Basic.java ! test/langtools/tools/lib/toolbox/JarTask.java Changeset: 4e62485d2b18 Author: rraghavan Date: 2019-05-29 07:49 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4e62485d2b18 8220449: serviceability/dcmd/compiler/CodelistTest.java failure Summary: Added -XX:-BackgroundCompilation to test to eager initialize JVMCI Reviewed-by: gadams, thartmann ! test/hotspot/jtreg/serviceability/dcmd/compiler/CodelistTest.java Changeset: d0f73fccf5f3 Author: mbalao Date: 2019-05-28 19:01 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d0f73fccf5f3 8223482: Unsupported ciphersuites may be offered by a TLS client Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SSLCipher.java ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java ! test/jdk/sun/security/pkcs11/tls/tls12/FipsModeTLS12.java Changeset: f4702c8c9b3f Author: ysuenaga Date: 2019-05-29 13:50 +0900 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f4702c8c9b3f 8223814: SA: jhsdb common help needs to be more detailed Reviewed-by: dholmes, sspitsyn, ysuenaga Contributed-by: Osamu Sakamoto ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java Changeset: ea1e4a818785 Author: mbaesken Date: 2019-05-24 14:32 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ea1e4a818785 8224750: Display thread once in Internal exceptions event log lines Reviewed-by: mdoerr ! src/hotspot/share/utilities/events.cpp Changeset: 044f2ca6ce22 Author: stefank Date: 2019-05-29 09:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/044f2ca6ce22 8223392: Add missing BitMap comments for JDK-8222986 Reviewed-by: tschatzl, pliden ! src/hotspot/share/utilities/bitMap.cpp ! src/hotspot/share/utilities/bitMap.hpp Changeset: 785a12e0f89b Author: rkennke Date: 2019-05-29 12:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/785a12e0f89b 8224584: Shenandoah: Eliminate forwarding pointer word Reviewed-by: shade, roland ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.hpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 806b1c8e24b8 Author: hannesw Date: 2019-05-29 12:43 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/806b1c8e24b8 8222318: javadoc does not accept valid HTML5 entity names Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/doclint/Entity.java Changeset: e63a624da347 Author: mgronlun Date: 2019-05-29 13:30 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e63a624da347 8217089: JFR: Lazy install os interface components for improved startup Reviewed-by: dholmes, egahlin ! src/hotspot/share/jfr/periodic/jfrOSInterface.cpp Changeset: de371e2d1acc Author: roland Date: 2019-05-22 10:11 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/de371e2d1acc 8224496: Shenandoah compilation fails with assert(is_CountedLoopEnd()) failed: invalid node class Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: ef713640430e Author: hseigel Date: 2019-05-29 08:21 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ef713640430e 8224763: Update man pages to show deprecation of -Xverify:none Summary: Add the appropriate deprecation text Reviewed-by: dholmes, lfoltan ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/man/java.1 ! src/java.base/share/native/libjli/java.c Changeset: dd321e3596c0 Author: chegar Date: 2019-05-29 13:58 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dd321e3596c0 8224477: java.net socket types new-style socket option methods - spec and impl mismatch Reviewed-by: alanb ! src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/net/DatagramSocketImpl.java ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/Socket.java ! src/java.base/share/classes/java/net/SocketImpl.java ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/java.base/unix/classes/java/net/PlainDatagramSocketImpl.java ! src/java.base/unix/classes/java/net/PlainSocketImpl.java + test/jdk/java/net/DatagramSocketImpl/TestDefaultBehavior.java + test/jdk/java/net/SocketImpl/TestDefaultBehavior.java + test/jdk/java/net/SocketOption/AfterClose.java + test/jdk/java/net/SocketOption/NullsAndBadValues.java ! test/jdk/java/net/SocketOption/OptionsTest.java ! test/jdk/java/net/SocketOption/UnsupportedOptionsTest.java Changeset: 335f474becde Author: shade Date: 2019-05-29 15:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/335f474becde 8224970: ShenandoahRootScanner::roots_do assert is too strong Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: 2fc6027f0eed Author: zgu Date: 2019-05-29 09:43 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2fc6027f0eed 8224932: Shenandoah: Rename ShenandoahHeapLock, make it general purpose lock Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp - src/hotspot/share/gc/shenandoah/shenandoahHeapLock.hpp + src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Changeset: a8e2e273c943 Author: hannesw Date: 2019-05-29 15:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a8e2e273c943 8224982: JDK-8222318 breaks tools/doclint/html/EntitiesTest.java Reviewed-by: sundar ! src/jdk.compiler/share/classes/com/sun/tools/doclint/Entity.java Changeset: bda9984d8ee4 Author: xuelei Date: 2019-05-29 06:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bda9984d8ee4 8224981: Problemlist test/jdk/sun/security/pkcs11/tls/tls12/FipsModeTLS12.java Reviewed-by: mullan ! test/jdk/ProblemList.txt Changeset: dcda4663a926 Author: xuelei Date: 2019-05-29 07:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dcda4663a926 8224984: Problemlist javax/net/ssl/SSLSocket/Tls13PacketSize.java Reviewed-by: mullan ! test/jdk/ProblemList.txt Changeset: 82fe7292ca5c Author: gromero Date: 2019-05-22 12:17 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/82fe7292ca5c 8223660: jtreg: Decouple Unsafe from RTM tests Reviewed-by: mdoerr, shade ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMAbortRatio.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMAbortThreshold.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMLockingCalculationDelay.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMLockingThreshold.java ! test/hotspot/jtreg/compiler/rtm/locking/TestRTMTotalCountIncrRate.java ! test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMAfterLockInflation.java ! test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMDeopt.java ! test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMForInflatedLocks.java ! test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMForStackLocks.java ! test/hotspot/jtreg/compiler/rtm/method_options/TestNoRTMLockElidingOption.java ! test/hotspot/jtreg/compiler/rtm/method_options/TestUseRTMLockElidingOption.java ! test/hotspot/jtreg/compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java ! test/hotspot/jtreg/compiler/testlibrary/rtm/XAbortProvoker.java + test/hotspot/jtreg/compiler/testlibrary/rtm/libXAbortProvoker.c Changeset: 69a35cd74f7d Author: weijun Date: 2019-05-29 23:36 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/69a35cd74f7d 8223053: [xmldsig] Add KeyValue::EC_TYPE Reviewed-by: mullan ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyValue.java Changeset: 934d68e9c45d Author: zgu Date: 2019-05-29 10:57 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/934d68e9c45d 8224875: Shenandoah: ParallelCleaning code unloading should take lock to protect shared code roots array Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp Changeset: c1ad2862d0dd Author: darcy Date: 2019-05-29 09:53 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c1ad2862d0dd 8224012: AnnotatedType implementations of hashCode() lead to StackOverflowError Reviewed-by: jfranck ! src/java.base/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! test/jdk/java/lang/annotation/typeAnnotations/TestObjectMethods.java Changeset: c58772f2dbce Author: iignatyev Date: 2019-05-29 11:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c58772f2dbce 8224945: googlemock update breaks the build of arm32 and ppc Reviewed-by: dholmes, simonis ! test/hotspot/gtest/unittest.hpp Changeset: b034d2dee5fc Author: joehw Date: 2019-05-29 11:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b034d2dee5fc 8225005: Xerces 2.12.0: License file Reviewed-by: lancea ! src/java.xml/share/legal/xerces.md Changeset: b7ac60035a28 Author: aeubanks Date: 2019-05-16 15:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b7ac60035a28 8224081: SOCKS v4 doesn't work with IPv6 Reviewed-by: chegar, dfuchs, mullan, vtewari Contributed-by: aeubanks at google.com ! test/jdk/java/net/Socks/SocksProxyVersion.java ! test/jdk/sun/security/x509/URICertStore/SocksProxy.java Changeset: 80dd2b549354 Author: dlong Date: 2019-05-29 13:31 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/80dd2b549354 8224931: disable JAOTC invokedynamic support until 8223533 is fixed Reviewed-by: kvn, never ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Main.java Changeset: 3e5dba06a663 Author: xuelei Date: 2019-05-29 13:39 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3e5dba06a663 8224991: Problemlist javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java Reviewed-by: mullan ! test/jdk/ProblemList.txt Changeset: 234673929e0a Author: igerasim Date: 2019-05-29 13:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/234673929e0a 8224789: Parsing repetition count in regex does not detect numeric overflow Reviewed-by: rriggs, bchristi ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: ae908641e726 Author: clanger Date: 2019-05-29 22:30 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ae908641e726 8224729: Cleanups in sun/security/provider/certpath/ldap/LDAPCertStoreImpl.java Reviewed-by: mullan ! src/java.naming/share/classes/sun/security/provider/certpath/ldap/LDAPCertStoreImpl.java Changeset: 609dc5c60c06 Author: erikj Date: 2019-05-29 15:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/609dc5c60c06 8224011: Failure handling in ExecuteWithLog fails in run-test-prebuilt Reviewed-by: tbell ! make/RunTests.gmk ! make/RunTestsPrebuilt.gmk Changeset: a29fa5133004 Author: dcubed Date: 2019-05-29 19:25 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a29fa5133004 8225022: Put compiler/graalunit/JttThreadsTest.java on ProblemList-graal.txt Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 8df9bb8d2023 Author: jwilhelm Date: 2019-05-30 03:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8df9bb8d2023 Added tag jdk-13+23 for changeset b034d2dee5fc ! .hgtags Changeset: c41783eb76eb Author: dholmes Date: 2019-05-29 22:17 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c41783eb76eb 8224790: Remove Xusage.txt file Reviewed-by: alanb, dcubed, erikj, mchung ! make/hotspot/gensrc/GenerateSources.gmk - src/hotspot/share/Xusage.txt Changeset: 59567035d279 Author: alanb Date: 2019-05-30 07:19 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/59567035d279 8221481: Reimplement the Legacy Socket API Reviewed-by: michaelm, chegar ! src/java.base/share/classes/java/net/SocketImpl.java + src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! test/jdk/ProblemList.txt ! test/jdk/com/sun/net/httpserver/Test1.java ! test/jdk/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.java ! test/jdk/java/net/ServerSocket/UnreferencedSockets.java ! test/jdk/java/net/Socket/ConnectionReset.java ! test/jdk/java/net/Socket/Timeouts.java ! test/jdk/java/net/Socket/UdpSocket.java ! test/jdk/java/net/Socket/asyncClose/AsyncClose.java + test/jdk/java/net/SocketImpl/BadUsages.java + test/jdk/java/net/SocketImpl/CompareSocketOptions.java + test/jdk/java/net/SocketImpl/java.base/java/net/PlatformSocketImpl.java ! test/jdk/java/net/SocketOption/OptionsTest.java ! test/jdk/java/net/ipv6tests/TcpTest.java ! test/jdk/sun/security/ssl/SSLSocketImpl/NewSocketMethods.java Changeset: 8a1095447ae6 Author: shade Date: 2019-05-30 10:21 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8a1095447ae6 8225017: [TESTBUG] gc/shenandoah/oom/TestThreadFailure.java takes too long Reviewed-by: rkennke ! test/hotspot/jtreg/gc/shenandoah/oom/TestThreadFailure.java Changeset: a72e187adb54 Author: mgronlun Date: 2019-05-30 11:42 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a72e187adb54 8224172: assert(jfr_is_event_enabled(id)) failed: invariant Reviewed-by: dcubed, dholmes ! src/hotspot/share/jfr/support/jfrFlush.cpp Changeset: 9ad765641e8f Author: vlivanov Date: 2019-05-30 13:39 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ad765641e8f 8223213: Implement fast class initialization checks on x86-64 Reviewed-by: kvn, redestad, dholmes, mdoerr, coleenp ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/runtime/vm_version.hpp + test/hotspot/jtreg/runtime/clinit/ClassInitBarrier.java + test/hotspot/jtreg/runtime/clinit/libClassInitBarrier.cpp Changeset: ebc4e5a625e2 Author: chegar Date: 2019-05-30 12:36 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ebc4e5a625e2 8224730: java.net.ServerSocket::toString not invoking checkConnect Reviewed-by: alanb ! src/java.base/share/classes/java/net/ServerSocket.java + test/jdk/java/net/ServerSocket/TestLocalAddress.java Changeset: 931a4d5367a6 Author: sundar Date: 2019-05-30 17:30 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/931a4d5367a6 8224946: jrtfs URI to Path and Path to URI conversions are wrong Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystemProvider.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtPath.java ! test/jdk/jdk/internal/jrtfs/Basic.java ! test/jdk/tools/jlink/plugins/ExcludeVMPluginTest.java ! test/jdk/tools/jlink/plugins/SystemModuleDescriptors/ModuleTargetHelper.java ! test/langtools/tools/lib/toolbox/JarTask.java Changeset: 430da9dcfcb2 Author: bobv Date: 2019-05-30 07:07 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/430da9dcfcb2 8222252: Java ergonomics limits heap to 128GB with disabled compressed oops Reviewed-by: dholmes ! src/hotspot/share/runtime/arguments.cpp Changeset: 31f43d8e7afb Author: mullan Date: 2019-05-30 09:24 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/31f43d8e7afb 8224767: Add String constants for Canonical XML 1.1 URIs Reviewed-by: xuelei ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/CanonicalizationMethod.java ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java Changeset: 17f85a8780d5 Author: vlivanov Date: 2019-05-30 19:12 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/17f85a8780d5 8223216: C2: Unify class initialization checks between new, getstatic, and putstatic Reviewed-by: kvn, dlong ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse3.cpp ! src/hotspot/share/opto/parseHelper.cpp Changeset: 63fa55abb6d2 Author: chegar Date: 2019-05-30 18:10 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/63fa55abb6d2 8225060: java.net.DefaultInterface invokes NetworkInterface::getInetAddresses without doPriv Reviewed-by: alanb ! src/java.base/macosx/classes/java/net/DefaultInterface.java Changeset: ad4285992012 Author: jjg Date: 2019-05-30 10:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ad4285992012 8224257: fix issues in files generated by pandoc Reviewed-by: tbell, jjg, erikj Contributed-by: jonathan.gibbons at oracle.com, erik.joelsson at oracle.com ! make/Docs.gmk ! make/Main.gmk ! make/ToolsJdk.gmk Changeset: a41029c383bf Author: jjg Date: 2019-05-30 11:00 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a41029c383bf 8225066: Add missing file Reviewed-by: mchung + make/jdk/src/classes/build/tools/fixuppandoc/Main.java Changeset: 6515a96809a1 Author: fyang Date: 2019-05-30 10:29 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6515a96809a1 8224828: aarch64: rflags is not correct after safepoint poll Reviewed-by: aph, adinn Contributed-by: Xiang Yuan ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp Changeset: a0d4e61acb6b Author: skuksenko Date: 2019-05-30 12:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a0d4e61acb6b 8223504: Improve performance of forall loops by better inlining of "iterator()" methods Reviewed-by: vlivanov, shade ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/opto/bytecodeInfo.cpp Changeset: 5212c250f9a8 Author: jjg Date: 2019-05-30 13:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5212c250f9a8 8225077: fix references to broken link in java.compiler module Reviewed-by: darcy, lancea ! src/java.compiler/share/classes/javax/annotation/processing/Filer.java Changeset: b6418e5aad70 Author: sspitsyn Date: 2019-05-30 15:55 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b6418e5aad70 8223718: Checks in check_slot_type_no_lvt() should be always executed Summary: Call check_slot_type_no_lvt() even if the LVT is present Reviewed-by: kvn, gadams, amenkov ! src/hotspot/share/prims/jvmtiImpl.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal003/getlocal003.cpp Changeset: 9ea55cb79d77 Author: darcy Date: 2019-05-30 16:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ea55cb79d77 8224687: Add clarifying overrides of Element.asType to more specific subinterfaces Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java ! src/java.compiler/share/classes/javax/lang/model/element/ModuleElement.java ! src/java.compiler/share/classes/javax/lang/model/element/PackageElement.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeParameterElement.java ! src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java + test/langtools/tools/javac/processing/model/element/TestElementAsType.java Changeset: 04ff1e00635a Author: zgu Date: 2019-05-29 11:55 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/04ff1e00635a 8224978: Shenandoah: Allows root verifier to verify some roots outside safepoints with proper locks Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: b0513c833960 Author: jjg Date: 2019-05-30 17:28 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b0513c833960 8220251: fix headings in java.management Reviewed-by: lancea ! src/java.management.rmi/share/classes/javax/management/remote/rmi/package.html ! src/java.management/share/classes/java/lang/management/LockInfo.java ! src/java.management/share/classes/java/lang/management/ManagementFactory.java ! src/java.management/share/classes/java/lang/management/MemoryMXBean.java ! src/java.management/share/classes/java/lang/management/MemoryPoolMXBean.java ! src/java.management/share/classes/java/lang/management/MemoryUsage.java ! src/java.management/share/classes/java/lang/management/MonitorInfo.java ! src/java.management/share/classes/java/lang/management/ThreadInfo.java ! src/java.management/share/classes/java/lang/management/ThreadMXBean.java ! src/java.management/share/classes/java/lang/management/package.html ! src/java.management/share/classes/javax/management/MXBean.java ! src/java.management/share/classes/javax/management/NotificationBroadcaster.java ! src/java.management/share/classes/javax/management/NotificationEmitter.java ! src/java.management/share/classes/javax/management/remote/package.html ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBean.java ! src/jdk.management/share/classes/com/sun/management/GcInfo.java Changeset: f19a728d576d Author: zgu Date: 2019-05-30 21:12 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f19a728d576d 8225014: Separate ShenandoahRootScanner method for object_iterate Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp + test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java Changeset: d4475420fb9a Author: sundar Date: 2019-05-31 08:27 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d4475420fb9a 8216535: tools/jimage/JImageExtractTest.java timed out Reviewed-by: jlaskey ! test/jdk/tools/jimage/JImageExtractTest.java Changeset: 7b70f269fe0d Author: neliasso Date: 2019-05-31 10:13 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7b70f269fe0d 8224538: LoadBarrierNode::common_barrier must check address Reviewed-by: thartmann, kvn ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: f91999057a5a Author: redestad Date: 2019-05-31 12:20 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f91999057a5a 8224986: (str) optimize StringBuilder.append(CharSequence, int, int) for String arguments Reviewed-by: jlaskey, rriggs ! src/java.base/share/classes/java/lang/AbstractStringBuilder.java ! src/java.base/share/classes/java/lang/String.java ! test/micro/org/openjdk/bench/java/lang/StringBuilders.java Changeset: 89ac8ad48ac6 Author: phedlin Date: 2019-05-16 17:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/89ac8ad48ac6 8225110: IGV build definition uses non-secure transport Reviewed-by: neliasso ! src/utils/IdealGraphVisualizer/nbproject/platform.properties Changeset: d2bc284803bc Author: chegar Date: 2019-05-31 15:02 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d2bc284803bc 8224973: URLStreamHandler.openConnection(URL,Proxy) - spec and implementation mismatch Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/net/URLStreamHandler.java + test/jdk/java/net/URLStreamHandler/TestDefaultBehavior.java Changeset: f0ef081cb15d Author: azeller Date: 2019-05-28 20:12 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f0ef081cb15d 8194231: java/net/DatagramSocket/ReuseAddressTest.java failed with java.net.BindException: Address already in use: Cannot bind Summary: Changed test to no longer use hardcoded ports. Reviewed-by: chegar, clanger ! test/jdk/java/net/DatagramSocket/ReuseAddressTest.java Changeset: 35192d9c2b76 Author: pchilanomate Date: 2019-05-31 11:17 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/35192d9c2b76 8225016: Dead code due to VMOperationQueue::add() always returning true Summary: Removed dead code in vmThread.cpp Reviewed-by: coleenp, hseigel, dholmes ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/runtime/vmThread.hpp Changeset: baad58d0cbfe Author: jjg Date: 2019-05-31 09:26 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/baad58d0cbfe 8225094: Fix minor HTML issues in jdk.zipfs Reviewed-by: clanger, mchung, lancea ! src/jdk.zipfs/share/classes/module-info.java Changeset: e6e4de80e058 Author: hseigel Date: 2019-05-31 13:09 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e6e4de80e058 8222936: mlvm/anonloader/stress/randomBytecodes/Test.java fails due to "ERROR: There were 1 hangups during parsing." Summary: Prevent false failures by blocking the test until either it times out or the loading thread finishes Reviewed-by: dholmes, coleenp ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/StressClassLoadingTest.java Changeset: 9889f5e3ba00 Author: jjg Date: 2019-05-31 10:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9889f5e3ba00 8225129: Fix minor HTML issues in java.naming Reviewed-by: mchung, lancea ! src/java.naming/share/classes/javax/naming/directory/package.html ! src/java.naming/share/classes/javax/naming/event/package.html ! src/java.naming/share/classes/javax/naming/ldap/InitialLdapContext.java ! src/java.naming/share/classes/javax/naming/ldap/package.html ! src/java.naming/share/classes/javax/naming/package.html ! src/java.naming/share/classes/javax/naming/spi/package.html Changeset: 4c1b0b71c629 Author: bpb Date: 2019-05-31 11:13 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4c1b0b71c629 8225117: java/math/BigInteger/SymmetricRangeTests.java fails with ParseException Reviewed-by: darcy ! test/jdk/java/math/BigInteger/StringConstructorOverflow.java ! test/jdk/java/math/BigInteger/SymmetricRangeTests.java Changeset: 3f2f89737be5 Author: kbarrett Date: 2019-05-31 14:42 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3f2f89737be5 8219149: ProcessTools.ProcessBuilder should print timing info for subprocesses Summary: Add some timestamped logging messages to OutputBuffer. Reviewed-by: rriggs, dcubed, lmesnik, dholmes ! test/lib/jdk/test/lib/process/OutputBuffer.java Changeset: 72474808e305 Author: iklam Date: 2019-05-31 12:51 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/72474808e305 8224692: runtime/appcds tests crash in "HotSpotJVMCI::compute_offset" when running in Graal as JIT mode Reviewed-by: ccheung ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! test/hotspot/jtreg/runtime/appcds/dynamicArchive/NoClassToArchive.java Changeset: 8b1f7d88746a Author: erikj Date: 2019-05-31 13:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8b1f7d88746a 8219788: Configure recommends JDK 8 Reviewed-by: tbell ! make/autoconf/help.m4 Changeset: a3596ce8de19 Author: naoto Date: 2019-05-31 13:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a3596ce8de19 8223773: DateTimeFormatter Fails to throw an Exception on Invalid CLOCK_HOUR_OF_AMPM and HOUR_OF_AMPM Reviewed-by: lancea, scolebourne, rriggs ! src/java.base/share/classes/java/time/format/Parsed.java ! test/jdk/java/time/test/java/time/format/TestDateTimeParsing.java Changeset: c40c3e5d7c7a Author: cushon Date: 2019-05-22 15:30 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c40c3e5d7c7a 8224629: Unnecessary cast in LambdaToMethod Reviewed-by: vromero Contributed-by: Alan Malloy ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Changeset: b564f266dda0 Author: vromero Date: 2019-05-31 18:35 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b564f266dda0 8224083: javadoc Reporter generates warning for Kind.NOTE 8224082: NPE in javadoc Reporter Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Messager.java + test/langtools/jdk/javadoc/tool/reporter_generates_warnings/ReporterGeneratesWarningsInsteadOfNotes.java + test/langtools/jdk/javadoc/tool/reporter_generates_warnings/pkg/MyDoclet.java Changeset: 3ea18959a349 Author: ccheung Date: 2019-05-31 15:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3ea18959a349 8223336: Assert in VirtualMemoryTracker::remove_released_region when running the SharedArchiveConsistency.java test with -XX:NativeMemoryTracking=detail Summary: added the missing call MemTracker::record_virtual_memory_reserve_and_commit() Reviewed-by: jiangli, zgu ! src/hotspot/os/windows/os_windows.cpp ! test/hotspot/jtreg/ProblemList.txt Changeset: d4890c3721be Author: jjg Date: 2019-05-31 17:27 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d4890c3721be 8225134: Update man-page files Reviewed-by: erikj, mchung ! src/java.base/share/man/java.1 ! src/java.base/share/man/keytool.1 ! src/java.rmi/share/man/rmid.1 ! src/java.rmi/share/man/rmiregistry.1 ! src/java.scripting/share/man/jrunscript.1 ! src/jdk.compiler/share/man/javac.1 ! src/jdk.compiler/share/man/serialver.1 + src/jdk.hotspot.agent/share/man/jhsdb.1 ! src/jdk.jartool/share/man/jar.1 ! src/jdk.jartool/share/man/jarsigner.1 ! src/jdk.javadoc/share/man/javadoc.1 ! src/jdk.jcmd/share/man/jcmd.1 ! src/jdk.jcmd/share/man/jinfo.1 ! src/jdk.jcmd/share/man/jmap.1 ! src/jdk.jcmd/share/man/jps.1 ! src/jdk.jcmd/share/man/jstack.1 ! src/jdk.jcmd/share/man/jstat.1 ! src/jdk.jconsole/share/man/jconsole.1 ! src/jdk.jdeps/share/man/javap.1 + src/jdk.jdeps/share/man/jdeprscan.1 ! src/jdk.jdeps/share/man/jdeps.1 ! src/jdk.jdi/share/man/jdb.1 + src/jdk.jlink/share/man/jlink.1 + src/jdk.jlink/share/man/jmod.1 + src/jdk.jshell/share/man/jshell.1 ! src/jdk.jstatd/share/man/jstatd.1 ! src/jdk.pack/share/man/pack200.1 ! src/jdk.pack/share/man/unpack200.1 ! src/jdk.rmic/share/man/rmic.1 ! src/jdk.scripting.nashorn.shell/share/man/jjs.1 Changeset: db105c4c5776 Author: redestad Date: 2019-06-01 03:18 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/db105c4c5776 8225061: Performance regression in Regex Reviewed-by: naoto, alanb Contributed-by: claes.redestad at oracle.com, naoto.sato at oracle.com ! make/jdk/src/classes/build/tools/generateemojidata/GenerateEmojiData.java ! src/java.base/share/classes/java/util/regex/EmojiData.java.template ! src/java.base/share/classes/java/util/regex/Grapheme.java ! src/java.base/share/classes/java/util/regex/Pattern.java + test/micro/org/openjdk/bench/java/util/regex/PatternBench.java Changeset: e2dbcc6ed36d Author: rfield Date: 2019-06-01 13:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e2dbcc6ed36d 8080353: JShell: Better error message on attempting to add default method Summary: Special handling for errors with "default" modifier Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! test/langtools/ProblemList.txt ! test/langtools/jdk/jshell/ExceptionsTest.java ! test/langtools/jdk/jshell/MethodsTest.java Changeset: 905b2a416250 Author: rfield Date: 2019-06-01 14:09 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/905b2a416250 8223688: JShell: crash on the instantiation of raw anonymous class Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! test/langtools/jdk/jshell/ToolBasicTest.java Changeset: 65896ed82849 Author: shade Date: 2019-06-02 10:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/65896ed82849 8225104: 32-bit build failures after JDK-8222252 Reviewed-by: bobv, rkennke, dholmes ! src/hotspot/share/runtime/arguments.cpp Changeset: 249b2b4fcb7d Author: shade Date: 2019-06-02 10:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/249b2b4fcb7d 8225111: Make Shenandoah tests work with 32-bit VMs Reviewed-by: rkennke ! test/hotspot/jtreg/gc/TestHumongousReferenceObject.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/TestHumongousThreshold.java ! test/hotspot/jtreg/gc/shenandoah/TestLargeObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestNullCheck.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestReferenceCAS.java ! test/hotspot/jtreg/gc/shenandoah/jvmti/TestHeapDump.java ! test/hotspot/jtreg/gc/shenandoah/options/TestObjectAlignment.java Changeset: aa5eeb1a9871 Author: shade Date: 2019-06-02 10:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/aa5eeb1a9871 8225048: Shenandoah x86_32 support Reviewed-by: erikj, rkennke ! make/autoconf/hotspot.m4 ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp + src/hotspot/cpu/x86/gc/shenandoah/shenandoah_x86_32.ad ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: d22206f24d59 Author: lancea Date: 2019-06-02 17:13 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d22206f24d59 8212807: tools/jar/multiRelease/Basic.java times out Reviewed-by: bchristi ! test/jdk/tools/jar/multiRelease/Basic.java ! test/jdk/tools/jar/multiRelease/MRTestBase.java ! test/lib/jdk/test/lib/process/OutputAnalyzer.java Changeset: 0dab93cb3b0c Author: tschatzl Date: 2019-06-03 10:50 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0dab93cb3b0c 8223162: Improve ergonomics for Sparse PRT entry sizing Summary: Scale Sparse PRT table sizes exponentially according to region size. Reviewed-by: kbarrett, sangheki ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/sparsePRT.hpp Changeset: 00f7fce88e25 Author: tschatzl Date: 2019-06-03 10:51 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/00f7fce88e25 8223693: Memory wastage in size of per-region type buffers in GC Reviewed-by: kbarrett, sangheki ! src/hotspot/share/gc/g1/g1HeapRegionAttr.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp Changeset: ba171f871932 Author: phedlin Date: 2019-05-28 14:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ba171f871932 8223363: Bad node estimate assertion failure 8223502: Node estimate for loop unswitching is not correct: assert(delta <= 2 * required) failed: Bad node estimate 8224648: assert(!exceeding_node_budget()) failed: Too many NODES required! failure with ctw Summary: Tighten the node estimates. New est_loop_clone_sz() implementation that will compute a "fan-out" complexity estimate as part of the size estimate (to better estimate complex loop body size after cloning). New est_loop_unroll_sz() function, used to estimate the size of a loop body att full/maximal unrolling. Correction to node budget final tests and asserts. Reviewed-by: neliasso, kvn ! 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/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/LoopUnswitchingBadNodeBudget.java Changeset: 9691a169f1dd Author: roland Date: 2019-05-21 15:46 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9691a169f1dd 8173196: [REDO] C2 does not optimize redundant memory operations with G1 Reviewed-by: thartmann, kvn ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp Changeset: 6c205bbdafd2 Author: shade Date: 2019-06-03 14:50 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6c205bbdafd2 8225046: Shenandoah metrics logs refactoring Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp Changeset: 47d928ba8733 Author: eosterlund Date: 2019-06-03 13:35 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/47d928ba8733 8224814: Remove dead JNIHandleBlock freelist code Reviewed-by: stefank, tschatzl, kbarrett ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/jniHandles.hpp Changeset: fdddd05767ce Author: eosterlund Date: 2019-06-03 13:35 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fdddd05767ce 8224816: Provide os::processor_id() implementation for Mac OS Reviewed-by: rehn, pliden, kbarrett, gziemski ! src/hotspot/os/bsd/os_bsd.cpp Changeset: 4ffd6a955e92 Author: rfield Date: 2019-06-03 07:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4ffd6a955e92 8225151: JShell API: Fix position of @jls tag Reviewed-by: jjg ! src/jdk.jshell/share/classes/jdk/jshell/Snippet.java Changeset: 1c291d1c272c Author: rfield Date: 2019-06-03 08:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1c291d1c272c 8199623: JShell: corralling not restored on drop Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! test/langtools/jdk/jshell/DropTest.java ! test/langtools/jdk/jshell/ToolSimpleTest.java Changeset: 1cccaaf46c7b Author: erikj Date: 2019-06-03 10:52 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1cccaaf46c7b 8225140: Build fails if directory contains 'unix' Reviewed-by: tbell ! make/common/JdkNativeCompilation.gmk ! make/lib/Awt2dLibraries.gmk Changeset: d3e404cc3972 Author: rkennke Date: 2019-06-03 21:28 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d3e404cc3972 8225171: Remove leftovers in shenandoahBarrierSetC1.cpp Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp Changeset: a38132298eda Author: iveresov Date: 2019-06-03 13:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a38132298eda 8223320: [AOT] jck test api/javax_script/ScriptEngine/PutGet.html fails when test classes are AOTed Summary: Materialization of primitive boxes should use caches Reviewed-by: kvn, never ! src/hotspot/share/aot/aotLoader.cpp ! src/hotspot/share/aot/aotLoader.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/debugInfo.cpp ! src/hotspot/share/code/debugInfo.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/thread.cpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/VirtualObject.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.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.hotspot.test/src/org/graalvm/compiler/hotspot/test/BoxDeoptimizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java Changeset: a8ee59471f55 Author: iveresov Date: 2019-06-03 14:15 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a8ee59471f55 8225202: Add missing include after JDK-8223320 Reviewed-by: kvn ! src/hotspot/share/aot/aotLoader.cpp Changeset: 1a7f82c98eee Author: kkharbas Date: 2019-06-03 11:04 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1a7f82c98eee 8224247: AllocateOldGenAt fires assertion failure Summary: Split the heap_reserved_size_bytes() into two methods - one for use during heap initialization and other for at later stages. Reviewed-by: sangheki, tschatzl ! src/hotspot/share/gc/g1/g1Arguments.cpp ! src/hotspot/share/gc/g1/g1Arguments.hpp ! src/hotspot/share/gc/g1/heapRegionManager.cpp ! src/hotspot/share/gc/parallel/adjoiningGenerationsForHeteroHeap.cpp ! src/hotspot/share/gc/parallel/parallelArguments.cpp ! src/hotspot/share/gc/parallel/parallelArguments.hpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 030c32236ba3 Author: jjg Date: 2019-06-03 16:16 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/030c32236ba3 8225207: redundant

in Instrumentation.java Reviewed-by: lancea ! src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java Changeset: a03a2455fe3b Author: rfield Date: 2019-06-03 16:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a03a2455fe3b 8225208: Re-Problem list jdk/jshell/ExceptionsTest.java fails on windows Reviewed-by: jjg ! test/langtools/ProblemList.txt Changeset: 06d4100ebd32 Author: coleenp Date: 2019-06-03 19:42 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/06d4100ebd32 8225212: ProblemList gc/stress/TestReclaimStringsLeaksMemory.java Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: a82a367b2d8c Author: epavlova Date: 2019-06-03 17:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a82a367b2d8c 8225199: [Graal] compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java fails with -XX:CompileThresholdScaling=0.1 Reviewed-by: kvn ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java Changeset: 2ae056696b15 Author: rwestberg Date: 2019-06-03 10:28 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code) Reviewed-by: erikj + doc/ide.html + doc/ide.md ! make/Main.gmk ! make/UpdateBuildDocs.gmk ! make/common/MakeBase.gmk ! make/common/Utils.gmk + make/vscode/CreateVSCodeProject.gmk + make/vscode/indexers/ccls-extensions.txt + make/vscode/indexers/ccls-notes.txt + make/vscode/indexers/ccls-settings.txt + make/vscode/indexers/clangd-extensions.txt + make/vscode/indexers/clangd-notes.txt + make/vscode/indexers/clangd-settings.txt + make/vscode/indexers/cpptools-extensions.txt + make/vscode/indexers/cpptools-settings.txt + make/vscode/indexers/rtags-extensions.txt + make/vscode/indexers/rtags-settings.txt + make/vscode/template-launch.jsonc + make/vscode/template-tasks.jsonc + make/vscode/template-workspace-folder.txt + make/vscode/template-workspace.jsonc ! test/make/TestMakeBase.gmk Changeset: b003077e495c Author: stuefe Date: 2019-06-04 07:49 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b003077e495c 8225178: [Solaris] os::signal() should call sigaction() with SA_SIGINFO Reviewed-by: dcubed, dholmes ! src/hotspot/os/solaris/os_solaris.cpp Changeset: cb2628a4f33f Author: psadhukhan Date: 2019-05-15 15:17 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cb2628a4f33f 8223937: PIT: java/awt/Window/ShapedAndTranslucentWindows/StaticallyShaped.java listed twice in ProblemList Reviewed-by: jdv, pbansal ! test/jdk/ProblemList.txt Changeset: 256a5cbb4439 Author: prr Date: 2019-05-17 13:05 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/256a5cbb4439 8223804: [macos] remove obsoleted reference to security framework in launcher code Reviewed-by: rriggs, erikj ! make/lib/CoreLibraries.gmk ! src/java.base/macosx/native/libjava/java_props_macosx.c Changeset: d23707ad2b00 Author: serb Date: 2019-05-17 22:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d23707ad2b00 8224152: [macOS] ProblemList tests that leave rubbish on the screen Reviewed-by: prr ! test/jdk/ProblemList.txt Changeset: 9ee0b8733ee4 Author: serb Date: 2019-05-17 22:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9ee0b8733ee4 8223766: Remains of ancient code in AWT initialization Reviewed-by: jdv ! src/java.desktop/unix/native/libawt_xawt/awt/awt_AWTEvent.c - src/java.desktop/unix/native/libawt_xawt/awt/awt_AWTEvent.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_Event.c - src/java.desktop/unix/native/libawt_xawt/awt/awt_Event.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_Insets.c - src/java.desktop/unix/native/libawt_xawt/awt/awt_Insets.h ! src/java.desktop/unix/native/libawt_xawt/xawt/XWindow.c ! src/java.desktop/windows/native/libawt/windows/awt_Color.cpp - src/java.desktop/windows/native/libawt/windows/awt_Color.h ! src/java.desktop/windows/native/libawt/windows/awt_MenuItem.cpp ! src/java.desktop/windows/native/libawt/windows/awt_MenuItem.h ! src/java.desktop/windows/native/libawt/windows/awt_Rectangle.cpp - src/java.desktop/windows/native/libawt/windows/awt_Rectangle.h Changeset: 1a80806e7d15 Author: serb Date: 2019-05-18 23:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1a80806e7d15 6933331: (d3d/ogl) java.lang.IllegalStateException: Buffers have not been created Reviewed-by: prr ! src/java.desktop/share/classes/java/awt/Component.java + test/jdk/java/awt/image/BufferStrategy/ExceptionAfterComponentDispose.java Changeset: f36cee599800 Author: psadhukhan Date: 2019-05-20 11:03 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f36cee599800 8224096: Add relevant bugid to java/awt/Window/ShapedAndTranslucentWindows/StaticallyShaped.java in ProblemList Reviewed-by: jdv, serb ! test/jdk/ProblemList.txt Changeset: c53905e7dc57 Author: dmarkov Date: 2019-05-20 15:42 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c53905e7dc57 8214579: JFrame does not paint content in XVFB / X11vnc environment Reviewed-by: prr ! src/java.desktop/unix/classes/sun/java2d/xr/XRSurfaceData.java Changeset: e2a90479dfe5 Author: serb Date: 2019-05-20 12:17 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e2a90479dfe5 8213516: jck test api/javax_accessibility/AccessibleState/fields.html fails intermittent Reviewed-by: prr ! src/java.desktop/share/classes/javax/accessibility/AccessibleBundle.java - test/jdk/javax/accessibility/8197785/AccessibilityBundleMemoryLeakTest.java + test/jdk/javax/accessibility/AccessibleBundle/Basic.java Changeset: 3e0a90050182 Author: serb Date: 2019-04-26 23:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3e0a90050182 8222917: GraphicsEnvironment for Unix still have an unused dependency on Solaris Reviewed-by: prr ! src/java.desktop/share/classes/sun/java2d/SunGraphicsEnvironment.java Changeset: eba6a83dc23b Author: psadhukhan Date: 2019-05-21 14:41 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/eba6a83dc23b 8214702: Wrong text position for whitespaced string in printing Swing text Reviewed-by: prr, serb ! src/java.desktop/share/classes/sun/swing/SwingUtilities2.java + test/jdk/javax/swing/SwingUtilities/TestTextPosInPrint.java Changeset: e448d58051ab Author: psadhukhan Date: 2019-05-23 10:50 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e448d58051ab 8211703: JInternalFrame : java.lang.AssertionError: cannot find the internal frame Reviewed-by: prr, serb ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java ! test/jdk/sanity/client/SwingSet/src/InternalFrameDemoTest.java Changeset: d85b366bd8f4 Author: prr Date: 2019-05-23 15:02 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d85b366bd8f4 8223804: [macos] remove obsoleted reference to security framework in launcher code Reviewed-by: rriggs, erikj ! test/jdk/java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java Changeset: f13dba72a5ea Author: prr Date: 2019-05-24 09:10 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f13dba72a5ea 8224705: Tests that need to be problem-listed or have printer resources Reviewed-by: serb, psadhukhan ! test/jdk/ProblemList.txt ! test/jdk/java/awt/PrintJob/PrinterException.java ! test/jdk/java/awt/print/PrinterJob/Margins.java Changeset: 0b1f4dafd492 Author: prr Date: 2019-05-24 13:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0b1f4dafd492 8224771: backout RemoveDropTargetCrashTest.java fix to re-push with correct bugid Reviewed-by: serb ! test/jdk/java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java Changeset: 779a8d44523b Author: prr Date: 2019-05-24 13:52 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/779a8d44523b 8224632: testbug: java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java fails on MacOS Reviewed-by: serb, psadhukhan ! test/jdk/java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java Changeset: 4929c53ff29d Author: prr Date: 2019-05-27 12:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4929c53ff29d 8224778: test/jdk/demo/jfc/J2Ddemo/J2DdemoTest.java cannot find J2Ddemo.jar Reviewed-by: erikj, psadhukhan ! make/RunTests.gmk ! test/jdk/demo/jfc/J2Ddemo/J2DdemoTest.java Changeset: 8cddb14bb234 Author: psadhukhan Date: 2019-05-28 16:35 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8cddb14bb234 8224830: test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.java fails on linux-x64 Reviewed-by: jdv ! test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.java Changeset: f11d2e10a6e4 Author: psadhukhan Date: 2019-05-28 16:38 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f11d2e10a6e4 8224821: java/awt/Focus/NoAutotransferToDisabledCompTest/NoAutotransferToDisabledCompTest.java fails linux-x64 Reviewed-by: jdv ! test/jdk/java/awt/Focus/NoAutotransferToDisabledCompTest/NoAutotransferToDisabledCompTest.java Changeset: fb7954fde06e Author: psadhukhan Date: 2019-05-30 10:45 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fb7954fde06e 8224824: ProblemList java/awt/Color/AlphaColorTest failure in linux_x64 Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 4c730a3b5dd9 Author: prr Date: 2019-05-30 09:16 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4c730a3b5dd9 8225020: Problem list some sanity test failures Reviewed-by: psadhukhan, akolarkunnu ! test/jdk/ProblemList.txt Changeset: e29c0c8ebd90 Author: prr Date: 2019-05-30 09:23 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e29c0c8ebd90 8225007: java/awt/print/PrinterJob/LandscapeStackOverflow.java may hang Reviewed-by: serb, jdv ! test/jdk/java/awt/print/PrinterJob/LandscapeStackOverflow.java ! test/jdk/java/awt/print/PrinterJob/PrintToDir.java Changeset: fdaf7287ea3a Author: prr Date: 2019-05-30 11:52 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fdaf7287ea3a 8223271: SplashScreen is still shown if defaulting to headless on MacOS Reviewed-by: bpb, serb, kcr ! make/lib/Awt2dLibraries.gmk ! src/java.base/share/native/libjli/java.c ! src/java.base/share/native/libjli/splashscreen.h ! src/java.base/share/native/libjli/splashscreen_stubs.c ! src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m ! src/java.desktop/share/native/libsplashscreen/splashscreen_impl.c ! src/java.desktop/share/native/libsplashscreen/splashscreen_impl.h ! src/java.desktop/unix/native/libsplashscreen/splashscreen_sys.c ! src/java.desktop/windows/native/libsplashscreen/splashscreen_sys.c Changeset: 55dc1385d1b7 Author: serb Date: 2019-05-30 17:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/55dc1385d1b7 8225032: Fix some C++ conformance issues in AWT Windows code Reviewed-by: prr, serb Contributed-by: andrewluotechnologies at outlook.com ! src/java.desktop/windows/native/libawt/windows/awt.h ! src/java.desktop/windows/native/libawt/windows/awt_Component.h ! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp Changeset: feb860d41612 Author: prr Date: 2019-06-02 12:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/feb860d41612 8224056: Fix some assignments of string literals to LPSTR (instead of LPCSTR) Reviewed-by: prr Contributed-by: andrewluotechnologies at outlook.com ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp Changeset: 26dd6fdc4165 Author: tnakamura Date: 2019-06-02 16:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/26dd6fdc4165 8219901: Noto fonts for East Asian countries cannot belong to CompositeFont Reviewed-by: prr, jdv ! src/java.desktop/unix/classes/sun/awt/FcFontManager.java ! src/java.desktop/unix/classes/sun/font/FcFontConfiguration.java + test/jdk/java/awt/font/FontNames/FCCompositeTest.java Changeset: 5f9ef936707c Author: psadhukhan Date: 2019-06-03 11:06 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5f9ef936707c Merge ! make/RunTests.gmk ! make/lib/Awt2dLibraries.gmk - src/hotspot/share/Xusage.txt - src/hotspot/share/c1/c1_globals.cpp - src/hotspot/share/gc/shenandoah/shenandoahHeapLock.hpp - src/hotspot/share/opto/c2_globals.cpp - src/java.base/share/classes/sun/text/resources/nfc.icu - src/java.base/share/classes/sun/text/resources/nfkc.icu - src/java.base/share/classes/sun/text/resources/nfkc_cf.icu ! src/java.base/share/native/libjli/java.c - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-3.3.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-migrate-3.0.1.js - src/jdk.javadoc/share/legal/jquery-migrate.md - test/fmw/gtest/CHANGES - test/fmw/gtest/LICENSE - test/fmw/gtest/README - test/fmw/gtest/include/gtest/gtest-death-test.h - test/fmw/gtest/include/gtest/gtest-message.h - test/fmw/gtest/include/gtest/gtest-param-test.h - test/fmw/gtest/include/gtest/gtest-param-test.h.pump - test/fmw/gtest/include/gtest/gtest-printers.h - test/fmw/gtest/include/gtest/gtest-spi.h - test/fmw/gtest/include/gtest/gtest-test-part.h - test/fmw/gtest/include/gtest/gtest-typed-test.h - test/fmw/gtest/include/gtest/gtest.h - test/fmw/gtest/include/gtest/gtest_pred_impl.h - test/fmw/gtest/include/gtest/gtest_prod.h - test/fmw/gtest/include/gtest/internal/gtest-death-test-internal.h - test/fmw/gtest/include/gtest/internal/gtest-filepath.h - test/fmw/gtest/include/gtest/internal/gtest-internal.h - test/fmw/gtest/include/gtest/internal/gtest-linked_ptr.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h.pump - test/fmw/gtest/include/gtest/internal/gtest-param-util.h - test/fmw/gtest/include/gtest/internal/gtest-port.h - test/fmw/gtest/include/gtest/internal/gtest-string.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h.pump - test/fmw/gtest/include/gtest/internal/gtest-type-util.h - test/fmw/gtest/include/gtest/internal/gtest-type-util.h.pump - test/fmw/gtest/src/gtest-all.cc - test/fmw/gtest/src/gtest-death-test.cc - test/fmw/gtest/src/gtest-filepath.cc - test/fmw/gtest/src/gtest-internal-inl.h - test/fmw/gtest/src/gtest-port.cc - test/fmw/gtest/src/gtest-printers.cc - test/fmw/gtest/src/gtest-test-part.cc - test/fmw/gtest/src/gtest-typed-test.cc - test/fmw/gtest/src/gtest.cc - test/fmw/gtest/src/gtest_main.cc ! test/jdk/ProblemList.txt - test/jdk/com/sun/jdi/BasicJDWPConnectionTest.java - test/jdk/java/lang/Character/PropList.txt - test/jdk/java/lang/Character/PropertyValueAliases.txt - test/jdk/java/lang/Character/Scripts.txt - test/jdk/java/lang/Character/SpecialCasing.txt - test/jdk/java/lang/Character/UnicodeBlock/Blocks.txt - test/jdk/java/lang/Character/UnicodeData.txt - test/jdk/java/lang/Character/charprop00.bin - test/jdk/java/lang/Character/charprop01.bin - test/jdk/java/lang/Character/charprop02.bin - test/jdk/java/lang/Character/charprop03.bin - test/jdk/java/lang/Character/charprop0E.bin - test/jdk/java/lang/Character/charprop0F.bin - test/jdk/java/lang/Character/charprop10.bin - test/jdk/java/util/regex/GraphemeBreakProperty.txt - test/jdk/java/util/regex/GraphemeBreakTest.txt - test/jdk/sun/management/windows/revokeall.c - test/jdk/sun/management/windows/revokeall.exe Changeset: 4cfbcfac47aa Author: jdv Date: 2019-06-03 11:56 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4cfbcfac47aa 8225105: java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java fails in Windows 10 Reviewed-by: prr, serb ! test/jdk/java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java Changeset: 8b8d83cf9097 Author: psadhukhan Date: 2019-06-04 13:34 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8b8d83cf9097 Merge ! make/lib/Awt2dLibraries.gmk From mandy.chung at oracle.com Wed Jun 5 00:27:09 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 4 Jun 2019 17:27:09 -0700 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> Message-ID: I have updated the patch to add the indirect projection type. Updated webrev: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ javadoc: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html Summary of the changes: 1. For an inline class V, V.class is the primary mirror.?? The secondary mirror ??? is the indirect projection type which is also the nullable projection type. ??? Class.forName returns the primary mirror.? The projection types are ??? used for reflection APIs to find a field of type V? or a method with signature ??? with V? (i.e. L-type descriptor). 2. New APIs are added for core reflection to project an inline class its indirect ? ? or nullable projection type as well as query if a Class object is indirect or inline ??? or nullable. ??? Class::asPrimaryType ??? Class::asIndirectType ??? Class::asNullableType ??? Class::isInlineClass? (was Class::isValue) ??? Class::isIndirectType ??? Class::isNullableType 3. Class::getName returns the same name for inline class and the projection type ??? as that's the name of the class in the source 4. Class::isAssignableFrom checks properly the subtype relationship ? ? Point <: Point? and Point? <: Object Notes: - I didn't rename ValueKlass::value_mirror as ValueKlass and other classes will ? be renamed together in the future. - I think AccessFlags::set_is_flattenable should be re-examined. JVM_ACC_FLATTENABLE ? no longer set in lworld? - Intrinsification of Class::asPrimaryType will need update (JDK-8225317). ? I have excluded MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) ? test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the compiler ? expert to help investigating it while I think it might be related to JDK-8225317.? Hence ? I capture that failing case in JDK-8225317. - I took out the unnecessary asPrimaryType call in the tests since V.class now returns ? the primary mirror.? I left several asPrimaryType calls in TestIntrinsics as they look ? like those calls are intended. Mandy On 5/15/19 11:38 AM, Roger Riggs wrote: > Please review Mandy's additions and changes to reflection and > java.lang.invoke APIs > for inline and nullable types. > The changes go a bit deep because of the support for the Java APIs > provided by the VM. > > This initial prototype reflects discussions about terminology and > orthogonality > of concepts for inline vs nullable as described in the comments of > 8223351. > > Issue: > ? https://bugs.openjdk.java.net/browse/JDK-8223351 > > Webrev: > ?? http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ > > Thanks for any comments and suggestions, Roger > From david.simms at oracle.com Wed Jun 5 10:13:00 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Wed, 05 Jun 2019 10:13:00 +0000 Subject: hg: valhalla/valhalla: 2 new changesets Message-ID: <201906051013.x55AD0eM016737@aojmv0008.oracle.com> Changeset: e846c8943304 Author: dsimms Date: 2019-06-05 11:18 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e846c8943304 Merge ! .hgtags ! make/CompileJavaModules.gmk ! make/Docs.gmk ! make/conf/jib-profiles.js - make/data/cldr/common/main/ff_CM.xml - make/data/cldr/common/main/ff_GN.xml - make/data/cldr/common/main/ff_MR.xml - make/data/cldr/common/main/ff_SN.xml - make/data/cldr/common/main/yue_HK.xml - make/data/cldr/common/supplemental/telephoneCodeData.xml ! make/test/BuildMicrobenchmark.gmk ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/interpreterRT_x86_32.cpp ! src/hotspot/cpu/x86/interpreterRT_x86_64.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/c1/c1_Runtime1.cpp - src/hotspot/share/c1/c1_globals.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/ci/ciSignature.cpp ! src/hotspot/share/ci/ciSymbol.cpp ! src/hotspot/share/ci/ciType.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/stackMapFrame.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/classfile/verifier.hpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp ! src/hotspot/share/code/compiledIC.cpp ! 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/code/pcDesc.hpp ! src/hotspot/share/code/vtableStubs.cpp ! src/hotspot/share/code/vtableStubs.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/oopMap.cpp - src/hotspot/share/gc/g1/g1InCSetState.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/memAllocator.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp - src/hotspot/share/gc/shenandoah/shenandoahHeapLock.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/include/jvm.h ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/jvmci/compilerRuntime.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/iterator.inline.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/oopFactory.cpp ! src/hotspot/share/memory/oopFactory.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/arrayKlass.hpp ! src/hotspot/share/oops/arrayOop.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/cpCache.hpp ! src/hotspot/share/oops/generateOopMap.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/klass.inline.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/oops/oopsHierarchy.hpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/opto/arraycopynode.cpp - src/hotspot/share/opto/c2_globals.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/biasedLocking.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/fieldDescriptor.cpp ! src/hotspot/share/runtime/fieldDescriptor.hpp ! src/hotspot/share/runtime/fieldType.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/interfaceSupport.cpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vframeArray.cpp ! src/hotspot/share/runtime/vmOperations.cpp ! src/hotspot/share/runtime/vmOperations.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/utilities/exceptions.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/Modifier.java ! src/java.base/share/classes/module-info.java - src/java.base/share/classes/sun/text/resources/nfc.icu - src/java.base/share/classes/sun/text/resources/nfkc.icu - src/java.base/share/classes/sun/text/resources/nfkc_cf.icu ! src/java.base/share/native/libjava/System.c - src/java.desktop/share/native/libfreetype/include/freetype/internal/ftpic.h - src/java.desktop/share/native/libfreetype/src/autofit/afpic.c - src/java.desktop/share/native/libfreetype/src/autofit/afpic.h - src/java.desktop/share/native/libfreetype/src/base/basepic.c - src/java.desktop/share/native/libfreetype/src/base/basepic.h - src/java.desktop/share/native/libfreetype/src/base/ftapi.c - src/java.desktop/share/native/libfreetype/src/base/ftpic.c - src/java.desktop/share/native/libfreetype/src/base/md5.c - src/java.desktop/share/native/libfreetype/src/base/md5.h - src/java.desktop/share/native/libfreetype/src/cff/cffpic.c - src/java.desktop/share/native/libfreetype/src/cff/cffpic.h - src/java.desktop/share/native/libfreetype/src/pshinter/pshpic.c - src/java.desktop/share/native/libfreetype/src/pshinter/pshpic.h - src/java.desktop/share/native/libfreetype/src/psnames/pspic.c - src/java.desktop/share/native/libfreetype/src/psnames/pspic.h - src/java.desktop/share/native/libfreetype/src/raster/rastpic.c - src/java.desktop/share/native/libfreetype/src/raster/rastpic.h - src/java.desktop/share/native/libfreetype/src/sfnt/sfntpic.c - src/java.desktop/share/native/libfreetype/src/sfnt/sfntpic.h - src/java.desktop/share/native/libfreetype/src/smooth/ftspic.c - src/java.desktop/share/native/libfreetype/src/smooth/ftspic.h - src/java.desktop/share/native/libfreetype/src/truetype/ttpic.c - src/java.desktop/share/native/libfreetype/src/truetype/ttpic.h ! src/jdk.compiler/share/classes/com/sun/source/tree/NewClassTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! 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/LambdaToMethod.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/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPhysicalMemoryManager.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-3.3.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-migrate-3.0.1.js - src/jdk.javadoc/share/legal/jquery-migrate.md - test/fmw/gtest/CHANGES - test/fmw/gtest/LICENSE - test/fmw/gtest/README - test/fmw/gtest/include/gtest/gtest-death-test.h - test/fmw/gtest/include/gtest/gtest-message.h - test/fmw/gtest/include/gtest/gtest-param-test.h - test/fmw/gtest/include/gtest/gtest-param-test.h.pump - test/fmw/gtest/include/gtest/gtest-printers.h - test/fmw/gtest/include/gtest/gtest-spi.h - test/fmw/gtest/include/gtest/gtest-test-part.h - test/fmw/gtest/include/gtest/gtest-typed-test.h - test/fmw/gtest/include/gtest/gtest.h - test/fmw/gtest/include/gtest/gtest_pred_impl.h - test/fmw/gtest/include/gtest/gtest_prod.h - test/fmw/gtest/include/gtest/internal/gtest-death-test-internal.h - test/fmw/gtest/include/gtest/internal/gtest-filepath.h - test/fmw/gtest/include/gtest/internal/gtest-internal.h - test/fmw/gtest/include/gtest/internal/gtest-linked_ptr.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h.pump - test/fmw/gtest/include/gtest/internal/gtest-param-util.h - test/fmw/gtest/include/gtest/internal/gtest-port.h - test/fmw/gtest/include/gtest/internal/gtest-string.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h.pump - test/fmw/gtest/include/gtest/internal/gtest-type-util.h - test/fmw/gtest/include/gtest/internal/gtest-type-util.h.pump - test/fmw/gtest/src/gtest-all.cc - test/fmw/gtest/src/gtest-death-test.cc - test/fmw/gtest/src/gtest-filepath.cc - test/fmw/gtest/src/gtest-internal-inl.h - test/fmw/gtest/src/gtest-port.cc - test/fmw/gtest/src/gtest-printers.cc - test/fmw/gtest/src/gtest-test-part.cc - test/fmw/gtest/src/gtest-typed-test.cc - test/fmw/gtest/src/gtest.cc - test/fmw/gtest/src/gtest_main.cc ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! test/jdk/ProblemList.txt - test/jdk/com/sun/jdi/BasicJDWPConnectionTest.java - test/jdk/java/lang/Character/PropList.txt - test/jdk/java/lang/Character/PropertyValueAliases.txt - test/jdk/java/lang/Character/Scripts.txt - test/jdk/java/lang/Character/SpecialCasing.txt - test/jdk/java/lang/Character/UnicodeBlock/Blocks.txt - test/jdk/java/lang/Character/UnicodeData.txt - test/jdk/java/lang/Character/charprop00.bin - test/jdk/java/lang/Character/charprop01.bin - test/jdk/java/lang/Character/charprop02.bin - test/jdk/java/lang/Character/charprop03.bin - test/jdk/java/lang/Character/charprop0E.bin - test/jdk/java/lang/Character/charprop0F.bin - test/jdk/java/lang/Character/charprop10.bin - test/jdk/java/util/regex/GraphemeBreakProperty.txt - test/jdk/java/util/regex/GraphemeBreakTest.txt - test/jdk/sun/management/windows/revokeall.c - test/jdk/sun/management/windows/revokeall.exe ! test/lib/sun/hotspot/WhiteBox.java Changeset: a02eb021d553 Author: dsimms Date: 2019-06-05 12:10 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a02eb021d553 [lworld] Adjust Testing ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups From frederic.parain at oracle.com Wed Jun 5 12:22:45 2019 From: frederic.parain at oracle.com (Frederic Parain) Date: Wed, 5 Jun 2019 08:22:45 -0400 Subject: RFR (S) 8217714: [lworld] Support for substitutability checks in interpreter In-Reply-To: <3c00ffaa-6771-a9d8-6289-ad8331bb8289@oracle.com> References: <315cc01a-4a65-5dd3-a1e6-542727ca109a@oracle.com> <8c8a2619-1eec-fe58-8307-f12578aff6a9@oracle.com> <3c00ffaa-6771-a9d8-6289-ad8331bb8289@oracle.com> Message-ID: <140ADCCC-78C3-4142-AEC4-E9ABF02319F9@oracle.com> templateTable_x86.cpp: 2478: - a more explicit comment explaining that the test below checks if any of the two arguments is null would make the code easier to understand interpreterRuntime.cpp: 529: Instead of 529 if (HAS_PENDING_EXCEPTION) { 530 fatal("isSubstitutable() raised exception"); 531 } I would prefer guarantee(!HAS_PENDING_EXCEPTION,"isSubstitutable() raised exception?); Are we sure that the substitutability test will never, ever throw an exception? Otherwise, the changeset looks good. Thumbs up! (no need for another review). Thank you for fixing the substitutability code in the interpreter. Fred > On May 27, 2019, at 10:58, David Simms wrote: > > > Nice, thanks, updated, fix stray formatting, dropped test change > > On 27/05/19 4:07 PM, Tobias Hartmann wrote: >> Hi Mr. Simms, >> >> On 27.05.19 10:17, David Simms wrote: >>> o Found an issue with "TestLWorld", adjust it to continue with >>> mode 2, (bug filed for mode 3, JDK-8224818). >> I've fixed this test bug: >> http://hg.openjdk.java.net/valhalla/valhalla/rev/fa2c82a95f82 >> >> You can therefore remove the adjustment to run with mode 2. >> >> Best regards, >> Tobias > > From david.simms at oracle.com Wed Jun 5 13:47:40 2019 From: david.simms at oracle.com (David Simms) Date: Wed, 5 Jun 2019 15:47:40 +0200 Subject: RFR (S) 8217714: [lworld] Support for substitutability checks in interpreter In-Reply-To: <140ADCCC-78C3-4142-AEC4-E9ABF02319F9@oracle.com> References: <315cc01a-4a65-5dd3-a1e6-542727ca109a@oracle.com> <8c8a2619-1eec-fe58-8307-f12578aff6a9@oracle.com> <3c00ffaa-6771-a9d8-6289-ad8331bb8289@oracle.com> <140ADCCC-78C3-4142-AEC4-E9ABF02319F9@oracle.com> Message-ID: <0a6cf5f7-dcf4-6879-aa7c-7a10d043dd25@oracle.com> Adjustments made. Thank you Frederic ! On 2019-06-05 14:22, Frederic Parain wrote: > templateTable_x86.cpp: 2478: > - a more explicit comment explaining that the test below checks if any of the > two arguments is null would make the code easier to understand > > interpreterRuntime.cpp: 529: > > Instead of > > 529 if (HAS_PENDING_EXCEPTION) { > 530 fatal("isSubstitutable() raised exception"); > 531 } > > I would prefer > > guarantee(!HAS_PENDING_EXCEPTION,"isSubstitutable() raised exception?); > > Are we sure that the substitutability test will never, ever throw an exception? Nope, if it does throw an exception, we have a problem, I'd rather not quietly swallow the exception > > Otherwise, the changeset looks good. Thumbs up! (no need for another review). > > Thank you for fixing the substitutability code in the interpreter. > > Fred > > >> On May 27, 2019, at 10:58, David Simms wrote: >> >> >> Nice, thanks, updated, fix stray formatting, dropped test change >> >> On 27/05/19 4:07 PM, Tobias Hartmann wrote: >>> Hi Mr. Simms, >>> >>> On 27.05.19 10:17, David Simms wrote: >>>> o Found an issue with "TestLWorld", adjust it to continue with >>>> mode 2, (bug filed for mode 3, JDK-8224818). >>> I've fixed this test bug: >>> http://hg.openjdk.java.net/valhalla/valhalla/rev/fa2c82a95f82 >>> >>> You can therefore remove the adjustment to run with mode 2. >>> >>> Best regards, >>> Tobias >> From david.simms at oracle.com Wed Jun 5 13:52:25 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Wed, 05 Jun 2019 13:52:25 +0000 Subject: hg: valhalla/valhalla: 8217714: [lworld] Support for substitutability checks in interpreter Message-ID: <201906051352.x55DqQ6X008694@aojmv0008.oracle.com> Changeset: 658d2b185b22 Author: dsimms Date: 2019-06-05 15:51 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/658d2b185b22 8217714: [lworld] Support for substitutability checks in interpreter Reviewed-by: fparain ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/interpreterRuntime.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/java/lang/invoke/ValueBootstrapMethods.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/Ifacmp.java From Roger.Riggs at oracle.com Wed Jun 5 18:07:18 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Wed, 5 Jun 2019 14:07:18 -0400 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> Message-ID: <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> Hi Mandy, Class.java: 261,? Shouldn't "value" -> "inline"? as does toString(). Line 535: I'm a bit confused by the Class.inlineType field. It seems to be the secondary mirror (javaClasses.cpp:990) but here is returned as the primary. Is this backwards?? If it is an inline class, then it is its own primary. Alternatively, inlineType would/should have been initialized to the primary and a runtime check would not be needed. 1329:? Can't asPrimaryType() be used without qualification? AsPrimaryType should always return the primary and the signers should always be on the primary. Everyplace that uses asPrimaryType() would be clearer if it did not double test for inline. Class.java: 511-516 should not need to be there; the verifier should have already confirmed that. Add a comment to remove extra tests. Line 593:? no need for ?: here; return isIndirectType(); Line 1718:? Use private toTypeName(). I didn't look too closely at the j.l.invoke parts. Roger On 06/04/2019 08:27 PM, Mandy Chung wrote: > I have updated the patch to add the indirect projection type. Updated > webrev: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ > > > javadoc: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html > > > Summary of the changes: > > 1. For an inline class V, V.class is the primary mirror.?? The > secondary mirror > ??? is the indirect projection type which is also the nullable > projection type. > > ??? Class.forName returns the primary mirror.? The projection types are > ??? used for reflection APIs to find a field of type V? or a method > with signature > ??? with V? (i.e. L-type descriptor). > > 2. New APIs are added for core reflection to project an inline class > its indirect > ? ? or nullable projection type as well as query if a Class object is > indirect or inline > ??? or nullable. > > ??? Class::asPrimaryType > ??? Class::asIndirectType > ??? Class::asNullableType > > ??? Class::isInlineClass? (was Class::isValue) > ??? Class::isIndirectType > ??? Class::isNullableType > > 3. Class::getName returns the same name for inline class and the > projection type > ??? as that's the name of the class in the source > > 4. Class::isAssignableFrom checks properly the subtype relationship > ? ? Point <: Point? and Point? <: Object > > Notes: > - I didn't rename ValueKlass::value_mirror as ValueKlass and other > classes will > ? be renamed together in the future. > - I think AccessFlags::set_is_flattenable should be re-examined. > JVM_ACC_FLATTENABLE > ? no longer set in lworld? > - Intrinsification of Class::asPrimaryType will need update > (JDK-8225317). > ? I have excluded > MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) > ? test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd > need the compiler > ? expert to help investigating it while I think it might be related to > JDK-8225317.? Hence > ? I capture that failing case in JDK-8225317. > - I took out the unnecessary asPrimaryType call in the tests since > V.class now returns > ? the primary mirror.? I left several asPrimaryType calls in > TestIntrinsics as they look > ? like those calls are intended. > > Mandy > > On 5/15/19 11:38 AM, Roger Riggs wrote: >> Please review Mandy's additions and changes to reflection and >> java.lang.invoke APIs >> for inline and nullable types. >> The changes go a bit deep because of the support for the Java APIs >> provided by the VM. >> >> This initial prototype reflects discussions about terminology and >> orthogonality >> of concepts for inline vs nullable as described in the comments of >> 8223351. >> >> Issue: >> ? https://bugs.openjdk.java.net/browse/JDK-8223351 >> >> Webrev: >> ?? http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >> >> Thanks for any comments and suggestions, Roger >> > From mandy.chung at oracle.com Wed Jun 5 18:36:10 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 5 Jun 2019 11:36:10 -0700 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> Message-ID: <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> On 6/5/19 11:07 AM, Roger Riggs wrote: > Hi Mandy, > > Class.java: 261,? Shouldn't "value" -> "inline"? as does toString(). Good catch.? Fixed. > > Line 535: > I'm a bit confused by the Class.inlineType field. > It seems to be the secondary mirror (javaClasses.cpp:990) but here is > returned as the primary. 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, mirror, CHECK); This creates a new Class object (secondary mirror) but the inlineType and indirectType fields are not yet initialized in both primary/secondary mirror. 990 set_inline_type_mirror(mirror(), mirror()); 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 set_inline_type_mirror(indirect_mirror(), mirror()); 1017 set_indirect_type_mirror(indirect_mirror(), indirect_mirror()); The above initializes the inlineType and indirectType fields to the primary mirror and secondary mirror respectively. Note that the first argument is the Class object in which the field is being set. Is this clearer? > Is this backwards?? If it is an inline class, then it is its own primary. It does set the inline Class's inlineType field to the primary mirror which is itself. > Alternatively, inlineType would/should have been initialized to the > primary and a runtime check would not be needed. > > 1329:? Can't asPrimaryType() be used without qualification? > AsPrimaryType should always return the primary and the signers should > always be on the primary. > Yes until JDK-8225317 is fixed.? asPrimaryType intrinsification needs to be updated.? Or I can disable to intrinsification completely.? I don't mind doing the cleanup when JDK-8225317 is resolved. > Everyplace that uses asPrimaryType() would be clearer if it did not > double test for inline. > Yes, it will be. > Class.java: 511-516 should not need to be there; the verifier should > have already confirmed that. > Add a comment to remove extra tests. > It's taken out.?? No need to keep that. > Line 593:? no need for ?: here; return isIndirectType(); > Fixed. > Line 1718:? Use private toTypeName(). Fixed Mandy > > I didn't look too closely at the j.l.invoke parts. > > Roger > > > On 06/04/2019 08:27 PM, Mandy Chung wrote: >> I have updated the patch to add the indirect projection type. Updated >> webrev: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >> >> >> javadoc: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >> >> >> Summary of the changes: >> >> 1. For an inline class V, V.class is the primary mirror.?? The >> secondary mirror >> ??? is the indirect projection type which is also the nullable >> projection type. >> >> ??? Class.forName returns the primary mirror.? The projection types are >> ??? used for reflection APIs to find a field of type V? or a method >> with signature >> ??? with V? (i.e. L-type descriptor). >> >> 2. New APIs are added for core reflection to project an inline class >> its indirect >> ? ? or nullable projection type as well as query if a Class object is >> indirect or inline >> ??? or nullable. >> >> ??? Class::asPrimaryType >> ??? Class::asIndirectType >> ??? Class::asNullableType >> >> ??? Class::isInlineClass? (was Class::isValue) >> ??? Class::isIndirectType >> ??? Class::isNullableType >> >> 3. Class::getName returns the same name for inline class and the >> projection type >> ??? as that's the name of the class in the source >> >> 4. Class::isAssignableFrom checks properly the subtype relationship >> ? ? Point <: Point? and Point? <: Object >> >> Notes: >> - I didn't rename ValueKlass::value_mirror as ValueKlass and other >> classes will >> ? be renamed together in the future. >> - I think AccessFlags::set_is_flattenable should be re-examined. >> JVM_ACC_FLATTENABLE >> ? no longer set in lworld? >> - Intrinsification of Class::asPrimaryType will need update >> (JDK-8225317). >> ? I have excluded >> MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >> ? test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. >> I'd need the compiler >> ? expert to help investigating it while I think it might be related >> to JDK-8225317.? Hence >> ? I capture that failing case in JDK-8225317. >> - I took out the unnecessary asPrimaryType call in the tests since >> V.class now returns >> ? the primary mirror.? I left several asPrimaryType calls in >> TestIntrinsics as they look >> ? like those calls are intended. >> >> Mandy >> >> On 5/15/19 11:38 AM, Roger Riggs wrote: >>> Please review Mandy's additions and changes to reflection and >>> java.lang.invoke APIs >>> for inline and nullable types. >>> The changes go a bit deep because of the support for the Java APIs >>> provided by the VM. >>> >>> This initial prototype reflects discussions about terminology and >>> orthogonality >>> of concepts for inline vs nullable as described in the comments of >>> 8223351. >>> >>> Issue: >>> ? https://bugs.openjdk.java.net/browse/JDK-8223351 >>> >>> Webrev: >>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>> >>> Thanks for any comments and suggestions, Roger >>> >> > From ioi.lam at oracle.com Wed Jun 5 22:43:09 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Wed, 5 Jun 2019 15:43:09 -0700 Subject: RFR 8218619 [lworld] Execute all test scenarios with C1 Message-ID: https://bugs.openjdk.java.net/browse/JDK-8218619 http://cr.openjdk.java.net/~iklam/valhalla/8218619-execute-all-test-scenarios-with-c1.v01/ When testing C1, we used to just test the 1st of 6 possible scenarios [1]. With this patch, all 6 scenarios are executed, and I've found a few more bugs in C1's handling of value types. What's changed: + Fixed 2 simple C1 bugs in this patch. ??? - I filed a few bugs to track the other failures + Added a new @TempSkipForC1 to skip some test cases that are known ? to fail with C1. + I also fixed TestOnStackReplacement.java to terminate ? when the test method is OSR-compiled. This significantly ? speeds up the test. Testing -- all tests passed with: ??? jtreg -vmoptions:-XX:+EnableValhallaC1 -vmoptions:-XX:TieredStopAtLevel=1 . Notes: [1] http://hg.openjdk.java.net/valhalla/valhalla/file/bd2896e93b2c/test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java#l199 Thanks - Ioi From tobias.hartmann at oracle.com Thu Jun 6 11:48:44 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 6 Jun 2019 13:48:44 +0200 Subject: RFR 8218619 [lworld] Execute all test scenarios with C1 In-Reply-To: References: Message-ID: <1e974ac5-e8e4-4d66-c563-3a857ec7eb80@oracle.com> Hi Ioi, this looks good to me. Best regards, Tobias On 06.06.19 00:43, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8218619 > http://cr.openjdk.java.net/~iklam/valhalla/8218619-execute-all-test-scenarios-with-c1.v01/ > > When testing C1, we used to just test the 1st of 6 possible scenarios [1]. With this patch, > all 6 scenarios are executed, and I've found a few more bugs in C1's handling of value types. > > What's changed: > > + Fixed 2 simple C1 bugs in this patch. > ??? - I filed a few bugs to track the other failures > > + Added a new @TempSkipForC1 to skip some test cases that are known > ? to fail with C1. > > + I also fixed TestOnStackReplacement.java to terminate > ? when the test method is OSR-compiled. This significantly > ? speeds up the test. > > > Testing -- all tests passed with: > > ??? jtreg -vmoptions:-XX:+EnableValhallaC1 -vmoptions:-XX:TieredStopAtLevel=1 . > > > Notes: > > [1] > http://hg.openjdk.java.net/valhalla/valhalla/file/bd2896e93b2c/test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java#l199 > > > > Thanks > - Ioi From tobias.hartmann at oracle.com Thu Jun 6 12:13:49 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 6 Jun 2019 14:13:49 +0200 Subject: RFR 8224831 [lworld] TestCallingConventionC1.java fails with -Xcomp In-Reply-To: References: Message-ID: Hi Ioi, this looks good to me! In codeBuffer.hpp, please move Value_Entry in the Entries enum to before Verified_Value_Entry. Also, in line 81, there is an excess whitespace after "check(e);" No new webrev required. Thanks, Tobias On 04.06.19 06:31, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8224831 > http://cr.openjdk.java.net/~iklam/valhalla/8224831-TestCallingConventionC1-fails-xcomp.v01/ > > The crash happens when a C1-compiled method calls a callee through its > unverified entry [1]. Because C1 doesn't scalarize the outgoing parameters, we > must link the call to a new type of "unverified value entry point" (UVEP). > > This patch implements UVEP for C1, C2 and C2i adapters: > > A C1-compiled virtual method looks like this: > > ??? [(unverified) Entry Point] > ??????? check ic_miss > ??? [Verified Value Entry Point (RO)] > ??????? pack fields into value objects > ??????? jump VVEP > ??? [Verified Entry Point] > ??????? pack fields into value objects > ??????? jump VVEP > ??? [unverified) Value Entry Point] > ??????? check ic_miss > ??? [Verified Value Entry Point] > ??????? main body of compiled code > > A C2-compiled virtual method looks like this: > > ??? [unverified) Entry Point] > ??????? check ic_miss > ??? [Verified Value Entry Point (RO)] > ??????? unpack fields (except ) > ??????? jump VEP > ??? [unverified) Value Entry Point] > ??????? check ic_miss > ??? [Verified Value Entry Point] > ??????? unpack fields > ??????? jump VEP > ??? [Verified Entry Point] > ??????? main body of compiled code > > For testing, I added more test cases in TestCallingConventionC1 to test all scenarios > where an UEP or UVEP is called. > > [1] > http://hg.openjdk.java.net/valhalla/valhalla/file/2d8d0287bc22/src/hotspot/share/code/compiledIC.cpp#l541 > > > > Thanks > - Ioi > > > From tobias.hartmann at oracle.com Thu Jun 6 15:04:17 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 6 Jun 2019 17:04:17 +0200 Subject: RFR: 8221647: [lworld] Performance regression due to the fact that check if array is array of values is not hoisted out of the loop. In-Reply-To: <87y32p9xnq.fsf@redhat.com> References: <87y32p9xnq.fsf@redhat.com> Message-ID: <800d81e6-d8ad-ffcf-95e3-6c12cd9bfd6b@oracle.com> Hi Roland, great work! Were you able to reproduce the problem of flattened array accesses being incorrectly reordered? I.e. do we have a regression test for that? Some minor comments: compile.cpp - line 2151: I would prefer a return here if !_has_flattened_accesses instead of wrapping all the code in the if graphKit.cpp: - line 3401: The comment should be adjusted - line 3405: I think you should use GraphKit::load_object_klass or LoadKlassNode::make. - Please also re-add/adjust the comment from line 3406 in original code Also, I see build failures on Windows: jib > t:/workspace/open/src/hotspot/share/opto/compile.cpp(3968): error C2220: warning treated as error - no 'object' file generated jib > t:/workspace/open/src/hotspot/share/opto/compile.cpp(3968): warning C4293: '<<': shift count negative or too big, undefined behavior And a failure with TestLWorld: stderr: [Exception in thread "main" java.lang.RuntimeException: Graph for 'TestLWorld::test86' contains different number of match nodes: 662 CountedLoop === 662 714 283 [[ 630 631 634 643 650 653 662 593 669 670 671 597 600 264 318 269 262 ]] inner stride: 4 main of N662 !orig=[608],[319],[313],[99] !jvms: TestLWorld::test86 @ bci:8 523 CountedLoop === 523 544 527 [[ 508 512 515 523 524 525 526 532 ]] inner stride: 1 post of N319 !orig=[319],[313],[99] !jvms: TestLWorld::test86 @ bci:8 412 CountedLoop === 412 395 427 [[ 412 414 420 429 447 449 455 460 461 ]] inner stride: 1 !orig=[319],[313],[99] !jvms: TestLWorld::test86 @ bci:8 : expected 2 to equal 3 at jdk.test.lib.Asserts.fail(Asserts.java:594) at jdk.test.lib.Asserts.assertEquals(Asserts.java:205) at jdk.test.lib.Asserts.assertEQ(Asserts.java:178) at compiler.valhalla.valuetypes.ValueTypeTest.parseOutput(ValueTypeTest.java:503) at compiler.valhalla.valuetypes.ValueTypeTest.execute_vm(ValueTypeTest.java:406) at compiler.valhalla.valuetypes.ValueTypeTest.run(ValueTypeTest.java:358) at compiler.valhalla.valuetypes.TestLWorld.main(TestLWorld.java:76) The test was executed with "-XX:+EnableValhalla -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseNUMA -XX:+IgnoreUnrecognizedVMOptions" Thanks, Tobias On 29.05.19 15:51, Roland Westrelin wrote: > > http://cr.openjdk.java.net/~roland/8221647/webrev.00/ > > This patch includes: > > - an implementation of null free array checks using the storage > properties encoded on the class pointer. This uses a new node type > GetNullFreePropertyNode that takes a LoadKlass or LoadNKlass as > input. Masking out the property bits, extracting the null free bit is > done at final graph reshaping time. Checking whether an array is > flattened is not implemented with storage properties yet. > > - to guarantee known accesses to flattened arrays are not incorrectly > reordered with flattened accesses hidden behind Object[] arrays, at > parse time, all flattened array accesses are now on a unique new slice > (for type TypeAryPtr::VALUES). When the access is on an Object[] > array, membars on the TypeAryPtr::VALUES slice are added around the > runtime call that performs the unknown value load/store. Once parse > time is over and the compiler is aware of all accesses to flattened > arrays in the compile unit, a pass is performed to move each field > access for each flattened array to their own slice (the way the IR > graph is currently built at parse time). The membars for Object[] > arrays are duplicated, one per slice so proper orderin between > accesses is still guaranteed. This should help performance because > there's no wide membar that prevents c2 from optimizing memory > accesses. > > - loading the layout helper from the klass structure is now performed > on immutable memory so it can be hoisted. > > - loop unswitching is extended so rather than clone loops for each > flattened array check (and produce 2^n loops for n accesses), it > produces 2 copies of the loop: one loop with no flattened array check > for legacy array accesses and another for flattened array accesses > that still contain flattened array check if the loop has more than 1 > array access. > > - The control for array loads is also now always set to the null check > or array bound check for the access so after unswitching, the body of > the reference access loops is identical to the loop we would get when > running with -EnableValhalla. > > - Not using a newly allocated value buffer for an unknown flattened load > before it's fully initialized is now guaranteed with a StoreStore > membar on raw memory and a CastPP that flagged as carrying a > dependency. > > - MonomorphicArrayCheck is also improved so the casted array's type is > propagated during parsing. > > - a fix for replay compilation > > Upstream 8173196 that's being reviewed hotspot-compiler-dev is also > needed to recover performance. > > Roland. > From ioi.lam at oracle.com Thu Jun 6 15:44:08 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Thu, 06 Jun 2019 15:44:08 +0000 Subject: hg: valhalla/valhalla: 3 new changesets Message-ID: <201906061544.x56Fi9tH028874@aojmv0008.oracle.com> Changeset: 277f44b69066 Author: iklam Date: 2019-06-06 08:02 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/277f44b69066 8224631: [lworld] C1 asserts - Could not resolve circular dependency Reviewed-by: thartmann ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConventionC1.java Changeset: c588c7c38142 Author: iklam Date: 2019-06-06 08:06 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c588c7c38142 8224831: [lworld] TestCallingConventionC1.java fails with -Xcomp Reviewed-by: thartmann ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! src/hotspot/share/code/compiledIC.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConventionC1.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java Changeset: ed828b1f718d Author: iklam Date: 2019-06-06 08:09 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ed828b1f718d 8218619: [lworld] Execute all test scenarios with C1 Reviewed-by: thartmann ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/share/c1/c1_Instruction.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConvention.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 sergey.kuksenko at oracle.com Thu Jun 6 16:03:09 2019 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Thu, 6 Jun 2019 09:03:09 -0700 Subject: RFR: 8221647: [lworld] Performance regression due to the fact that check if array is array of values is not hoisted out of the loop. In-Reply-To: <88c8deb9-327b-2612-8fc6-0037850d3505@oracle.com> References: <87y32p9xnq.fsf@redhat.com> <88c8deb9-327b-2612-8fc6-0037850d3505@oracle.com> Message-ID: Here are just a small example/microbenchmarks performance improvement: openjdk.valhalla.baseline.acmp.IsCmpBranch.equals000??? 85.01% openjdk.valhalla.baseline.acmp.IsCmpBranch.equals025??? 55.22% openjdk.valhalla.baseline.acmp.IsCmpBranch.equals050??? 50.52% openjdk.valhalla.baseline.acmp.IsCmpBranch.equals075??? 50.64% openjdk.valhalla.baseline.acmp.IsCmpBranch.equals100??? 43.98% openjdk.valhalla.baseline.acmp.IsCmpResult.equals000??? 86.17% openjdk.valhalla.baseline.acmp.IsCmpResult.equals025??? 56.07% openjdk.valhalla.baseline.acmp.IsCmpResult.equals050??? 63.91% openjdk.valhalla.baseline.acmp.IsCmpResult.equals075??? 67.37% openjdk.valhalla.baseline.acmp.IsCmpResult.equals100??? 49.11% openjdk.valhalla.baseline.acmp.IsNotNullBranch.equals000??? 86.96% openjdk.valhalla.baseline.acmp.IsNotNullBranch.equals025??? 9.41% openjdk.valhalla.baseline.acmp.IsNotNullBranch.equals050??? 10.36% openjdk.valhalla.baseline.acmp.IsNotNullBranch.equals075??? 12.44% openjdk.valhalla.baseline.arrays.Copy1.covariance-size:500 54.37% openjdk.valhalla.baseline.arrays.Copy2.covariance-size:500 58.56 openjdk.valhalla.baseline.arrays.Copy8.covariance-size:500 58.34 openjdk.valhalla.baseline.invoke.Interface.reference_targets1 53.48% openjdk.valhalla.baseline.invoke.Interface.reference_targets2 45.81% openjdk.valhalla.baseline.invoke.Interface.reference_targets3 1.86% openjdk.valhalla.baseline.invoke.ObjectHashCodeExplicit.reference_targets1 55.28% openjdk.valhalla.baseline.invoke.ObjectHashCodeExplicit.reference_targets2 47.65% openjdk.valhalla.baseline.invoke.ObjectHashCodeExplicit.reference_targets3 1.12% openjdk.valhalla.baseline.traversal.Covariance.W0001.walk-shuffle:true 15.88% openjdk.valhalla.baseline.traversal.Covariance.W0004.walk-shuffle:true 9.59% openjdk.valhalla.baseline.traversal.Covariance.W0016.walk-shuffle:true 5.03% openjdk.valhalla.baseline.traversal.Covariance.W0032.walk-shuffle:true 6.07% openjdk.valhalla.baseline.traversal.Covariance.W0128.walk-shuffle:true 2.47% openjdk.valhalla.baseline.traversal.Covariance.W0256.walk-shuffle:true 1.31% On 5/29/19 1:16 PM, Sergey Kuksenko wrote: > Quick check have shown that the fix solves the issue. Looks very > promising. More details will be available tomorrow. > > On 5/29/19 6:51 AM, Roland Westrelin wrote: >> http://cr.openjdk.java.net/~roland/8221647/webrev.00/ >> >> This patch includes: >> >> - an implementation of null free array checks using the storage >> ?? properties encoded on the class pointer. This uses a new node type >> ?? GetNullFreePropertyNode that takes a LoadKlass or LoadNKlass as >> ?? input. Masking out the property bits, extracting the null free bit is >> ?? done at final graph reshaping time. Checking whether an array is >> ?? flattened is not implemented with storage properties yet. >> >> - to guarantee known accesses to flattened arrays are not incorrectly >> ?? reordered with flattened accesses hidden behind Object[] arrays, at >> ?? parse time, all flattened array accesses are now on a unique new >> slice >> ?? (for type TypeAryPtr::VALUES). When the access is on an Object[] >> ?? array, membars on the TypeAryPtr::VALUES slice are added around the >> ?? runtime call that performs the unknown value load/store. Once parse >> ?? time is over and the compiler is aware of all accesses to flattened >> ?? arrays in the compile unit, a pass is performed to move each field >> ?? access for each flattened array to their own slice (the way the IR >> ?? graph is currently built at parse time). The membars for Object[] >> ?? arrays are duplicated, one per slice so proper orderin between >> ?? accesses is still guaranteed. This should help performance because >> ?? there's no wide membar that prevents c2 from optimizing memory >> ?? accesses. >> >> - loading the layout helper from the klass structure is now performed >> ?? on immutable memory so it can be hoisted. >> >> - loop unswitching is extended so rather than clone loops for each >> ?? flattened array check (and produce 2^n loops for n accesses), it >> ?? produces 2 copies of the loop: one loop with no flattened array check >> ?? for legacy array accesses and another for flattened array accesses >> ?? that still contain flattened array check if the loop has more than 1 >> ?? array access. >> >> - The control for array loads is also now always set to the null check >> ?? or array bound check for the access so after unswitching, the body of >> ?? the reference access loops is identical to the loop we would get when >> ?? running with -EnableValhalla. >> >> - Not using a newly allocated value buffer for an unknown flattened load >> ?? before it's fully initialized is now guaranteed with a StoreStore >> ?? membar on raw memory and a CastPP that flagged as carrying a >> ?? dependency. >> >> - MonomorphicArrayCheck is also improved so the casted array's type is >> ?? propagated during parsing. >> >> - a fix for replay compilation >> >> Upstream 8173196 that's being reviewed hotspot-compiler-dev is also >> needed to recover performance. >> >> Roland. From karen.kinnear at oracle.com Thu Jun 6 19:24:28 2019 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 6 Jun 2019 15:24:28 -0400 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> Message-ID: <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> Mandy, I reviewed the hotspot changes, source and tests and double-checked my only question with Tobias. They look good. In particular the logic of setting the mirrors looks right. Minor comment: Class.java line 561: the final ?and? in this line should be an ?or? JVM_ACC_FLATTENABLE: Agreed we need to revisit this. thanks, Karen > On Jun 5, 2019, at 2:36 PM, Mandy Chung wrote: > > > > On 6/5/19 11:07 AM, Roger Riggs wrote: >> Hi Mandy, >> >> Class.java: 261, Shouldn't "value" -> "inline" as does toString(). > > Good catch. Fixed. >> >> Line 535: >> I'm a bit confused by the Class.inlineType field. >> It seems to be the secondary mirror (javaClasses.cpp:990) but here is returned as the primary. > > 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, mirror, CHECK); > > This creates a new Class object (secondary mirror) but the inlineType and > indirectType fields are not yet initialized in both primary/secondary mirror. > > 990 set_inline_type_mirror(mirror(), mirror()); > 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 set_inline_type_mirror(indirect_mirror(), mirror()); > 1017 set_indirect_type_mirror(indirect_mirror(), indirect_mirror()); The above initializes the inlineType and indirectType fields to the primary mirror and secondary mirror respectively. Note that the first argument is the Class object in which the field is being set. Is this clearer? > >> Is this backwards? If it is an inline class, then it is its own primary. > > It does set the inline Class's inlineType field to the primary mirror which is itself. > >> Alternatively, inlineType would/should have been initialized to the primary and a runtime check would not be needed. >> >> 1329: Can't asPrimaryType() be used without qualification? >> AsPrimaryType should always return the primary and the signers should always be on the primary. >> > > Yes until JDK-8225317 is fixed. asPrimaryType intrinsification needs to be updated. Or I can disable to intrinsification completely. I don't mind doing the cleanup when JDK-8225317 is resolved. > >> Everyplace that uses asPrimaryType() would be clearer if it did not double test for inline. >> > > Yes, it will be. > >> Class.java: 511-516 should not need to be there; the verifier should have already confirmed that. >> Add a comment to remove extra tests. >> > > It's taken out. No need to keep that. > >> Line 593: no need for ?: here; return isIndirectType(); >> > > Fixed. > >> Line 1718: Use private toTypeName(). > > Fixed > > Mandy > >> >> I didn't look too closely at the j.l.invoke parts. >> >> Roger >> >> >> On 06/04/2019 08:27 PM, Mandy Chung wrote: >>> I have updated the patch to add the indirect projection type. Updated webrev: >>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >>> >>> javadoc: >>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >>> >>> Summary of the changes: >>> >>> 1. For an inline class V, V.class is the primary mirror. The secondary mirror >>> is the indirect projection type which is also the nullable projection type. >>> >>> Class.forName returns the primary mirror. The projection types are >>> used for reflection APIs to find a field of type V? or a method with signature >>> with V? (i.e. L-type descriptor). >>> >>> 2. New APIs are added for core reflection to project an inline class its indirect >>> or nullable projection type as well as query if a Class object is indirect or inline >>> or nullable. >>> >>> Class::asPrimaryType >>> Class::asIndirectType >>> Class::asNullableType >>> >>> Class::isInlineClass (was Class::isValue) >>> Class::isIndirectType >>> Class::isNullableType >>> >>> 3. Class::getName returns the same name for inline class and the projection type >>> as that's the name of the class in the source >>> >>> 4. Class::isAssignableFrom checks properly the subtype relationship >>> Point <: Point? and Point? <: Object >>> >>> Notes: >>> - I didn't rename ValueKlass::value_mirror as ValueKlass and other classes will >>> be renamed together in the future. >>> - I think AccessFlags::set_is_flattenable should be re-examined. JVM_ACC_FLATTENABLE >>> no longer set in lworld? >>> - Intrinsification of Class::asPrimaryType will need update (JDK-8225317). >>> I have excluded MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >>> test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the compiler >>> expert to help investigating it while I think it might be related to JDK-8225317. Hence >>> I capture that failing case in JDK-8225317. >>> - I took out the unnecessary asPrimaryType call in the tests since V.class now returns >>> the primary mirror. I left several asPrimaryType calls in TestIntrinsics as they look >>> like those calls are intended. >>> >>> Mandy >>> >>> On 5/15/19 11:38 AM, Roger Riggs wrote: >>>> Please review Mandy's additions and changes to reflection and java.lang.invoke APIs >>>> for inline and nullable types. >>>> The changes go a bit deep because of the support for the Java APIs provided by the VM. >>>> >>>> This initial prototype reflects discussions about terminology and orthogonality >>>> of concepts for inline vs nullable as described in the comments of 8223351. >>>> >>>> Issue: >>>> https://bugs.openjdk.java.net/browse/JDK-8223351 >>>> >>>> Webrev: >>>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>>> >>>> Thanks for any comments and suggestions, Roger >>>> >>> >> > From karen.kinnear at oracle.com Thu Jun 6 20:03:52 2019 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 6 Jun 2019 16:03:52 -0400 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> Message-ID: <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> Mandy caught that I accidentally reviewed the .00 webrev not .01 webrev.01 hotspot source and test files look good - and fits your chart better. Thank you for making the vm changes! thanks for catching that, Karen > On Jun 6, 2019, at 3:24 PM, Karen Kinnear wrote: > > Mandy, > > I reviewed the hotspot changes, source and tests and double-checked my only question with Tobias. > > They look good. In particular the logic of setting the mirrors looks right. > > Minor comment: > Class.java line 561: the final ?and? in this line should be an ?or? > > JVM_ACC_FLATTENABLE: Agreed we need to revisit this. > > thanks, > Karen > >> On Jun 5, 2019, at 2:36 PM, Mandy Chung wrote: >> >> >> >> On 6/5/19 11:07 AM, Roger Riggs wrote: >>> Hi Mandy, >>> >>> Class.java: 261, Shouldn't "value" -> "inline" as does toString(). >> >> Good catch. Fixed. >>> >>> Line 535: >>> I'm a bit confused by the Class.inlineType field. >>> It seems to be the secondary mirror (javaClasses.cpp:990) but here is returned as the primary. >> >> 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, mirror, CHECK); >> >> This creates a new Class object (secondary mirror) but the inlineType and >> indirectType fields are not yet initialized in both primary/secondary mirror. >> >> 990 set_inline_type_mirror(mirror(), mirror()); >> 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 set_inline_type_mirror(indirect_mirror(), mirror()); >> 1017 set_indirect_type_mirror(indirect_mirror(), indirect_mirror()); The above initializes the inlineType and indirectType fields to the primary mirror and secondary mirror respectively. Note that the first argument is the Class object in which the field is being set. Is this clearer? >> >>> Is this backwards? If it is an inline class, then it is its own primary. >> >> It does set the inline Class's inlineType field to the primary mirror which is itself. >> >>> Alternatively, inlineType would/should have been initialized to the primary and a runtime check would not be needed. >>> >>> 1329: Can't asPrimaryType() be used without qualification? >>> AsPrimaryType should always return the primary and the signers should always be on the primary. >>> >> >> Yes until JDK-8225317 is fixed. asPrimaryType intrinsification needs to be updated. Or I can disable to intrinsification completely. I don't mind doing the cleanup when JDK-8225317 is resolved. >> >>> Everyplace that uses asPrimaryType() would be clearer if it did not double test for inline. >>> >> >> Yes, it will be. >> >>> Class.java: 511-516 should not need to be there; the verifier should have already confirmed that. >>> Add a comment to remove extra tests. >>> >> >> It's taken out. No need to keep that. >> >>> Line 593: no need for ?: here; return isIndirectType(); >>> >> >> Fixed. >> >>> Line 1718: Use private toTypeName(). >> >> Fixed >> >> Mandy >> >>> >>> I didn't look too closely at the j.l.invoke parts. >>> >>> Roger >>> >>> >>> On 06/04/2019 08:27 PM, Mandy Chung wrote: >>>> I have updated the patch to add the indirect projection type. Updated webrev: >>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >>>> >>>> javadoc: >>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >>>> >>>> Summary of the changes: >>>> >>>> 1. For an inline class V, V.class is the primary mirror. The secondary mirror >>>> is the indirect projection type which is also the nullable projection type. >>>> >>>> Class.forName returns the primary mirror. The projection types are >>>> used for reflection APIs to find a field of type V? or a method with signature >>>> with V? (i.e. L-type descriptor). >>>> >>>> 2. New APIs are added for core reflection to project an inline class its indirect >>>> or nullable projection type as well as query if a Class object is indirect or inline >>>> or nullable. >>>> >>>> Class::asPrimaryType >>>> Class::asIndirectType >>>> Class::asNullableType >>>> >>>> Class::isInlineClass (was Class::isValue) >>>> Class::isIndirectType >>>> Class::isNullableType >>>> >>>> 3. Class::getName returns the same name for inline class and the projection type >>>> as that's the name of the class in the source >>>> >>>> 4. Class::isAssignableFrom checks properly the subtype relationship >>>> Point <: Point? and Point? <: Object >>>> >>>> Notes: >>>> - I didn't rename ValueKlass::value_mirror as ValueKlass and other classes will >>>> be renamed together in the future. >>>> - I think AccessFlags::set_is_flattenable should be re-examined. JVM_ACC_FLATTENABLE >>>> no longer set in lworld? >>>> - Intrinsification of Class::asPrimaryType will need update (JDK-8225317). >>>> I have excluded MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >>>> test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the compiler >>>> expert to help investigating it while I think it might be related to JDK-8225317. Hence >>>> I capture that failing case in JDK-8225317. >>>> - I took out the unnecessary asPrimaryType call in the tests since V.class now returns >>>> the primary mirror. I left several asPrimaryType calls in TestIntrinsics as they look >>>> like those calls are intended. >>>> >>>> Mandy >>>> >>>> On 5/15/19 11:38 AM, Roger Riggs wrote: >>>>> Please review Mandy's additions and changes to reflection and java.lang.invoke APIs >>>>> for inline and nullable types. >>>>> The changes go a bit deep because of the support for the Java APIs provided by the VM. >>>>> >>>>> This initial prototype reflects discussions about terminology and orthogonality >>>>> of concepts for inline vs nullable as described in the comments of 8223351. >>>>> >>>>> Issue: >>>>> https://bugs.openjdk.java.net/browse/JDK-8223351 >>>>> >>>>> Webrev: >>>>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>>>> >>>>> Thanks for any comments and suggestions, Roger >>>>> >>>> >>> >> > From mandy.chung at oracle.com Thu Jun 6 20:10:42 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 6 Jun 2019 13:10:42 -0700 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> Message-ID: Thanks for the review, Karen. The main delta between webrev.00 and webrev.01 uses "indirect" type/mirror and call the asIndirectType method in most of the test cases as it looks for an indirect projection type. Mandy On 6/6/19 1:03 PM, Karen Kinnear wrote: > Mandy caught that I accidentally reviewed the .00 webrev not .01 > > webrev.01 hotspot source and test files look good - and fits your chart better. > > Thank you for making the vm changes! > > thanks for catching that, > Karen > > >> On Jun 6, 2019, at 3:24 PM, Karen Kinnear wrote: >> >> Mandy, >> >> I reviewed the hotspot changes, source and tests and double-checked my only question with Tobias. >> >> They look good. In particular the logic of setting the mirrors looks right. >> >> Minor comment: >> Class.java line 561: the final ?and? in this line should be an ?or? >> >> JVM_ACC_FLATTENABLE: Agreed we need to revisit this. >> >> thanks, >> Karen >> >>> On Jun 5, 2019, at 2:36 PM, Mandy Chung wrote: >>> >>> >>> >>> On 6/5/19 11:07 AM, Roger Riggs wrote: >>>> Hi Mandy, >>>> >>>> Class.java: 261, Shouldn't "value" -> "inline" as does toString(). >>> Good catch. Fixed. >>>> Line 535: >>>> I'm a bit confused by the Class.inlineType field. >>>> It seems to be the secondary mirror (javaClasses.cpp:990) but here is returned as the primary. >>> 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, mirror, CHECK); >>> >>> This creates a new Class object (secondary mirror) but the inlineType and >>> indirectType fields are not yet initialized in both primary/secondary mirror. >>> >>> 990 set_inline_type_mirror(mirror(), mirror()); >>> 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 set_inline_type_mirror(indirect_mirror(), mirror()); >>> 1017 set_indirect_type_mirror(indirect_mirror(), indirect_mirror()); The above initializes the inlineType and indirectType fields to the primary mirror and secondary mirror respectively. Note that the first argument is the Class object in which the field is being set. Is this clearer? >>> >>>> Is this backwards? If it is an inline class, then it is its own primary. >>> It does set the inline Class's inlineType field to the primary mirror which is itself. >>> >>>> Alternatively, inlineType would/should have been initialized to the primary and a runtime check would not be needed. >>>> >>>> 1329: Can't asPrimaryType() be used without qualification? >>>> AsPrimaryType should always return the primary and the signers should always be on the primary. >>>> >>> Yes until JDK-8225317 is fixed. asPrimaryType intrinsification needs to be updated. Or I can disable to intrinsification completely. I don't mind doing the cleanup when JDK-8225317 is resolved. >>> >>>> Everyplace that uses asPrimaryType() would be clearer if it did not double test for inline. >>>> >>> Yes, it will be. >>> >>>> Class.java: 511-516 should not need to be there; the verifier should have already confirmed that. >>>> Add a comment to remove extra tests. >>>> >>> It's taken out. No need to keep that. >>> >>>> Line 593: no need for ?: here; return isIndirectType(); >>>> >>> Fixed. >>> >>>> Line 1718: Use private toTypeName(). >>> Fixed >>> >>> Mandy >>> >>>> I didn't look too closely at the j.l.invoke parts. >>>> >>>> Roger >>>> >>>> >>>> On 06/04/2019 08:27 PM, Mandy Chung wrote: >>>>> I have updated the patch to add the indirect projection type. Updated webrev: >>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >>>>> >>>>> javadoc: >>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >>>>> >>>>> Summary of the changes: >>>>> >>>>> 1. For an inline class V, V.class is the primary mirror. The secondary mirror >>>>> is the indirect projection type which is also the nullable projection type. >>>>> >>>>> Class.forName returns the primary mirror. The projection types are >>>>> used for reflection APIs to find a field of type V? or a method with signature >>>>> with V? (i.e. L-type descriptor). >>>>> >>>>> 2. New APIs are added for core reflection to project an inline class its indirect >>>>> or nullable projection type as well as query if a Class object is indirect or inline >>>>> or nullable. >>>>> >>>>> Class::asPrimaryType >>>>> Class::asIndirectType >>>>> Class::asNullableType >>>>> >>>>> Class::isInlineClass (was Class::isValue) >>>>> Class::isIndirectType >>>>> Class::isNullableType >>>>> >>>>> 3. Class::getName returns the same name for inline class and the projection type >>>>> as that's the name of the class in the source >>>>> >>>>> 4. Class::isAssignableFrom checks properly the subtype relationship >>>>> Point <: Point? and Point? <: Object >>>>> >>>>> Notes: >>>>> - I didn't rename ValueKlass::value_mirror as ValueKlass and other classes will >>>>> be renamed together in the future. >>>>> - I think AccessFlags::set_is_flattenable should be re-examined. JVM_ACC_FLATTENABLE >>>>> no longer set in lworld? >>>>> - Intrinsification of Class::asPrimaryType will need update (JDK-8225317). >>>>> I have excluded MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >>>>> test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the compiler >>>>> expert to help investigating it while I think it might be related to JDK-8225317. Hence >>>>> I capture that failing case in JDK-8225317. >>>>> - I took out the unnecessary asPrimaryType call in the tests since V.class now returns >>>>> the primary mirror. I left several asPrimaryType calls in TestIntrinsics as they look >>>>> like those calls are intended. >>>>> >>>>> Mandy >>>>> >>>>> On 5/15/19 11:38 AM, Roger Riggs wrote: >>>>>> Please review Mandy's additions and changes to reflection and java.lang.invoke APIs >>>>>> for inline and nullable types. >>>>>> The changes go a bit deep because of the support for the Java APIs provided by the VM. >>>>>> >>>>>> This initial prototype reflects discussions about terminology and orthogonality >>>>>> of concepts for inline vs nullable as described in the comments of 8223351. >>>>>> >>>>>> Issue: >>>>>> https://bugs.openjdk.java.net/browse/JDK-8223351 >>>>>> >>>>>> Webrev: >>>>>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>>>>> >>>>>> Thanks for any comments and suggestions, Roger >>>>>> From harold.seigel at oracle.com Thu Jun 6 20:13:52 2019 From: harold.seigel at oracle.com (Harold Seigel) Date: Thu, 6 Jun 2019 16:13:52 -0400 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> Message-ID: Hi Mandy, Why were you able to delete these lines from javaClasses.cpp? 1010 if (k->is_array_klass()) { 1011 assert(component_mirror(mirror()) != NULL, "must have a mirror"); 1012 set_component_mirror(value_mirror(), component_mirror(mirror())); 1013 } Does the component mirror get set elsewhere? Thanks, Harold On 6/6/2019 4:03 PM, Karen Kinnear wrote: > Mandy caught that I accidentally reviewed the .00 webrev not .01 > > webrev.01 hotspot source and test files look good - and fits your chart better. > > Thank you for making the vm changes! > > thanks for catching that, > Karen > > >> On Jun 6, 2019, at 3:24 PM, Karen Kinnear wrote: >> >> Mandy, >> >> I reviewed the hotspot changes, source and tests and double-checked my only question with Tobias. >> >> They look good. In particular the logic of setting the mirrors looks right. >> >> Minor comment: >> Class.java line 561: the final ?and? in this line should be an ?or? >> >> JVM_ACC_FLATTENABLE: Agreed we need to revisit this. >> >> thanks, >> Karen >> >>> On Jun 5, 2019, at 2:36 PM, Mandy Chung wrote: >>> >>> >>> >>> On 6/5/19 11:07 AM, Roger Riggs wrote: >>>> Hi Mandy, >>>> >>>> Class.java: 261, Shouldn't "value" -> "inline" as does toString(). >>> Good catch. Fixed. >>>> Line 535: >>>> I'm a bit confused by the Class.inlineType field. >>>> It seems to be the secondary mirror (javaClasses.cpp:990) but here is returned as the primary. >>> 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, mirror, CHECK); >>> >>> This creates a new Class object (secondary mirror) but the inlineType and >>> indirectType fields are not yet initialized in both primary/secondary mirror. >>> >>> 990 set_inline_type_mirror(mirror(), mirror()); >>> 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 set_inline_type_mirror(indirect_mirror(), mirror()); >>> 1017 set_indirect_type_mirror(indirect_mirror(), indirect_mirror()); The above initializes the inlineType and indirectType fields to the primary mirror and secondary mirror respectively. Note that the first argument is the Class object in which the field is being set. Is this clearer? >>> >>>> Is this backwards? If it is an inline class, then it is its own primary. >>> It does set the inline Class's inlineType field to the primary mirror which is itself. >>> >>>> Alternatively, inlineType would/should have been initialized to the primary and a runtime check would not be needed. >>>> >>>> 1329: Can't asPrimaryType() be used without qualification? >>>> AsPrimaryType should always return the primary and the signers should always be on the primary. >>>> >>> Yes until JDK-8225317 is fixed. asPrimaryType intrinsification needs to be updated. Or I can disable to intrinsification completely. I don't mind doing the cleanup when JDK-8225317 is resolved. >>> >>>> Everyplace that uses asPrimaryType() would be clearer if it did not double test for inline. >>>> >>> Yes, it will be. >>> >>>> Class.java: 511-516 should not need to be there; the verifier should have already confirmed that. >>>> Add a comment to remove extra tests. >>>> >>> It's taken out. No need to keep that. >>> >>>> Line 593: no need for ?: here; return isIndirectType(); >>>> >>> Fixed. >>> >>>> Line 1718: Use private toTypeName(). >>> Fixed >>> >>> Mandy >>> >>>> I didn't look too closely at the j.l.invoke parts. >>>> >>>> Roger >>>> >>>> >>>> On 06/04/2019 08:27 PM, Mandy Chung wrote: >>>>> I have updated the patch to add the indirect projection type. Updated webrev: >>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >>>>> >>>>> javadoc: >>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >>>>> >>>>> Summary of the changes: >>>>> >>>>> 1. For an inline class V, V.class is the primary mirror. The secondary mirror >>>>> is the indirect projection type which is also the nullable projection type. >>>>> >>>>> Class.forName returns the primary mirror. The projection types are >>>>> used for reflection APIs to find a field of type V? or a method with signature >>>>> with V? (i.e. L-type descriptor). >>>>> >>>>> 2. New APIs are added for core reflection to project an inline class its indirect >>>>> or nullable projection type as well as query if a Class object is indirect or inline >>>>> or nullable. >>>>> >>>>> Class::asPrimaryType >>>>> Class::asIndirectType >>>>> Class::asNullableType >>>>> >>>>> Class::isInlineClass (was Class::isValue) >>>>> Class::isIndirectType >>>>> Class::isNullableType >>>>> >>>>> 3. Class::getName returns the same name for inline class and the projection type >>>>> as that's the name of the class in the source >>>>> >>>>> 4. Class::isAssignableFrom checks properly the subtype relationship >>>>> Point <: Point? and Point? <: Object >>>>> >>>>> Notes: >>>>> - I didn't rename ValueKlass::value_mirror as ValueKlass and other classes will >>>>> be renamed together in the future. >>>>> - I think AccessFlags::set_is_flattenable should be re-examined. JVM_ACC_FLATTENABLE >>>>> no longer set in lworld? >>>>> - Intrinsification of Class::asPrimaryType will need update (JDK-8225317). >>>>> I have excluded MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >>>>> test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the compiler >>>>> expert to help investigating it while I think it might be related to JDK-8225317. Hence >>>>> I capture that failing case in JDK-8225317. >>>>> - I took out the unnecessary asPrimaryType call in the tests since V.class now returns >>>>> the primary mirror. I left several asPrimaryType calls in TestIntrinsics as they look >>>>> like those calls are intended. >>>>> >>>>> Mandy >>>>> >>>>> On 5/15/19 11:38 AM, Roger Riggs wrote: >>>>>> Please review Mandy's additions and changes to reflection and java.lang.invoke APIs >>>>>> for inline and nullable types. >>>>>> The changes go a bit deep because of the support for the Java APIs provided by the VM. >>>>>> >>>>>> This initial prototype reflects discussions about terminology and orthogonality >>>>>> of concepts for inline vs nullable as described in the comments of 8223351. >>>>>> >>>>>> Issue: >>>>>> https://bugs.openjdk.java.net/browse/JDK-8223351 >>>>>> >>>>>> Webrev: >>>>>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>>>>> >>>>>> Thanks for any comments and suggestions, Roger >>>>>> From karen.kinnear at oracle.com Thu Jun 6 20:23:07 2019 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 6 Jun 2019 16:23:07 -0400 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> Message-ID: If k is an inline class then it is not an array class, so we should never been in here - at least that is the way I read it. thanks, Karen > On Jun 6, 2019, at 4:13 PM, Harold Seigel wrote: > > Hi Mandy, > > Why were you able to delete these lines from javaClasses.cpp? > > 1010 if (k->is_array_klass()) { > 1011 assert(component_mirror(mirror()) != NULL, "must have a mirror"); > 1012 set_component_mirror(value_mirror(), component_mirror(mirror())); > 1013 } > > Does the component mirror get set elsewhere? > > Thanks, Harold > > On 6/6/2019 4:03 PM, Karen Kinnear wrote: >> Mandy caught that I accidentally reviewed the .00 webrev not .01 >> >> webrev.01 hotspot source and test files look good - and fits your chart better. >> >> Thank you for making the vm changes! >> >> thanks for catching that, >> Karen >> >> >>> On Jun 6, 2019, at 3:24 PM, Karen Kinnear wrote: >>> >>> Mandy, >>> >>> I reviewed the hotspot changes, source and tests and double-checked my only question with Tobias. >>> >>> They look good. In particular the logic of setting the mirrors looks right. >>> >>> Minor comment: >>> Class.java line 561: the final ?and? in this line should be an ?or? >>> >>> JVM_ACC_FLATTENABLE: Agreed we need to revisit this. >>> >>> thanks, >>> Karen >>> >>>> On Jun 5, 2019, at 2:36 PM, Mandy Chung wrote: >>>> >>>> >>>> >>>> On 6/5/19 11:07 AM, Roger Riggs wrote: >>>>> Hi Mandy, >>>>> >>>>> Class.java: 261, Shouldn't "value" -> "inline" as does toString(). >>>> Good catch. Fixed. >>>>> Line 535: >>>>> I'm a bit confused by the Class.inlineType field. >>>>> It seems to be the secondary mirror (javaClasses.cpp:990) but here is returned as the primary. >>>> 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, mirror, CHECK); >>>> >>>> This creates a new Class object (secondary mirror) but the inlineType and >>>> indirectType fields are not yet initialized in both primary/secondary mirror. >>>> >>>> 990 set_inline_type_mirror(mirror(), mirror()); >>>> 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 set_inline_type_mirror(indirect_mirror(), mirror()); >>>> 1017 set_indirect_type_mirror(indirect_mirror(), indirect_mirror()); The above initializes the inlineType and indirectType fields to the primary mirror and secondary mirror respectively. Note that the first argument is the Class object in which the field is being set. Is this clearer? >>>> >>>>> Is this backwards? If it is an inline class, then it is its own primary. >>>> It does set the inline Class's inlineType field to the primary mirror which is itself. >>>> >>>>> Alternatively, inlineType would/should have been initialized to the primary and a runtime check would not be needed. >>>>> >>>>> 1329: Can't asPrimaryType() be used without qualification? >>>>> AsPrimaryType should always return the primary and the signers should always be on the primary. >>>>> >>>> Yes until JDK-8225317 is fixed. asPrimaryType intrinsification needs to be updated. Or I can disable to intrinsification completely. I don't mind doing the cleanup when JDK-8225317 is resolved. >>>> >>>>> Everyplace that uses asPrimaryType() would be clearer if it did not double test for inline. >>>>> >>>> Yes, it will be. >>>> >>>>> Class.java: 511-516 should not need to be there; the verifier should have already confirmed that. >>>>> Add a comment to remove extra tests. >>>>> >>>> It's taken out. No need to keep that. >>>> >>>>> Line 593: no need for ?: here; return isIndirectType(); >>>>> >>>> Fixed. >>>> >>>>> Line 1718: Use private toTypeName(). >>>> Fixed >>>> >>>> Mandy >>>> >>>>> I didn't look too closely at the j.l.invoke parts. >>>>> >>>>> Roger >>>>> >>>>> >>>>> On 06/04/2019 08:27 PM, Mandy Chung wrote: >>>>>> I have updated the patch to add the indirect projection type. Updated webrev: >>>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >>>>>> >>>>>> javadoc: >>>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >>>>>> >>>>>> Summary of the changes: >>>>>> >>>>>> 1. For an inline class V, V.class is the primary mirror. The secondary mirror >>>>>> is the indirect projection type which is also the nullable projection type. >>>>>> >>>>>> Class.forName returns the primary mirror. The projection types are >>>>>> used for reflection APIs to find a field of type V? or a method with signature >>>>>> with V? (i.e. L-type descriptor). >>>>>> >>>>>> 2. New APIs are added for core reflection to project an inline class its indirect >>>>>> or nullable projection type as well as query if a Class object is indirect or inline >>>>>> or nullable. >>>>>> >>>>>> Class::asPrimaryType >>>>>> Class::asIndirectType >>>>>> Class::asNullableType >>>>>> >>>>>> Class::isInlineClass (was Class::isValue) >>>>>> Class::isIndirectType >>>>>> Class::isNullableType >>>>>> >>>>>> 3. Class::getName returns the same name for inline class and the projection type >>>>>> as that's the name of the class in the source >>>>>> >>>>>> 4. Class::isAssignableFrom checks properly the subtype relationship >>>>>> Point <: Point? and Point? <: Object >>>>>> >>>>>> Notes: >>>>>> - I didn't rename ValueKlass::value_mirror as ValueKlass and other classes will >>>>>> be renamed together in the future. >>>>>> - I think AccessFlags::set_is_flattenable should be re-examined. JVM_ACC_FLATTENABLE >>>>>> no longer set in lworld? >>>>>> - Intrinsification of Class::asPrimaryType will need update (JDK-8225317). >>>>>> I have excluded MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >>>>>> test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the compiler >>>>>> expert to help investigating it while I think it might be related to JDK-8225317. Hence >>>>>> I capture that failing case in JDK-8225317. >>>>>> - I took out the unnecessary asPrimaryType call in the tests since V.class now returns >>>>>> the primary mirror. I left several asPrimaryType calls in TestIntrinsics as they look >>>>>> like those calls are intended. >>>>>> >>>>>> Mandy >>>>>> >>>>>> On 5/15/19 11:38 AM, Roger Riggs wrote: >>>>>>> Please review Mandy's additions and changes to reflection and java.lang.invoke APIs >>>>>>> for inline and nullable types. >>>>>>> The changes go a bit deep because of the support for the Java APIs provided by the VM. >>>>>>> >>>>>>> This initial prototype reflects discussions about terminology and orthogonality >>>>>>> of concepts for inline vs nullable as described in the comments of 8223351. >>>>>>> >>>>>>> Issue: >>>>>>> https://bugs.openjdk.java.net/browse/JDK-8223351 >>>>>>> >>>>>>> Webrev: >>>>>>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>>>>>> >>>>>>> Thanks for any comments and suggestions, Roger >>>>>>> From harold.seigel at oracle.com Thu Jun 6 20:29:07 2019 From: harold.seigel at oracle.com (Harold Seigel) Date: Thu, 6 Jun 2019 16:29:07 -0400 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> Message-ID: <4140ce5c-f1e2-19ca-16af-d98076511c17@oracle.com> That makes sense. Thanks, Harold On 6/6/2019 4:23 PM, Karen Kinnear wrote: > If k is an inline class then it is not an array class, so we should never been in here - at least > that is the way I read it. > > thanks, > Karen > >> On Jun 6, 2019, at 4:13 PM, Harold Seigel wrote: >> >> Hi Mandy, >> >> Why were you able to delete these lines from javaClasses.cpp? >> >> 1010 if (k->is_array_klass()) { >> 1011 assert(component_mirror(mirror()) != NULL, "must have a mirror"); >> 1012 set_component_mirror(value_mirror(), component_mirror(mirror())); >> 1013 } >> >> Does the component mirror get set elsewhere? >> >> Thanks, Harold >> >> On 6/6/2019 4:03 PM, Karen Kinnear wrote: >>> Mandy caught that I accidentally reviewed the .00 webrev not .01 >>> >>> webrev.01 hotspot source and test files look good - and fits your chart better. >>> >>> Thank you for making the vm changes! >>> >>> thanks for catching that, >>> Karen >>> >>> >>>> On Jun 6, 2019, at 3:24 PM, Karen Kinnear wrote: >>>> >>>> Mandy, >>>> >>>> I reviewed the hotspot changes, source and tests and double-checked my only question with Tobias. >>>> >>>> They look good. In particular the logic of setting the mirrors looks right. >>>> >>>> Minor comment: >>>> Class.java line 561: the final ?and? in this line should be an ?or? >>>> >>>> JVM_ACC_FLATTENABLE: Agreed we need to revisit this. >>>> >>>> thanks, >>>> Karen >>>> >>>>> On Jun 5, 2019, at 2:36 PM, Mandy Chung wrote: >>>>> >>>>> >>>>> >>>>> On 6/5/19 11:07 AM, Roger Riggs wrote: >>>>>> Hi Mandy, >>>>>> >>>>>> Class.java: 261, Shouldn't "value" -> "inline" as does toString(). >>>>> Good catch. Fixed. >>>>>> Line 535: >>>>>> I'm a bit confused by the Class.inlineType field. >>>>>> It seems to be the secondary mirror (javaClasses.cpp:990) but here is returned as the primary. >>>>> 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, mirror, CHECK); >>>>> >>>>> This creates a new Class object (secondary mirror) but the inlineType and >>>>> indirectType fields are not yet initialized in both primary/secondary mirror. >>>>> >>>>> 990 set_inline_type_mirror(mirror(), mirror()); >>>>> 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 set_inline_type_mirror(indirect_mirror(), mirror()); >>>>> 1017 set_indirect_type_mirror(indirect_mirror(), indirect_mirror()); The above initializes the inlineType and indirectType fields to the primary mirror and secondary mirror respectively. Note that the first argument is the Class object in which the field is being set. Is this clearer? >>>>> >>>>>> Is this backwards? If it is an inline class, then it is its own primary. >>>>> It does set the inline Class's inlineType field to the primary mirror which is itself. >>>>> >>>>>> Alternatively, inlineType would/should have been initialized to the primary and a runtime check would not be needed. >>>>>> >>>>>> 1329: Can't asPrimaryType() be used without qualification? >>>>>> AsPrimaryType should always return the primary and the signers should always be on the primary. >>>>>> >>>>> Yes until JDK-8225317 is fixed. asPrimaryType intrinsification needs to be updated. Or I can disable to intrinsification completely. I don't mind doing the cleanup when JDK-8225317 is resolved. >>>>> >>>>>> Everyplace that uses asPrimaryType() would be clearer if it did not double test for inline. >>>>>> >>>>> Yes, it will be. >>>>> >>>>>> Class.java: 511-516 should not need to be there; the verifier should have already confirmed that. >>>>>> Add a comment to remove extra tests. >>>>>> >>>>> It's taken out. No need to keep that. >>>>> >>>>>> Line 593: no need for ?: here; return isIndirectType(); >>>>>> >>>>> Fixed. >>>>> >>>>>> Line 1718: Use private toTypeName(). >>>>> Fixed >>>>> >>>>> Mandy >>>>> >>>>>> I didn't look too closely at the j.l.invoke parts. >>>>>> >>>>>> Roger >>>>>> >>>>>> >>>>>> On 06/04/2019 08:27 PM, Mandy Chung wrote: >>>>>>> I have updated the patch to add the indirect projection type. Updated webrev: >>>>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >>>>>>> >>>>>>> javadoc: >>>>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >>>>>>> >>>>>>> Summary of the changes: >>>>>>> >>>>>>> 1. For an inline class V, V.class is the primary mirror. The secondary mirror >>>>>>> is the indirect projection type which is also the nullable projection type. >>>>>>> >>>>>>> Class.forName returns the primary mirror. The projection types are >>>>>>> used for reflection APIs to find a field of type V? or a method with signature >>>>>>> with V? (i.e. L-type descriptor). >>>>>>> >>>>>>> 2. New APIs are added for core reflection to project an inline class its indirect >>>>>>> or nullable projection type as well as query if a Class object is indirect or inline >>>>>>> or nullable. >>>>>>> >>>>>>> Class::asPrimaryType >>>>>>> Class::asIndirectType >>>>>>> Class::asNullableType >>>>>>> >>>>>>> Class::isInlineClass (was Class::isValue) >>>>>>> Class::isIndirectType >>>>>>> Class::isNullableType >>>>>>> >>>>>>> 3. Class::getName returns the same name for inline class and the projection type >>>>>>> as that's the name of the class in the source >>>>>>> >>>>>>> 4. Class::isAssignableFrom checks properly the subtype relationship >>>>>>> Point <: Point? and Point? <: Object >>>>>>> >>>>>>> Notes: >>>>>>> - I didn't rename ValueKlass::value_mirror as ValueKlass and other classes will >>>>>>> be renamed together in the future. >>>>>>> - I think AccessFlags::set_is_flattenable should be re-examined. JVM_ACC_FLATTENABLE >>>>>>> no longer set in lworld? >>>>>>> - Intrinsification of Class::asPrimaryType will need update (JDK-8225317). >>>>>>> I have excluded MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >>>>>>> test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the compiler >>>>>>> expert to help investigating it while I think it might be related to JDK-8225317. Hence >>>>>>> I capture that failing case in JDK-8225317. >>>>>>> - I took out the unnecessary asPrimaryType call in the tests since V.class now returns >>>>>>> the primary mirror. I left several asPrimaryType calls in TestIntrinsics as they look >>>>>>> like those calls are intended. >>>>>>> >>>>>>> Mandy >>>>>>> >>>>>>> On 5/15/19 11:38 AM, Roger Riggs wrote: >>>>>>>> Please review Mandy's additions and changes to reflection and java.lang.invoke APIs >>>>>>>> for inline and nullable types. >>>>>>>> The changes go a bit deep because of the support for the Java APIs provided by the VM. >>>>>>>> >>>>>>>> This initial prototype reflects discussions about terminology and orthogonality >>>>>>>> of concepts for inline vs nullable as described in the comments of 8223351. >>>>>>>> >>>>>>>> Issue: >>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8223351 >>>>>>>> >>>>>>>> Webrev: >>>>>>>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>>>>>>> >>>>>>>> Thanks for any comments and suggestions, Roger >>>>>>>> From mandy.chung at oracle.com Thu Jun 6 20:28:56 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 6 Jun 2019 13:28:56 -0700 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> Message-ID: <549db38d-9f1a-fe28-1a53-c04c88adcbb4@oracle.com> When a component type is an inline type, the Class object or the component type should have been created and initialized, i.e. its primary and indirect type mirrors already set up .? So they are not needed. line 926-946 gets the component type of an array class and line 940-941 are the assertion. Mandy On 6/6/19 1:13 PM, Harold Seigel wrote: > Hi Mandy, > > Why were you able to delete these lines from javaClasses.cpp? > > ?? 1010 if (k->is_array_klass()) { > ?? 1011 assert(component_mirror(mirror()) != NULL, "must have a mirror"); > ?? 1012 set_component_mirror(value_mirror(), component_mirror(mirror())); > ?? 1013 } > > Does the component mirror get set elsewhere? > > Thanks, Harold > > On 6/6/2019 4:03 PM, Karen Kinnear wrote: >> Mandy caught that I accidentally reviewed the .00 webrev not .01 >> >> webrev.01 hotspot source and test files look good - and fits your >> chart better. >> >> Thank you for making the vm changes! >> >> thanks for catching that, >> Karen >> >> >>> On Jun 6, 2019, at 3:24 PM, Karen Kinnear >>> wrote: >>> >>> Mandy, >>> >>> I reviewed the hotspot changes, source and tests and double-checked >>> my only question with Tobias. >>> >>> They look good. In particular the logic of setting the mirrors looks >>> right. >>> >>> Minor comment: >>> Class.java line 561: the final ?and? in this line should be an ?or? >>> >>> JVM_ACC_FLATTENABLE: Agreed we need to revisit this. >>> >>> thanks, >>> Karen >>> >>>> On Jun 5, 2019, at 2:36 PM, Mandy Chung >>>> wrote: >>>> >>>> >>>> >>>> On 6/5/19 11:07 AM, Roger Riggs wrote: >>>>> Hi Mandy, >>>>> >>>>> Class.java: 261,? Shouldn't "value" -> "inline"? as does toString(). >>>> Good catch.? Fixed. >>>>> Line 535: >>>>> I'm a bit confused by the Class.inlineType field. >>>>> It seems to be the secondary mirror (javaClasses.cpp:990) but here >>>>> is returned as the primary. >>>> 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, >>>> mirror, CHECK); >>>> >>>> This creates a new Class object (secondary mirror) but the >>>> inlineType and >>>> indirectType fields are not yet initialized in both >>>> primary/secondary mirror. >>>> >>>> 990 set_inline_type_mirror(mirror(), mirror()); >>>> 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 >>>> set_inline_type_mirror(indirect_mirror(), mirror()); >>>> 1017 set_indirect_type_mirror(indirect_mirror(), >>>> indirect_mirror()); The above initializes the inlineType and >>>> indirectType fields to the primary mirror and secondary mirror >>>> respectively. Note that the first argument is the Class object in >>>> which the field is being set. Is this clearer? >>>> >>>>> Is this backwards?? If it is an inline class, then it is its own >>>>> primary. >>>> It does set the inline Class's inlineType field to the primary >>>> mirror which is itself. >>>> >>>>> Alternatively, inlineType would/should have been initialized to >>>>> the primary and a runtime check would not be needed. >>>>> >>>>> 1329:? Can't asPrimaryType() be used without qualification? >>>>> AsPrimaryType should always return the primary and the signers >>>>> should always be on the primary. >>>>> >>>> Yes until JDK-8225317 is fixed.? asPrimaryType intrinsification >>>> needs to be updated.? Or I can disable to intrinsification >>>> completely.? I don't mind doing the cleanup when JDK-8225317 is >>>> resolved. >>>> >>>>> Everyplace that uses asPrimaryType() would be clearer if it did >>>>> not double test for inline. >>>>> >>>> Yes, it will be. >>>> >>>>> Class.java: 511-516 should not need to be there; the verifier >>>>> should have already confirmed that. >>>>> Add a comment to remove extra tests. >>>>> >>>> It's taken out.?? No need to keep that. >>>> >>>>> Line 593:? no need for ?: here; return isIndirectType(); >>>>> >>>> Fixed. >>>> >>>>> Line 1718:? Use private toTypeName(). >>>> Fixed >>>> >>>> Mandy >>>> >>>>> I didn't look too closely at the j.l.invoke parts. >>>>> >>>>> Roger >>>>> >>>>> >>>>> On 06/04/2019 08:27 PM, Mandy Chung wrote: >>>>>> I have updated the patch to add the indirect projection type. >>>>>> Updated webrev: >>>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >>>>>> >>>>>> >>>>>> javadoc: >>>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >>>>>> >>>>>> >>>>>> Summary of the changes: >>>>>> >>>>>> 1. For an inline class V, V.class is the primary mirror.?? The >>>>>> secondary mirror >>>>>> ??? is the indirect projection type which is also the nullable >>>>>> projection type. >>>>>> >>>>>> ??? Class.forName returns the primary mirror.? The projection >>>>>> types are >>>>>> ??? used for reflection APIs to find a field of type V? or a >>>>>> method with signature >>>>>> ??? with V? (i.e. L-type descriptor). >>>>>> >>>>>> 2. New APIs are added for core reflection to project an inline >>>>>> class its indirect >>>>>> ??? or nullable projection type as well as query if a Class >>>>>> object is indirect or inline >>>>>> ??? or nullable. >>>>>> >>>>>> ??? Class::asPrimaryType >>>>>> ??? Class::asIndirectType >>>>>> ??? Class::asNullableType >>>>>> >>>>>> ??? Class::isInlineClass? (was Class::isValue) >>>>>> ??? Class::isIndirectType >>>>>> ??? Class::isNullableType >>>>>> >>>>>> 3. Class::getName returns the same name for inline class and the >>>>>> projection type >>>>>> ??? as that's the name of the class in the source >>>>>> >>>>>> 4. Class::isAssignableFrom checks properly the subtype relationship >>>>>> ??? Point <: Point? and Point? <: Object >>>>>> >>>>>> Notes: >>>>>> - I didn't rename ValueKlass::value_mirror as ValueKlass and >>>>>> other classes will >>>>>> ? be renamed together in the future. >>>>>> - I think AccessFlags::set_is_flattenable should be re-examined. >>>>>> JVM_ACC_FLATTENABLE >>>>>> ? no longer set in lworld? >>>>>> - Intrinsification of Class::asPrimaryType will need update >>>>>> (JDK-8225317). >>>>>> ? I have excluded >>>>>> MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >>>>>> ? test case in >>>>>> compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the >>>>>> compiler >>>>>> ? expert to help investigating it while I think it might be >>>>>> related to JDK-8225317.? Hence >>>>>> ? I capture that failing case in JDK-8225317. >>>>>> - I took out the unnecessary asPrimaryType call in the tests >>>>>> since V.class now returns >>>>>> ? the primary mirror.? I left several asPrimaryType calls in >>>>>> TestIntrinsics as they look >>>>>> ? like those calls are intended. >>>>>> >>>>>> Mandy >>>>>> >>>>>> On 5/15/19 11:38 AM, Roger Riggs wrote: >>>>>>> Please review Mandy's additions and changes to reflection and >>>>>>> java.lang.invoke APIs >>>>>>> for inline and nullable types. >>>>>>> The changes go a bit deep because of the support for the Java >>>>>>> APIs provided by the VM. >>>>>>> >>>>>>> This initial prototype reflects discussions about terminology >>>>>>> and orthogonality >>>>>>> of concepts for inline vs nullable as described in the comments >>>>>>> of 8223351. >>>>>>> >>>>>>> Issue: >>>>>>> ? https://bugs.openjdk.java.net/browse/JDK-8223351 >>>>>>> >>>>>>> Webrev: >>>>>>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>>>>>> >>>>>>> Thanks for any comments and suggestions, Roger >>>>>>> From mandy.chung at oracle.com Thu Jun 6 20:31:21 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 6 Jun 2019 13:31:21 -0700 Subject: RFR 8223351 [lworld/lw2] : Primary mirror and nullable mirror for inline type In-Reply-To: References: <3c14cf9e-7426-232b-c5ea-c07525533628@oracle.com> <736a7003-25b0-dab2-d938-d03930679ef1@oracle.com> <81ac752e-df73-a842-9a9b-59703371b6f4@oracle.com> <9DCD2F38-37AA-4C06-B777-50344592B3E9@oracle.com> <11E09AF4-BBB9-40ED-8561-CE6E181E3129@oracle.com> Message-ID: <6d436c87-9bad-64e1-2322-00ff540d335b@oracle.com> On 6/6/19 1:23 PM, Karen Kinnear wrote: > If k is an inline class then it is not an array class, so we should never been in here - at least that is the way I read it. Yes that is too. See line 987 and the new line 1002. 1002 assert(k->is_value(), "inline class"); Mandy > thanks, > Karen > >> On Jun 6, 2019, at 4:13 PM, Harold Seigel wrote: >> >> Hi Mandy, >> >> Why were you able to delete these lines from javaClasses.cpp? >> >> 1010 if (k->is_array_klass()) { >> 1011 assert(component_mirror(mirror()) != NULL, "must have a mirror"); >> 1012 set_component_mirror(value_mirror(), component_mirror(mirror())); >> 1013 } >> >> Does the component mirror get set elsewhere? >> >> Thanks, Harold >> >> On 6/6/2019 4:03 PM, Karen Kinnear wrote: >>> Mandy caught that I accidentally reviewed the .00 webrev not .01 >>> >>> webrev.01 hotspot source and test files look good - and fits your chart better. >>> >>> Thank you for making the vm changes! >>> >>> thanks for catching that, >>> Karen >>> >>> >>>> On Jun 6, 2019, at 3:24 PM, Karen Kinnear wrote: >>>> >>>> Mandy, >>>> >>>> I reviewed the hotspot changes, source and tests and double-checked my only question with Tobias. >>>> >>>> They look good. In particular the logic of setting the mirrors looks right. >>>> >>>> Minor comment: >>>> Class.java line 561: the final ?and? in this line should be an ?or? >>>> >>>> JVM_ACC_FLATTENABLE: Agreed we need to revisit this. >>>> >>>> thanks, >>>> Karen >>>> >>>>> On Jun 5, 2019, at 2:36 PM, Mandy Chung wrote: >>>>> >>>>> >>>>> >>>>> On 6/5/19 11:07 AM, Roger Riggs wrote: >>>>>> Hi Mandy, >>>>>> >>>>>> Class.java: 261, Shouldn't "value" -> "inline" as does toString(). >>>>> Good catch. Fixed. >>>>>> Line 535: >>>>>> I'm a bit confused by the Class.inlineType field. >>>>>> It seems to be the secondary mirror (javaClasses.cpp:990) but here is returned as the primary. >>>>> 989 oop indirect_mirror_oop = create_indirect_type_mirror(k, mirror, CHECK); >>>>> >>>>> This creates a new Class object (secondary mirror) but the inlineType and >>>>> indirectType fields are not yet initialized in both primary/secondary mirror. >>>>> >>>>> 990 set_inline_type_mirror(mirror(), mirror()); >>>>> 991 set_indirect_type_mirror(mirror(), indirect_mirror_oop); 1016 set_inline_type_mirror(indirect_mirror(), mirror()); >>>>> 1017 set_indirect_type_mirror(indirect_mirror(), indirect_mirror()); The above initializes the inlineType and indirectType fields to the primary mirror and secondary mirror respectively. Note that the first argument is the Class object in which the field is being set. Is this clearer? >>>>> >>>>>> Is this backwards? If it is an inline class, then it is its own primary. >>>>> It does set the inline Class's inlineType field to the primary mirror which is itself. >>>>> >>>>>> Alternatively, inlineType would/should have been initialized to the primary and a runtime check would not be needed. >>>>>> >>>>>> 1329: Can't asPrimaryType() be used without qualification? >>>>>> AsPrimaryType should always return the primary and the signers should always be on the primary. >>>>>> >>>>> Yes until JDK-8225317 is fixed. asPrimaryType intrinsification needs to be updated. Or I can disable to intrinsification completely. I don't mind doing the cleanup when JDK-8225317 is resolved. >>>>> >>>>>> Everyplace that uses asPrimaryType() would be clearer if it did not double test for inline. >>>>>> >>>>> Yes, it will be. >>>>> >>>>>> Class.java: 511-516 should not need to be there; the verifier should have already confirmed that. >>>>>> Add a comment to remove extra tests. >>>>>> >>>>> It's taken out. No need to keep that. >>>>> >>>>>> Line 593: no need for ?: here; return isIndirectType(); >>>>>> >>>>> Fixed. >>>>> >>>>>> Line 1718: Use private toTypeName(). >>>>> Fixed >>>>> >>>>> Mandy >>>>> >>>>>> I didn't look too closely at the j.l.invoke parts. >>>>>> >>>>>> Roger >>>>>> >>>>>> >>>>>> On 06/04/2019 08:27 PM, Mandy Chung wrote: >>>>>>> I have updated the patch to add the indirect projection type. Updated webrev: >>>>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8223351/webrev.01/ >>>>>>> >>>>>>> javadoc: >>>>>>> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/api/java.base/java/lang/Class.html >>>>>>> >>>>>>> Summary of the changes: >>>>>>> >>>>>>> 1. For an inline class V, V.class is the primary mirror. The secondary mirror >>>>>>> is the indirect projection type which is also the nullable projection type. >>>>>>> >>>>>>> Class.forName returns the primary mirror. The projection types are >>>>>>> used for reflection APIs to find a field of type V? or a method with signature >>>>>>> with V? (i.e. L-type descriptor). >>>>>>> >>>>>>> 2. New APIs are added for core reflection to project an inline class its indirect >>>>>>> or nullable projection type as well as query if a Class object is indirect or inline >>>>>>> or nullable. >>>>>>> >>>>>>> Class::asPrimaryType >>>>>>> Class::asIndirectType >>>>>>> Class::asNullableType >>>>>>> >>>>>>> Class::isInlineClass (was Class::isValue) >>>>>>> Class::isIndirectType >>>>>>> Class::isNullableType >>>>>>> >>>>>>> 3. Class::getName returns the same name for inline class and the projection type >>>>>>> as that's the name of the class in the source >>>>>>> >>>>>>> 4. Class::isAssignableFrom checks properly the subtype relationship >>>>>>> Point <: Point? and Point? <: Object >>>>>>> >>>>>>> Notes: >>>>>>> - I didn't rename ValueKlass::value_mirror as ValueKlass and other classes will >>>>>>> be renamed together in the future. >>>>>>> - I think AccessFlags::set_is_flattenable should be re-examined. JVM_ACC_FLATTENABLE >>>>>>> no longer set in lworld? >>>>>>> - Intrinsification of Class::asPrimaryType will need update (JDK-8225317). >>>>>>> I have excluded MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()) >>>>>>> test case in compiler/valhalla/valuetypes/TestIntrinsifics.java. I'd need the compiler >>>>>>> expert to help investigating it while I think it might be related to JDK-8225317. Hence >>>>>>> I capture that failing case in JDK-8225317. >>>>>>> - I took out the unnecessary asPrimaryType call in the tests since V.class now returns >>>>>>> the primary mirror. I left several asPrimaryType calls in TestIntrinsics as they look >>>>>>> like those calls are intended. >>>>>>> >>>>>>> Mandy >>>>>>> >>>>>>> On 5/15/19 11:38 AM, Roger Riggs wrote: >>>>>>>> Please review Mandy's additions and changes to reflection and java.lang.invoke APIs >>>>>>>> for inline and nullable types. >>>>>>>> The changes go a bit deep because of the support for the Java APIs provided by the VM. >>>>>>>> >>>>>>>> This initial prototype reflects discussions about terminology and orthogonality >>>>>>>> of concepts for inline vs nullable as described in the comments of 8223351. >>>>>>>> >>>>>>>> Issue: >>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8223351 >>>>>>>> >>>>>>>> Webrev: >>>>>>>> http://cr.openjdk.java.net/~rriggs/webrev-lworld-dev-8223351/ >>>>>>>> >>>>>>>> Thanks for any comments and suggestions, Roger >>>>>>>> From mandy.chung at oracle.com Thu Jun 6 20:45:41 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 06 Jun 2019 20:45:41 +0000 Subject: hg: valhalla/valhalla: 8223351: [lworld] Primary mirror and nullable mirror for inline type Message-ID: <201906062045.x56Kjgf0020325@aojmv0008.oracle.com> Changeset: da373189c4ed Author: mchung Date: 2019-06-06 13:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/da373189c4ed 8223351: [lworld] Primary mirror and nullable mirror for inline type Reviewed-by: rriggs, acorn, hseigel ! src/hotspot/share/ci/ciInstance.cpp ! src/hotspot/share/ci/ciMethodType.cpp ! src/hotspot/share/ci/ciValueKlass.cpp ! src/hotspot/share/ci/ciValueKlass.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/valueKlass.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/utilities/accessFlags.hpp ! src/java.base/share/classes/java/io/ObjectOutputStream.java ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormBuilder.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/ValueBootstrapMethods.java ! src/java.base/share/classes/java/lang/invoke/VarHandle.java ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/Modifier.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java ! src/java.base/share/classes/jdk/internal/reflect/AccessorGenerator.java ! src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java ! src/java.base/share/classes/sun/invoke/util/BytecodeDescriptor.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.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/TestNativeClone.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNullableValueTypes.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Ifacmp.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueOops.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeArray.java ! test/jdk/valhalla/valuetypes/MethodHandleTest.java ! test/jdk/valhalla/valuetypes/NonFlattenValue.java ! test/jdk/valhalla/valuetypes/ObjectMethods.java ! test/jdk/valhalla/valuetypes/QTypeDescriptorTest.java ! test/jdk/valhalla/valuetypes/Reflection.java ! test/jdk/valhalla/valuetypes/ValueArray.java ! test/jdk/valhalla/valuetypes/ValueBootstrapMethods.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueBootstrapMethodsTest.java From ioi.lam at oracle.com Fri Jun 7 04:57:02 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Fri, 07 Jun 2019 04:57:02 +0000 Subject: hg: valhalla/valhalla: [lworld] fix merge with mainline repo (printing of nmethod) Message-ID: <201906070457.x574v3wr002232@aojmv0008.oracle.com> Changeset: 46a46d8679df Author: iklam Date: 2019-06-06 21:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/46a46d8679df [lworld] fix merge with mainline repo (printing of nmethod) ! src/hotspot/share/code/nmethod.cpp From john.r.rose at oracle.com Fri Jun 7 05:21:26 2019 From: john.r.rose at oracle.com (John Rose) Date: Thu, 6 Jun 2019 22:21:26 -0700 Subject: RFR (S) 8217714: [lworld] Support for substitutability checks in interpreter In-Reply-To: <140ADCCC-78C3-4142-AEC4-E9ABF02319F9@oracle.com> References: <315cc01a-4a65-5dd3-a1e6-542727ca109a@oracle.com> <8c8a2619-1eec-fe58-8307-f12578aff6a9@oracle.com> <3c00ffaa-6771-a9d8-6289-ad8331bb8289@oracle.com> <140ADCCC-78C3-4142-AEC4-E9ABF02319F9@oracle.com> Message-ID: <1E99E3A9-331F-48E4-839F-6CAEF5CC7039@oracle.com> On Jun 5, 2019, at 5:22 AM, Frederic Parain wrote: > > interpreterRuntime.cpp: 529: > > Instead of > > 529 if (HAS_PENDING_EXCEPTION) { > 530 fatal("isSubstitutable() raised exception"); > 531 } > > I would prefer > > guarantee(!HAS_PENDING_EXCEPTION,"isSubstitutable() raised exception?); > > Are we sure that the substitutability test will never, ever throw an exception? Good question. The answer is "no". I can imagine the VM wanting to throw some kind of VirtualMachineError in pathological cases. The normal implementation will have an occasional recursion which might (pathologically) be deep enough to trigger SOE. Even the single stack frame that is pushed by the code under review (JavaCalls::call in InterpreterRuntime::is_substitutable) could trigger SOE in very unlucky circumstances. This is not so far-fetched if you remember that the interpreter might already be on the edge of an SOE for other reasons. We try hard not to crash even when we run out of stack at just the wrong moment. So, I think that we should allow acmp to be a throwing bytecode, at this point. Almost any JVM operation can throw a VME, after all. ? John From mandy.chung at oracle.com Fri Jun 7 22:02:19 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 7 Jun 2019 15:02:19 -0700 Subject: Review Request: JDK-8225462: [lworld] MethodHandle support of the static factory method Message-ID: Hi Roger, This patch fixes a few issues in java.lang.invoke implementation when accessing the static init factories. findStatic allows to find the static init factory whereas findConstructor remains only finding the object constructor.? This patch does some renaming w.r.t. object constructor vs static init factory to make distinction clear. I ran into JDK-8225079 when I tried Constructor::newInstance with your patch.?? I currently uncomment the validation involved Constructor::newInstance in StaticInitFactoryTest. Webrev: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8225462/webrev.00/ Mandy From ioi.lam at oracle.com Mon Jun 10 05:02:41 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Sun, 9 Jun 2019 22:02:41 -0700 Subject: RFR 8225337 [lworld] TestNewAcmp.java fails with C1 when java.lang.ClassValue::* are compiled Message-ID: https://bugs.openjdk.java.net/browse/JDK-8225337 http://cr.openjdk.java.net/~iklam/valhalla/8225337-acmp-wrong-call-to-ValueBootstrapMethods-isSubstitutable.v01/ In C1, when an acmp operation cannot be handled in-line, we make a call to ValueBootstrapMethods::isSubstitutable. We the call is made, registers are spilled onto the stack. However, the call is made only conditionally, but C1's register allocator can't handle this -- it think the registers are spilled for all possible paths taken by the acmp operation. The fix is to move the call into a new SubstitutabilityCheckStub. That's the standard way of how C1 handles a slow path. Thanks - Ioi From Roger.Riggs at oracle.com Mon Jun 10 15:27:01 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Mon, 10 Jun 2019 11:27:01 -0400 Subject: Review Request: JDK-8225462: [lworld] MethodHandle support of the static factory method In-Reply-To: References: Message-ID: <7601f6dd-31db-0970-9e32-0e6d2a83e184@oracle.com> Hi Mandy, On the renaming to ObjectConstructor, can it be more specific to reference object types (if that terminology is settled). (inline class values are Objects too). (I suppose it will be easy to do a global search/replace later). InfoFromMemberName: 117/121: Would the message be clearer as? "object constructor must have return type void" "inline class constructor must have return type " + getDeclaringClass().getName() Looks ok, Roger On 06/07/2019 06:02 PM, Mandy Chung wrote: > Hi Roger, > > This patch fixes a few issues in java.lang.invoke implementation when > accessing the static init factories. findStatic allows to find the > static init factory whereas findConstructor remains only finding the > object constructor.? This patch does some renaming w.r.t. object > constructor vs static init factory to make distinction clear. > > I ran into JDK-8225079 when I tried Constructor::newInstance with your > patch.?? I currently uncomment the validation involved > Constructor::newInstance in StaticInitFactoryTest. Harold has proposed a fix in comments for 8225079. > > Webrev: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8225462/webrev.00/ > > > Mandy From mandy.chung at oracle.com Mon Jun 10 15:51:20 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 10 Jun 2019 08:51:20 -0700 Subject: Review Request: JDK-8225462: [lworld] MethodHandle support of the static factory method In-Reply-To: <7601f6dd-31db-0970-9e32-0e6d2a83e184@oracle.com> References: <7601f6dd-31db-0970-9e32-0e6d2a83e184@oracle.com> Message-ID: <7f06f279-95ba-5fec-d424-33b7d796bd90@oracle.com> On 6/10/19 8:27 AM, Roger Riggs wrote: > Hi Mandy, > > On the renaming to ObjectConstructor, can it be more specific to > reference object types (if that terminology is settled). > (inline class values are Objects too). > (I suppose it will be easy to do a global search/replace later). > I would wait to do the renaming when we settle on the terminologies.?? At least both JDK and hotspot implementation are consistent in these terms (is_object_constructor and is_static_init_factory [1]). > InfoFromMemberName: > > 117/121: Would the message be clearer as? > "object constructor must have return type void" > "inline class constructor must have return type " + > getDeclaringClass().getName() > This could be indirect class as well.?? This error is very rare and so I think we can update it when the terminologies are settled. Thanks Mandy [1] http://hg.openjdk.java.net/valhalla/valhalla/file/46a46d8679df/src/hotspot/share/oops/method.hpp#l696 > Looks ok, Roger > > > > > On 06/07/2019 06:02 PM, Mandy Chung wrote: >> Hi Roger, >> >> This patch fixes a few issues in java.lang.invoke implementation when >> accessing the static init factories. findStatic allows to find the >> static init factory whereas findConstructor remains only finding the >> object constructor.? This patch does some renaming w.r.t. object >> constructor vs static init factory to make distinction clear. >> >> I ran into JDK-8225079 when I tried Constructor::newInstance with >> your patch.?? I currently uncomment the validation involved >> Constructor::newInstance in StaticInitFactoryTest. > Harold has proposed a fix in comments for 8225079. >> >> Webrev: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lw2/8225462/webrev.00/ >> >> >> Mandy > From harold.seigel at oracle.com Mon Jun 10 17:40:17 2019 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Mon, 10 Jun 2019 17:40:17 +0000 Subject: hg: valhalla/valhalla: 8225079: [lworld] newInstance wrong return type Internal Error Message-ID: <201906101740.x5AHeInj025698@aojmv0008.oracle.com> Changeset: 444ec8ce942d Author: hseigel Date: 2019-06-10 13:39 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/444ec8ce942d 8225079: [lworld] newInstance wrong return type Internal Error Summary: Specify T_VALUETYPE, not T_OBJECT as factory method return type Reviewed-by: mchung ! src/hotspot/share/runtime/reflection.cpp From roger.riggs at oracle.com Mon Jun 10 21:52:10 2019 From: roger.riggs at oracle.com (roger.riggs at oracle.com) Date: Mon, 10 Jun 2019 21:52:10 +0000 Subject: hg: valhalla/valhalla: 2 new changesets Message-ID: <201906102152.x5ALqA3x023196@aojmv0008.oracle.com> Changeset: bf1fa84aae47 Author: rriggs Date: 2019-06-10 17:50 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bf1fa84aae47 8223349: [lworld] Reflection support on static factory methods for inline types Reviewed-by: jrose, mchung ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java + test/jdk/valhalla/valuetypes/InlineConstructorTest.java ! test/jdk/valhalla/valuetypes/Reflection.java Changeset: 7c5ace923258 Author: rriggs Date: 2019-06-10 17:50 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7c5ace923258 8223582: [lworld] WeakReference of an inline type should throw Reviewed-by: mchung ! src/java.base/share/classes/java/lang/ref/PhantomReference.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/lang/ref/SoftReference.java ! src/java.base/share/classes/java/lang/ref/WeakReference.java + test/jdk/valhalla/valuetypes/InlineReferenceTest.java ! test/jdk/valhalla/valuetypes/Point.java From mandy.chung at oracle.com Mon Jun 10 23:36:37 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 10 Jun 2019 23:36:37 +0000 Subject: hg: valhalla/valhalla: 8225462: [lworld] MethodHandle support of the static factory method Message-ID: <201906102336.x5ANacB1028245@aojmv0008.oracle.com> Changeset: d8b84d0fb67c Author: mchung Date: 2019-06-10 16:36 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d8b84d0fb67c 8225462: [lworld] MethodHandle support of the static factory method Reviewed-by: rriggs ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/prims/methodHandles.cpp ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/InfoFromMemberName.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java + test/jdk/valhalla/valuetypes/StaticInitFactoryTest.java From tobias.hartmann at oracle.com Tue Jun 11 10:18:12 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 11 Jun 2019 12:18:12 +0200 Subject: RFR 8225337 [lworld] TestNewAcmp.java fails with C1 when java.lang.ClassValue::* are compiled In-Reply-To: References: Message-ID: <665a689d-353e-7b40-5f20-e9825534f948@oracle.com> Hi Ioi, looks good to me. Best regards, Tobias On 10.06.19 07:02, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8225337 > http://cr.openjdk.java.net/~iklam/valhalla/8225337-acmp-wrong-call-to-ValueBootstrapMethods-isSubstitutable.v01/ > > > In C1, when an acmp operation cannot be handled in-line, we make a call > to ValueBootstrapMethods::isSubstitutable. We the call is made, registers are > spilled onto the stack. However, the call is made only conditionally, but > C1's register allocator can't handle this -- it think the registers are spilled > for all possible paths taken by the acmp operation. > > The fix is to move the call into a new SubstitutabilityCheckStub. That's the > standard way of how C1 handles a slow path. > > Thanks > - Ioi > > > > > > From tobias.hartmann at oracle.com Tue Jun 11 12:06:27 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Tue, 11 Jun 2019 12:06:27 +0000 Subject: hg: valhalla/valhalla: 8225204: [lworld] C2 crashed trying to generate code for filling 2-dimensional nullable value type array Message-ID: <201906111206.x5BC6Spp002061@aojmv0008.oracle.com> Changeset: cee0fa7f2ea7 Author: thartmann Date: 2019-06-11 13:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cee0fa7f2ea7 8225204: [lworld] C2 crashed trying to generate code for filling 2-dimensional nullable value type array ! src/hotspot/share/ci/ciTypeFlow.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNullableArrays.java From tobias.hartmann at oracle.com Tue Jun 11 14:47:35 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Tue, 11 Jun 2019 14:47:35 +0000 Subject: hg: valhalla/valhalla: 8225575: [lworld] TestNewAcmp fails with assert(_map != __null) failed: must call stopped() to test for reset compiler map Message-ID: <201906111447.x5BElaVO007554@aojmv0008.oracle.com> Changeset: d8fb0b8512d5 Author: thartmann Date: 2019-06-11 16:47 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d8fb0b8512d5 8225575: [lworld] TestNewAcmp fails with assert(_map != __null) failed: must call stopped() to test for reset compiler map ! src/hotspot/share/opto/parse2.cpp From tobias.hartmann at oracle.com Tue Jun 11 14:54:24 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Tue, 11 Jun 2019 14:54:24 +0000 Subject: hg: valhalla/valhalla: 8225579: [lworld] Ifacmp.java fails with 'Multiple garbage collectors selected' Message-ID: <201906111454.x5BEsPrX013919@aojmv0008.oracle.com> Changeset: c3ca31a87b18 Author: thartmann Date: 2019-06-11 16:54 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c3ca31a87b18 8225579: [lworld] Ifacmp.java fails with 'Multiple garbage collectors selected' ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Ifacmp.java From rwestrel at redhat.com Tue Jun 11 15:12:41 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 11 Jun 2019 17:12:41 +0200 Subject: RFR: 8221647: [lworld] Performance regression due to the fact that check if array is array of values is not hoisted out of the loop. In-Reply-To: <800d81e6-d8ad-ffcf-95e3-6c12cd9bfd6b@oracle.com> References: <87y32p9xnq.fsf@redhat.com> <800d81e6-d8ad-ffcf-95e3-6c12cd9bfd6b@oracle.com> Message-ID: <87ftogdul2.fsf@redhat.com> Hi Tobias, > Were you able to reproduce the problem of flattened array accesses being incorrectly reordered? I.e. > do we have a regression test for that? I was not when I gave it a try. > graphKit.cpp: > - line 3405: I think you should use GraphKit::load_object_klass or LoadKlassNode::make. But then for compressed class pointers, that would return a decode node when what I need is the LoadKlassN. > Also, I see build failures on Windows: > > jib > t:/workspace/open/src/hotspot/share/opto/compile.cpp(3968): error C2220: warning treated as > error - no 'object' file generated > jib > t:/workspace/open/src/hotspot/share/opto/compile.cpp(3968): warning C4293: '<<': shift count > negative or too big, undefined behavior Hard for me to test builds on windows. I changed 1L << to be ((jlong)1) << instead. Not sure if that's sufficient. > And a failure with TestLWorld: I think the problem here is that G1 barriers get in the way of optimizations so the IR differs when it's compiled with parallel GC enabld compared to G1 enabled. I changed the match rule to 2 match rules, one for G1 enabled and one for G1 disabled. New webrev: http://cr.openjdk.java.net/~roland/8221647/webrev.01/ incremental: http://cr.openjdk.java.net/~roland/8221647/webrev.00-01/ Roland. From tobias.hartmann at oracle.com Tue Jun 11 15:41:35 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 11 Jun 2019 17:41:35 +0200 Subject: RFR: 8221647: [lworld] Performance regression due to the fact that check if array is array of values is not hoisted out of the loop. In-Reply-To: <87ftogdul2.fsf@redhat.com> References: <87y32p9xnq.fsf@redhat.com> <800d81e6-d8ad-ffcf-95e3-6c12cd9bfd6b@oracle.com> <87ftogdul2.fsf@redhat.com> Message-ID: <84fd00f5-28f7-6a50-19d4-d06cddc0cc47@oracle.com> Hi Roland, On 11.06.19 17:12, Roland Westrelin wrote: >> graphKit.cpp: >> - line 3405: I think you should use GraphKit::load_object_klass or LoadKlassNode::make. > > But then for compressed class pointers, that would return a decode node > when what I need is the LoadKlassN. Ah, right. > Hard for me to test builds on windows. I changed 1L << to be ((jlong)1) > << instead. Not sure if that's sufficient. Okay, I'll re-run testing and let you know once it passed. >> And a failure with TestLWorld: > > I think the problem here is that G1 barriers get in the way of > optimizations so the IR differs when it's compiled with parallel GC > enabld compared to G1 enabled. I changed the match rule to 2 match > rules, one for G1 enabled and one for G1 disabled. > > New webrev: > http://cr.openjdk.java.net/~roland/8221647/webrev.01/ > > incremental: > > http://cr.openjdk.java.net/~roland/8221647/webrev.00-01/ Thanks for making these changes. Looks good. Best regards, Tobias From ioi.lam at oracle.com Tue Jun 11 17:17:28 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Tue, 11 Jun 2019 17:17:28 +0000 Subject: hg: valhalla/valhalla: 8225337: [lworld] TestNewAcmp.java fails with C1 when java.lang.ClassValue::* are compiled Message-ID: <201906111717.x5BHHTDm010341@aojmv0008.oracle.com> Changeset: fa4fab1ee95a Author: iklam Date: 2019-06-11 09:57 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fa4fab1ee95a 8225337: [lworld] TestNewAcmp.java fails with C1 when java.lang.ClassValue::* are compiled Reviewed-by: thartmann ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/share/c1/c1_CodeStubs.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/c1/c1_Runtime1.hpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java From ioi.lam at oracle.com Tue Jun 11 21:48:12 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Tue, 11 Jun 2019 21:48:12 +0000 Subject: hg: valhalla/valhalla: 8225623: [lworld][c1] java -Xcomp -version fails with IllegalMonitorStateException Message-ID: <201906112148.x5BLmCKY008322@aojmv0008.oracle.com> Changeset: 20f9ccfe5ba2 Author: iklam Date: 2019-06-11 14:47 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/20f9ccfe5ba2 8225623: [lworld][c1] java -Xcomp -version fails with IllegalMonitorStateException ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp From ioi.lam at oracle.com Wed Jun 12 04:59:31 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Wed, 12 Jun 2019 04:59:31 +0000 Subject: hg: valhalla/valhalla: 8225637: [lworld] java -Xshare:on -version crashes Message-ID: <201906120459.x5C4xWMg001501@aojmv0008.oracle.com> Changeset: fb97bb15ea8e Author: iklam Date: 2019-06-11 21:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fb97bb15ea8e 8225637: [lworld] java -Xshare:on -version crashes ! src/hotspot/share/oops/method.cpp From tobias.hartmann at oracle.com Wed Jun 12 08:09:12 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 12 Jun 2019 10:09:12 +0200 Subject: RFR: 8221647: [lworld] Performance regression due to the fact that check if array is array of values is not hoisted out of the loop. In-Reply-To: <84fd00f5-28f7-6a50-19d4-d06cddc0cc47@oracle.com> References: <87y32p9xnq.fsf@redhat.com> <800d81e6-d8ad-ffcf-95e3-6c12cd9bfd6b@oracle.com> <87ftogdul2.fsf@redhat.com> <84fd00f5-28f7-6a50-19d4-d06cddc0cc47@oracle.com> Message-ID: <6a75a742-f62d-1037-8bb5-965d5b6969ad@oracle.com> Hi Roland, On 11.06.19 17:41, Tobias Hartmann wrote: >> Hard for me to test builds on windows. I changed 1L << to be ((jlong)1) >> << instead. Not sure if that's sufficient. > Okay, I'll re-run testing and let you know once it passed. All builds and tests passed except for two intermittent failures that might not be related to your patch. Please go ahead and push, we can investigate these later. Best regards, Tobias From rwestrel at redhat.com Wed Jun 12 08:42:44 2019 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Wed, 12 Jun 2019 08:42:44 +0000 Subject: hg: valhalla/valhalla: 8221647: [lworld] Performance regression due to the fact that check if array is array of values is not hoisted out of the loop. Message-ID: <201906120842.x5C8gjgm028955@aojmv0008.oracle.com> Changeset: 6ab8dd3cdefb Author: roland Date: 2019-06-11 16:33 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6ab8dd3cdefb 8221647: [lworld] Performance regression due to the fact that check if array is array of values is not hoisted out of the loop. Reviewed-by: thartmann ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/parseHelper.cpp ! src/hotspot/share/opto/phasetype.hpp ! 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/ValueTypeTest.java From david.simms at oracle.com Wed Jun 12 12:24:16 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Wed, 12 Jun 2019 12:24:16 +0000 Subject: hg: valhalla/valhalla: 8224877: [lworld] cplsym00103m025 fails with "Failed to reject bad class: no exception was thrown" Message-ID: <201906121224.x5CCOHXR010479@aojmv0008.oracle.com> Changeset: 243e16e2f045 Author: dsimms Date: 2019-06-12 14:23 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/243e16e2f045 8224877: [lworld] cplsym00103m025 fails with "Failed to reject bad class: no exception was thrown" Summary: Fixed bad merge ! src/hotspot/share/runtime/signature.cpp From david.simms at oracle.com Wed Jun 12 13:27:27 2019 From: david.simms at oracle.com (David Simms) Date: Wed, 12 Jun 2019 15:27:27 +0200 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" Message-ID: Greetings, Please review this small fix to prevent "inline type" arrays being sent directly "JVM_InvokeMethod" and "JVM_NewInstanceFromConstructor". I don't believe it is the intention of these methods to receive such a type, in the original problem, there was a javac warning of passing arg[0] implicitly converted to args array. Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ From Roger.Riggs at oracle.com Wed Jun 12 14:52:34 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Wed, 12 Jun 2019 10:52:34 -0400 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" In-Reply-To: References: Message-ID: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> Hi, Would this be just a temporary restriction? I could see the benefits of being able to use an inline array class for varargs. ?, Roger On 06/12/2019 09:27 AM, David Simms wrote: > Greetings, > > Please review this small fix to prevent "inline type" arrays being > sent directly "JVM_InvokeMethod" and "JVM_NewInstanceFromConstructor". > I don't believe it is the intention of these methods to receive such a > type, in the original problem, there was a javac warning of passing > arg[0] implicitly converted to args array. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 > > Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ > > From tobias.hartmann at oracle.com Wed Jun 12 15:26:14 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Wed, 12 Jun 2019 15:26:14 +0000 Subject: hg: valhalla/valhalla: 8225665: [lworld] C2 compilation fails with assert(node->Opcode() == Op_CastP2X) failed: ConvP2XNode required Message-ID: <201906121526.x5CFQFkD025262@aojmv0008.oracle.com> Changeset: f8687d139418 Author: thartmann Date: 2019-06-12 17:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f8687d139418 8225665: [lworld] C2 compilation fails with assert(node->Opcode() == Op_CastP2X) failed: ConvP2XNode required ! src/hotspot/share/opto/arraycopynode.cpp From david.simms at oracle.com Wed Jun 12 16:53:02 2019 From: david.simms at oracle.com (David Simms) Date: Wed, 12 Jun 2019 18:53:02 +0200 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" In-Reply-To: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> References: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> Message-ID: <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> Updated the bug with comment, I was about say, sure let's use inline type array if you want. But the use cases are thin: "The more I think about it the less I think we should allow inline type array, not useless all the method args the same inline type, ie: "test(MyValue3 v1, MyValue3 v2, MyValue3 v3)", then passing MyValue3[] would make sense...but only when all the arg types are the same...seems like an edge case" All the parameter types have to be the same...is that worth a special case ? On 12/06/2019 16:52, Roger Riggs wrote: > Hi, > > Would this be just a temporary restriction? > I could see the benefits of being able to use an inline array class > for varargs. > > ?, Roger > > On 06/12/2019 09:27 AM, David Simms wrote: >> Greetings, >> >> Please review this small fix to prevent "inline type" arrays being >> sent directly "JVM_InvokeMethod" and >> "JVM_NewInstanceFromConstructor". I don't believe it is the intention >> of these methods to receive such a type, in the original problem, >> there was a javac warning of passing arg[0] implicitly converted to >> args array. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 >> >> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ >> >> > From roger.riggs at oracle.com Wed Jun 12 19:26:22 2019 From: roger.riggs at oracle.com (Roger Riggs) Date: Wed, 12 Jun 2019 15:26:22 -0400 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" In-Reply-To: <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> References: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> Message-ID: Hi David, Is that unique to j.l.invoke? There are plenty uses of varargs where the arguments are the same type. List.of(... strings), for example. There is the ambiguity for a single argument that the compiler warns about as in the example that developers have to deal with. We should avoid exceptions, they require more specification (and warts) than being able to just use the whole spec. Getting arguments to this kind of method or constructor efficiently is important. $.02, Roger On 6/12/19 12:53 PM, David Simms wrote: > > Updated the bug with comment, I was about say, sure let's use inline > type array if you want. But the use cases are thin: > > "The more I think about it the less I think we should allow inline > type array, not useless all the method args the same inline type, ie: > > "test(MyValue3 v1, MyValue3 v2, MyValue3 v3)", then passing MyValue3[] > would make sense...but only when all the arg types are the > same...seems like an edge case" > > All the parameter types have to be the same...is that worth a special > case ? > > > On 12/06/2019 16:52, Roger Riggs wrote: >> Hi, >> >> Would this be just a temporary restriction? >> I could see the benefits of being able to use an inline array class >> for varargs. >> >> ?, Roger >> >> On 06/12/2019 09:27 AM, David Simms wrote: >>> Greetings, >>> >>> Please review this small fix to prevent "inline type" arrays being >>> sent directly "JVM_InvokeMethod" and >>> "JVM_NewInstanceFromConstructor". I don't believe it is the >>> intention of these methods to receive such a type, in the original >>> problem, there was a javac warning of passing arg[0] implicitly >>> converted to args array. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 >>> >>> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ >>> >>> >> From mandy.chung at oracle.com Wed Jun 12 20:49:57 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 12 Jun 2019 13:49:57 -0700 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" In-Reply-To: <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> References: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> Message-ID: David, I expect "java.lang.IllegalArgumentException: wrong number of arguments" should be thrown if MyValue3[] is passed to Method::invoke as a varargs (as opposed to a single-element array parameter. A bug is lying somewhere.? [1] is where IAE is being thrown. Mandy [1] http://hg.openjdk.java.net/valhalla/valhalla/file/f8687d139418/src/hotspot/share/runtime/reflection.cpp#l1147 On 6/12/19 9:53 AM, David Simms wrote: > > Updated the bug with comment, I was about say, sure let's use inline > type array if you want. But the use cases are thin: > > "The more I think about it the less I think we should allow inline > type array, not useless all the method args the same inline type, ie: > > "test(MyValue3 v1, MyValue3 v2, MyValue3 v3)", then passing MyValue3[] > would make sense...but only when all the arg types are the > same...seems like an edge case" > > All the parameter types have to be the same...is that worth a special > case ? > > > On 12/06/2019 16:52, Roger Riggs wrote: >> Hi, >> >> Would this be just a temporary restriction? >> I could see the benefits of being able to use an inline array class >> for varargs. >> >> ?, Roger >> >> On 06/12/2019 09:27 AM, David Simms wrote: >>> Greetings, >>> >>> Please review this small fix to prevent "inline type" arrays being >>> sent directly "JVM_InvokeMethod" and >>> "JVM_NewInstanceFromConstructor". I don't believe it is the >>> intention of these methods to receive such a type, in the original >>> problem, there was a javac warning of passing arg[0] implicitly >>> converted to args array. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 >>> >>> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ >>> >>> >> From david.simms at oracle.com Thu Jun 13 06:48:17 2019 From: david.simms at oracle.com (David Simms) Date: Thu, 13 Jun 2019 08:48:17 +0200 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" In-Reply-To: References: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> Message-ID: Thanks for pointing out this is a more general issue...your counter use case is useful. Will have a look around for other interesting cases. For LW2 there might be an initial hack to convert to objArrayOop. There is an issue in the VM now where, yes java inline type arrays are co-variant but objArrayOop and valueArrayOop do not share the same type relationship, and maybe they should. I.e. VM arrayOop get/put elements methods (yeah there is polymorphism in C++). Unclear we would win anything in terms of performance or heap for VM runtime code. VM runtime always handles oops (drastically reduces code changes), meaning conversion to objArrayOop is actually fine. JIT intrinsics will benefit if we allow inline type array. I'll rework the patch, and do a little more digging. Thanks for the feedback guys. /D On 12/06/2019 21:26, Roger Riggs wrote: > Hi David, > > Is that unique to j.l.invoke? > There are plenty uses of varargs where the arguments > are the same type. List.of(... strings), for example. > There is the ambiguity for a single argument that the compiler warns > about > as in the example that developers have to deal with. > > We should avoid exceptions, they require more specification (and warts) > than being able to just use the whole spec. > Getting arguments to this kind of method or constructor efficiently is > important. > > $.02, Roger > > > On 6/12/19 12:53 PM, David Simms wrote: >> >> Updated the bug with comment, I was about say, sure let's use inline >> type array if you want. But the use cases are thin: >> >> "The more I think about it the less I think we should allow inline >> type array, not useless all the method args the same inline type, ie: >> >> "test(MyValue3 v1, MyValue3 v2, MyValue3 v3)", then passing >> MyValue3[] would make sense...but only when all the arg types are the >> same...seems like an edge case" >> >> All the parameter types have to be the same...is that worth a special >> case ? >> >> >> On 12/06/2019 16:52, Roger Riggs wrote: >>> Hi, >>> >>> Would this be just a temporary restriction? >>> I could see the benefits of being able to use an inline array class >>> for varargs. >>> >>> ?, Roger >>> >>> On 06/12/2019 09:27 AM, David Simms wrote: >>>> Greetings, >>>> >>>> Please review this small fix to prevent "inline type" arrays being >>>> sent directly "JVM_InvokeMethod" and >>>> "JVM_NewInstanceFromConstructor". I don't believe it is the >>>> intention of these methods to receive such a type, in the original >>>> problem, there was a javac warning of passing arg[0] implicitly >>>> converted to args array. >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 >>>> >>>> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ >>>> >>>> >>> > From tobias.hartmann at oracle.com Thu Jun 13 13:00:32 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 13 Jun 2019 15:00:32 +0200 Subject: RFR(S): 8225317: [lworld] Fix Class::asPrimaryType and isAssignableFrom C2 intrinsics after JDK-8223351 Message-ID: Hi, please review the following fix: https://bugs.openjdk.java.net/browse/JDK-8225317 http://cr.openjdk.java.net/~thartmann/8225317/webrev.00/ Changes: - The asPrimaryType and asIndirectType intrinsics should return 'this' if the receiver is not a value type mirror. - The isAssignableFrom intrinsic incorrectly returns true for MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()). The problem is that the subtype check passes because MyValue and MyValue? have the same klass. We need to additionally check if the mirrors are equal if the supertype mirror is a "primary type". - I've also refactored the value mirror check into an own method (at some point we need to rename "value class" to "inline class" but that's out of the scope of this patch). Thanks, Tobias From rwestrel at redhat.com Thu Jun 13 14:48:44 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 13 Jun 2019 16:48:44 +0200 Subject: RFR(S): 8225317: [lworld] Fix Class::asPrimaryType and isAssignableFrom C2 intrinsics after JDK-8223351 In-Reply-To: References: Message-ID: <87v9x9czhv.fsf@redhat.com> > http://cr.openjdk.java.net/~thartmann/8225317/webrev.00/ Looks good to me. Roland. From Roger.Riggs at oracle.com Thu Jun 13 15:22:26 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Thu, 13 Jun 2019 11:22:26 -0400 Subject: RFR 8207257 : Add VarHandle access test for value type declared in ref type Message-ID: <1c1b5eba-ef64-bd7c-be3b-046d851c140f@oracle.com> Please review an update to tests of VarHandles.? It adds support for an inline class used in arrays and as a field of another inline class. All tests pass except for those affected by 8207259[1] and the vh.compareAndSet methods. The real changes are (mostly) to the templates, the other files are generated by the script. The variable 'String' was changed to 'Class" so that it conditions all tests of Classes including inline classes (not primitives) Issue: ?? https://bugs.openjdk.java.net/browse/JDK-8207257 Webrev: http://cr.openjdk.java.net/~rriggs/webrev-inlineclass-tests-8207257/index.html [1]8207259 Ensure VarHandle compare and set/exchange work for value types Thanks, Roger From tobias.hartmann at oracle.com Thu Jun 13 15:25:23 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 13 Jun 2019 17:25:23 +0200 Subject: RFR(S): 8225317: [lworld] Fix Class::asPrimaryType and isAssignableFrom C2 intrinsics after JDK-8223351 In-Reply-To: <87v9x9czhv.fsf@redhat.com> References: <87v9x9czhv.fsf@redhat.com> Message-ID: <6314443c-c08f-c926-6a2f-a27f23726690@oracle.com> Thanks Roland! Best regards, Tobias On 13.06.19 16:48, Roland Westrelin wrote: > >> http://cr.openjdk.java.net/~thartmann/8225317/webrev.00/ > > Looks good to me. > > Roland. > From tobias.hartmann at oracle.com Thu Jun 13 15:26:48 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Thu, 13 Jun 2019 15:26:48 +0000 Subject: hg: valhalla/valhalla: 8225317: [lworld] Fix Class::asPrimaryType and isAssignableFrom C2 intrinsics after JDK-8223351 Message-ID: <201906131526.x5DFQn80004801@aojmv0008.oracle.com> Changeset: 900cb1e9424d Author: thartmann Date: 2019-06-13 17:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/900cb1e9424d 8225317: [lworld] Fix Class::asPrimaryType and isAssignableFrom C2 intrinsics after JDK-8223351 Reviewed-by: roland ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java From mandy.chung at oracle.com Thu Jun 13 19:12:04 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 13 Jun 2019 12:12:04 -0700 Subject: RFR 8207257 : Add VarHandle access test for value type declared in ref type In-Reply-To: <1c1b5eba-ef64-bd7c-be3b-046d851c140f@oracle.com> References: <1c1b5eba-ef64-bd7c-be3b-046d851c140f@oracle.com> Message-ID: <791473a6-84f7-840b-9732-ec3b3d48358a@oracle.com> On 6/13/19 8:22 AM, Roger Riggs wrote: > Please review an update to tests of VarHandles.? It adds support for > an inline class > used in arrays and as a field of another inline class. > > All tests pass except for those affected by 8207259[1] and the > vh.compareAndSet methods. > > The real changes are (mostly) to the templates, the other files are > generated by the script. > The variable 'String' was changed to 'Class" so that it conditions all > tests of Classes > including inline classes (not primitives) > > Issue: > ?? https://bugs.openjdk.java.net/browse/JDK-8207257 > > Webrev: > http://cr.openjdk.java.net/~rriggs/webrev-inlineclass-tests-8207257/index.html > > test/jdk/java/lang/invoke/VarHandles/generate-vh-tests.sh + args="$args -KClass" Maybe "Object" instead of Class as the value is either inline or indirect object. + * @bug 8156486 8207257 These repo-valhalla issues will not be used when integrating to the main development repo and if you add it in @bug, it would be clear when time comes to integration. I see no need to change @bug. > [1]8207259 Ensure VarHandle compare and set/exchange work for value types I can't quickly spot the special cases or excluded test case for 8207259. Tried searching 8207259 in the new xxxPoint tests and can't find it either. Are they excluded? Mandy From Roger.Riggs at oracle.com Thu Jun 13 19:57:40 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Thu, 13 Jun 2019 15:57:40 -0400 Subject: RFR 8207257 : Add VarHandle access test for value type declared in ref type In-Reply-To: <791473a6-84f7-840b-9732-ec3b3d48358a@oracle.com> References: <1c1b5eba-ef64-bd7c-be3b-046d851c140f@oracle.com> <791473a6-84f7-840b-9732-ec3b3d48358a@oracle.com> Message-ID: <82948e0b-dd57-2780-5788-e02cdaad2201@oracle.com> Hi Mandy, Updated webrev: http://cr.openjdk.java.net/~rriggs/webrev-inlineclass-tests-8207257-1/ On 6/13/19 3:12 PM, Mandy Chung wrote: > > > On 6/13/19 8:22 AM, Roger Riggs wrote: >> Please review an update to tests of VarHandles.? It adds support for >> an inline class >> used in arrays and as a field of another inline class. >> >> All tests pass except for those affected by 8207259[1] and the >> vh.compareAndSet methods. >> >> The real changes are (mostly) to the templates, the other files are >> generated by the script. >> The variable 'String' was changed to 'Class" so that it conditions >> all tests of Classes >> including inline classes (not primitives) >> >> Issue: >> https://bugs.openjdk.java.net/browse/JDK-8207257 >> >> Webrev: >> http://cr.openjdk.java.net/~rriggs/webrev-inlineclass-tests-8207257/index.html >> >> > test/jdk/java/lang/invoke/VarHandles/generate-vh-tests.sh > + args="$args -KClass" Maybe "Object" instead of Class as the value is > either inline or indirect object. That's ok, the distinction is between Object types and primitives. > + * @bug 8156486 8207257 These repo-valhalla issues will not be used > when integrating to the main development repo and if you add it in > @bug, it would be clear when time comes to integration. I see no need > to change @bug. ok, will remove bugid >> [1]8207259 Ensure VarHandle compare and set/exchange work for value >> types > I can't quickly spot the special cases or excluded test case for 8207259. > Tried searching 8207259 in the new xxxPoint tests and can't find it > either. > > Are they excluded? No, I figured to wait until that bug was fixed to push. It will avoid another round of updates later. Thanks, Roger > > Mandy > From mandy.chung at oracle.com Thu Jun 13 20:18:55 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 13 Jun 2019 13:18:55 -0700 Subject: RFR 8207257 : Add VarHandle access test for value type declared in ref type In-Reply-To: <82948e0b-dd57-2780-5788-e02cdaad2201@oracle.com> References: <1c1b5eba-ef64-bd7c-be3b-046d851c140f@oracle.com> <791473a6-84f7-840b-9732-ec3b3d48358a@oracle.com> <82948e0b-dd57-2780-5788-e02cdaad2201@oracle.com> Message-ID: <56ebcdb2-e52b-4880-fa95-63867c0f2d7e@oracle.com> On 6/13/19 12:57 PM, Roger Riggs wrote: > Hi Mandy, > > Updated webrev: > http://cr.openjdk.java.net/~rriggs/webrev-inlineclass-tests-8207257-1/ > Looks good. >>> [1]8207259 Ensure VarHandle compare and set/exchange work for value >>> types >> I can't quickly spot the special cases or excluded test case for 8207259. >> Tried searching 8207259 in the new xxxPoint tests and can't find it >> either. >> >> Are they excluded? > No, I figured to wait until that bug was fixed to push. > It will avoid another round of updates later. great! thanks Mandy From ioi.lam at oracle.com Fri Jun 14 05:03:05 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Thu, 13 Jun 2019 22:03:05 -0700 Subject: RFR 8225374 [lworld][c1] TestMethodHandles.java fails with -XX:+StressValueTypeReturnedAsFields Message-ID: <539fd065-bd95-a5be-3a2c-76ff02354591@oracle.com> https://bugs.openjdk.java.net/browse/JDK-8225374 http://cr.openjdk.java.net/~iklam/valhalla/8225374-TestMethodHandles-fails-with-StressValueTypeReturnedAsFields.v01/ Summary: When a C1-compiled method calls a method handle invoker, it needs to check if the returned oop value indicates that the fields of the oop have been returned in registers (lowest bit of the returned "oop" is 1). If so, pack the fields back into a buffered object. Thanks - Ioi From ioi.lam at oracle.com Fri Jun 14 05:06:38 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Thu, 13 Jun 2019 22:06:38 -0700 Subject: RFR 8225762 [lworld][c1] deoptimization fails with -XX:+StressValueTypeReturnedAsFields Message-ID: https://bugs.openjdk.java.net/browse/JDK-8225762 http://cr.openjdk.java.net/~iklam/valhalla/8225762-c1-deopt-fails-with-StressValueTypeReturnedAsFields.v01/ Evaluation: with ValueTypeReturnedAsFields==true, when test14_interp returns a value object, RAX contains (klass|0x1), and the fields of the value object is stored in other registers. In the deoptimization handler of test14, it needs to create a buffer object, in here: http://hg.openjdk.java.net/valhalla/valhalla/file/fb97bb15ea8e/src/hotspot/share/runtime/deoptimization.cpp#l223 To handle this situation, when compiling test14(), C1 needs to set up the ScopeDesc for the invocation to test14_interp(), such that ScopeDesc::return_oop() and ScopeDesc::return_vt() both are true. I added two new test case in TestCallingConvention.java that are similar to the failed test14(), except that the call is made via a MethodHandle. Thanks - Ioi From tobias.hartmann at oracle.com Fri Jun 14 06:56:28 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Fri, 14 Jun 2019 06:56:28 +0000 Subject: hg: valhalla/valhalla: [lworld] Backing out fix for 8225317 Message-ID: <201906140656.x5E6uTmF023527@aojmv0008.oracle.com> Changeset: 3a95ddff6139 Author: thartmann Date: 2019-06-14 08:56 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3a95ddff6139 [lworld] Backing out fix for 8225317 ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java From tobias.hartmann at oracle.com Fri Jun 14 07:34:02 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 14 Jun 2019 09:34:02 +0200 Subject: RFR 8225374 [lworld][c1] TestMethodHandles.java fails with -XX:+StressValueTypeReturnedAsFields In-Reply-To: <539fd065-bd95-a5be-3a2c-76ff02354591@oracle.com> References: <539fd065-bd95-a5be-3a2c-76ff02354591@oracle.com> Message-ID: <383aca10-1803-7909-111e-47b6a351ca4d@oracle.com> Hi Ioi, looks good. Thanks, Tobias On 14.06.19 07:03, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8225374 > http://cr.openjdk.java.net/~iklam/valhalla/8225374-TestMethodHandles-fails-with-StressValueTypeReturnedAsFields.v01/ > > > Summary: > > When a C1-compiled method calls a method handle invoker, it needs to check if the > returned oop value indicates that the fields of the oop have been returned > in registers (lowest bit of the returned "oop" is 1). If so, pack the fields > back into a buffered object. > > Thanks > - Ioi From tobias.hartmann at oracle.com Fri Jun 14 07:40:20 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Fri, 14 Jun 2019 09:40:20 +0200 Subject: RFR 8225762 [lworld][c1] deoptimization fails with -XX:+StressValueTypeReturnedAsFields In-Reply-To: References: Message-ID: <7c94f480-d649-8b7f-4cba-626e079a3078@oracle.com> Hi Ioi, looks good to me. Thanks, Tobias On 14.06.19 07:06, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8225762 > http://cr.openjdk.java.net/~iklam/valhalla/8225762-c1-deopt-fails-with-StressValueTypeReturnedAsFields.v01/ > > > Evaluation: with ValueTypeReturnedAsFields==true, when test14_interp returns a > value object, RAX contains (klass|0x1), and the fields of the value object is > stored in other registers. In the deoptimization handler of test14, it needs > to create a buffer object, in here: > > http://hg.openjdk.java.net/valhalla/valhalla/file/fb97bb15ea8e/src/hotspot/share/runtime/deoptimization.cpp#l223 > > > To handle this situation, when compiling test14(), C1 needs to set up the > ScopeDesc for the invocation to test14_interp(), such that ScopeDesc::return_oop() > and ScopeDesc::return_vt() both are true. > > > I added two new test case in TestCallingConvention.java that are similar to the > failed test14(), except that the call is made via a MethodHandle. > > Thanks > - Ioi From david.simms at oracle.com Fri Jun 14 07:54:57 2019 From: david.simms at oracle.com (David Simms) Date: Fri, 14 Jun 2019 09:54:57 +0200 Subject: Default of EnableValhalla to true... Message-ID: <3b8a1a8e-fce0-63ba-0af3-26527783a2d6@oracle.com> Any strong objections to changing the default of "EnableValhalla" to be true ? The purposes of the enable flag is to allow easy comparison of: code, perf, and behaviour. From tobias.hartmann at oracle.com Fri Jun 14 09:24:29 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Fri, 14 Jun 2019 09:24:29 +0000 Subject: hg: valhalla/valhalla: 8225317: [lworld] Fix Class::asPrimaryType and isAssignableFrom C2 intrinsics after JDK-8223351 Message-ID: <201906140924.x5E9OUIq016519@aojmv0008.oracle.com> Changeset: 1f5a0a9b8eb6 Author: thartmann Date: 2019-06-14 09:59 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1f5a0a9b8eb6 8225317: [lworld] Fix Class::asPrimaryType and isAssignableFrom C2 intrinsics after JDK-8223351 ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java From frederic.parain at oracle.com Fri Jun 14 13:00:27 2019 From: frederic.parain at oracle.com (Frederic Parain) Date: Fri, 14 Jun 2019 09:00:27 -0400 Subject: Default of EnableValhalla to true... In-Reply-To: <3b8a1a8e-fce0-63ba-0af3-26527783a2d6@oracle.com> References: <3b8a1a8e-fce0-63ba-0af3-26527783a2d6@oracle.com> Message-ID: Changing the default would not impair our ability to make comparisons, but it would make our work so easier (I cannot remember how many times tests failed just because I forgot the -XX:+EnableValhalla options). So, +1 for changing the default. Fred On 6/14/19 03:54, David Simms wrote: > > Any strong objections to changing the default of "EnableValhalla" to be > true ? > > The purposes of the enable flag is to allow easy comparison of: code, > perf, and behaviour. > > From Roger.Riggs at oracle.com Fri Jun 14 13:03:21 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Fri, 14 Jun 2019 09:03:21 -0400 Subject: Default of EnableValhalla to true... In-Reply-To: References: <3b8a1a8e-fce0-63ba-0af3-26527783a2d6@oracle.com> Message-ID: <8e0bed7c-73a5-7b79-a274-5c8a554ca4e4@oracle.com> +1, As I experiment with changing JDK classes to be inline, getting that flag to every spawned process whether jtreg utility or a test is a big pain. Roger On 6/14/19 9:00 AM, Frederic Parain wrote: > Changing the default would not impair our ability to make comparisons, > but it would make our work so easier (I cannot remember how many times > tests failed just because I forgot the -XX:+EnableValhalla options). > > So, +1 for changing the default. > > Fred > > > On 6/14/19 03:54, David Simms wrote: >> >> Any strong objections to changing the default of "EnableValhalla" to >> be true ? >> >> The purposes of the enable flag is to allow easy comparison of: code, >> perf, and behaviour. >> >> From ioi.lam at oracle.com Fri Jun 14 13:06:17 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Fri, 14 Jun 2019 06:06:17 -0700 Subject: Default of EnableValhalla to true... In-Reply-To: <8e0bed7c-73a5-7b79-a274-5c8a554ca4e4@oracle.com> References: <3b8a1a8e-fce0-63ba-0af3-26527783a2d6@oracle.com> <8e0bed7c-73a5-7b79-a274-5c8a554ca4e4@oracle.com> Message-ID: Yes On 6/14/19 6:03 AM, Roger Riggs wrote: > +1, > > As I experiment with changing JDK classes to be inline, getting that > flag to every spawned process > whether jtreg utility or a test is a big pain. > > Roger > > > On 6/14/19 9:00 AM, Frederic Parain wrote: >> Changing the default would not impair our ability to make comparisons, >> but it would make our work so easier (I cannot remember how many times >> tests failed just because I forgot the -XX:+EnableValhalla options). >> >> So, +1 for changing the default. >> >> Fred >> >> >> On 6/14/19 03:54, David Simms wrote: >>> >>> Any strong objections to changing the default of "EnableValhalla" to >>> be true ? >>> >>> The purposes of the enable flag is to allow easy comparison of: >>> code, perf, and behaviour. >>> >>> > From karen.kinnear at oracle.com Fri Jun 14 14:25:41 2019 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Fri, 14 Jun 2019 10:25:41 -0400 Subject: Default of EnableValhalla to true... In-Reply-To: References: <3b8a1a8e-fce0-63ba-0af3-26527783a2d6@oracle.com> Message-ID: +1 Karen > On Jun 14, 2019, at 9:00 AM, Frederic Parain wrote: > > Changing the default would not impair our ability to make comparisons, > but it would make our work so easier (I cannot remember how many times > tests failed just because I forgot the -XX:+EnableValhalla options). > > So, +1 for changing the default. > > Fred > > > On 6/14/19 03:54, David Simms wrote: >> Any strong objections to changing the default of "EnableValhalla" to be true ? >> The purposes of the enable flag is to allow easy comparison of: code, perf, and behaviour. From mandy.chung at oracle.com Fri Jun 14 18:06:23 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 14 Jun 2019 11:06:23 -0700 Subject: Default of EnableValhalla to true... In-Reply-To: <8e0bed7c-73a5-7b79-a274-5c8a554ca4e4@oracle.com> References: <3b8a1a8e-fce0-63ba-0af3-26527783a2d6@oracle.com> <8e0bed7c-73a5-7b79-a274-5c8a554ca4e4@oracle.com> Message-ID: <96444994-ade4-a9fb-8cce-747b90b0b65b@oracle.com> This will definitely make it easy for the use of inline class in JDK.? It seems a good time to flip the default. Mandy On 6/14/19 6:03 AM, Roger Riggs wrote: > +1, > > As I experiment with changing JDK classes to be inline, getting that > flag to every spawned process whether jtreg utility or a test is a big > pain. > > Roger > > > On 6/14/19 9:00 AM, Frederic Parain wrote: >> Changing the default would not impair our ability to make comparisons, >> but it would make our work so easier (I cannot remember how many times >> tests failed just because I forgot the -XX:+EnableValhalla options). >> >> So, +1 for changing the default. >> >> Fred >> >> >> On 6/14/19 03:54, David Simms wrote: >>> >>> Any strong objections to changing the default of "EnableValhalla" to >>> be true ? >>> >>> The purposes of the enable flag is to allow easy comparison of: >>> code, perf, and behaviour. >>> >>> > From ioi.lam at oracle.com Mon Jun 17 05:02:43 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Mon, 17 Jun 2019 05:02:43 +0000 Subject: hg: valhalla/valhalla: 2 new changesets Message-ID: <201906170502.x5H52iRb006114@aojmv0008.oracle.com> Changeset: 79ba063a282e Author: iklam Date: 2019-06-16 21:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/79ba063a282e 8225374: [lworld][c1] TestMethodHandles.java fails with -XX:+StressValueTypeReturnedAsFields Reviewed-by: thartmann ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestMethodHandles.java Changeset: 2315f0cda727 Author: iklam Date: 2019-06-16 21:28 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2315f0cda727 8225762: [lworld][c1] deoptimization fails with -XX:+StressValueTypeReturnedAsFields Reviewed-by: thartmann ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/share/c1/c1_IR.cpp ! src/hotspot/share/c1/c1_IR.hpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConvention.java From srikanth.adayapalam at oracle.com Mon Jun 17 08:14:16 2019 From: srikanth.adayapalam at oracle.com (srikanth.adayapalam at oracle.com) Date: Mon, 17 Jun 2019 08:14:16 +0000 Subject: hg: valhalla/valhalla: 8224874: [lworld] TypeNameTest fails since 8221545 Message-ID: <201906170814.x5H8EHQP014124@aojmv0008.oracle.com> Changeset: 98a5917e7932 Author: sadayapalam Date: 2019-06-17 13:44 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/98a5917e7932 8224874: [lworld] TypeNameTest fails since 8221545 ! src/jdk.jshell/share/classes/jdk/jshell/TaskFactory.java From mandy.chung at oracle.com Mon Jun 17 15:57:29 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 17 Jun 2019 15:57:29 +0000 Subject: hg: valhalla/valhalla: [lworld] update tests using constructors rather than __WithField Message-ID: <201906171557.x5HFvUTu024457@aojmv0008.oracle.com> Changeset: d2e61f96e513 Author: mchung Date: 2019-06-17 08:57 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d2e61f96e513 [lworld] update tests using constructors rather than __WithField ! test/jdk/valhalla/valuetypes/ArrayElementVarHandleTest.java ! test/jdk/valhalla/valuetypes/InlineReferenceTest.java ! test/jdk/valhalla/valuetypes/Line.java ! test/jdk/valhalla/valuetypes/MethodHandleTest.java ! test/jdk/valhalla/valuetypes/NonFlattenValue.java ! test/jdk/valhalla/valuetypes/ObjectMethods.java ! test/jdk/valhalla/valuetypes/Point.java ! test/jdk/valhalla/valuetypes/QTypeDescriptorTest.java ! test/jdk/valhalla/valuetypes/Reflection.java ! test/jdk/valhalla/valuetypes/Serialization.java ! test/jdk/valhalla/valuetypes/SubstitutabilityTest.java ! test/jdk/valhalla/valuetypes/Value.java ! test/jdk/valhalla/valuetypes/ValueArray.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueBootstrapMethodsTest.java From mandy.chung at oracle.com Mon Jun 17 16:03:14 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 17 Jun 2019 16:03:14 +0000 Subject: hg: valhalla/valhalla: [lworld] clean up and use asPrimaryType as JDK-8225317 is fixed Message-ID: <201906171603.x5HG3FJs026546@aojmv0008.oracle.com> Changeset: 27aa3a3f9726 Author: mchung Date: 2019-06-17 09:03 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/27aa3a3f9726 [lworld] clean up and use asPrimaryType as JDK-8225317 is fixed ! 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/MemberName.java ! src/java.base/share/classes/java/lang/invoke/ValueBootstrapMethods.java ! src/java.base/share/classes/jdk/internal/reflect/AccessorGenerator.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.java From mandy.chung at oracle.com Mon Jun 17 16:08:10 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 17 Jun 2019 09:08:10 -0700 Subject: RFR(S): 8225317: [lworld] Fix Class::asPrimaryType and isAssignableFrom C2 intrinsics after JDK-8223351 In-Reply-To: References: Message-ID: <69b60a76-0eff-7200-9df2-72d4f4fc6cf6@oracle.com> Hi Tobias, FYI.? I updated the JDK [1] to follow up this fix to use asPrimaryType dropping the conditional check of inline class. Testing result is good. Thanks for the fix. Mandy [1] http://hg.openjdk.java.net/valhalla/valhalla/rev/27aa3a3f9726 On 6/13/19 6:00 AM, Tobias Hartmann wrote: > Hi, > > please review the following fix: > https://bugs.openjdk.java.net/browse/JDK-8225317 > http://cr.openjdk.java.net/~thartmann/8225317/webrev.00/ > > Changes: > - The asPrimaryType and asIndirectType intrinsics should return 'this' if the receiver is not a > value type mirror. > - The isAssignableFrom intrinsic incorrectly returns true for > MyValue1.class.isAssignableFrom(MyValue1.class.asIndirectType()). The problem is that the subtype > check passes because MyValue and MyValue? have the same klass. We need to additionally check if the > mirrors are equal if the supertype mirror is a "primary type". > - I've also refactored the value mirror check into an own method (at some point we need to rename > "value class" to "inline class" but that's out of the scope of this patch). > > Thanks, > Tobias From mandy.chung at oracle.com Tue Jun 18 03:34:38 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Tue, 18 Jun 2019 03:34:38 +0000 Subject: hg: valhalla/valhalla: 8225455: [lworld] isSubstitutable0 fails with nullable projection field in -Xint Message-ID: <201906180334.x5I3Ydst009813@aojmv0008.oracle.com> Changeset: 022b23e86c5f Author: mchung Date: 2019-06-17 20:34 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/022b23e86c5f 8225455: [lworld] isSubstitutable0 fails with nullable projection field in -Xint ! src/java.base/share/classes/java/lang/invoke/ValueBootstrapMethods.java ! test/jdk/valhalla/valuetypes/ObjectMethods.java From ioi.lam at oracle.com Tue Jun 18 04:15:43 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Mon, 17 Jun 2019 21:15:43 -0700 Subject: RFR 8226284 [lworld][c1] TestJNICalls.java fails with -DVerifyVM=true Message-ID: https://bugs.openjdk.java.net/browse/JDK-8226284 http://cr.openjdk.java.net/~iklam/valhalla/8226284-TestJNICalls-DVerifyVM.v01/ When C1-compiled code calls SharedRuntime::store_value_type_fields_to_buf, we may not know the type of the value object that's returned (e.g., when calling a method handle invoker [1]). As a result, it's not always possible for C1 to generate an oopmap for this call site. When TestJNICalls.java is executed with -DVerifyVM=true, the -XX:+VerifyStack flag is enabled. The stack verification code will assert when it fails to find an oopmap for the callsite. The fix is to avoid stack verification when we are calling such a RuntimeStub. I also cleaned up the code a little by adding the virtual function CodeBlob::can_verify_stack(). Thanks - Ioi ---- [1] http://hg.openjdk.java.net/valhalla/valhalla/file/2315f0cda727/src/hotspot/share/c1/c1_LIRAssembler.cpp#l498 From david.simms at oracle.com Tue Jun 18 10:30:46 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Tue, 18 Jun 2019 10:30:46 +0000 Subject: hg: valhalla/valhalla: [lworld] EnableValhalla on by default, and testing adjusted Message-ID: <201906181030.x5IAUlxH008890@aojmv0008.oracle.com> Changeset: 2735ed275df8 Author: dsimms Date: 2019-06-18 12:30 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2735ed275df8 [lworld] EnableValhalla on by default, and testing adjusted ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestArrayAccessDeopt.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestArrays.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestBasicFunctionality.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestBimorphicInlining.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestC2CCalls.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConvention.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConventionC1.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestFlatArrayThreshold.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestJNICalls.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestMethodHandles.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNativeClone.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNullableArrays.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNullableValueTypes.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestOnStackReplacement.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestOptimizeKlassCmp.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestUnloadedValueTypeArray.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestUnloadedValueTypeField.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestUnresolvedValueClass.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/CheckcastTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Empty.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/FlattenableSemanticTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Ifacmp.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ObjectMethods.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/QuickeningTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Test8186715.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/TestFieldNullability.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/TestInheritedValueTypeFields.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/UninitializedValueFieldsTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/UnsafeTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/VDefaultTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/VWithFieldTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueOops.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeArray.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeCreation.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeDensity.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeGetField.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypesTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueWithJni.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/WithFieldAccessorTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/WithFieldNoAccessTest.jcod ! test/hotspot/jtreg/runtime/valhalla/valuetypes/classfileparser/BadValueTypes.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/verifier/VTAssignability.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/verifier/VerifierValueTypes.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessBoolean.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessByte.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessChar.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessDouble.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessFloat.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessInt.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessLong.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessShort.java ! test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template ! test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestMethodHandleAccess.java.template ! test/jdk/valhalla/valuetypes/ArrayElementVarHandleTest.java ! test/jdk/valhalla/valuetypes/InlineConstructorTest.java ! test/jdk/valhalla/valuetypes/InlineReferenceTest.java ! test/jdk/valhalla/valuetypes/MethodHandleTest.java ! test/jdk/valhalla/valuetypes/ObjectMethods.java ! test/jdk/valhalla/valuetypes/QTypeDescriptorTest.java ! test/jdk/valhalla/valuetypes/Reflection.java ! test/jdk/valhalla/valuetypes/Serialization.java ! test/jdk/valhalla/valuetypes/StaticInitFactoryTest.java ! test/jdk/valhalla/valuetypes/SubstitutabilityTest.java ! test/jdk/valhalla/valuetypes/ValueArray.java ! test/jdk/valhalla/valuetypes/ValueBootstrapMethods.java ! test/langtools/tools/javac/valhalla/lworld-values/AnonymousValue.java ! test/langtools/tools/javac/valhalla/lworld-values/AnonymousValueType.java ! test/langtools/tools/javac/valhalla/lworld-values/ArrayCreationWithQuestion.java ! test/langtools/tools/javac/valhalla/lworld-values/ArrayRelationsTest.java ! test/langtools/tools/javac/valhalla/lworld-values/BoxValCastTest.java ! test/langtools/tools/javac/valhalla/lworld-values/CanonicalCtorTest.java ! test/langtools/tools/javac/valhalla/lworld-values/CastNullCheckTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ChainedAssignmentTest.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckFieldDescriptors.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableSyntheticFields.java ! test/langtools/tools/javac/valhalla/lworld-values/CheckLocalClasses.java ! test/langtools/tools/javac/valhalla/lworld-values/CompilerNoBogusAssert.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/GenericArrayRegression.java ! test/langtools/tools/javac/valhalla/lworld-values/InlineClassTest.java ! test/langtools/tools/javac/valhalla/lworld-values/InnerClassAttributeValuenessTest.java ! test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java ! test/langtools/tools/javac/valhalla/lworld-values/IntercastTest.java ! test/langtools/tools/javac/valhalla/lworld-values/IntercastTest2.java ! test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java ! test/langtools/tools/javac/valhalla/lworld-values/LookupOnLoxTest.java ! test/langtools/tools/javac/valhalla/lworld-values/LookupOnLoxTest2.java ! test/langtools/tools/javac/valhalla/lworld-values/ParameterizedDefault.java ! test/langtools/tools/javac/valhalla/lworld-values/ProjectedArrayDotClass.java ! test/langtools/tools/javac/valhalla/lworld-values/QTypeTest.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/SideEffectTest.java ! test/langtools/tools/javac/valhalla/lworld-values/TestQualifierOnInit.java ! test/langtools/tools/javac/valhalla/lworld-values/TypeRelationsTest.java ! test/langtools/tools/javac/valhalla/lworld-values/ValueBootstrapMethodsTest.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/ValuesAsRefs.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldAccessorTest.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfExplicitSelector.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfGenericType.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfImplicitThis.java ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldRuntimeTest.java From tobias.hartmann at oracle.com Tue Jun 18 11:57:04 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 18 Jun 2019 13:57:04 +0200 Subject: RFR 8226284 [lworld][c1] TestJNICalls.java fails with -DVerifyVM=true In-Reply-To: References: Message-ID: Hi Ioi, looks good to me. Best regards, Tobias On 18.06.19 06:15, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8226284 > http://cr.openjdk.java.net/~iklam/valhalla/8226284-TestJNICalls-DVerifyVM.v01/ > > When C1-compiled code calls SharedRuntime::store_value_type_fields_to_buf, > we may not know the type of the value object that's returned (e.g., when calling > a method handle invoker [1]). As a result, it's not always possible for C1 > to generate an oopmap for this call site. > > When TestJNICalls.java is executed with -DVerifyVM=true, the -XX:+VerifyStack flag > is enabled. The stack verification code will assert when it fails to find an oopmap > for the callsite. > > The fix is to avoid stack verification when we are calling such a RuntimeStub. I also > cleaned up the code a little by adding the virtual function CodeBlob::can_verify_stack(). > > > Thanks > - Ioi > > > ---- > [1] > http://hg.openjdk.java.net/valhalla/valhalla/file/2315f0cda727/src/hotspot/share/c1/c1_LIRAssembler.cpp#l498 > From ioi.lam at oracle.com Wed Jun 19 01:49:45 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Wed, 19 Jun 2019 01:49:45 +0000 Subject: hg: valhalla/valhalla: 8226284: [lworld][c1] TestJNICalls.java fails with -DVerifyVM=true Message-ID: <201906190149.x5J1nkZm014557@aojmv0008.oracle.com> Changeset: a84f77320e2c Author: iklam Date: 2019-06-18 18:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a84f77320e2c 8226284: [lworld][c1] TestJNICalls.java fails with -DVerifyVM=true Reviewed-by: thartmann ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp ! src/hotspot/share/runtime/interfaceSupport.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConventionC1.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java From david.simms at oracle.com Wed Jun 19 06:26:29 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Wed, 19 Jun 2019 06:26:29 +0000 Subject: hg: valhalla/valhalla: [lworld] Adjust testing Message-ID: <201906190626.x5J6QUPT023058@aojmv0008.oracle.com> Changeset: 9b0f3e270aae Author: dsimms Date: 2019-06-19 08:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9b0f3e270aae [lworld] Adjust testing ! test/hotspot/jtreg/TEST.groups From david.simms at oracle.com Wed Jun 19 08:59:11 2019 From: david.simms at oracle.com (David Simms) Date: Wed, 19 Jun 2019 10:59:11 +0200 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" In-Reply-To: References: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> Message-ID: Update webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 So I've updated the webrev, found two uses "jobjectArray" passed into the JVM from user code, where a inline type array may be in used as varargs: "JVM_InvokeMethod" and "JVM_NewInstanceFromConstructor". Added a helper method for converting to objArray to keep the rest of the VM code happy. /D On 2019-06-13 08:48, David Simms wrote: > > Thanks for pointing out this is a more general issue...your counter > use case is useful. > > Will have a look around for other interesting cases. For LW2 there > might be an initial hack to convert to objArrayOop. > > There is an issue in the VM now where, yes java inline type arrays are > co-variant but objArrayOop and valueArrayOop do not share the same > type relationship, and maybe they should. I.e. VM arrayOop get/put > elements methods (yeah there is polymorphism in C++). Unclear we would > win anything in terms of performance or heap for VM runtime code. VM > runtime always handles oops (drastically reduces code changes), > meaning conversion to objArrayOop is actually fine. > > JIT intrinsics will benefit if we allow inline type array. > > I'll rework the patch, and do a little more digging. Thanks for the > feedback guys. > > /D > > On 12/06/2019 21:26, Roger Riggs wrote: >> Hi David, >> >> Is that unique to j.l.invoke? >> There are plenty uses of varargs where the arguments >> are the same type. List.of(... strings), for example. >> There is the ambiguity for a single argument that the compiler warns >> about >> as in the example that developers have to deal with. >> >> We should avoid exceptions, they require more specification (and warts) >> than being able to just use the whole spec. >> Getting arguments to this kind of method or constructor efficiently >> is important. >> >> $.02, Roger >> >> >> On 6/12/19 12:53 PM, David Simms wrote: >>> >>> Updated the bug with comment, I was about say, sure let's use inline >>> type array if you want. But the use cases are thin: >>> >>> "The more I think about it the less I think we should allow inline >>> type array, not useless all the method args the same inline type, ie: >>> >>> "test(MyValue3 v1, MyValue3 v2, MyValue3 v3)", then passing >>> MyValue3[] would make sense...but only when all the arg types are >>> the same...seems like an edge case" >>> >>> All the parameter types have to be the same...is that worth a >>> special case ? >>> >>> >>> On 12/06/2019 16:52, Roger Riggs wrote: >>>> Hi, >>>> >>>> Would this be just a temporary restriction? >>>> I could see the benefits of being able to use an inline array class >>>> for varargs. >>>> >>>> ?, Roger >>>> >>>> On 06/12/2019 09:27 AM, David Simms wrote: >>>>> Greetings, >>>>> >>>>> Please review this small fix to prevent "inline type" arrays being >>>>> sent directly "JVM_InvokeMethod" and >>>>> "JVM_NewInstanceFromConstructor". I don't believe it is the >>>>> intention of these methods to receive such a type, in the original >>>>> problem, there was a javac warning of passing arg[0] implicitly >>>>> converted to args array. >>>>> >>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 >>>>> >>>>> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ >>>>> >>>>> >>>> >> From david.simms at oracle.com Wed Jun 19 09:55:09 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Wed, 19 Jun 2019 09:55:09 +0000 Subject: hg: valhalla/valhalla: [lworld] Adjust Testing Message-ID: <201906190955.x5J9t9rn002748@aojmv0008.oracle.com> Changeset: c1d6574fd93b Author: dsimms Date: 2019-06-19 11:54 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c1d6574fd93b [lworld] Adjust Testing ! test/hotspot/jtreg/TEST.groups From Roger.Riggs at oracle.com Wed Jun 19 14:47:37 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Wed, 19 Jun 2019 10:47:37 -0400 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes Message-ID: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> Please review a patch to asm to correctly recognize the Valhalla defined bytecodes for defaultvalue and withfield. (The jlink tests that read and write classfiles were failing). Webrev: ? http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ Thanks, Roger From mandy.chung at oracle.com Wed Jun 19 15:59:38 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 19 Jun 2019 08:59:38 -0700 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" In-Reply-To: References: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> Message-ID: <92742268-e625-cc3f-5718-113de4bf7364@oracle.com> This patch looks okay for LW2.? I think this requires more thought whether valueArray-to-objArray conversion should be done in JNIHandles rather than patching specific API points or other alternatives. When we begin looking at JNI support for inline class, that may be time to revisit this. Mandy On 6/19/19 1:59 AM, David Simms wrote: > > Update webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ > > Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 > > So I've updated the webrev, found two uses "jobjectArray" passed into > the JVM from user code, where a inline type array may be in used as > varargs: "JVM_InvokeMethod" and "JVM_NewInstanceFromConstructor". > > Added a helper method for converting to objArray to keep the rest of > the VM code happy. > > /D > > On 2019-06-13 08:48, David Simms wrote: >> >> Thanks for pointing out this is a more general issue...your counter >> use case is useful. >> >> Will have a look around for other interesting cases. For LW2 there >> might be an initial hack to convert to objArrayOop. >> >> There is an issue in the VM now where, yes java inline type arrays >> are co-variant but objArrayOop and valueArrayOop do not share the >> same type relationship, and maybe they should. I.e. VM arrayOop >> get/put elements methods (yeah there is polymorphism in C++). Unclear >> we would win anything in terms of performance or heap for VM runtime >> code. VM runtime always handles oops (drastically reduces code >> changes), meaning conversion to objArrayOop is actually fine. >> >> JIT intrinsics will benefit if we allow inline type array. >> >> I'll rework the patch, and do a little more digging. Thanks for the >> feedback guys. >> >> /D >> >> On 12/06/2019 21:26, Roger Riggs wrote: >>> Hi David, >>> >>> Is that unique to j.l.invoke? >>> There are plenty uses of varargs where the arguments >>> are the same type. List.of(... strings), for example. >>> There is the ambiguity for a single argument that the compiler warns >>> about >>> as in the example that developers have to deal with. >>> >>> We should avoid exceptions, they require more specification (and warts) >>> than being able to just use the whole spec. >>> Getting arguments to this kind of method or constructor efficiently >>> is important. >>> >>> $.02, Roger >>> >>> >>> On 6/12/19 12:53 PM, David Simms wrote: >>>> >>>> Updated the bug with comment, I was about say, sure let's use >>>> inline type array if you want. But the use cases are thin: >>>> >>>> "The more I think about it the less I think we should allow inline >>>> type array, not useless all the method args the same inline type, ie: >>>> >>>> "test(MyValue3 v1, MyValue3 v2, MyValue3 v3)", then passing >>>> MyValue3[] would make sense...but only when all the arg types are >>>> the same...seems like an edge case" >>>> >>>> All the parameter types have to be the same...is that worth a >>>> special case ? >>>> >>>> >>>> On 12/06/2019 16:52, Roger Riggs wrote: >>>>> Hi, >>>>> >>>>> Would this be just a temporary restriction? >>>>> I could see the benefits of being able to use an inline array >>>>> class for varargs. >>>>> >>>>> ?, Roger >>>>> >>>>> On 06/12/2019 09:27 AM, David Simms wrote: >>>>>> Greetings, >>>>>> >>>>>> Please review this small fix to prevent "inline type" arrays >>>>>> being sent directly "JVM_InvokeMethod" and >>>>>> "JVM_NewInstanceFromConstructor". I don't believe it is the >>>>>> intention of these methods to receive such a type, in the >>>>>> original problem, there was a javac warning of passing arg[0] >>>>>> implicitly converted to args array. >>>>>> >>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 >>>>>> >>>>>> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ >>>>>> >>>>>> >>>>> >>> From mandy.chung at oracle.com Wed Jun 19 16:22:22 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 19 Jun 2019 09:22:22 -0700 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes In-Reply-To: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> References: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> Message-ID: <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> On 6/19/19 7:47 AM, Roger Riggs wrote: > Please review a patch to asm to correctly recognize the Valhalla > defined bytecodes for defaultvalue and withfield. > (The jlink tests that read and write classfiles were failing). > > Webrev: > ? http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ Label::resolve method depends on the assumption that IFEQ? ... JSR can be changed to ASM_IFEQ to ASM_JSR.?? It seems that the xxx_DELTA? needs to be adjusted. Mandy From Roger.Riggs at oracle.com Wed Jun 19 17:57:06 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Wed, 19 Jun 2019 13:57:06 -0400 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes In-Reply-To: <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> References: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> Message-ID: <7401fc1d-0d91-43f9-ba7b-1438c2875d15@oracle.com> Hi Mandy, Webrev: ? http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-2/ A more robust version that computes the necessary offsets of the ASM_ opcodes to relocate them to the unused indexes above the new WithField opcode. Thanks, Roger On 6/19/19 12:22 PM, Mandy Chung wrote: > > > On 6/19/19 7:47 AM, Roger Riggs wrote: >> Please review a patch to asm to correctly recognize the Valhalla >> defined bytecodes for defaultvalue and withfield. >> (The jlink tests that read and write classfiles were failing). >> >> Webrev: >> ? http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ > > Label::resolve method depends on the assumption that IFEQ? ... JSR can > be changed to ASM_IFEQ to ASM_JSR.?? It seems that the xxx_DELTA? > needs to be adjusted. > > Mandy From mandy.chung at oracle.com Wed Jun 19 18:26:46 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 19 Jun 2019 11:26:46 -0700 Subject: RFR JDK-8207259: [lworld] Ensure VarHandle compare and set/exchange work for inline types Message-ID: This patch is an interim fix to get VarHandle CAS and CAE to work for inline types and use substitutability test instead of equals. Unsafe::compareAndSetReference and compareAndExchangeReference (along with its weakXXX variants) do pointer-comparison. A reference can be an instance of an inline class (indirect or non-flattened) or of an indirect class.? CAS/CAE on two inlineable reference instances should do substitutability test.? I add a couple Unsafe APIs for CAS/CAE to take the field type and revisit this in LW10 w.r.t atomicity. Webrev at: http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207259/webrev.02/index.html Mandy From ioi.lam at oracle.com Thu Jun 20 05:57:14 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Wed, 19 Jun 2019 22:57:14 -0700 Subject: RFR 8225371 [lworld][c1] TestLWorld.java fails with -DVerifyVM=true Message-ID: <4032b845-fbec-c96c-7f81-0f24865c876a@oracle.com> https://bugs.openjdk.java.net/browse/JDK-8225371 http://cr.openjdk.java.net/~iklam/valhalla/8225371-TestLWorld-VerifyVM.v01/ This failure is caused by the incorrect implementation of type info merging for Phi nodes introduced by JDK-8214742. Type info merging was necessary at that time because it wasn't possible to distinguish between flattened vs non-flattened arrays. However, that's no longer the case since the introduction of ArrayStorageProperties in JDK-8222525. If we keep the type info merging code (and fix it properly), it might benefit code pattern like this: ??? Point arr[] = cond ? arr1 : arr2; ???? arr[0] = point; (If we don't preserve the type info in the Phi node, the aastore would treat the array as an Object[] and will take the slow path for storing the value.) However, it's unclear how important this case is. Let's remove the merging code for now to minimize the difference with the mainline repo. From david.simms at oracle.com Thu Jun 20 06:45:32 2019 From: david.simms at oracle.com (David Simms) Date: Thu, 20 Jun 2019 08:45:32 +0200 Subject: RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type" In-Reply-To: <92742268-e625-cc3f-5718-113de4bf7364@oracle.com> References: <830d941f-4ed4-ddd3-155c-7dab8aea855d@oracle.com> <66103c31-6d9f-45c9-3a7c-3ad552ce4bd9@oracle.com> <92742268-e625-cc3f-5718-113de4bf7364@oracle.com> Message-ID: <8f20b835-1157-334c-4edd-23157e781676@oracle.com> I agree, and you are correct, the scope of JDK-8226393 needs widening to be a more encompassing of inline types. Flattened fields vs indirect haven't been addressed at all, the initial "ValueWithJni.java" test needs a serious revisit. Frederic and I will probably need to look at the best way forward for the VM code, since it is not obvious we want polymorphic "oop arrayOop::obj_at(int index)", given one needs to allocate a buffer for the flattened variant. I can see there are use cases where we want to maintain flatten data as is. Thanks for looking at the patch ! /D On 2019-06-19 17:59, Mandy Chung wrote: > This patch looks okay for LW2.? I think this requires more thought > whether valueArray-to-objArray conversion should be done in JNIHandles > rather than patching specific API points or other alternatives. > When we begin looking at JNI support for inline class, that may > be time to revisit this. > > Mandy > > On 6/19/19 1:59 AM, David Simms wrote: >> >> Update webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 >> >> So I've updated the webrev, found two uses "jobjectArray" passed into >> the JVM from user code, where a inline type array may be in used as >> varargs: "JVM_InvokeMethod" and "JVM_NewInstanceFromConstructor". >> >> Added a helper method for converting to objArray to keep the rest of >> the VM code happy. >> >> /D >> >> On 2019-06-13 08:48, David Simms wrote: >>> >>> Thanks for pointing out this is a more general issue...your counter >>> use case is useful. >>> >>> Will have a look around for other interesting cases. For LW2 there >>> might be an initial hack to convert to objArrayOop. >>> >>> There is an issue in the VM now where, yes java inline type arrays >>> are co-variant but objArrayOop and valueArrayOop do not share the >>> same type relationship, and maybe they should. I.e. VM arrayOop >>> get/put elements methods (yeah there is polymorphism in C++). >>> Unclear we would win anything in terms of performance or heap for VM >>> runtime code. VM runtime always handles oops (drastically reduces >>> code changes), meaning conversion to objArrayOop is actually fine. >>> >>> JIT intrinsics will benefit if we allow inline type array. >>> >>> I'll rework the patch, and do a little more digging. Thanks for the >>> feedback guys. >>> >>> /D >>> >>> On 12/06/2019 21:26, Roger Riggs wrote: >>>> Hi David, >>>> >>>> Is that unique to j.l.invoke? >>>> There are plenty uses of varargs where the arguments >>>> are the same type. List.of(... strings), for example. >>>> There is the ambiguity for a single argument that the compiler >>>> warns about >>>> as in the example that developers have to deal with. >>>> >>>> We should avoid exceptions, they require more specification (and >>>> warts) >>>> than being able to just use the whole spec. >>>> Getting arguments to this kind of method or constructor efficiently >>>> is important. >>>> >>>> $.02, Roger >>>> >>>> >>>> On 6/12/19 12:53 PM, David Simms wrote: >>>>> >>>>> Updated the bug with comment, I was about say, sure let's use >>>>> inline type array if you want. But the use cases are thin: >>>>> >>>>> "The more I think about it the less I think we should allow inline >>>>> type array, not useless all the method args the same inline type, ie: >>>>> >>>>> "test(MyValue3 v1, MyValue3 v2, MyValue3 v3)", then passing >>>>> MyValue3[] would make sense...but only when all the arg types are >>>>> the same...seems like an edge case" >>>>> >>>>> All the parameter types have to be the same...is that worth a >>>>> special case ? >>>>> >>>>> >>>>> On 12/06/2019 16:52, Roger Riggs wrote: >>>>>> Hi, >>>>>> >>>>>> Would this be just a temporary restriction? >>>>>> I could see the benefits of being able to use an inline array >>>>>> class for varargs. >>>>>> >>>>>> ?, Roger >>>>>> >>>>>> On 06/12/2019 09:27 AM, David Simms wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> Please review this small fix to prevent "inline type" arrays >>>>>>> being sent directly "JVM_InvokeMethod" and >>>>>>> "JVM_NewInstanceFromConstructor". I don't believe it is the >>>>>>> intention of these methods to receive such a type, in the >>>>>>> original problem, there was a javac warning of passing arg[0] >>>>>>> implicitly converted to args array. >>>>>>> >>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110 >>>>>>> >>>>>>> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/ >>>>>>> >>>>>>> >>>>>> >>>> > From david.simms at oracle.com Thu Jun 20 08:49:58 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Thu, 20 Jun 2019 08:49:58 +0000 Subject: hg: valhalla/valhalla: 2 new changesets Message-ID: <201906200849.x5K8nwnW022195@aojmv0008.oracle.com> Changeset: 4d0f7740ba69 Author: dsimms Date: 2019-06-20 09:14 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4d0f7740ba69 8224110: [lworld] Reflective method invocation fails with assert: "illegal type" Reviewed-by: mchung ! src/hotspot/share/memory/oopFactory.cpp ! src/hotspot/share/memory/oopFactory.hpp ! src/hotspot/share/prims/jvm.cpp ! test/hotspot/jtreg/runtime/valhalla/valuetypes/IntValue.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/NewInstanceFromConstructor.java + test/hotspot/jtreg/runtime/valhalla/valuetypes/VarArgsArray.java Changeset: 421cfea85cee Author: dsimms Date: 2019-06-20 10:49 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/421cfea85cee [lworld] Adjust Testing ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups From david.simms at oracle.com Thu Jun 20 09:02:07 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Thu, 20 Jun 2019 09:02:07 +0000 Subject: hg: valhalla/valhalla: [lworld] Adjust testing Message-ID: <201906200902.x5K9286F029920@aojmv0008.oracle.com> Changeset: ed538f11e0c2 Author: dsimms Date: 2019-06-20 11:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ed538f11e0c2 [lworld] Adjust testing ! test/hotspot/jtreg/ProblemList.txt From david.simms at oracle.com Thu Jun 20 11:37:26 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Thu, 20 Jun 2019 11:37:26 +0000 Subject: hg: valhalla/valhalla: 8209897: [lworld] JVM_Clone should throw CNSE for value types Message-ID: <201906201137.x5KBbR65010833@aojmv0008.oracle.com> Changeset: a24e16c2df0b Author: dsimms Date: 2019-06-20 13:37 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a24e16c2df0b 8209897: [lworld] JVM_Clone should throw CNSE for value types ! src/hotspot/share/prims/jvm.cpp From tobias.hartmann at oracle.com Thu Jun 20 12:18:43 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 20 Jun 2019 14:18:43 +0200 Subject: RFR 8225371 [lworld][c1] TestLWorld.java fails with -DVerifyVM=true In-Reply-To: <4032b845-fbec-c96c-7f81-0f24865c876a@oracle.com> References: <4032b845-fbec-c96c-7f81-0f24865c876a@oracle.com> Message-ID: Hi Ioi, looks good. Best regards, Tobias On 20.06.19 07:57, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8225371 > http://cr.openjdk.java.net/~iklam/valhalla/8225371-TestLWorld-VerifyVM.v01/ > > This failure is caused by the incorrect implementation of type info > merging for Phi nodes introduced by JDK-8214742. > > Type info merging was necessary at that time because it wasn't possible > to distinguish between flattened vs non-flattened arrays. However, that's > no longer the case since the introduction of ArrayStorageProperties in > JDK-8222525. > > If we keep the type info merging code (and fix it properly), it might > benefit code pattern like this: > > ??? Point arr[] = cond ? arr1 : arr2; > ???? arr[0] = point; > > (If we don't preserve the type info in the Phi node, the aastore would > treat the array as an Object[] and will take the slow path for storing > the value.) > > However, it's unclear how important this case is. Let's remove the merging > code for now to minimize the difference with the mainline repo. > From david.simms at oracle.com Thu Jun 20 12:50:48 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Thu, 20 Jun 2019 12:50:48 +0000 Subject: hg: valhalla/valhalla: 2 new changesets Message-ID: <201906201250.x5KConCk026338@aojmv0008.oracle.com> Changeset: 04b091831656 Author: dsimms Date: 2019-06-20 14:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/04b091831656 8225640: [lworld] VM crash with java -Xint -server -Xmx1024m -XX:+UseG1GC -XX:HeapBaseMinAddress=2147483648 ! src/hotspot/share/memory/metaspace.cpp Changeset: ec3a62081172 Author: dsimms Date: 2019-06-20 14:40 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ec3a62081172 8209897: [lworld] JVM_Clone should throw CNSE for value types ! src/hotspot/share/prims/jvm.cpp From Roger.Riggs at oracle.com Thu Jun 20 16:55:27 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Thu, 20 Jun 2019 12:55:27 -0400 Subject: RFR 8226395 : Test makes assumptions about what fields can be setAccessible Message-ID: <33f7499d-ca07-75cf-2602-3666e1c0925f@oracle.com> Please review a test change that checks that fields of inline all classes in the JDK itself can not be setAccessible; matching the behavior of Field.setAccessible. Webrev: ?http://cr.openjdk.java.net/~rriggs/webrev-set-field-accesible-8226395/ Thanks, Roger From mandy.chung at oracle.com Thu Jun 20 17:38:26 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 20 Jun 2019 10:38:26 -0700 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes In-Reply-To: <7401fc1d-0d91-43f9-ba7b-1438c2875d15@oracle.com> References: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> <7401fc1d-0d91-43f9-ba7b-1438c2875d15@oracle.com> Message-ID: <7502035d-0989-5baf-6fd8-42c632a8cf3b@oracle.com> Looks okay.? The INLINE_* prefix is not necessary to me and matching the JVMS opcode names makes sense. Mandy On 6/19/19 10:57 AM, Roger Riggs wrote: > Hi Mandy, > > Webrev: > http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-2/ > > A more robust version that computes the necessary offsets of the ASM_ > opcodes > to relocate them to the unused indexes above the new WithField opcode. > > Thanks, Roger > > > On 6/19/19 12:22 PM, Mandy Chung wrote: >> >> >> On 6/19/19 7:47 AM, Roger Riggs wrote: >>> Please review a patch to asm to correctly recognize the Valhalla >>> defined bytecodes for defaultvalue and withfield. >>> (The jlink tests that read and write classfiles were failing). >>> >>> Webrev: >>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ >> >> Label::resolve method depends on the assumption that IFEQ? ... JSR >> can be changed to ASM_IFEQ to ASM_JSR.?? It seems that the xxx_DELTA? >> needs to be adjusted. >> >> Mandy > From mandy.chung at oracle.com Thu Jun 20 18:17:45 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 20 Jun 2019 11:17:45 -0700 Subject: RFR 8226395 : Test makes assumptions about what fields can be setAccessible In-Reply-To: <33f7499d-ca07-75cf-2602-3666e1c0925f@oracle.com> References: <33f7499d-ca07-75cf-2602-3666e1c0925f@oracle.com> Message-ID: <6821f4a6-cb4c-2883-cda8-d5ba26588630@oracle.com> +1 Mandy On 6/20/19 9:55 AM, Roger Riggs wrote: > Please review a test change that checks that fields of inline all > classes in the JDK itself > can not be setAccessible; matching the behavior of Field.setAccessible. > > Webrev: > ?http://cr.openjdk.java.net/~rriggs/webrev-set-field-accesible-8226395/ > > Thanks, Roger > From Roger.Riggs at oracle.com Thu Jun 20 18:34:33 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Thu, 20 Jun 2019 14:34:33 -0400 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes In-Reply-To: <7502035d-0989-5baf-6fd8-42c632a8cf3b@oracle.com> References: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> <7401fc1d-0d91-43f9-ba7b-1438c2875d15@oracle.com> <7502035d-0989-5baf-6fd8-42c632a8cf3b@oracle.com> Message-ID: Hi, I discovered that the visiting of the new opcodes was not correct. It skipped over them correctly but did not visit each opcode. The 'default' opcode argument is a type name and so should call the visitTypeInsn method. The "withfield' opcode argument is a field ref (class and name) so should call visitFieldInsn. And the INLINE prefixes are dropped. Webrev: http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-4/index.html Thanks, Roger On 6/20/19 1:38 PM, Mandy Chung wrote: > Looks okay.? The INLINE_* prefix is not necessary to me and matching > the JVMS opcode names makes sense. > > Mandy > > > On 6/19/19 10:57 AM, Roger Riggs wrote: >> Hi Mandy, >> >> Webrev: >> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-2/ >> >> A more robust version that computes the necessary offsets of the ASM_ >> opcodes >> to relocate them to the unused indexes above the new WithField opcode. >> >> Thanks, Roger >> >> >> On 6/19/19 12:22 PM, Mandy Chung wrote: >>> >>> >>> On 6/19/19 7:47 AM, Roger Riggs wrote: >>>> Please review a patch to asm to correctly recognize the Valhalla >>>> defined bytecodes for defaultvalue and withfield. >>>> (The jlink tests that read and write classfiles were failing). >>>> >>>> Webrev: >>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ >>> >>> Label::resolve method depends on the assumption that IFEQ? ... JSR >>> can be changed to ASM_IFEQ to ASM_JSR.?? It seems that the >>> xxx_DELTA? needs to be adjusted. >>> >>> Mandy >> > From ioi.lam at oracle.com Thu Jun 20 20:57:19 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Thu, 20 Jun 2019 20:57:19 +0000 Subject: hg: valhalla/valhalla: 8225371: TestLWorld.java fails with -DVerifyVM=true Message-ID: <201906202057.x5KKvKHE026790@aojmv0008.oracle.com> Changeset: 5a941b696c81 Author: iklam Date: 2019-06-20 13:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5a941b696c81 8225371: TestLWorld.java fails with -DVerifyVM=true Reviewed-by: thartmann ! src/hotspot/share/c1/c1_Instruction.cpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_ValueStack.cpp ! src/hotspot/share/c1/c1_ValueStack.hpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java From mandy.chung at oracle.com Thu Jun 20 23:24:57 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 20 Jun 2019 16:24:57 -0700 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes In-Reply-To: References: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> <7401fc1d-0d91-43f9-ba7b-1438c2875d15@oracle.com> <7502035d-0989-5baf-6fd8-42c632a8cf3b@oracle.com> Message-ID: <7e0b5abf-7b7a-1b47-cc6a-ae272fd0778b@oracle.com> I assume you run into the jlink issues with JDK using the inline class. It's good to add a new test that creates a module with inline class and invoke jlink to produce an image. Mandy On 6/20/19 11:34 AM, Roger Riggs wrote: > Hi, > > I discovered that the visiting of the new opcodes was not correct. It > skipped over them correctly > but did not visit each opcode. > The 'default' opcode argument is a type name and so should call the > visitTypeInsn method. > The "withfield' opcode argument is a field ref (class and name) so > should call visitFieldInsn. > And the INLINE prefixes are dropped. > > Webrev: > http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-4/index.html > > Thanks, Roger > > > On 6/20/19 1:38 PM, Mandy Chung wrote: >> Looks okay.? The INLINE_* prefix is not necessary to me and matching >> the JVMS opcode names makes sense. >> >> Mandy >> >> >> On 6/19/19 10:57 AM, Roger Riggs wrote: >>> Hi Mandy, >>> >>> Webrev: >>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-2/ >>> >>> A more robust version that computes the necessary offsets of the >>> ASM_ opcodes >>> to relocate them to the unused indexes above the new WithField opcode. >>> >>> Thanks, Roger >>> >>> >>> On 6/19/19 12:22 PM, Mandy Chung wrote: >>>> >>>> >>>> On 6/19/19 7:47 AM, Roger Riggs wrote: >>>>> Please review a patch to asm to correctly recognize the Valhalla >>>>> defined bytecodes for defaultvalue and withfield. >>>>> (The jlink tests that read and write classfiles were failing). >>>>> >>>>> Webrev: >>>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ >>>> >>>> Label::resolve method depends on the assumption that IFEQ ... JSR >>>> can be changed to ASM_IFEQ to ASM_JSR.?? It seems that the >>>> xxx_DELTA? needs to be adjusted. >>>> >>>> Mandy >>> >> > From tobias.hartmann at oracle.com Fri Jun 21 08:58:36 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Fri, 21 Jun 2019 08:58:36 +0000 Subject: hg: valhalla/valhalla: Merge Message-ID: <201906210858.x5L8wbdY025612@aojmv0008.oracle.com> Changeset: 892b10e71ea7 Author: thartmann Date: 2019-06-21 10:55 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/892b10e71ea7 Merge ! .hgtags ! make/Docs.gmk ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad - src/hotspot/share/Xusage.txt ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/oops/arrayStorageProperties.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse3.cpp ! src/hotspot/share/opto/parseHelper.cpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vmStructs.cpp - src/java.desktop/unix/native/libawt_xawt/awt/awt_AWTEvent.h - src/java.desktop/unix/native/libawt_xawt/awt/awt_Event.h - src/java.desktop/unix/native/libawt_xawt/awt/awt_Insets.h - src/java.desktop/windows/native/libawt/windows/awt_Color.h - src/java.desktop/windows/native/libawt/windows/awt_Rectangle.h ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt - test/jdk/javax/accessibility/8197785/AccessibilityBundleMemoryLeakTest.java From david.holmes at oracle.com Fri Jun 21 13:32:04 2019 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Fri, 21 Jun 2019 13:32:04 +0000 Subject: hg: valhalla/valhalla: 255 new changesets Message-ID: <201906211332.x5LDWNff018917@aojmv0008.oracle.com> Changeset: 7586561128e3 Author: hannesw Date: 2019-06-04 16:20 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7586561128e3 8222091: Javadoc does not handle package annotations correctly on package-info.java Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java + test/langtools/jdk/javadoc/doclet/testPackageAnnotation/TestPackageAnnotation.java + test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg1/A.java + test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg1/package-info.java + test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg2/A.java + test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg2/package.html + test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg3/A.java + test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg3/package-info.java + test/langtools/jdk/javadoc/doclet/testPackageAnnotation/pkg3/package.html Changeset: 0ca8e495bbba Author: hannesw Date: 2019-06-04 16:33 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0ca8e495bbba 8214126: Method signatures not formatted correctly in browser Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/RawHtml.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/LinkInfo.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLiteralCodeInPre/TestLiteralCodeInPre.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java + test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java + test/langtools/jdk/javadoc/doclet/testMethodSignature/pkg/C.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenDeprecatedMethods.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testVisibleMembers/TestVisibleMembers.java Changeset: 30fe07cac527 Author: chegar Date: 2019-06-04 15:52 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/30fe07cac527 6394787: Typos in javadoc of OIS.readObjectOverride and OOS.writeObjectOverride Reviewed-by: alanb, chegar Contributed-by: Andrey Turbanov ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/io/ObjectOutputStream.java ! test/jdk/java/io/Serializable/subclass/AbstractObjectOutputStream.java Changeset: 3a09397c147e Author: mseledtsov Date: 2019-06-04 07:53 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3a09397c147e 8223396: [TESTBUG] several jfr tests do not clean up files created in /tmp Summary: Using test utils to create temp files and directories Reviewed-by: dholmes, erikj, hseigel, lmesnik ! test/jdk/jdk/jfr/event/io/EvilInstrument.java ! test/jdk/jdk/jfr/event/io/TestDisabledEvents.java ! test/jdk/jdk/jfr/event/io/TestFileChannelEvents.java ! test/jdk/jdk/jfr/event/io/TestFileReadOnly.java ! test/jdk/jdk/jfr/event/io/TestFileStreamEvents.java ! test/jdk/jdk/jfr/event/io/TestRandomAccessFileEvents.java ! test/jdk/jdk/jfr/event/io/TestRandomAccessFileThread.java ! test/jdk/jdk/jfr/jcmd/TestJcmdConfigure.java ! test/jdk/jdk/jfr/jmx/JmxHelper.java ! test/jdk/jdk/jfr/jvm/TestJavaEvent.java ! test/lib/jdk/test/lib/Utils.java Changeset: 9c36f33b0b01 Author: mseledtsov Date: 2019-06-04 07:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9c36f33b0b01 Merge Changeset: 7453d5007e24 Author: coleenp Date: 2019-06-04 10:29 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7453d5007e24 8222468: [TESTBUG] vmTestbase/metaspace/flags/maxMetaspaceSize/TestDescription.java fails with java.lang.NoClassDefFoundError Summary: Preload StackTraceElement$HashedModules in test. Reviewed-by: lmesnik, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/share/gc/gp/GarbageUtils.java Changeset: 7c49133fc1bc Author: hannesw Date: 2019-06-04 17:51 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7c49133fc1bc 8178982: Javadoc search specification Reviewed-by: jjg, erikj ! src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/StandardDoclet.java ! src/jdk.javadoc/share/classes/module-info.java Changeset: 8e31e083fe3c Author: kbarrett Date: 2019-06-04 13:26 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8e31e083fe3c 8212630: jtreg/gc/logging/TestMetaSpaceLog.java failed with Agent timed out Summary: Use driver with framework test options passed through to subtask. Reviewed-by: tschatzl, lmesnik ! test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java Changeset: 0289438c1286 Author: jjg Date: 2019-06-04 11:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0289438c1286 8223805: DocCommentParser should allow for

and
Reviewed-by: hannesw ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! test/langtools/tools/javac/doctree/dcapi/DocCommentTreeApiTester.java + test/langtools/tools/javac/doctree/dcapi/overview8.html + test/langtools/tools/javac/doctree/dcapi/overview8.html.out + test/langtools/tools/javac/doctree/dcapi/overview9.html + test/langtools/tools/javac/doctree/dcapi/overview9.html.out Changeset: ef23ea332077 Author: smarks Date: 2019-06-04 11:55 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ef23ea332077 8217412: deprecate rmic for removal Reviewed-by: rriggs, sundar ! src/jdk.rmic/share/classes/sun/rmi/rmic/resources/rmic.properties ! src/jdk.rmic/share/man/rmic.1 Changeset: 2fe2063fe567 Author: kvn Date: 2019-06-04 12:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2fe2063fe567 8225019: Update JVMCI Reviewed-by: never, dlong ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/tieredThresholdPolicy.cpp ! src/hotspot/share/runtime/vmOperations.hpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.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/HotSpotJVMCIRuntime.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/SharedLibraryJVMCIReflection.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/AsResolvedJavaMethodTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/DoNotInlineOrCompileTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/FindUniqueConcreteMethodTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetBytecodeTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetClassInitializerTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetConstantPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetExceptionTableTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetImplementorTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetLineNumberTableTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetLocalVariableTableTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetResolvedJavaMethodTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetResolvedJavaTypeTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetStackTraceElementTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetSymbolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetVtableIndexForInterfaceTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/HasFinalizableSubclassTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/HasNeverInlineDirectiveTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/IsCompilableTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupNameInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupTypeTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/MethodIsIgnoredBySecurityStackWalkTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ReadConfigurationTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveMethodTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ShouldInlineMethodTest.java ! test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidCompilationResult.java ! test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidDebugInfo.java ! test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidOopMap.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/DataPatchTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/InterpreterFrameSizeTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/MaxOopMapStackOffsetTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/VirtualObjectDebugInfoTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/HotSpotConstantReflectionProviderTest.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.hotspot.test/src/jdk/vm/ci/hotspot/test/MethodHandleAccessProviderTest.java + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestTranslatedException.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/RedefineClassTest.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/TestConstantReflectionProvider.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaField.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaMethod.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaType.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.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 ! test/hotspot/jtreg/compiler/jvmci/meta/StableFieldTest.java + test/hotspot/jtreg/compiler/whitebox/OSRFailureLevel4Test.java ! test/jdk/ProblemList-graal.txt Changeset: 1791eaa73e81 Author: mchung Date: 2019-06-04 12:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1791eaa73e81 8222448: java/lang/reflect/PublicMethods/PublicMethodsTest.java times out Summary: Set empty class path for compilation to avoid unnecessary opening/scanning of JAR files Reviewed-by: alanb, dholmes ! test/jdk/java/lang/reflect/PublicMethods/PublicMethodsTest.java Changeset: 4158e6a864d4 Author: jjg Date: 2019-06-04 13:47 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4158e6a864d4 8225306: bad headings in java.sql.rowset SyncProvider.java Reviewed-by: lancea ! src/java.sql.rowset/share/classes/javax/sql/rowset/spi/SyncProvider.java Changeset: 64fe51ee940e Author: jjg Date: 2019-06-04 14:47 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/64fe51ee940e 8225309: HTML issues in jdk.jdi module Reviewed-by: lancea ! src/jdk.jdi/share/classes/com/sun/jdi/doc-files/signature.html ! src/jdk.jdi/share/classes/module-info.java Changeset: e079a4cfad75 Author: jjg Date: 2019-06-04 15:42 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e079a4cfad75 8225314: broken links in java.base Reviewed-by: darcy ! src/java.base/share/classes/java/lang/Enum.java ! src/java.base/share/classes/java/lang/invoke/VarHandle.java Changeset: f4df9d4201cc Author: jjg Date: 2019-06-04 16:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f4df9d4201cc 8225324: Bad HTML in jdk.jfr module-info.java Reviewed-by: lancea ! src/jdk.jfr/share/classes/module-info.java Changeset: da9dac56aafc Author: mikael Date: 2019-06-04 18:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/da9dac56aafc 8225307: ProblemList compiler/codegen/TestCharVect2.java and compiler/c2/cr6340864/TestLongVect.java Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList.txt Changeset: b78597cfcced Author: dholmes Date: 2019-06-04 21:25 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b78597cfcced 8225217: Backout: JDK-8224814: Remove dead JNIHandleBlock freelist code Reviewed-by: kvn, kbarrett ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/jniHandles.hpp Changeset: 7a026580fed5 Author: igerasim Date: 2019-06-04 18:55 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7a026580fed5 8225198: Optimize regex tree for greedy quantifiers of type {N,} Reviewed-by: redestad, bchristi ! src/java.base/share/classes/java/util/regex/Pattern.java ! src/java.base/share/classes/java/util/regex/PrintPattern.java Changeset: 29ab1f3bd353 Author: weijun Date: 2019-06-05 09:58 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/29ab1f3bd353 8193255: Root Certificates should be stored in text format and assembled at build time Reviewed-by: clanger, erikj, mullan ! make/ToolsJdk.gmk ! make/copy/Copy-java.base.gmk + make/data/cacerts/README + make/data/cacerts/actalisauthenticationrootca + make/data/cacerts/addtrustclass1ca + make/data/cacerts/addtrustexternalca + make/data/cacerts/addtrustqualifiedca + make/data/cacerts/affirmtrustcommercialca + make/data/cacerts/affirmtrustnetworkingca + make/data/cacerts/affirmtrustpremiumca + make/data/cacerts/affirmtrustpremiumeccca + make/data/cacerts/baltimorecybertrustca + make/data/cacerts/buypassclass2ca + make/data/cacerts/buypassclass3ca + make/data/cacerts/camerfirmachambersca + make/data/cacerts/camerfirmachamberscommerceca + make/data/cacerts/camerfirmachambersignca + make/data/cacerts/certumca + make/data/cacerts/certumtrustednetworkca + make/data/cacerts/chunghwaepkirootca + make/data/cacerts/comodoaaaca + make/data/cacerts/comodoeccca + make/data/cacerts/comodorsaca + make/data/cacerts/digicertassuredidg2 + make/data/cacerts/digicertassuredidg3 + make/data/cacerts/digicertassuredidrootca + make/data/cacerts/digicertglobalrootca + make/data/cacerts/digicertglobalrootg2 + make/data/cacerts/digicertglobalrootg3 + make/data/cacerts/digicerthighassuranceevrootca + make/data/cacerts/digicerttrustedrootg4 + make/data/cacerts/dtrustclass3ca2 + make/data/cacerts/dtrustclass3ca2ev + make/data/cacerts/entrust2048ca + make/data/cacerts/entrustevca + make/data/cacerts/entrustrootcaec1 + make/data/cacerts/entrustrootcag2 + make/data/cacerts/geotrustglobalca + make/data/cacerts/geotrustprimaryca + make/data/cacerts/geotrustprimarycag2 + make/data/cacerts/geotrustprimarycag3 + make/data/cacerts/geotrustuniversalca + make/data/cacerts/globalsignca + make/data/cacerts/globalsigneccrootcar4 + make/data/cacerts/globalsigneccrootcar5 + make/data/cacerts/globalsignr2ca + make/data/cacerts/globalsignr3ca + make/data/cacerts/globalsignrootcar6 + make/data/cacerts/godaddyclass2ca + make/data/cacerts/godaddyrootg2ca + make/data/cacerts/identrustcommercial + make/data/cacerts/identrustdstx3 + make/data/cacerts/identrustpublicca + make/data/cacerts/keynectisrootca + make/data/cacerts/letsencryptisrgx1 + make/data/cacerts/luxtrustglobalrootca + make/data/cacerts/quovadisrootca + make/data/cacerts/quovadisrootca1g3 + make/data/cacerts/quovadisrootca2 + make/data/cacerts/quovadisrootca2g3 + make/data/cacerts/quovadisrootca3 + make/data/cacerts/quovadisrootca3g3 + make/data/cacerts/secomscrootca1 + make/data/cacerts/secomscrootca2 + make/data/cacerts/securetrustca + make/data/cacerts/soneraclass2ca + make/data/cacerts/starfieldclass2ca + make/data/cacerts/starfieldrootg2ca + make/data/cacerts/starfieldservicesrootg2ca + make/data/cacerts/swisssigngoldg2ca + make/data/cacerts/swisssignplatinumg2ca + make/data/cacerts/swisssignsilverg2ca + make/data/cacerts/teliasonerarootcav1 + make/data/cacerts/thawtepremiumserverca + make/data/cacerts/thawteprimaryrootca + make/data/cacerts/thawteprimaryrootcag2 + make/data/cacerts/thawteprimaryrootcag3 + make/data/cacerts/ttelesecglobalrootclass2ca + make/data/cacerts/ttelesecglobalrootclass3ca + make/data/cacerts/usertrusteccca + make/data/cacerts/usertrustrsaca + make/data/cacerts/utnuserfirstobjectca + make/data/cacerts/verisignclass2g2ca + make/data/cacerts/verisignclass3ca + make/data/cacerts/verisignclass3g2ca + make/data/cacerts/verisignclass3g3ca + make/data/cacerts/verisignclass3g4ca + make/data/cacerts/verisignclass3g5ca + make/data/cacerts/verisigntsaca + make/data/cacerts/verisignuniversalrootca + make/data/cacerts/xrampglobalca ! make/gendata/Gendata-java.base.gmk ! make/gendata/GendataBlacklistedCerts.gmk ! make/gendata/GendataBreakIterator.gmk ! make/gendata/GendataPublicSuffixList.gmk + make/jdk/src/classes/build/tools/generatecacerts/GenerateCacerts.java - src/java.base/share/lib/security/cacerts Changeset: 3eb7187b20f0 Author: smarks Date: 2019-06-04 18:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3eb7187b20f0 8225315: test java/util/ArrayDeque/WhiteBox.java isn't part of the jdk_collections test group Reviewed-by: martin, darcy ! test/jdk/TEST.groups Changeset: bb3359bcf534 Author: stuefe Date: 2019-06-05 07:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bb3359bcf534 8224600: Provide VM.events command Reviewed-by: minqi, dholmes, mbaesken, clanger ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/utilities/events.cpp ! src/hotspot/share/utilities/events.hpp + test/hotspot/jtreg/serviceability/dcmd/vm/EventsTest.java Changeset: 412ce076c0dc Author: stuefe Date: 2019-06-05 08:59 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/412ce076c0dc 8224181: On child process spawn, child may write to random file descriptor instead of the fail pipe Reviewed-by: rriggs, martin ! src/java.base/unix/native/libjava/childproc.c Changeset: cfd1e298ca33 Author: shade Date: 2019-06-05 09:23 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cfd1e298ca33 8225229: Shenandoah: trim down default number of GC threads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp + test/hotspot/jtreg/gc/shenandoah/options/TestThreadCounts.java Changeset: 28c93b5fb056 Author: redestad Date: 2019-06-05 10:07 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/28c93b5fb056 8225179: (regex) Minor Pattern cleanup Reviewed-by: igerasim ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/micro/org/openjdk/bench/java/util/regex/PatternBench.java Changeset: 27d3b8e5c58b Author: redestad Date: 2019-06-05 10:23 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/27d3b8e5c58b 8224240: Properties.load fails to throw IAE on malformed unicode in certain circumstances Reviewed-by: smarks, rriggs, dfuchs ! src/java.base/share/classes/java/util/Properties.java ! test/jdk/java/util/Properties/PropertiesTest.java Changeset: a5967fd63d9d Author: pliden Date: 2019-06-05 10:43 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a5967fd63d9d 8224962: ZGC: Strengthen ZHeap::is_oop() Reviewed-by: eosterlund ! src/hotspot/share/gc/z/zHeap.inline.hpp Changeset: 3f8a81f5d1b2 Author: pliden Date: 2019-06-05 10:43 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3f8a81f5d1b2 8224965: ZGC: Strengthen ZHeap::is_in() Reviewed-by: eosterlund ! src/hotspot/share/gc/z/zAddress.hpp ! src/hotspot/share/gc/z/zAddress.inline.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zHeap.cpp Changeset: 1de459182903 Author: pliden Date: 2019-06-05 10:43 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1de459182903 8225084: gc/z/TestHighUsage.java fails with unexpected allocation stall Reviewed-by: eosterlund ! test/hotspot/jtreg/gc/z/TestHighUsage.java Changeset: ae3ef834deed Author: mdoerr Date: 2019-05-31 14:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ae3ef834deed 8222103: [testbug] compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest may exceed VM limit Reviewed-by: iignatyev, mdoerr Contributed-by: peter.januschke at sap.com ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest.java Changeset: ce8bab2c4185 Author: chegar Date: 2019-06-05 12:02 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ce8bab2c4185 8225214: Socket.getOption(SocketOption) not returning the expected type for the StandardSocketOptions.SO_LINGER Reviewed-by: alanb ! src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java ! test/jdk/java/net/SocketOption/OptionsTest.java Changeset: 63a62cc10a0a Author: roland Date: 2019-05-21 09:08 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/63a62cc10a0a 8224580: Matcher can cause oop field/array element to be reloaded Reviewed-by: neliasso, rkennke, dlong ! src/hotspot/share/opto/matcher.cpp Changeset: ec621f7f95f2 Author: chegar Date: 2019-06-05 13:59 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ec621f7f95f2 8225037: java.net.JarURLConnection::getJarEntry() throws NullPointerException Reviewed-by: coffeys, vtewari ! src/java.base/share/classes/java/net/JarURLConnection.java + test/jdk/java/net/JarURLConnection/TestDefaultBehavior.java Changeset: 27080d54c644 Author: zgu Date: 2019-06-05 09:15 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/27080d54c644 8225341: Shenandoah: CM::update_thread_roots() needs to handle derived pointers Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: 9775d05d69c8 Author: shade Date: 2019-06-05 15:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9775d05d69c8 8225342: Shenandoah: use COMPILER2_OR_JVMCI macro consistently Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 02db50f278f9 Author: rriggs Date: 2019-06-05 10:21 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/02db50f278f9 8220238: Enhancing j.l.Runtime/System::gc specification with an explicit 'no guarantee' statement Reviewed-by: shade, dholmes, mchung, plevart ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/System.java Changeset: 9b392b044f64 Author: hannesw Date: 2019-06-05 16:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9b392b044f64 8221709: replace use of style blockListLast Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/AnnotationTypeFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/AnnotationTypeRequiredMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/ConstructorWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/EnumConstantWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/FieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/MethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/PropertyWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeFieldBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ConstructorBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/EnumConstantBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/FieldBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MethodBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/PropertyBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java Changeset: 6c2d69a41ff9 Author: mchung Date: 2019-06-05 07:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6c2d69a41ff9 8221368: Error message when module main class cannot be loaded is missing exception details Reviewed-by: alanb, sundar ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties + test/jdk/tools/launcher/modules/basic/LauncherErrors.java + test/jdk/tools/launcher/modules/basic/src/test2/jdk/test2/Main.java + test/jdk/tools/launcher/modules/basic/src/test2/module-info.java Changeset: 481999e74cea Author: jjg Date: 2019-06-05 08:24 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/481999e74cea 8225346: Convert file to HTML5 Reviewed-by: lancea ! make/data/docs-resources/index.html Changeset: cad7e13ca587 Author: mikael Date: 2019-06-05 08:43 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cad7e13ca587 8225305: ProblemList java/lang/invoke/VarHandles tests Reviewed-by: kvn, iignatyev, mchung, alanb + test/jdk/ProblemList-aot.txt Changeset: c87e52dbdca0 Author: stuefe Date: 2019-06-05 19:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c87e52dbdca0 8225225: stringStream internal buffer should always be zero terminated Reviewed-by: coleenp, dholmes ! src/hotspot/share/utilities/ostream.cpp ! src/hotspot/share/utilities/ostream.hpp ! test/hotspot/gtest/utilities/test_ostream.cpp Changeset: 36334808644d Author: darcy Date: 2019-06-05 10:49 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/36334808644d 8225353: Add @jls links to java.lang.Enum Reviewed-by: lancea, jjg ! src/java.base/share/classes/java/lang/Enum.java Changeset: 3bd979f09721 Author: dcubed Date: 2019-06-05 14:01 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3bd979f09721 8224793: os::die() does not honor CreateCoredumpOnCrash option Reviewed-by: kbarrett, dholmes, stuefe ! 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/share/runtime/os.hpp Changeset: 74832e7b5cad Author: dcubed Date: 2019-06-05 14:07 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/74832e7b5cad 8188872: runtime/ErrorHandling/TimeoutInErrorHandlingTest.java fails intermittently Reviewed-by: dholmes, stuefe ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp ! test/hotspot/jtreg/runtime/ErrorHandling/TimeoutInErrorHandlingTest.java Changeset: 57b93b113ec0 Author: stuefe Date: 2019-06-05 09:12 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/57b93b113ec0 8223777: In posix_spawn mode, failing to exec() jspawnhelper does not result in an error Reviewed-by: rriggs, martin, fweimer ! src/java.base/unix/native/libjava/ProcessImpl_md.c ! src/java.base/unix/native/libjava/childproc.c ! src/java.base/unix/native/libjava/childproc.h Changeset: 7e2238451585 Author: stuefe Date: 2019-06-05 21:14 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7e2238451585 8225348: serviceability/dcmd/vm/EventsTest.java failed Reviewed-by: jcbeyler, cjplummer ! test/hotspot/jtreg/serviceability/dcmd/vm/EventsTest.java Changeset: 77b54b2822cc Author: vromero Date: 2019-06-05 16:01 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/77b54b2822cc 8216261: Javap ignores default modifier on interfaces Reviewed-by: jjg, darcy ! src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java + test/langtools/tools/javap/default_methods/JavapNotPrintingDefaultModifierTest.java Changeset: 647593fdea53 Author: erikj Date: 2019-06-05 13:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/647593fdea53 8209381: Default CDS classlist generation should run with an explicit locale setting Reviewed-by: iklam, tbell ! make/GenerateLinkOptData.gmk Changeset: 0d326e0f474c Author: vromero Date: 2019-06-05 17:01 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0d326e0f474c 8223942: Missing methods in ClientCodeWrapper$WrappedJavaFileManager Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/ClientCodeWrapper.java + test/langtools/tools/javac/T8223942/ClientCodeWrappersShouldOverrideAllMethodsTest.java Changeset: e2987b9baa93 Author: naoto Date: 2019-06-05 16:10 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e2987b9baa93 8225182: JNI exception pending in DestroyXIMCallback of awt_InputMethod.c:1327 Reviewed-by: serb ! src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c Changeset: 184b05daf50f Author: vromero Date: 2019-06-05 21:50 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/184b05daf50f 8225386: test for JDK-8216261 fails in Windows Reviewed-by: jjg ! test/langtools/tools/javap/default_methods/JavapNotPrintingDefaultModifierTest.java Changeset: 261cd181eb50 Author: jwilhelm Date: 2019-06-06 04:04 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/261cd181eb50 Added tag jdk-13+24 for changeset 7e2238451585 ! .hgtags Changeset: 10a2778ecbbf Author: jjiang Date: 2019-06-06 10:11 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/10a2778ecbbf 8225390: ProblemList sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java due to JDK-8161536 Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 1402a03f214e Author: sspitsyn Date: 2019-06-05 21:02 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1402a03f214e 8205126: JVMTI spec incorrectly states that PopFrame can not be called on the current thread Summary: Align the PopFrame spec with the implementation Reviewed-by: amenkov, jcbeyler, cjplummer, dcubed ! src/hotspot/share/prims/jvmti.xml Changeset: f74f0d3033a9 Author: lfoltan Date: 2019-06-05 22:19 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f74f0d3033a9 8225325: Add tests for redefining a class' private method during resolution of the bootstrap specifier Summary: Add new tests Reviewed-by: dholmes, sspitsyn + test/jdk/java/lang/instrument/RedefineInterfaceMethods/RedefineInterfaceMethods.java + test/jdk/java/lang/instrument/RedefineInterfaceMethods/redef/Xost.java + test/jdk/java/lang/instrument/RedefineMathTesterMethods/RedefineMathTesterMethods.java + test/jdk/java/lang/instrument/RedefineMathTesterMethods/redef/Xost.java Changeset: 92eec0732eed Author: ngasson Date: 2019-06-04 17:56 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/92eec0732eed 8224853: CDS address sanitizer errors Reviewed-by: iklam, dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/memory/iterator.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: 6502d6a92fe2 Author: jiefu Date: 2019-06-06 13:45 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6502d6a92fe2 8224162: assert(profile.count() == 0) failed: sanity in InlineTree::is_not_reached Reviewed-by: vlivanov, kvn ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp + test/hotspot/jtreg/compiler/profiling/TestProfileCounterOverflow.java Changeset: 3c905e67e380 Author: vlivanov Date: 2019-06-06 13:46 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3c905e67e380 8225106: C2: Parse::clinit_deopt asserts when holder klass is in error state Reviewed-by: mdoerr ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/opto/parse1.cpp ! test/hotspot/jtreg/runtime/clinit/ClassInitBarrier.java Changeset: 36cb654a690f Author: vlivanov Date: 2019-06-06 13:46 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/36cb654a690f 8225141: Better handling of classes in error state in fast class initialization checks Reviewed-by: dlong, dholmes ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: d49b72808414 Author: weijun Date: 2019-06-06 21:19 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d49b72808414 8225304: Tiny HTML error (bad heading) in org.ietf.jgss package-info.java Reviewed-by: xuelei ! src/java.security.jgss/share/classes/org/ietf/jgss/package-info.java Changeset: 3b22c7e00573 Author: egahlin Date: 2019-06-06 15:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3b22c7e00573 8224217: RecordingInfo should use textual representation of path Reviewed-by: mgronlun ! 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/WriteableUserPath.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/management/ManagementSupport.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/RecordingInfo.java Changeset: 442b86eb633c Author: rriggs Date: 2019-06-06 10:03 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/442b86eb633c 8224905: java/lang/ProcessBuilder/Basic.java#id1 failed with stream closed Reviewed-by: lancea, bpb, naoto ! test/jdk/java/lang/ProcessBuilder/Basic.java Changeset: d65d3c37232c Author: mbalao Date: 2019-06-05 01:42 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d65d3c37232c 8215032: Support Kerberos cross-realm referrals (RFC 6806) Reviewed-by: weijun ! src/java.base/share/conf/security/java.security ! src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java ! src/java.security.jgss/share/classes/sun/security/krb5/Checksum.java ! src/java.security.jgss/share/classes/sun/security/krb5/Config.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbAsRep.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbAsReq.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbAsReqBuilder.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbKdcRep.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbTgsRep.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbTgsReq.java ! src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/CredentialsUtil.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/EncASRepPart.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/EncKDCRepPart.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/EncTGSRepPart.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/KDCOptions.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/KDCReq.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/KRBError.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/Krb5.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/PAData.java + src/java.security.jgss/share/classes/sun/security/krb5/internal/ReferralsCache.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/TicketFlags.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/KeyUsage.java ! test/jdk/sun/security/krb5/auto/KDC.java + test/jdk/sun/security/krb5/auto/ReferralsTest.java Changeset: 61fff1345ee6 Author: bpb Date: 2019-06-06 08:11 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/61fff1345ee6 8219992: Correct the documentation of PrintWriter to refer System.lineSeparator Reviewed-by: darcy, lancea, rriggs ! src/java.base/share/classes/java/io/PrintWriter.java Changeset: cc0f117f4405 Author: jlaskey Date: 2019-06-06 12:24 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cc0f117f4405 8223775: String::stripIndent (Preview) Reviewed-by: abuckley, vromero, jlahoda, bchristi, rriggs, smarks ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java + test/jdk/java/lang/String/StripIndent.java Changeset: dff30b1557ee Author: jlaskey Date: 2019-06-06 12:24 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dff30b1557ee 8223780: String::translateEscapes (Preview) Reviewed-by: abuckley, vromero, jlahoda, bchristi, igerasim, smarks ! src/java.base/share/classes/java/lang/String.java + test/jdk/java/lang/String/TranslateEscapes.java Changeset: 7d83cf1cfa74 Author: jlaskey Date: 2019-06-06 12:24 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7d83cf1cfa74 8203444: String::formatted (Preview) Reviewed-by: smarks, rriggs, sherman ! src/java.base/share/classes/java/lang/String.java + test/jdk/java/lang/String/Formatted.java Changeset: 830ca7b43b95 Author: jlaskey Date: 2019-06-06 12:24 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/830ca7b43b95 8223967: Implement Text Blocks (Preview) in the Java compiler Reviewed-by: vromero, jlahoda, abuckley ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ScannerFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties + test/langtools/tools/javac/TextBlockAPI.java + test/langtools/tools/javac/TextBlockLang.java + test/langtools/tools/javac/diags/examples/TextBlockCloseDelimiter.java + test/langtools/tools/javac/diags/examples/TextBlockOpenDelimiter.java + test/langtools/tools/javac/diags/examples/TextBlockWhitespace.java ! test/langtools/tools/javap/WhitespaceTest.java Changeset: b7ad292e686c Author: aeubanks Date: 2019-05-23 10:06 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b7ad292e686c 8224645: Only test multicast interfaces if they exist Reviewed-by: alanb, dfuchs, chegar Contributed-by: aeubanks at google.com ! test/jdk/java/nio/channels/DatagramChannel/BasicMulticastTests.java Changeset: d80becbcd3c1 Author: mr Date: 2019-06-06 10:01 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d80becbcd3c1 8197927: Allow the system property `java.vendor.version` to be undefined Reviewed-by: lancea, mchung, clanger ! src/java.base/share/classes/java/lang/System.java Changeset: fb250e9cfe67 Author: jjg Date: 2019-06-06 10:36 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fb250e9cfe67 8225321: Repeated use of {@systemProperty} in a file causes duplicate ids Reviewed-by: hannesw ! 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/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java Changeset: eabe64456156 Author: egahlin Date: 2019-06-06 20:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/eabe64456156 8216283: Allow shorter method sampling interval than 10 ms Reviewed-by: mgronlun ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc Changeset: c5fe45d1281d Author: coleenp Date: 2019-06-06 15:09 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c5fe45d1281d 8224151: Test vmTestbase/nsk/sysdict/vm/stress/chain/chain007/chain007.java might hang with release binaries Summary: Fix deadlock on ClassLoaderDataGraph_lock and g1 clear_claimed_marks. Reviewed-by: tschatzl, lfoltan, eosterlund ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 098fa5ddb308 Author: egahlin Date: 2019-06-06 22:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/098fa5ddb308 8219205: JFR file without license header Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvent.java Changeset: 759acbfb9fde Author: iignatyev Date: 2019-06-06 13:42 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/759acbfb9fde 8225450: use @file in CtwRunner Reviewed-by: kvn ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java Changeset: 5c7c3662c386 Author: bpb Date: 2019-06-06 14:13 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5c7c3662c386 8224617: (fs) java/nio/file/FileStore/Basic.java found filesystem twice Reviewed-by: alanb ! test/jdk/java/nio/file/FileStore/Basic.java ! test/lib/jdk/test/lib/util/FileUtils.java Changeset: 1b17d09e3e05 Author: kvn Date: 2019-06-06 15:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1b17d09e3e05 8208379: compiler/jvmci/events/JvmciNotifyInstallEventTest.java failed with "Got unexpected event count after 2nd install attempt: expected 9 to equal 2" Reviewed-by: iignatyev ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyBootstrapFinishedEventTest.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.java Changeset: 64b76867851b Author: kvn Date: 2019-06-06 16:06 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/64b76867851b 8222371: Use UL for TraceNMethodInstalls code Reviewed-by: dholmes ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 8cd2d6dee328 Author: igerasim Date: 2019-06-06 17:20 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8cd2d6dee328 8225397: Integer value miscalculation in toString() method of BitSet Reviewed-by: aph ! src/java.base/share/classes/java/util/BitSet.java + test/jdk/java/util/BitSet/HugeToString.java Changeset: 0a7af38ef32a Author: darcy Date: 2019-06-06 17:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0a7af38ef32a 8225465: Add @jls tags to receiver type methods Reviewed-by: lancea, jjg ! src/java.base/share/classes/java/lang/reflect/Executable.java ! src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java ! src/java.compiler/share/classes/javax/lang/model/type/ExecutableType.java Changeset: 5a5f83da57eb Author: dtitov Date: 2019-06-06 18:57 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5a5f83da57eb 8206074: nsk/jdi/EventRequestManager/createStepRequest/crstepreq001/TestDescription.java is timing out Reviewed-by: cjplummer, gadams ! test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createStepRequest/crstepreq001.java Changeset: 0d44bf1ead37 Author: egahlin Date: 2019-06-07 04:57 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0d44bf1ead37 8224139: Deprecate -XX:FlightRecorder option Reviewed-by: mgronlun, mseledtsov ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 9772d90df0d0 Author: iignatyev Date: 2019-06-06 23:06 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9772d90df0d0 8225469: clean up problem lists Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt ! test/jdk/ProblemList-graal.txt Changeset: d59aec2ead21 Author: mbaesken Date: 2019-06-06 09:30 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d59aec2ead21 8225402: events logging in deoptimization.cpp should go to deopt-log Reviewed-by: mdoerr, stuefe, coleenp ! src/hotspot/share/runtime/deoptimization.cpp Changeset: d868727d8f0b Author: jlahoda Date: 2019-06-07 10:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d868727d8f0b 8223782: jshell parser should handle Text Blocks Summary: Completion analysis should detect text blocks properly. Reviewed-by: jlaskey, rfield ! src/jdk.jshell/share/classes/jdk/jshell/MaskCommentsAndModifiers.java ! test/langtools/jdk/jshell/CompletenessTest.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java Changeset: eaa1e236f305 Author: mdoerr Date: 2019-06-07 10:13 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/eaa1e236f305 8225347: [s390] Unexpected exit from stack overflow test Reviewed-by: simonis ! src/hotspot/cpu/s390/globals_s390.hpp Changeset: 07ff89762205 Author: pliden Date: 2019-06-07 11:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/07ff89762205 8225340: ZGC: Add logging of High Usage rule Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zDirector.cpp Changeset: 4556dd808daa Author: pliden Date: 2019-06-07 11:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4556dd808daa 8222145: Add -XX:SoftMaxHeapSize flag Reviewed-by: eosterlund, tschatzl ! src/hotspot/share/gc/shared/gcArguments.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.hpp + test/hotspot/jtreg/gc/arguments/TestSoftMaxHeapSizeFlag.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRangesDynamic.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOption.java Changeset: 38006f020b94 Author: pliden Date: 2019-06-07 11:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/38006f020b94 8222182: ZGC: Use SoftMaxHeapSize to guide GC heuristics Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/z/zDirector.cpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zPageAllocator.cpp ! src/hotspot/share/gc/z/zPageAllocator.hpp Changeset: 9a120214e732 Author: pliden Date: 2019-06-07 11:19 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9a120214e732 8222467: ZGC: Log min/max/softmax capacity Reviewed-by: stefank ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp Changeset: 55319b27b346 Author: shade Date: 2019-06-07 11:47 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/55319b27b346 8225357: Rewire ShenandoahHeap::maybe_update_with_forwarded for contending fixups Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Changeset: 09b09388f197 Author: shade Date: 2019-06-07 11:48 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/09b09388f197 8225441: Cleanup ShenandoahHeap::atomic_compare_exchange_oop Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp Changeset: ae41e1037bde Author: chegar Date: 2019-06-07 11:47 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ae41e1037bde 8225424: Add jdk.net.usePlainSocketImpl runs to a couple of tests Reviewed-by: alanb ! test/jdk/java/net/SocketOption/AfterClose.java ! test/jdk/java/net/SocketOption/NullsAndBadValues.java Changeset: fe87ca416753 Author: chegar Date: 2019-06-07 11:51 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fe87ca416753 8216988: ServerSocket.implAccept should include warnings about Socket type/state Reviewed-by: alanb ! src/java.base/share/classes/java/net/ServerSocket.java Changeset: ceabad800468 Author: jlaskey Date: 2019-06-07 08:47 -0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ceabad800468 8225448: String::translateEscapes javadoc has accessibility issues Reviewed-by: jjg ! src/java.base/share/classes/java/lang/String.java Changeset: 47ee6c00d27c Author: mbaesken Date: 2019-06-05 16:53 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/47ee6c00d27c 8224958: add os::dll_load calls to event log Reviewed-by: dholmes, mdoerr, stuefe ! 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 Changeset: f4b2d5b83ebf Author: erikj Date: 2019-06-07 09:16 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling Reviewed-by: tbell, aoqi - make/CreateBuildJdkCopy.gmk ! make/ExplodedImageOptimize.gmk ! make/Main.gmk ! make/autoconf/buildjdk-spec.gmk.in ! make/common/MakeBase.gmk ! make/common/NativeCompilation.gmk ! make/gensrc/GensrcMisc.gmk Changeset: d19dc5b10fbb Author: never Date: 2019-06-07 10:26 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d19dc5b10fbb 8209626: [JVMCI] Use implicit exception table for dispatch and printing Reviewed-by: kvn ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/exceptionHandlerTable.cpp ! src/hotspot/share/code/exceptionHandlerTable.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MetadataBuilder.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMetaData.java Changeset: 3493c1bc59fd Author: lmesnik Date: 2019-06-07 12:26 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3493c1bc59fd 8225388: Running jcmd Compiler.CodeHeap_Analytics all 0 cause crash. Reviewed-by: thartmann, sspitsyn ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/codeHeapState.cpp ! src/hotspot/share/code/codeHeapState.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp + test/hotspot/jtreg/serviceability/dcmd/compiler/CodeHeapAnalyticsParams.java Changeset: 14283f280695 Author: kvn Date: 2019-06-07 13:57 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/14283f280695 8225350: compiler/jvmci/compilerToVM/IsCompilableTest.java timed out Reviewed-by: iignatyev ! test/hotspot/jtreg/compiler/jvmci/TestJVMCIPrintProperties.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/IsCompilableTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/MaterializeVirtualObjectTest.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyBootstrapFinishedEventTest.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.java ! test/hotspot/jtreg/runtime/appcds/GraalWithLimitedMetaspace.java Changeset: 357c9dcb6eb9 Author: ccheung Date: 2019-06-07 14:03 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/357c9dcb6eb9 8224497: Remove FIXME in metaspaceClosure.cpp Summary: Also cleaned up some comment and code related to the od (optional data) region. Reviewed-by: iklam, jiangli ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/metaspaceClosure.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: fd61ef6c4091 Author: jjg Date: 2019-06-07 14:32 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fd61ef6c4091 8224257: fix issues in files generated by pandoc Reviewed-by: mchung ! make/jdk/src/classes/build/tools/fixuppandoc/Main.java Changeset: 1fe17d2be502 Author: dlong Date: 2019-06-07 18:11 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1fe17d2be502 8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods Reviewed-by: kvn, dnsimon ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/FindUniqueConcreteMethodTest.java Changeset: 40320fb1920a Author: sviswanathan Date: 2019-06-07 15:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/40320fb1920a 8224234: compiler/codegen/TestCharVect2.java fails in test_mulc Reviewed-by: vlivanov, thartmann ! src/hotspot/cpu/x86/x86.ad Changeset: 1e0b948cc122 Author: jjg Date: 2019-06-07 16:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1e0b948cc122 8224257: fix issues in files generated by pandoc Reviewed-by: mchung ! make/jdk/src/classes/build/tools/fixuppandoc/Main.java Changeset: a9188ba494a3 Author: iignatyev Date: 2019-06-07 21:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a9188ba494a3 8149040: Cleanup compiler/jsr292/NonInlinedCall tests after JDK-8148994 Reviewed-by: kvn, thartmann - test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/GCTest.java ! test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/InvokeTest.java ! test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/RedefineTest.java ! test/hotspot/jtreg/compiler/jsr292/patches/java.base/java/lang/invoke/MethodHandleHelper.java Changeset: 686dedba1d9a Author: egahlin Date: 2019-06-09 11:28 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/686dedba1d9a 8216064: -XX:StartFlightRecording:settings= doesn't work properly Reviewed-by: mgronlun ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/jni/jfrJavaCall.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/jfc/JFC.java + test/jdk/jdk/jfr/startupargs/TestStartNoSettings.java Changeset: fcc702f17582 Author: lancea Date: 2019-06-09 05:56 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fcc702f17582 8225322: Broken links in java.sql Reviewed-by: darcy, jjg ! src/java.sql/share/classes/java/sql/package-info.java ! src/java.sql/share/classes/javax/sql/package-info.java Changeset: 84b9996abbee Author: darcy Date: 2019-06-09 15:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/84b9996abbee 8181869: getAnnotatedParameterTypes%G???%@() specification should be clarified Reviewed-by: lancea ! src/java.base/share/classes/java/lang/reflect/Executable.java Changeset: 6e432194ee97 Author: darcy Date: 2019-06-09 15:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6e432194ee97 8042748: Clarify exception thrown by ParameterizedTypeImpl.validateConstructorArguments() Reviewed-by: lancea ! src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java Changeset: ea43db53de91 Author: jlahoda Date: 2019-06-10 05:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ea43db53de91 8223305: Compiler support for Switch Expressions Reviewed-by: mcimadamore, vromero ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/jdk.compiler/share/classes/com/sun/source/tree/BreakTree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java + src/jdk.compiler/share/classes/com/sun/source/tree/YieldTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Kinds.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrContext.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TreeDiffer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/CRTable.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.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 ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! test/langtools/tools/javac/diags/examples/BracketsNotAllowedImplicitLambda.java - test/langtools/tools/javac/diags/examples/BreakAmbiguousTarget.java - test/langtools/tools/javac/diags/examples/BreakComplexValueNoSwitchExpression.java - test/langtools/tools/javac/diags/examples/BreakExprNotImmediate.java - test/langtools/tools/javac/diags/examples/BreakMissingValue.java ! test/langtools/tools/javac/diags/examples/FutureVarNotAllowed.java + test/langtools/tools/javac/diags/examples/IllegalRefToRestrictedType.java ! test/langtools/tools/javac/diags/examples/IllegalRefToVarType.java + test/langtools/tools/javac/diags/examples/InvalidYield.java + test/langtools/tools/javac/diags/examples/InvalidYieldWarning.java + test/langtools/tools/javac/diags/examples/NoSwitchExpression.java + test/langtools/tools/javac/diags/examples/NoSwitchExpressionQualify.java + test/langtools/tools/javac/diags/examples/RestrictedTypeNotAllowedPreview.java ! test/langtools/tools/javac/diags/examples/SwitchExpressions.java ! test/langtools/tools/javac/diags/examples/VarNotAllowed.java ! test/langtools/tools/javac/diags/examples/VarNotAllowedArray.java ! test/langtools/tools/javac/diags/examples/VarNotAllowedCompound.java ! test/langtools/tools/javac/diags/examples/VarNotAllowedHere.java ! test/langtools/tools/javac/expswitch/ExpSwitchNestingTest.java ! test/langtools/tools/javac/lambda/deduplication/Deduplication.java ! test/langtools/tools/javac/lambda/deduplication/DeduplicationTest.java ! test/langtools/tools/javac/lib/DPrinter.java ! test/langtools/tools/javac/lvti/ParserTest.out ! test/langtools/tools/javac/lvti/ParserTest9.out ! test/langtools/tools/javac/lvti/badTypeReference/BadTypeReference.out ! test/langtools/tools/javac/parser/JavacParserTest.java ! test/langtools/tools/javac/switchexpr/BreakTest.java ! test/langtools/tools/javac/switchexpr/DefiniteAssignment1.java ! test/langtools/tools/javac/switchexpr/DefiniteAssignment2.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchBreaks1.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchBreaks2.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchBreaks2.out ! test/langtools/tools/javac/switchexpr/ExpressionSwitchBugs.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchDA.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchEmbedding.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchFallThrough.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchFallThrough1.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchFlow.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchInExpressionSwitch.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchInfer.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchNotExhaustive.java + test/langtools/tools/javac/switchexpr/ExpressionSwitchToString.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchUnreachable.java ! test/langtools/tools/javac/switchexpr/ParseIncomplete.java ! test/langtools/tools/javac/switchexpr/SwitchExpressionIsNotAConstant.java ! test/langtools/tools/javac/switchexpr/SwitchExpressionScopesIsolated.java ! test/langtools/tools/javac/switchexpr/SwitchExpressionSimpleVisitorTest.java ! test/langtools/tools/javac/switchexpr/TryCatch.java + test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.java + test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.out + test/langtools/tools/javac/switchexpr/WrongBreakTest.java + test/langtools/tools/javac/switchexpr/WrongBreakTest.out + test/langtools/tools/javac/switchexpr/WrongYieldTest.java + test/langtools/tools/javac/switchexpr/WrongYieldTest.out + test/langtools/tools/javac/switchextra/DefiniteAssignment1.java + test/langtools/tools/javac/switchextra/DefiniteAssignment2.java + test/langtools/tools/javac/switchextra/DefiniteAssignment2.out ! test/langtools/tools/javac/switchextra/MultipleLabelsExpression.java ! test/langtools/tools/javac/var_implicit_lambda/VarInImplicitLambdaNegTest01.out ! test/langtools/tools/javac/var_implicit_lambda/VarInImplicitLambdaNegTest01_source10.out Changeset: ed12027517c0 Author: neliasso Date: 2019-02-14 14:54 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ed12027517c0 8224675: Late GC barrier insertion for ZGC Reviewed-by: roland, eosterlund, pliden ! src/hotspot/cpu/x86/gc/z/z_x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/z_globals.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/opto/idealGraphPrinter.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/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/runtime/stackValue.cpp ! src/hotspot/share/utilities/growableArray.hpp Changeset: 871bc449ce06 Author: stefank Date: 2019-06-07 13:50 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/871bc449ce06 8223837: Add -XX:MinHeapSize flag to set the minimum heap size Reviewed-by: pliden, tschatzl ! src/hotspot/share/gc/shared/gcArguments.cpp ! src/hotspot/share/gc/shared/gcArguments.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/genArguments.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.hpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java Changeset: 8081b181bba8 Author: dfuchs Date: 2019-06-10 11:17 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8081b181bba8 8224865: Replace wildcard address with loopback or local host in tests - part 13 Summary: Fixes intermittent failures observed in some network tests Reviewed-by: chegar ! test/jdk/com/sun/net/httpserver/Test1.java ! test/jdk/com/sun/net/httpserver/bugs/B6373555.java ! test/jdk/com/sun/net/httpserver/bugs/B6401598.java ! test/jdk/com/sun/net/httpserver/bugs/B6431193.java ! test/jdk/com/sun/net/httpserver/bugs/B6433018.java ! test/jdk/com/sun/net/httpserver/bugs/B8211420.java ! test/jdk/java/net/ResponseCache/Test2.java ! test/jdk/java/net/URL/GetContent.java ! test/jdk/sun/net/www/http/HttpClient/StreamingRetry.java ! test/jdk/sun/net/www/protocol/http/DigestTest.java ! test/jdk/sun/net/www/protocol/http/RelativeRedirect.java Changeset: 966a51af2986 Author: pliden Date: 2019-06-10 12:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/966a51af2986 8224966: ZGC: Don't skip oop verification in OopMapSet::all_do() Reviewed-by: stefank, eosterlund ! src/hotspot/share/compiler/oopMap.cpp Changeset: d60b24a09900 Author: pliden Date: 2019-06-10 12:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d60b24a09900 8225227: ZGC: Be exact in what load barrier to use in ZHeapIterator Reviewed-by: stefank ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zHeapIterator.hpp Changeset: d8942f5d6c75 Author: weijun Date: 2019-06-10 20:38 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d8942f5d6c75 8221719: Jarsigner fails to verify signed by alias if alias given in wrong case Reviewed-by: weijun Contributed-by: Philipp Kunz ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java + test/jdk/sun/security/tools/jarsigner/JavaKeyStoreAliasCaseInsensitive.java Changeset: f72f801b00bd Author: hseigel Date: 2019-06-10 09:52 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f72f801b00bd 8224952: RI deviates from JVMS - non-zero minor_version for class files throws UnsupportedClassVersionError. Summary: Change the JVM to follow the JVM Spec and accept non-zero minor_version for appropriate older class file versions. Reviewed-by: acorn, dholmes, iignatyev ! src/hotspot/share/classfile/classFileParser.cpp ! test/hotspot/jtreg/runtime/ClassFile/PreviewVersion.java Changeset: 811df7c64724 Author: dpochepk Date: 2019-06-10 17:02 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/811df7c64724 8222412: AARCH64: multiple instructions encoding issues Reviewed-by: aph + src/hotspot/cpu/aarch64/aarch64-asmtest.py ! src/hotspot/cpu/aarch64/assembler_aarch64.cpp ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp Changeset: 4cf21c5c956a Author: dtitov Date: 2019-06-10 09:41 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4cf21c5c956a 8222828: vmTestbase/nsk/jdi/BScenarios/multithrd/tc02x004/TestDescription.java failed Reviewed-by: cjplummer, gadams, jcbeyler ! test/hotspot/jtreg/vmTestbase/nsk/jdi/BScenarios/multithrd/tc02x004.java Changeset: 218f5a414379 Author: zgu Date: 2019-06-10 13:42 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/218f5a414379 8225514: Shenandoah: ShenandoahCodeRoots should inherit from AllStatic Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp Changeset: b76aee290002 Author: dnsimon Date: 2019-06-10 15:55 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b76aee290002 8225492: Update JVMCI Reviewed-by: iveresov, kvn ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.runtime/src/jdk/vm/ci/runtime/JVMCI.java Changeset: 040e1c6dab96 Author: darcy Date: 2019-06-10 15:53 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/040e1c6dab96 8225532: Update source enums to describe 12 and 13 language features Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java Changeset: c6498066a0a5 Author: smarks Date: 2019-06-10 17:33 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c6498066a0a5 8205131: remove Runtime trace methods Reviewed-by: lancea, rriggs, iklam ! src/java.base/share/classes/java/lang/Runtime.java ! test/jaxp/javax/xml/jaxp/unittest/transform/ProcessXSLT.java ! test/jdk/java/rmi/activation/CommandEnvironment/SetChildEnv.java ! test/jdk/sun/rmi/log/ReliableLog/Recovery.java Changeset: 670b4794f51e Author: iignatyev Date: 2019-06-10 17:11 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/670b4794f51e 8209917: fix TODO in GatherDiagnosticInfoObserver Reviewed-by: jjg, dholmes ! test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/GatherDiagnosticInfoObserver.java Changeset: ddda023e6f66 Author: neliasso Date: 2019-06-11 09:27 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ddda023e6f66 8225509: clean_catch_blocks must add preds first Reviewed-by: kvn ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: bc5baf205475 Author: mdoerr Date: 2019-06-11 09:51 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bc5baf205475 8224826: Implement fast class initialization checks on PPC64 Reviewed-by: vlivanov, gromero ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc.hpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/ppc/vm_version_ppc.hpp Changeset: fc4042870cc4 Author: chegar Date: 2019-06-11 09:21 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fc4042870cc4 8225426: Replace plain with system-default in Socket and ServerSocket Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/Socket.java Changeset: b42cadf7eb4a Author: rraghavan Date: 2019-06-11 14:33 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b42cadf7eb4a 8225567: Wrong file headers with 8202414 fix changeset Summary: Corrected source file headers Reviewed-by: thartmann ! src/hotspot/share/opto/memnode.cpp ! test/hotspot/jtreg/compiler/c2/Test8202414.java Changeset: 24c59b1579d7 Author: eosterlund Date: 2019-06-11 10:55 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/24c59b1579d7 8224871: os::attempt_reserve_memory_at() tries too hard Reviewed-by: pliden, coleenp, stuefe ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/solaris/os_solaris.cpp Changeset: 50270ff05a65 Author: neliasso Date: 2019-06-11 12:39 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/50270ff05a65 8225564: Remove wrong assert in clean_catch_blocks Reviewed-by: thartmann ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: 27e810f1f8a3 Author: dholmes Date: 2019-06-11 08:03 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/27e810f1f8a3 8225568: ProblemList compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest.java Reviewed-by: thartmann ! test/hotspot/jtreg/ProblemList.txt Changeset: d9a157f6fd71 Author: coleenp Date: 2019-06-11 07:31 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d9a157f6fd71 8224847: gc/stress/TestReclaimStringsLeaksMemory.java fails with reserved greater than expected Summary: Rehash threshold was too low for StringTable, and rehashed size table was too large. Reviewed-by: rehn, gziemski ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/gc/stress/TestReclaimStringsLeaksMemory.java Changeset: 03af124751f5 Author: aph Date: 2019-06-10 10:11 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/03af124751f5 8225429: Regression in disassembly quality Reviewed-by: never ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/compiler/abstractDisassembler.cpp ! src/hotspot/share/compiler/disassembler.cpp Changeset: 1fef7d9309a9 Author: dfuchs Date: 2019-06-11 15:46 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1fef7d9309a9 8225512: Replace wildcard address with loopback or local host in tests - part 15 Summary: Updates httpserver tests to use the loopback instead of the wildcard wherever possible. Reviewed-by: michaelm ! test/jdk/com/sun/net/httpserver/MissingTrailingSpace.java ! test/jdk/com/sun/net/httpserver/Test10.java ! test/jdk/com/sun/net/httpserver/Test11.java ! test/jdk/com/sun/net/httpserver/Test12.java ! test/jdk/com/sun/net/httpserver/Test13.java ! test/jdk/com/sun/net/httpserver/Test14.java ! test/jdk/com/sun/net/httpserver/Test2.java ! test/jdk/com/sun/net/httpserver/Test3.java ! test/jdk/com/sun/net/httpserver/Test4.java ! test/jdk/com/sun/net/httpserver/Test5.java ! test/jdk/com/sun/net/httpserver/Test6.java ! test/jdk/com/sun/net/httpserver/Test7.java ! test/jdk/com/sun/net/httpserver/Test7a.java ! test/jdk/com/sun/net/httpserver/Test8.java ! test/jdk/com/sun/net/httpserver/Test8a.java ! test/jdk/com/sun/net/httpserver/Test9.java ! test/jdk/com/sun/net/httpserver/Test9a.java ! test/jdk/com/sun/net/httpserver/TestLogging.java ! test/jdk/com/sun/net/httpserver/bugs/B6339483.java ! test/jdk/com/sun/net/httpserver/bugs/B6341616.java ! test/jdk/com/sun/net/httpserver/bugs/B6393710.java ! test/jdk/com/sun/net/httpserver/bugs/B6526158.java ! test/jdk/com/sun/net/httpserver/bugs/B6526913.java ! test/jdk/com/sun/net/httpserver/bugs/B6529200.java ! test/jdk/com/sun/net/httpserver/bugs/B6744329.java ! test/jdk/com/sun/net/httpserver/bugs/B6886436.java ! test/jdk/com/sun/net/httpserver/bugs/FixedLengthInputStream.java ! test/jdk/com/sun/net/httpserver/bugs/HeadTest.java ! test/jdk/com/sun/net/httpserver/bugs/TruncatedRequestBody.java Changeset: dbf5cda9843d Author: lancea Date: 2019-06-11 13:04 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/dbf5cda9843d 8225189: Multiple JNI calls within critical region in ZIP Library Reviewed-by: alanb ! src/java.base/share/native/libzip/Deflater.c ! src/java.base/share/native/libzip/Inflater.c Changeset: f492567244ab Author: valeriep Date: 2019-06-11 21:30 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f492567244ab 8080462: Update SunPKCS11 provider with PKCS11 v2.40 support Summary: Added support for GCM, PSS, and other mechanisms Reviewed-by: jnimeh + src/java.base/share/classes/sun/security/util/GCMParameters.java + src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java + src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java + src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_CCM_PARAMS.java + src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_GCM_PARAMS.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_PSS_PARAMS.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/Functions.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java ! src/jdk.crypto.cryptoki/share/legal/pkcs11cryptotoken.md ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_crypt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_digest.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_general.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_keymgmt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_mutex.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_sign.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c - src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs-11v2-20a3.h ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11.h ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11f.h ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11t.h ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h + test/jdk/sun/security/pkcs11/Cipher/Test4512704.java + test/jdk/sun/security/pkcs11/Cipher/TestCICOWithGCM.java + test/jdk/sun/security/pkcs11/Cipher/TestCICOWithGCMAndAAD.java + test/jdk/sun/security/pkcs11/Cipher/TestGCMKeyAndIvCheck.java + test/jdk/sun/security/pkcs11/Cipher/TestKATForGCM.java ! test/jdk/sun/security/pkcs11/MessageDigest/ByteBuffers.java + test/jdk/sun/security/pkcs11/Signature/InitAgainPSS.java + test/jdk/sun/security/pkcs11/Signature/KeyAndParamCheckForPSS.java + test/jdk/sun/security/pkcs11/Signature/SigInteropPSS.java + test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS.java + test/jdk/sun/security/pkcs11/Signature/TestDSA2.java Changeset: 75f47593d244 Author: jjg Date: 2019-06-11 14:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/75f47593d244 8214399: Javap -help should provide information about --multi-release option Reviewed-by: jlahoda ! src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties Changeset: ff74a3c584e5 Author: iignatyev Date: 2019-06-11 14:59 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ff74a3c584e5 8066173: compiler/types/correctness/OffTest.java failed with assert Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList.txt Changeset: f7cc25dda38a Author: zgu Date: 2019-06-11 19:15 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f7cc25dda38a 8225572: Shenandoah: Move JNIHandles root out of serial roots Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.hpp Changeset: c2398053ee90 Author: ascarpino Date: 2019-06-11 16:31 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c2398053ee90 8211018: Session Resumption without Server-Side State Reviewed-by: xuelei, jnimeh, jjiang ! src/java.base/share/classes/sun/security/ssl/ClientHello.java ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/HandshakeContext.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLHandshake.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/ServerHello.java ! src/java.base/share/classes/sun/security/ssl/SessionId.java + src/java.base/share/classes/sun/security/ssl/SessionTicketExtension.java ! src/java.base/share/classes/sun/security/ssl/TransportContext.java ! test/jdk/javax/net/ssl/DTLS/PacketLossRetransmission.java ! test/jdk/javax/net/ssl/SSLSession/SSLCtxAccessToSessCtx.java ! test/jdk/sun/security/ssl/DHKeyExchange/DHEKeySizing.java ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumeChecksClient.java + test/jdk/sun/security/ssl/SSLSessionImpl/ResumeChecksClientStateless.java ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumeChecksServer.java + test/jdk/sun/security/ssl/SSLSessionImpl/ResumeChecksServerStateless.java Changeset: ae3dbc712839 Author: darcy Date: 2019-06-11 17:20 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ae3dbc712839 7086604: (reflect) Clarifications to javadoc for getGeneric*Type methods in j.l.r Reviewed-by: lancea, abuckley ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/reflect/Executable.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/TypeVariable.java Changeset: 755e82641224 Author: sangheki Date: 2019-06-12 10:34 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/755e82641224 8225478: Make G1CMRootRegions independent of HeapRegions Summary: Remove dependency of HeapRegion from G1CMRootRegions class Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/memory/memRegion.hpp Changeset: 0530705ca300 Author: hannesw Date: 2019-06-12 13:21 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0530705ca300 8223364: Bad placement of anchor relative to header Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java Changeset: ef577fa0dd10 Author: jlahoda Date: 2019-06-12 13:49 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ef577fa0dd10 8220018: javac crash when compiling try-catch-finally inside switch expression Summary: Correcting handling of finally that yields from a switch expression. Reviewed-by: mcimadamore, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + test/langtools/tools/javac/switchexpr/TryCatchFinally.java Changeset: c63b9b87c28a Author: thartmann Date: 2019-06-12 14:06 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c63b9b87c28a 8224658: Unsafe access C2 compile fails with assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr: adr_type = NULL Summary: Handle unsafe off-heap access with constant zero address. Reviewed-by: vlivanov, roland ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/output.cpp + test/hotspot/jtreg/compiler/unsafe/TestUnsafeLoadWithZeroAddress.java Changeset: 596ae6c3ef6f Author: mdoerr Date: 2019-06-12 14:21 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/596ae6c3ef6f 8223249: [s390] Cleanup TemplateInterpreterGenerator::generate_fixed_frame Reviewed-by: coleenp, gromero ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp Changeset: 03d417fd7d9a Author: mdoerr Date: 2019-06-12 14:22 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/03d417fd7d9a 8224827: Implement fast class initialization checks on s390 Reviewed-by: vlivanov, gromero ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/interp_masm_s390.hpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/s390/vm_version_s390.hpp Changeset: 0c20dbc3d547 Author: mdoerr Date: 2019-06-12 14:24 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0c20dbc3d547 8224090: [PPC64] Fix SLP patterns for filling an array with double float literals Reviewed-by: mdoerr, simonis Contributed-by: Kazunori Ogata ! src/hotspot/cpu/ppc/ppc.ad Changeset: 492b644bb9c2 Author: dcubed Date: 2019-06-12 10:52 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/492b644bb9c2 8225453: is_busy diagnostics and other baseline cleanups from Async Monitor Deflation project Reviewed-by: dholmes, rehn, coleenp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 730ed3fc6605 Author: chegar Date: 2019-06-12 16:10 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/730ed3fc6605 8225651: Missed the `@` in a couple of code tags of SocketImpl Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/net/SocketImpl.java Changeset: 466d6e2d2ddf Author: kvn Date: 2019-06-12 10:37 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/466d6e2d2ddf 8223796: JVMCIEnv::get_jvmci_type does not keep klasses alive Reviewed-by: iveresov, eosterlund ! src/hotspot/share/jvmci/jvmciEnv.cpp Changeset: d109188f6480 Author: ccheung Date: 2019-06-12 10:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d109188f6480 8224710: [TESTBUG] dynamicArchive/ExcludedClasses.java test failed in tier6 testing on Windows Summary: Account for the failure in loading of the base archive in CDSTestUtils::isUnableToMap(). Reviewed-by: jiangli, iklam ! src/hotspot/share/memory/metaspace.cpp ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: 139f21bad9fd Author: iignatyev Date: 2019-06-12 11:48 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/139f21bad9fd 8158048: Fix failure message from jtreg gtest wrapper Reviewed-by: kvn, mseledtsov + test/hotspot/jtreg/gtest/GTestResultParser.java ! test/hotspot/jtreg/gtest/GTestWrapper.java Changeset: 1224b16c8ff4 Author: epavlova Date: 2019-06-12 12:31 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1224b16c8ff4 8225622: [AOT] runtime/SharedArchiveFile/TestInterpreterMethodEntries.java crashed with AOTed java.base Reviewed-by: kvn ! test/hotspot/jtreg/runtime/SharedArchiveFile/TestInterpreterMethodEntries.java Changeset: 8038250f9939 Author: darcy Date: 2019-06-12 14:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8038250f9939 8225675: Outdated citation of JLS in java.lang.ref.Reference Reviewed-by: lancea, jjg, mchung ! src/java.base/share/classes/java/lang/ref/Reference.java Changeset: 1357c4996b2e Author: hannesw Date: 2019-06-12 23:21 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1357c4996b2e 8225671: Support HTML 5 character references in javadoc Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/doclint/Entity.java ! src/jdk.compiler/share/classes/jdk/internal/shellsupport/doc/JavadocFormatter.java ! test/langtools/tools/doclint/CoverageExtras.java ! test/langtools/tools/doclint/html/EntitiesTest.java ! test/langtools/tools/doclint/html/EntitiesTest.out Changeset: 946f7f2d321c Author: wetmore Date: 2019-06-12 18:58 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/946f7f2d321c 8171279: Support X25519 and X448 in TLS Reviewed-by: xuelei, mullan ! src/java.base/share/classes/sun/security/ssl/CipherSuite.java ! src/java.base/share/classes/sun/security/ssl/DHClientKeyExchange.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/ECDHClientKeyExchange.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/HandshakeContext.java + src/java.base/share/classes/sun/security/ssl/KAKeyDerivation.java ! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java + src/java.base/share/classes/sun/security/ssl/NamedGroup.java + src/java.base/share/classes/sun/security/ssl/NamedGroupCredentials.java + src/java.base/share/classes/sun/security/ssl/NamedGroupPossession.java ! src/java.base/share/classes/sun/security/ssl/SSLExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SignatureScheme.java ! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java ! src/java.base/share/classes/sun/security/ssl/TransportContext.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/XDHKeyExchange.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/XDHKeyAgreement.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/XECParameters.java ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java + test/jdk/sun/security/ssl/CipherSuite/SupportedGroups.java Changeset: 74f0622db875 Author: weijun Date: 2019-06-13 10:06 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/74f0622db875 6722928: Support SSPI as a native GSS-API provider Reviewed-by: erikj, nwilliams, valeriep ! make/lib/Lib-java.security.jgss.gmk ! src/java.security.jgss/share/classes/sun/security/jgss/spnego/NegTokenTarg.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java ! src/java.security.jgss/share/native/libj2gss/GSSLibStub.c ! src/java.security.jgss/share/native/libj2gss/NativeFunc.h ! src/java.security.jgss/share/native/libj2gss/NativeUtil.h ! src/java.security.jgss/share/native/libj2gss/gssapi.h + src/java.security.jgss/windows/native/libsspi_bridge/sspi.cpp Changeset: bd2f0954cbb9 Author: iignatyev Date: 2019-06-12 21:17 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bd2f0954cbb9 8208236: [TESTBUG] vmTestbase/nsk/stress/stack tests fail by timeout Reviewed-by: dholmes ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack001.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack002.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack003.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack004.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack005.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack006.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack007.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack008.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack009.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack010.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack011.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack012.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack013.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack014.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack015.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack016.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack017.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack018.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack019.java Changeset: 03c98877f3bd Author: iignatyev Date: 2019-06-12 17:22 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/03c98877f3bd 8225676: cleanup hotspot ProblemList Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/ProblemList.txt Changeset: 6c8d5d0e1be4 Author: tnakamura Date: 2019-06-13 08:42 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6c8d5d0e1be4 8224184: jshell got IOException at exiting with AIX Reviewed-by: rfield, jlahoda ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ExecPty.java + test/langtools/jdk/jshell/ExecPtyGetFlagsToSetTest.java Changeset: 28f4594b19c2 Author: ronsh Date: 2019-06-13 08:42 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/28f4594b19c2 8224161: Check.checkOverrideClashes n^2 algorithm Summary: Caching type's members in Check.checkOverrideClashes to improve performance. Reviewed-by: mcimadamore, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java Changeset: ef91ba2e6cff Author: ssadetsky Date: 2019-06-03 08:13 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ef91ba2e6cff 8196096: javax/swing/JPopupMenu/6580930/bug6580930.java fails Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JPopupMenu/6580930/bug6580930.java Changeset: 72bdfcf4cfb5 Author: psadhukhan Date: 2019-06-04 14:23 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/72bdfcf4cfb5 Merge Changeset: ed5c7d68ed5a Author: psadhukhan Date: 2019-06-04 14:43 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ed5c7d68ed5a 8224876: javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedPerPixelTranslucentGradient.java fails on linux-x64 Reviewed-by: serb, jdv ! test/jdk/javax/swing/JWindow/ShapedAndTranslucentWindows/Common.java Changeset: 37819ad0ac6f Author: ant Date: 2019-06-06 15:46 +0300 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/37819ad0ac6f 8225118: Robot.createScreenCapture() returns black image on HiDPI linux with gtk3 Reviewed-by: serb ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.h ! test/jdk/java/awt/Robot/HiDPIScreenCapture/HiDPIRobotScreenCaptureTest.java Changeset: f680bedc0dcb Author: prr Date: 2019-06-07 09:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f680bedc0dcb Merge - make/CreateBuildJdkCopy.gmk - src/java.base/share/lib/security/cacerts ! test/jdk/ProblemList.txt Changeset: 13ec0d88815b Author: serb Date: 2019-06-09 14:12 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/13ec0d88815b 8222083: Support of "64-bit IEEE floating point" encoding for the AU file format Reviewed-by: prr ! src/java.desktop/share/classes/com/sun/media/sound/AuFileFormat.java ! src/java.desktop/share/classes/com/sun/media/sound/AuFileReader.java + test/jdk/javax/sound/sampled/spi/AudioFileReader/RecognizeAuFloat.java Changeset: fe6404b8394a Author: serb Date: 2019-06-09 17:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/fe6404b8394a 8223045: GraphicsEnvironment does not detect resolution changes in multiscreen systems Reviewed-by: prr ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: de1d2a535c08 Author: psadhukhan Date: 2019-06-10 10:52 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/de1d2a535c08 8225368: broken links in java.desktop files Reviewed-by: serb ! src/java.desktop/share/classes/java/awt/Font.java ! src/java.desktop/share/classes/java/awt/FontMetrics.java ! src/java.desktop/share/classes/java/awt/doc-files/DesktopProperties.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/tiff_metadata.html ! src/java.desktop/share/classes/javax/print/DocFlavor.java ! src/java.desktop/share/classes/javax/print/attribute/package-info.java Changeset: f85fa2fc78c2 Author: psadhukhan Date: 2019-06-11 11:01 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f85fa2fc78c2 8225511: javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedTranslucentPerPixelTranslucentGradient.java fails in linux-x64 Reviewed-by: serb, prr ! test/jdk/javax/swing/JWindow/ShapedAndTranslucentWindows/Common.java Changeset: 3467ea483f09 Author: serb Date: 2019-06-11 10:15 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3467ea483f09 8225144: [macos] In Aqua L&F backspace key does not delete when Shift is pressed Reviewed-by: psadhukhan ! src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java + test/jdk/javax/swing/text/JTextComponent/6361367/bug6361367.java Changeset: 18629738b64b Author: prr Date: 2019-06-11 10:34 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/18629738b64b 8217731: Font rendering and glyph spacing changed from jdk-8 to jdk-11 Reviewed-by: serb, neugens ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: ad93c5329cac Author: serb Date: 2019-06-11 16:23 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ad93c5329cac 8221246: NullPointerException within Win32ShellFolder2 Reviewed-by: prr ! src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java Changeset: 9cb499911646 Author: prr Date: 2019-06-11 17:15 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9cb499911646 8225487: giflib legal file is missing attribution for openbsd-reallocarray.c Reviewed-by: serb, kcr ! src/java.desktop/share/legal/giflib.md Changeset: 5d5fccc4fd3f Author: psadhukhan Date: 2019-06-12 10:02 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5d5fccc4fd3f Merge - src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs-11v2-20a3.h - test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/GCTest.java - test/langtools/tools/javac/diags/examples/BreakAmbiguousTarget.java - test/langtools/tools/javac/diags/examples/BreakComplexValueNoSwitchExpression.java - test/langtools/tools/javac/diags/examples/BreakExprNotImmediate.java - test/langtools/tools/javac/diags/examples/BreakMissingValue.java Changeset: 59642852dee0 Author: psadhukhan Date: 2019-06-13 11:31 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/59642852dee0 Merge Changeset: 5c4f1b7c753b Author: psadhukhan Date: 2019-06-13 12:22 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5c4f1b7c753b Merge Changeset: 96c7427456f9 Author: michaelm Date: 2019-06-13 09:10 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/96c7427456f9 8216417: cleanup of IPv6 scope-id handling Reviewed-by: alanb, chegar, dfuchs ! src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java ! src/java.base/share/classes/java/net/Inet6Address.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/Net.java ! src/java.base/share/native/libnet/Inet6Address.c ! src/java.base/share/native/libnet/net_util.h ! src/java.base/unix/classes/java/net/PlainDatagramSocketImpl.java ! src/java.base/unix/native/libnet/Inet6AddressImpl.c ! src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c ! src/java.base/unix/native/libnet/PlainSocketImpl.c ! src/java.base/unix/native/libnet/net_util_md.c ! src/java.base/unix/native/libnet/net_util_md.h ! src/java.base/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java ! src/java.base/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/java.base/windows/native/libnet/TwoStacksPlainDatagramSocketImpl.c ! src/java.base/windows/native/libnet/net_util_md.c ! test/jdk/ProblemList.txt + test/jdk/java/net/Inet6Address/Scoping.java + test/jdk/java/net/MulticastSocket/PromiscuousIPv6.java ! test/jdk/java/net/ipv6tests/B6521014.java + test/jdk/java/nio/channels/DatagramChannel/PromiscuousIPv6.java Changeset: 0f38ab93a53c Author: mdoerr Date: 2019-06-13 11:12 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0f38ab93a53c 8225663: [testbug] Missing JNIEXPORT in XAbortProvoker native function Reviewed-by: mbaesken, gromero, kvn ! test/hotspot/jtreg/compiler/testlibrary/rtm/libXAbortProvoker.c Changeset: f48d3bec75ba Author: tschatzl Date: 2019-06-13 11:54 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f48d3bec75ba 8225418: G1: region attribute remembered set state disagrees with actual remembered set state Summary: Keep remembered set update information when updating region attributes when abandoning the remaining collection set after mixed gc. Reviewed-by: kbarrett, mdoerr ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectionSet.cpp Changeset: bd613b97c7c8 Author: egahlin Date: 2019-06-13 12:27 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bd613b97c7c8 8220657: JFR.dump does not work when filename is set Reviewed-by: ysuenaga ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdDump.java + test/jdk/jdk/jfr/jcmd/TestJcmdDumpWithFileName.java Changeset: 865775b86780 Author: smonteith Date: 2019-06-13 15:24 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/865775b86780 8214527: ZGC for Aarch64 Summary: Implement ZGC for AArch64 Reviewed-by: aph, pliden, eosterlund, rkennke, shade, njian, adinn ! make/autoconf/hotspot.m4 ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp + src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp + src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp + src/hotspot/cpu/aarch64/gc/z/z_aarch64.ad ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zArguments_linux_aarch64.cpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zBackingFile_linux_aarch64.cpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zBackingFile_linux_aarch64.hpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zBackingPath_linux_aarch64.cpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zBackingPath_linux_aarch64.hpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zGlobals_linux_aarch64.cpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zGlobals_linux_aarch64.hpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zPhysicalMemoryBacking_linux_aarch64.cpp + src/hotspot/os_cpu/linux_aarch64/gc/z/zPhysicalMemoryBacking_linux_aarch64.hpp Changeset: 22b3b7983ada Author: weijun Date: 2019-06-13 23:53 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/22b3b7983ada 8225180: SignedObject with invalid Key not throwing the InvalidKeyException in Windows Reviewed-by: mullan ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CSignature.java + test/jdk/sun/security/mscapi/NullKey.java Changeset: 7c9151c7dc40 Author: jwilhelm Date: 2019-06-13 18:02 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7c9151c7dc40 Added tag jdk-14+0 for changeset 22b3b7983ada ! .hgtags Changeset: 30b1b7b4dd86 Author: darcy Date: 2019-06-11 16:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/30b1b7b4dd86 8214546: Start of release updates for JDK 14 8214547: Add SourceVersion.RELEASE_14 8214548: Add source 14 and target 14 to javac 8214549: Bump maximum recognized class file version to 58 for JDK 14 Reviewed-by: jjg, mikael, erikj, jlahoda, dholmes ! make/autoconf/version-numbers + make/data/symbols/java.base-D.sym.txt + make/data/symbols/java.compiler-D.sym.txt + make/data/symbols/java.desktop-D.sym.txt + make/data/symbols/java.management-D.sym.txt + make/data/symbols/java.management.rmi-D.sym.txt + make/data/symbols/java.net.http-D.sym.txt + make/data/symbols/java.xml-D.sym.txt + make/data/symbols/java.xml.crypto-D.sym.txt + make/data/symbols/jdk.compiler-D.sym.txt + make/data/symbols/jdk.httpserver-D.sym.txt + make/data/symbols/jdk.javadoc-D.sym.txt + make/data/symbols/jdk.jlink-D.sym.txt + make/data/symbols/jdk.jshell-D.sym.txt ! make/data/symbols/symbols ! 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.rmic/share/classes/sun/tools/java/RuntimeConstants.java ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java ! test/jdk/java/lang/module/ClassFileVersionsTest.java ! test/langtools/tools/javac/api/T6395981.java ! test/langtools/tools/javac/classfiles/ClassVersionChecker.java ! test/langtools/tools/javac/diags/examples/InvalidYield.java ! test/langtools/tools/javac/diags/examples/InvalidYieldWarning.java ! test/langtools/tools/javac/diags/examples/NoSwitchExpression.java ! test/langtools/tools/javac/diags/examples/NoSwitchExpressionQualify.java ! test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.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/switchexpr/WarnWrongYieldTest.java ! test/langtools/tools/javac/versions/Versions.java Changeset: b2df72a5445f Author: mullan Date: 2019-06-13 13:03 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b2df72a5445f 8225730: Add sun/security/pkcs11/tls/tls12/FipsModeTLS12.java to ProblemList for linux Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 31d026474e77 Author: mullan Date: 2019-06-13 13:04 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/31d026474e77 Merge Changeset: 2c47220ce9bb Author: shade Date: 2019-06-13 19:37 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2c47220ce9bb 8224881: Shenandoah: trashing "Collection Set, Pinned" region during Degenerated GC Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 2f4e214781a1 Author: dtitov Date: 2019-06-13 11:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2f4e214781a1 8225543: Jcmd fails to attach to the Java process on Linux using the main class name if whitespace options were used to launch the process Reviewed-by: sspitsyn, dholmes ! src/jdk.jcmd/linux/classes/sun/tools/ProcessHelper.java ! test/jdk/sun/tools/jcmd/TestProcessHelper.java Changeset: 761b86d5563d Author: darcy Date: 2019-06-13 11:50 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/761b86d5563d 8164819: Make javac's toString() on annotation objects consistent with core reflection Reviewed-by: jjg, coleenp ! src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Attribute.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java ! test/hotspot/jtreg/runtime/8007320/ConstMethodTest.java ! test/jdk/java/lang/annotation/AnnotationToStringTest.java ! test/jdk/java/lang/annotation/ParameterAnnotations.java ! test/jdk/java/lang/annotation/TestConstructorParameterAnnotations.java ! test/jdk/java/lang/annotation/typeAnnotations/TestConstructorParameterTypeAnnotations.java ! test/jdk/java/lang/annotation/typeAnnotations/TestObjectMethods.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousExtendsTest.java ! test/langtools/tools/javac/modules/AnnotationsOnModules.java ! test/langtools/tools/javac/processing/messager/6388543/T6388543.out + test/langtools/tools/javac/processing/model/element/AnnotationToStringTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerBasicTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA1Test.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA2Test.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB1Test.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB2Test.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerBasicTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA1Test.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA2Test.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB1Test.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB2Test.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerBasicTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerInheritedTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableBasicTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableInheritedTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerBasicTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerInheritedTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideATest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideBTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularBasicTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedATest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedBTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerBasicTest.java ! test/langtools/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerInheritedTest.java ! test/langtools/tools/javac/sym/ElementStructureTest.java Changeset: d57d61aafef9 Author: bpb Date: 2019-06-13 13:43 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d57d61aafef9 8223813: (aio) Iocp.getErrorMessage should drop trailing \r\n Reviewed-by: alanb, igerasim, rriggs ! src/java.base/windows/native/libnet/Inet4AddressImpl.c ! src/java.base/windows/native/libnio/ch/Iocp.c ! src/java.base/windows/native/libnio/fs/WindowsNativeDispatcher.c Changeset: 5c52d053cb14 Author: jwilhelm Date: 2019-06-14 01:09 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5c52d053cb14 Added tag jdk-14+1 for changeset 2f4e214781a1 ! .hgtags Changeset: 4a3c13548b9e Author: darcy Date: 2019-06-13 16:39 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4a3c13548b9e 8222369: ExecutableElement.getReceiverType returns null instead of NOTYPE Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java + test/langtools/tools/javac/processing/model/element/TestExecutableReceiverType.java ! test/langtools/tools/javac/sym/ElementStructureTest.java Changeset: 1afe0cb93482 Author: tvaleev Date: 2019-06-14 05:02 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1afe0cb93482 8225339: Optimize HashMap.keySet()/HashMap.values()/HashSet toArray() methods Reviewed-by: rriggs, redestad, smarks ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/HashSet.java ! src/java.base/share/classes/java/util/LinkedHashMap.java + test/jdk/java/util/HashMap/ToArray.java + test/micro/org/openjdk/bench/java/util/HashMapToArray.java Changeset: 444b2d3471e9 Author: jpai Date: 2019-06-14 10:19 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/444b2d3471e9 8217705: HttpClient - wrong exception type when bad status line is received Summary: Throw a ProtocolException if the status code in the HTTP response's status line isn't a 3-digit integer Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/Http1HeaderParser.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/Http1HeaderParserTest.java Changeset: 5dcab10ebfbe Author: thartmann Date: 2019-06-14 13:26 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5dcab10ebfbe 8225783: Incorrect use of binary operators on booleans in type.cpp Summary: Use logical operators instead. Reviewed-by: roland ! src/hotspot/share/opto/type.cpp Changeset: b444bbe5c45c Author: shade Date: 2019-06-14 16:47 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b444bbe5c45c 8225743: Remove ShenandoahBarrierSetC2::escape_is_barrier_node and related GC interface Reviewed-by: roland, eosterlund ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/opto/escape.cpp Changeset: 9c6d907cefac Author: zgu Date: 2019-06-14 11:58 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/9c6d907cefac 8225550: Shenandoah: Prevent SH::object_iterate() call's side-effects Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: 49ed5e31fe1e Author: zgu Date: 2019-06-14 12:08 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/49ed5e31fe1e 8225801: Shenandoah: Adjust SA to reflect recent forwarding pointer changes Reviewed-by: shade ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java Changeset: 5eeee2cc94f5 Author: rfield Date: 2019-06-14 20:30 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/5eeee2cc94f5 8200701: jdk/jshell/ExceptionsTest.java fails on Windows, after JDK-8198801 8159740: JShell: corralled declarations do not have correct source to wrapper mapping 8212167: JShell : Stack trace of exception has wrong line number Summary: Build corralled (recoverable undeclared definitions) declarations from position translating wraps.... Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/Corraller.java ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! src/jdk.jshell/share/classes/jdk/jshell/GeneralWrap.java ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! src/jdk.jshell/share/classes/jdk/jshell/Wrap.java ! test/langtools/ProblemList.txt ! test/langtools/jdk/jshell/ClassesTest.java ! test/langtools/jdk/jshell/ExceptionsTest.java ! test/langtools/jdk/jshell/KullaTesting.java ! test/langtools/jdk/jshell/WrapperTest.java Changeset: e53ec3b362f4 Author: ngasson Date: 2019-06-17 15:31 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e53ec3b362f4 8224851: AArch64: fix warnings and errors with Clang and GCC 8.3 Reviewed-by: aph, kbarrett ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64_log.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp ! src/hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.s ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp Changeset: 46049b8a5658 Author: dfuchs Date: 2019-06-17 20:03 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/46049b8a5658 8225578: Replace wildcard address with loopback or local host in tests - part 16 Summary: Fixes java/net/Authenticator and java/net/CookieHandler to stop depending on the wildcard address, wherever possible. Reviewed-by: chegar ! test/jdk/java/net/Authenticator/AuthNPETest.java ! test/jdk/java/net/Authenticator/B4678055.java ! test/jdk/java/net/Authenticator/B4759514.java ! test/jdk/java/net/Authenticator/B4769350.java ! test/jdk/java/net/Authenticator/B4921848.java ! test/jdk/java/net/Authenticator/B4933582.java ! test/jdk/java/net/Authenticator/B4962064.java ! test/jdk/java/net/Authenticator/B6870935.java ! test/jdk/java/net/Authenticator/B8034170.java ! test/jdk/java/net/Authenticator/BasicTest.java ! test/jdk/java/net/Authenticator/BasicTest3.java ! test/jdk/java/net/Authenticator/BasicTest4.java ! test/jdk/java/net/Authenticator/Deadlock.java ! test/jdk/java/net/CookieHandler/CookieHandlerTest.java ! test/jdk/java/net/CookieHandler/CookieManagerTest.java ! test/jdk/java/net/CookieHandler/EmptyCookieHeader.java ! test/jdk/java/net/CookieHandler/LocalHostCookie.java Changeset: da554fdb51d0 Author: ysuenaga Date: 2019-06-18 10:54 +0900 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/da554fdb51d0 8225636: SA can't handle prelinked libraries Reviewed-by: sspitsyn, cjplummer ! src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c Changeset: 32cce302a1fd Author: rehn Date: 2019-06-18 11:06 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/32cce302a1fd 8226227: Missing include of thread.inline.hpp Reviewed-by: coleenp ! src/hotspot/share/gc/shared/gcLocker.inline.hpp ! src/hotspot/share/runtime/vframe.inline.hpp Changeset: b78af6d8a252 Author: chegar Date: 2019-06-18 14:52 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b78af6d8a252 8225583: Examine the HttpResponse.BodySubscribers for null handling Reviewed-by: dfuchs, prappo ! src/java.net.http/share/classes/java/net/http/HttpResponse.java ! src/java.net.http/share/classes/jdk/internal/net/http/LineSubscriberAdapter.java ! src/java.net.http/share/classes/jdk/internal/net/http/ResponseSubscribers.java Changeset: 8d50ff464ae5 Author: rriggs Date: 2019-06-18 10:37 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8d50ff464ae5 8226242: Diagnostic output for posix_spawn failure Reviewed-by: bpb, stuefe, dholmes, martin ! src/java.base/unix/native/libjava/ProcessImpl_md.c Changeset: 8259c22be42c Author: zgu Date: 2019-06-18 13:11 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8259c22be42c 8225804: SA: Remove unused CollectedHeap.oopOffset() method Reviewed-by: rkennke ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Changeset: 17f24c0e2f01 Author: chegar Date: 2019-06-18 18:38 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/17f24c0e2f01 8226319: Add forgotten test/jdk/java/net/httpclient/BodySubscribersTest.java Reviewed-by: dfuchs, prappo + test/jdk/java/net/httpclient/BodySubscribersTest.java Changeset: d69faba543ec Author: iignatyev Date: 2019-06-13 13:42 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d69faba543ec 8225746: hotspot problem lists list unexciting tests Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList-graal.txt Changeset: bba34c350225 Author: mullan Date: 2019-06-13 17:49 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bba34c350225 8225730: Add sun/security/pkcs11/tls/tls12/FipsModeTLS12.java to ProblemList for linux Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 24872d367cb6 Author: kvn Date: 2019-06-13 17:18 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/24872d367cb6 8209590: compiler/compilercontrol/DontInlineCommandTest.java test fails with "Inline message differs" error Summary: increase InlineSmallCode to 4000 for tests which check inlining decisions. Reviewed-by: iignatyev ! test/hotspot/jtreg/compiler/compilercontrol/share/scenario/Command.java Changeset: c53db49c7a2f Author: jwilhelm Date: 2019-06-14 03:50 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c53db49c7a2f Added tag jdk-13+25 for changeset 22b3b7983ada ! .hgtags Changeset: c3b354fdbaa4 Author: shade Date: 2019-06-14 10:02 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c3b354fdbaa4 8225695: 32-bit build failures after JDK-8080462 (Update SunPKCS11 provider with PKCS11 v2.40 support) Reviewed-by: alanb ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_general.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_sign.c Changeset: 328d4a455e4b Author: xuelei Date: 2019-06-14 12:19 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/328d4a455e4b 8224829: AsyncSSLSocketClose.java has timing issue Reviewed-by: jnimeh, dfuchs ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! test/jdk/javax/net/ssl/SSLSocket/Tls13PacketSize.java + test/jdk/sun/security/ssl/SSLSocketImpl/BlockedAsyncClose.java Changeset: 55a79ffab804 Author: weijun Date: 2019-06-15 14:39 +0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/55a79ffab804 8225392: Comparison builds are failing due to cacerts file Reviewed-by: erikj, martin, mullan ! make/jdk/src/classes/build/tools/generatecacerts/GenerateCacerts.java ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java + test/jdk/sun/security/tools/keytool/ListOrder.java Changeset: 22ce9e266a4b Author: zgu Date: 2019-06-14 12:08 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/22ce9e266a4b 8225801: Shenandoah: Adjust SA to reflect recent forwarding pointer changes Reviewed-by: shade ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java Changeset: 666f51a72171 Author: kvn Date: 2019-06-17 09:11 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/666f51a72171 8181837: [Graal] compiler/jvmci/SecurityRestrictionsTest.java fails with AccessControlException Summary: Remove test from Problem list because it does not fail anymore. Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 2d62c1192d41 Author: dtitov Date: 2019-06-13 11:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2d62c1192d41 8225543: Jcmd fails to attach to the Java process on Linux using the main class name if whitespace options were used to launch the process Reviewed-by: sspitsyn, dholmes ! src/jdk.jcmd/linux/classes/sun/tools/ProcessHelper.java ! test/jdk/sun/tools/jcmd/TestProcessHelper.java Changeset: 09ee0bd26bda Author: dtitov Date: 2019-06-17 14:31 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/09ee0bd26bda 8217348: assert(thread->is_Java_thread()) failed: just checking Reviewed-by: sspitsyn, dholmes, amenkov, jcbeyler ! src/hotspot/share/prims/jvmtiEnvBase.cpp Changeset: 6c2d53701e34 Author: rfield Date: 2019-06-17 17:14 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6c2d53701e34 8200701: jdk/jshell/ExceptionsTest.java fails on Windows, after JDK-8198801 8159740: JShell: corralled declarations do not have correct source to wrapper mapping 8212167: JShell : Stack trace of exception has wrong line number Summary: Build corralled (recoverable undeclared definitions) declarations from position translating wraps.... Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/Corraller.java ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! src/jdk.jshell/share/classes/jdk/jshell/GeneralWrap.java ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! src/jdk.jshell/share/classes/jdk/jshell/Wrap.java ! test/langtools/ProblemList.txt ! test/langtools/jdk/jshell/ClassesTest.java ! test/langtools/jdk/jshell/ExceptionsTest.java ! test/langtools/jdk/jshell/KullaTesting.java ! test/langtools/jdk/jshell/WrapperTest.java Changeset: 922a4a554807 Author: rraghavan Date: 2019-06-18 10:00 +0530 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/922a4a554807 8226198: use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state Summary: Used logical operator correctly Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/library_call.cpp Changeset: 3e08fa647eea Author: gziemski Date: 2019-06-18 12:39 -0500 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3e08fa647eea 8225310: JFR crashed in JfrPeriodicEventSet::requestProtectionDomainCacheTableStatistics() Summary: Added lock around table usage Reviewed-by: coleenp, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: bc5a0508253c Author: jjg Date: 2019-06-18 11:52 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/bc5a0508253c 8225748: Use SHA-256 for javap classfile checksum Reviewed-by: mchung ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties ! test/langtools/tools/javac/T6942649.java ! test/langtools/tools/javap/T4884240.java Changeset: 688a2a361e14 Author: jwilhelm Date: 2019-06-18 22:48 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/688a2a361e14 Merge ! .hgtags Changeset: c439c469e803 Author: lancea Date: 2019-06-18 17:50 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c439c469e803 8225680: Address links in java.sql.rowset Reviewed-by: jjg, bpb ! src/java.sql.rowset/share/classes/com/sun/rowset/providers/RIXMLProvider.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/WebRowSet.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/package-info.java Changeset: 970adfac768d Author: zgu Date: 2019-06-18 17:58 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/970adfac768d 8225573: Shenandoah: Enhance ShenandoahVerifier to ensure roots to-space invariant Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp Changeset: aa800530fb49 Author: pli Date: 2019-06-17 09:40 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/aa800530fb49 8226222: [JVMCI] Export AArch64 field VM_Version::_psr_info.dczid_el0 Reviewed-by: kvn ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 7cf925f385fe Author: pliden Date: 2019-06-19 08:43 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7cf925f385fe 8225779: Remove unused CollectedHeap::cell_header_size() Reviewed-by: eosterlund, rkennke, shade ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp Changeset: 4efe251009b4 Author: prappo Date: 2019-06-18 14:12 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/4efe251009b4 8226303: Examine the HttpRequest.BodyPublishers for exception handling Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/PullPublisher.java ! src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java + test/jdk/java/net/httpclient/RelayingPublishers.java Changeset: e0be41293b41 Author: prappo Date: 2019-06-19 12:17 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e0be41293b41 Merge - src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs-11v2-20a3.h Changeset: e9da3a44a7ed Author: zgu Date: 2019-06-19 08:52 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e9da3a44a7ed 8225582: Shenandoah: Enable concurrent evacuation of JNIHandles Reviewed-by: rkennke, shade + src/hotspot/share/gc/shenandoah/shenandoahConcurrentRoots.cpp + src/hotspot/share/gc/shenandoah/shenandoahConcurrentRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp Changeset: d7da94e6c169 Author: aph Date: 2019-06-18 16:15 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d7da94e6c169 8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1BlockOffsetTable.cpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp Changeset: 82deab2dd59e Author: hseigel Date: 2019-06-19 13:34 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/82deab2dd59e 8226304: Obsolete the -XX:+FailOverToOldVerifier option Summary: Change the option from deprecated to obsolete Reviewed-by: lfoltan, coleenp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 43627549a488 Author: shurailine Date: 2019-06-19 05:04 -0800 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/43627549a488 8226359: Switch to JCov build which supports byte code version 58 Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: afc6c25c2f4a Author: iignatyev Date: 2019-06-18 09:19 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/afc6c25c2f4a 8226313: problem list compiler/types/correctness tests Reviewed-by: thartmann ! test/hotspot/jtreg/ProblemList.txt Changeset: be453f7ee72c Author: amenkov Date: 2019-06-18 16:08 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/be453f7ee72c 8225682: Reference to JNI spec on java.sun.com Reviewed-by: gadams, cjplummer, sspitsyn ! make/data/jdwp/jdwp.spec Changeset: af38014cb097 Author: iignatyev Date: 2019-06-19 03:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/af38014cb097 8226360: merge entries in hotspot problem lists Reviewed-by: epavlova, kvn ! test/hotspot/jtreg/ProblemList-graal.txt ! test/jdk/ProblemList-graal.txt Changeset: 3dcfa209f769 Author: thartmann Date: 2019-06-19 12:24 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/3dcfa209f769 8226381: ProblemList java/lang/reflect/PublicMethods/PublicMethodsTest.java Summary: Put test on AOT ProblemList. Reviewed-by: iignatyev ! test/jdk/ProblemList-aot.txt Changeset: 80594c78a608 Author: thartmann Date: 2019-06-19 12:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/80594c78a608 8226382: ProblemList java/lang/constant/MethodTypeDescTest.java Summary: Put test on AOT ProblemList. Reviewed-by: iignatyev ! test/jdk/ProblemList-aot.txt Changeset: 360f8769d3dc Author: hseigel Date: 2019-06-19 08:42 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/360f8769d3dc 8225789: Empty method parameter type should generate ClassFormatError Summary: Check for an empty name when verifying unqualified names Reviewed-by: lfoltan, coleenp ! src/hotspot/share/classfile/classFileParser.cpp + test/hotspot/jtreg/runtime/classFileParserBug/EmptyUnqName.jasm + test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyUnqName.java ! test/hotspot/jtreg/runtime/verifier/TestSigParse.java Changeset: 0692b67f5462 Author: aph Date: 2019-06-18 16:15 +0100 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0692b67f5462 8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1BlockOffsetTable.cpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp Changeset: 726cb89a9997 Author: jwilhelm Date: 2019-06-20 02:10 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/726cb89a9997 Merge ! src/hotspot/share/classfile/classFileParser.cpp Changeset: 48a14297c030 Author: jwilhelm Date: 2019-06-20 04:15 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/48a14297c030 Added tag jdk-14+2 for changeset 43627549a488 ! .hgtags Changeset: eaf0a8de3450 Author: tvaleev Date: 2019-06-20 03:32 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/eaf0a8de3450 8226286: Remove unused method java.lang.Integer::formatUnsignedInt and cleanup Integer/Long classes Reviewed-by: bpb, redestad ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java Changeset: 12e8433e2581 Author: coffeys Date: 2019-06-20 08:02 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/12e8433e2581 8213561: ZipFile/MultiThreadedReadTest.java timed out in tier1 Reviewed-by: lancea ! test/jdk/java/util/zip/ZipFile/MultiThreadedReadTest.java Changeset: 99b604ec1af6 Author: gadams Date: 2019-06-20 07:13 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/99b604ec1af6 8224642: Test sun/tools/jcmd/TestJcmdSanity.java fails: Bad file descriptor Reviewed-by: cjplummer, rschmelter, clanger ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java Changeset: 6a7d6b6bbd78 Author: zgu Date: 2019-06-20 10:12 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6a7d6b6bbd78 8226413: Shenandoah: Separate root scanner for SH::object_iterate() Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: a7b9d6d4940e Author: erikj Date: 2019-06-20 09:35 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a7b9d6d4940e 8226521: Detect WSL2 as WSL in configure Reviewed-by: erikj Contributed-by: andrewluotechnologies at outlook.com ! make/autoconf/build-aux/config.guess Changeset: 1aae575eb1ef Author: naoto Date: 2019-06-20 11:21 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/1aae575eb1ef 8220229: Timezone pattern "OOOO" does not result in the full "GMT+00:00" substring Reviewed-by: lancea, rriggs ! src/java.base/share/classes/java/time/format/DateTimeFormatter.java Changeset: 95794e32352e Author: dlsmith Date: 2019-06-20 14:03 -0600 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/95794e32352e 8226325: Support building of filtered spec bundles Reviewed-by: erikj ! doc/building.md ! make/Docs.gmk ! make/InitSupport.gmk ! make/Main.gmk ! make/data/docs-resources/resources/jdk-default.css Changeset: 0f141453b9e0 Author: lancea Date: 2019-06-20 16:15 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0f141453b9e0 8226518: Typo in the ConnectionBuilder javadoc examples Reviewed-by: bpb ! src/java.sql/share/classes/java/sql/ConnectionBuilder.java ! src/java.sql/share/classes/javax/sql/PooledConnectionBuilder.java ! src/java.sql/share/classes/javax/sql/XAConnectionBuilder.java Changeset: d3030613fab9 Author: robm Date: 2019-06-20 20:20 +0000 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/d3030613fab9 8223727: com/sun/jndi/ldap/privconn/RunTest.java failed due to hang in LdapRequest.getReplyBer Reviewed-by: prappo ! src/java.naming/share/classes/com/sun/jndi/ldap/Connection.java Changeset: 79a7fc6c9bc7 Author: zgu Date: 2019-06-20 18:29 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/79a7fc6c9bc7 8225590: Shenandoah: Refactor ShenandoahClassLoaderDataRoots API Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp From roger.riggs at oracle.com Fri Jun 21 13:50:11 2019 From: roger.riggs at oracle.com (roger.riggs at oracle.com) Date: Fri, 21 Jun 2019 13:50:11 +0000 Subject: hg: valhalla/valhalla: 8226395: Test makes assumptions about what fields can be setAccessible Message-ID: <201906211350.x5LDoBe4029516@aojmv0008.oracle.com> Changeset: ebda0940ee38 Author: rriggs Date: 2019-06-21 09:49 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/ebda0940ee38 8226395: Test makes assumptions about what fields can be setAccessible Reviewed-by: mchung ! test/jdk/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java From Roger.Riggs at oracle.com Fri Jun 21 14:40:19 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Fri, 21 Jun 2019 10:40:19 -0400 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes In-Reply-To: <7e0b5abf-7b7a-1b47-cc6a-ae272fd0778b@oracle.com> References: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> <7401fc1d-0d91-43f9-ba7b-1438c2875d15@oracle.com> <7502035d-0989-5baf-6fd8-42c632a8cf3b@oracle.com> <7e0b5abf-7b7a-1b47-cc6a-ae272fd0778b@oracle.com> Message-ID: <2b6fac5d-b188-e9f2-c09d-1cffb5213a0e@oracle.com> Hi Mandy, An ASM test would be more appropriate;? jlink itself doesn't much care about the classes. The particular test that was failing was one of the Strip debug tests. Where are the ASM tests? Thanks, Roger On 6/20/19 7:24 PM, Mandy Chung wrote: > I assume you run into the jlink issues with JDK using the inline class. > It's good to add a new test that creates a module with inline class > and invoke jlink to produce an image. > > Mandy > > On 6/20/19 11:34 AM, Roger Riggs wrote: >> Hi, >> >> I discovered that the visiting of the new opcodes was not correct. It >> skipped over them correctly >> but did not visit each opcode. >> The 'default' opcode argument is a type name and so should call the >> visitTypeInsn method. >> The "withfield' opcode argument is a field ref (class and name) so >> should call visitFieldInsn. >> And the INLINE prefixes are dropped. >> >> Webrev: >> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-4/index.html >> >> Thanks, Roger >> >> >> On 6/20/19 1:38 PM, Mandy Chung wrote: >>> Looks okay.? The INLINE_* prefix is not necessary to me and matching >>> the JVMS opcode names makes sense. >>> >>> Mandy >>> >>> >>> On 6/19/19 10:57 AM, Roger Riggs wrote: >>>> Hi Mandy, >>>> >>>> Webrev: >>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-2/ >>>> >>>> A more robust version that computes the necessary offsets of the >>>> ASM_ opcodes >>>> to relocate them to the unused indexes above the new WithField opcode. >>>> >>>> Thanks, Roger >>>> >>>> >>>> On 6/19/19 12:22 PM, Mandy Chung wrote: >>>>> >>>>> >>>>> On 6/19/19 7:47 AM, Roger Riggs wrote: >>>>>> Please review a patch to asm to correctly recognize the Valhalla >>>>>> defined bytecodes for defaultvalue and withfield. >>>>>> (The jlink tests that read and write classfiles were failing). >>>>>> >>>>>> Webrev: >>>>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ >>>>> >>>>> Label::resolve method depends on the assumption that IFEQ ... JSR >>>>> can be changed to ASM_IFEQ to ASM_JSR.?? It seems that the >>>>> xxx_DELTA? needs to be adjusted. >>>>> >>>>> Mandy >>>> >>> >> > From mandy.chung at oracle.com Fri Jun 21 15:00:21 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 21 Jun 2019 08:00:21 -0700 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes In-Reply-To: <2b6fac5d-b188-e9f2-c09d-1cffb5213a0e@oracle.com> References: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> <7401fc1d-0d91-43f9-ba7b-1438c2875d15@oracle.com> <7502035d-0989-5baf-6fd8-42c632a8cf3b@oracle.com> <7e0b5abf-7b7a-1b47-cc6a-ae272fd0778b@oracle.com> <2b6fac5d-b188-e9f2-c09d-1cffb5213a0e@oracle.com> Message-ID: I am not aware we imported any ASM test.? At this time I concerned the lworld development.? If jlink switched to use a different bytecode library, we would have a test reproducing the issue.? It's okay to follow up the test separately. Mandy On 6/21/19 7:40 AM, Roger Riggs wrote: > Hi Mandy, > > An ASM test would be more appropriate;? jlink itself doesn't much care > about the classes. > The particular test that was failing was one of the Strip debug tests. > > Where are the ASM tests? > > Thanks, Roger > > > On 6/20/19 7:24 PM, Mandy Chung wrote: >> I assume you run into the jlink issues with JDK using the inline class. >> It's good to add a new test that creates a module with inline class >> and invoke jlink to produce an image. >> >> Mandy >> >> On 6/20/19 11:34 AM, Roger Riggs wrote: >>> Hi, >>> >>> I discovered that the visiting of the new opcodes was not correct. >>> It skipped over them correctly >>> but did not visit each opcode. >>> The 'default' opcode argument is a type name and so should call the >>> visitTypeInsn method. >>> The "withfield' opcode argument is a field ref (class and name) so >>> should call visitFieldInsn. >>> And the INLINE prefixes are dropped. >>> >>> Webrev: >>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-4/index.html >>> >>> Thanks, Roger >>> >>> >>> On 6/20/19 1:38 PM, Mandy Chung wrote: >>>> Looks okay.? The INLINE_* prefix is not necessary to me and matching >>>> the JVMS opcode names makes sense. >>>> >>>> Mandy >>>> >>>> >>>> On 6/19/19 10:57 AM, Roger Riggs wrote: >>>>> Hi Mandy, >>>>> >>>>> Webrev: >>>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-2/ >>>>> >>>>> A more robust version that computes the necessary offsets of the >>>>> ASM_ opcodes >>>>> to relocate them to the unused indexes above the new WithField >>>>> opcode. >>>>> >>>>> Thanks, Roger >>>>> >>>>> >>>>> On 6/19/19 12:22 PM, Mandy Chung wrote: >>>>>> >>>>>> >>>>>> On 6/19/19 7:47 AM, Roger Riggs wrote: >>>>>>> Please review a patch to asm to correctly recognize the Valhalla >>>>>>> defined bytecodes for defaultvalue and withfield. >>>>>>> (The jlink tests that read and write classfiles were failing). >>>>>>> >>>>>>> Webrev: >>>>>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ >>>>>> >>>>>> Label::resolve method depends on the assumption that IFEQ ... JSR >>>>>> can be changed to ASM_IFEQ to ASM_JSR.?? It seems that the >>>>>> xxx_DELTA? needs to be adjusted. >>>>>> >>>>>> Mandy >>>>> >>>> >>> >> > From Roger.Riggs at oracle.com Fri Jun 21 15:11:42 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Fri, 21 Jun 2019 11:11:42 -0400 Subject: 8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes In-Reply-To: References: <090a8889-e583-1fdf-81df-2da821268b85@oracle.com> <2b8f46bd-4967-7d0d-c3f5-43818dbf4d88@oracle.com> <7401fc1d-0d91-43f9-ba7b-1438c2875d15@oracle.com> <7502035d-0989-5baf-6fd8-42c632a8cf3b@oracle.com> <7e0b5abf-7b7a-1b47-cc6a-ae272fd0778b@oracle.com> <2b6fac5d-b188-e9f2-c09d-1cffb5213a0e@oracle.com> Message-ID: <50e9668d-a9f0-7141-40ff-3f10cd9fe816@oracle.com> Hi Mandy, The issue was with asm's treatment of the new bytecodes. I assume later asm will be updated to support the new bytecodes and they will developer tests so the lack of testing is transient. If the test was jlink focused, I would want to ask what aspect of an inline class file is being tested? New flags, new constant pool entries, etc. We will get some more coverage when we start using inline classes in the JDK itself as a side effect of the current tests. I am also concerned about in the long run, how we ensure that every API that touches a class is passed an inline class (with variations of inline classes). We'll have the same issue with records. I wondered if the profiling mechanism could be used to accumulate data on every public API and record whether the instances that are passed are ever inline classes. This was a point f Thanks, Roger On 6/21/19 11:00 AM, Mandy Chung wrote: > I am not aware we imported any ASM test.? At this time I concerned the > lworld > development.? If jlink switched to use a different bytecode library, we > would have a test reproducing the issue.? It's okay to follow up the test > separately. > > Mandy > > On 6/21/19 7:40 AM, Roger Riggs wrote: >> Hi Mandy, >> >> An ASM test would be more appropriate;? jlink itself doesn't much >> care about the classes. >> The particular test that was failing was one of the Strip debug tests. >> >> Where are the ASM tests? >> >> Thanks, Roger >> >> >> On 6/20/19 7:24 PM, Mandy Chung wrote: >>> I assume you run into the jlink issues with JDK using the inline class. >>> It's good to add a new test that creates a module with inline class >>> and invoke jlink to produce an image. >>> >>> Mandy >>> >>> On 6/20/19 11:34 AM, Roger Riggs wrote: >>>> Hi, >>>> >>>> I discovered that the visiting of the new opcodes was not correct. >>>> It skipped over them correctly >>>> but did not visit each opcode. >>>> The 'default' opcode argument is a type name and so should call the >>>> visitTypeInsn method. >>>> The "withfield' opcode argument is a field ref (class and name) so >>>> should call visitFieldInsn. >>>> And the INLINE prefixes are dropped. >>>> >>>> Webrev: >>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-4/index.html >>>> >>>> Thanks, Roger >>>> >>>> >>>> On 6/20/19 1:38 PM, Mandy Chung wrote: >>>>> Looks okay.? The INLINE_* prefix is not necessary to me and matching >>>>> the JVMS opcode names makes sense. >>>>> >>>>> Mandy >>>>> >>>>> >>>>> On 6/19/19 10:57 AM, Roger Riggs wrote: >>>>>> Hi Mandy, >>>>>> >>>>>> Webrev: >>>>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-2/ >>>>>> >>>>>> A more robust version that computes the necessary offsets of the >>>>>> ASM_ opcodes >>>>>> to relocate them to the unused indexes above the new WithField >>>>>> opcode. >>>>>> >>>>>> Thanks, Roger >>>>>> >>>>>> >>>>>> On 6/19/19 12:22 PM, Mandy Chung wrote: >>>>>>> >>>>>>> >>>>>>> On 6/19/19 7:47 AM, Roger Riggs wrote: >>>>>>>> Please review a patch to asm to correctly recognize the >>>>>>>> Valhalla defined bytecodes for defaultvalue and withfield. >>>>>>>> (The jlink tests that read and write classfiles were failing). >>>>>>>> >>>>>>>> Webrev: >>>>>>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/ >>>>>>> >>>>>>> Label::resolve method depends on the assumption that IFEQ ... >>>>>>> JSR can be changed to ASM_IFEQ to ASM_JSR. It seems that the >>>>>>> xxx_DELTA? needs to be adjusted. >>>>>>> >>>>>>> Mandy >>>>>> >>>>> >>>> >>> >> > From Roger.Riggs at oracle.com Fri Jun 21 15:55:58 2019 From: Roger.Riggs at oracle.com (Roger Riggs) Date: Fri, 21 Jun 2019 11:55:58 -0400 Subject: RFR JDK-8207259: [lworld] Ensure VarHandle compare and set/exchange work for inline types In-Reply-To: References: Message-ID: <71fe3242-408a-1d20-8cd3-863e1206d4d5@oracle.com> Hi Mandy, This looks ok, though I may not understand it fully. Also, I'm seeing a failure in the ArrayElementVarHandleTest. #? Internal Error (interpreterRuntime.cpp:530), pid=14848, tid=14866 #? guarantee(!HAS_PENDING_EXCEPTION) failed: isSubstitutable() raised exception The attached sample fails the same way; though it may be a different problem. Regards Roger On 6/19/19 2:26 PM, Mandy Chung wrote: > This patch is an interim fix to get VarHandle CAS and CAE to work > for inline types and use substitutability test instead of equals. > > Unsafe::compareAndSetReference and compareAndExchangeReference > (along with its weakXXX variants) do pointer-comparison. A reference > can be an instance of an inline class (indirect or non-flattened) > or of an indirect class.? CAS/CAE on two inlineable reference instances > should do substitutability test.? I add a couple Unsafe APIs for CAS/CAE > to take the field type and revisit this in LW10 w.r.t atomicity. > > Webrev at: > http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207259/webrev.02/index.html > > > Mandy From mandy.chung at oracle.com Fri Jun 21 16:12:46 2019 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 21 Jun 2019 09:12:46 -0700 Subject: RFR JDK-8207259: [lworld] Ensure VarHandle compare and set/exchange work for inline types In-Reply-To: <71fe3242-408a-1d20-8cd3-863e1206d4d5@oracle.com> References: <71fe3242-408a-1d20-8cd3-863e1206d4d5@oracle.com> Message-ID: On 6/21/19 8:55 AM, Roger Riggs wrote: > Hi Mandy, > > This looks ok, though I may not understand it fully. > Thanks for the review. > Also, I'm seeing a failure in the ArrayElementVarHandleTest. > > #? Internal Error (interpreterRuntime.cpp:530), pid=14848, tid=14866 > #? guarantee(!HAS_PENDING_EXCEPTION) failed: isSubstitutable() raised > exception > > The attached sample fails the same way; though it may be a different > problem. > It's a different issue and I think I have a fix for it. Mandy > Regards Roger > > On 6/19/19 2:26 PM, Mandy Chung wrote: >> This patch is an interim fix to get VarHandle CAS and CAE to work >> for inline types and use substitutability test instead of equals. >> >> Unsafe::compareAndSetReference and compareAndExchangeReference >> (along with its weakXXX variants) do pointer-comparison. A reference >> can be an instance of an inline class (indirect or non-flattened) >> or of an indirect class.? CAS/CAE on two inlineable reference instances >> should do substitutability test.? I add a couple Unsafe APIs for CAS/CAE >> to take the field type and revisit this in LW10 w.r.t atomicity. >> >> Webrev at: >> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207259/webrev.02/index.html >> >> >> Mandy > From mandy.chung at oracle.com Fri Jun 21 21:46:54 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Fri, 21 Jun 2019 21:46:54 +0000 Subject: hg: valhalla/valhalla: 3 new changesets Message-ID: <201906212146.x5LLkt7S003595@aojmv0008.oracle.com> Changeset: cc5c4b8d874a Author: mchung Date: 2019-06-21 13:54 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/cc5c4b8d874a [lworld] getSimpleName should print V? for indirect inline type ! src/java.base/share/classes/java/lang/Class.java ! test/jdk/valhalla/valuetypes/Reflection.java Changeset: 51452e5e13c8 Author: mchung Date: 2019-06-21 13:56 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/51452e5e13c8 [lworld] ensure the substititutability invoker uses the primary mirror ! src/java.base/share/classes/java/lang/invoke/ValueBootstrapMethods.java Changeset: 27954922ad47 Author: mchung Date: 2019-06-21 14:46 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/27954922ad47 8207259: [lworld] Ensure VarHandle compare and set/exchange work for inline types Reviewed-by: rriggs ! make/gensrc/GensrcVarHandles.gmk ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.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/jdk/internal/misc/Unsafe.java ! test/jdk/java/lang/invoke/VarHandles/Value.java ! test/jdk/valhalla/valuetypes/ArrayElementVarHandleTest.java ! test/jdk/valhalla/valuetypes/MethodHandleTest.java From mandy.chung at oracle.com Fri Jun 21 23:45:03 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Fri, 21 Jun 2019 23:45:03 +0000 Subject: hg: valhalla/valhalla: [lworld] test/jdk/java/lang/invoke/VarHandles/Point.java is missing from JDK-8207259 changeset Message-ID: <201906212345.x5LNj4j1008246@aojmv0008.oracle.com> Changeset: 6bed3f4250ed Author: mchung Date: 2019-06-21 16:44 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/6bed3f4250ed [lworld] test/jdk/java/lang/invoke/VarHandles/Point.java is missing from JDK-8207259 changeset + test/jdk/java/lang/invoke/VarHandles/Point.java From david.holmes at oracle.com Sat Jun 22 00:01:09 2019 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Sat, 22 Jun 2019 00:01:09 +0000 Subject: hg: valhalla/valhalla: Merge Message-ID: <201906220001.x5M01Anb016965@aojmv0008.oracle.com> Changeset: 54a89e3e7398 Author: dholmes Date: 2019-06-21 20:00 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/54a89e3e7398 Merge - make/CreateBuildJdkCopy.gmk - make/data/cldr/common/main/ff_CM.xml - make/data/cldr/common/main/ff_GN.xml - make/data/cldr/common/main/ff_MR.xml - make/data/cldr/common/main/ff_SN.xml - make/data/cldr/common/main/yue_HK.xml - make/data/cldr/common/supplemental/telephoneCodeData.xml ! make/data/jdwp/jdwp.spec - src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp - src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zAddress_linux_x86.inline.hpp - src/hotspot/share/Xusage.txt ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/aot/aotLoader.cpp - src/hotspot/share/c1/c1_globals.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/dependencies.cpp - src/hotspot/share/gc/cms/cmsCollectorPolicy.cpp - src/hotspot/share/gc/cms/cmsCollectorPolicy.hpp - src/hotspot/share/gc/epsilon/epsilonCollectorPolicy.hpp - src/hotspot/share/gc/g1/g1CollectorPolicy.cpp - src/hotspot/share/gc/g1/g1CollectorPolicy.hpp - src/hotspot/share/gc/g1/g1HeterogeneousCollectorPolicy.cpp - src/hotspot/share/gc/g1/g1HeterogeneousCollectorPolicy.hpp - src/hotspot/share/gc/g1/g1InCSetState.hpp - src/hotspot/share/gc/parallel/generationSizer.cpp - src/hotspot/share/gc/parallel/generationSizer.hpp - src/hotspot/share/gc/parallel/heterogeneousGenerationSizer.cpp - src/hotspot/share/gc/parallel/heterogeneousGenerationSizer.hpp - src/hotspot/share/gc/shared/collectorPolicy.cpp - src/hotspot/share/gc/shared/collectorPolicy.hpp - src/hotspot/share/gc/shared/gcArguments.inline.hpp - src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.hpp - src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.inline.hpp - src/hotspot/share/gc/shenandoah/shenandoahHeapLock.hpp - src/hotspot/share/gc/z/zCollectorPolicy.cpp - src/hotspot/share/gc/z/zCollectorPolicy.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/include/jvm.h ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/linkResolver.hpp ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp - src/hotspot/share/jvmci/systemDictionary_jvmci.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.cpp ! src/hotspot/share/memory/metaspace/spaceManager.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/arrayKlass.hpp ! src/hotspot/share/oops/constantPool.cpp ! 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/opto/c2_globals.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmti.xml ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java - src/java.base/share/classes/sun/text/resources/nfc.icu - src/java.base/share/classes/sun/text/resources/nfkc.icu - src/java.base/share/classes/sun/text/resources/nfkc_cf.icu - src/java.base/share/lib/security/cacerts - src/java.desktop/share/native/libfreetype/include/freetype/internal/ftpic.h - src/java.desktop/share/native/libfreetype/src/autofit/afpic.c - src/java.desktop/share/native/libfreetype/src/autofit/afpic.h - src/java.desktop/share/native/libfreetype/src/base/basepic.c - src/java.desktop/share/native/libfreetype/src/base/basepic.h - src/java.desktop/share/native/libfreetype/src/base/ftapi.c - src/java.desktop/share/native/libfreetype/src/base/ftpic.c - src/java.desktop/share/native/libfreetype/src/base/md5.c - src/java.desktop/share/native/libfreetype/src/base/md5.h - src/java.desktop/share/native/libfreetype/src/cff/cffpic.c - src/java.desktop/share/native/libfreetype/src/cff/cffpic.h - src/java.desktop/share/native/libfreetype/src/pshinter/pshpic.c - src/java.desktop/share/native/libfreetype/src/pshinter/pshpic.h - src/java.desktop/share/native/libfreetype/src/psnames/pspic.c - src/java.desktop/share/native/libfreetype/src/psnames/pspic.h - src/java.desktop/share/native/libfreetype/src/raster/rastpic.c - src/java.desktop/share/native/libfreetype/src/raster/rastpic.h - src/java.desktop/share/native/libfreetype/src/sfnt/sfntpic.c - src/java.desktop/share/native/libfreetype/src/sfnt/sfntpic.h - src/java.desktop/share/native/libfreetype/src/smooth/ftspic.c - src/java.desktop/share/native/libfreetype/src/smooth/ftspic.h - src/java.desktop/share/native/libfreetype/src/truetype/ttpic.c - src/java.desktop/share/native/libfreetype/src/truetype/ttpic.h - src/java.desktop/unix/native/libawt_xawt/awt/awt_AWTEvent.h - src/java.desktop/unix/native/libawt_xawt/awt/awt_Event.h - src/java.desktop/unix/native/libawt_xawt/awt/awt_Insets.h - src/java.desktop/windows/native/libawt/windows/awt_Color.h - src/java.desktop/windows/native/libawt/windows/awt_Rectangle.h ! src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java - src/jdk.accessibility/windows/native/common/AccessBridgeStatusWindow.RC ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! 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/Pool.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.crypto.cryptoki/share/native/libj2pkcs11/pkcs-11v2-20a3.h - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPhysicalMemoryManager.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/MetaspaceWrapperObject.java - src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/.checkstyle_checks.xml - 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/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyWithSlowPathNode.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.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/images/ui-bg_glass_55_fbf9ee_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_65_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_95_fef1ec_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_222222_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_2e83ff_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_454545_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_888888_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_cd0a0a_256x240.png - 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/formats/html/resources/jquery/jquery-ui.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.min.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/legal/jquery-migrate.md - test/fmw/gtest/CHANGES - test/fmw/gtest/LICENSE - test/fmw/gtest/README - test/fmw/gtest/include/gtest/gtest-death-test.h - test/fmw/gtest/include/gtest/gtest-message.h - test/fmw/gtest/include/gtest/gtest-param-test.h - test/fmw/gtest/include/gtest/gtest-param-test.h.pump - test/fmw/gtest/include/gtest/gtest-printers.h - test/fmw/gtest/include/gtest/gtest-spi.h - test/fmw/gtest/include/gtest/gtest-test-part.h - test/fmw/gtest/include/gtest/gtest-typed-test.h - test/fmw/gtest/include/gtest/gtest.h - test/fmw/gtest/include/gtest/gtest_pred_impl.h - test/fmw/gtest/include/gtest/gtest_prod.h - test/fmw/gtest/include/gtest/internal/gtest-death-test-internal.h - test/fmw/gtest/include/gtest/internal/gtest-filepath.h - test/fmw/gtest/include/gtest/internal/gtest-internal.h - test/fmw/gtest/include/gtest/internal/gtest-linked_ptr.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h - test/fmw/gtest/include/gtest/internal/gtest-param-util-generated.h.pump - test/fmw/gtest/include/gtest/internal/gtest-param-util.h - test/fmw/gtest/include/gtest/internal/gtest-port.h - test/fmw/gtest/include/gtest/internal/gtest-string.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h - test/fmw/gtest/include/gtest/internal/gtest-tuple.h.pump - test/fmw/gtest/include/gtest/internal/gtest-type-util.h - test/fmw/gtest/include/gtest/internal/gtest-type-util.h.pump - test/fmw/gtest/src/gtest-all.cc - test/fmw/gtest/src/gtest-death-test.cc - test/fmw/gtest/src/gtest-filepath.cc - test/fmw/gtest/src/gtest-internal-inl.h - test/fmw/gtest/src/gtest-port.cc - test/fmw/gtest/src/gtest-printers.cc - test/fmw/gtest/src/gtest-test-part.cc - test/fmw/gtest/src/gtest-typed-test.cc - test/fmw/gtest/src/gtest.cc - test/fmw/gtest/src/gtest_main.cc ! test/hotspot/gtest/memory/test_metaspace_allocation.cpp ! test/hotspot/jtreg/ProblemList.txt - test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/GCTest.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyBootstrapFinishedEventTest.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.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/ErrorHandling/ExplicitArithmeticCheck.java ! test/hotspot/jtreg/runtime/Nestmates/privateMethods/TestInvokeErrors.java - test/hotspot/jtreg/runtime/Thread/MonitorCacheMaybeExpand_DeadLock.java - test/hotspot/jtreg/runtime/containers/cgroup/PlainRead.java - test/hotspot/jtreg/runtime/containers/docker/AttemptOOM.java - test/hotspot/jtreg/runtime/containers/docker/CheckContainerized.java - test/hotspot/jtreg/runtime/containers/docker/DockerBasicTest.java - test/hotspot/jtreg/runtime/containers/docker/HelloDocker.java - test/hotspot/jtreg/runtime/containers/docker/JfrReporter.java - test/hotspot/jtreg/runtime/containers/docker/PrintContainerInfo.java - test/hotspot/jtreg/runtime/containers/docker/TEST.properties - test/hotspot/jtreg/runtime/containers/docker/TestCPUAwareness.java - test/hotspot/jtreg/runtime/containers/docker/TestCPUSets.java - test/hotspot/jtreg/runtime/containers/docker/TestJFREvents.java - test/hotspot/jtreg/runtime/containers/docker/TestMemoryAwareness.java - test/hotspot/jtreg/runtime/containers/docker/TestMisc.java - test/hotspot/jtreg/runtime/interpreter/WideStrictInline.java ! test/jdk/ProblemList.txt - test/jdk/com/sun/jdi/BasicJDWPConnectionTest.java - test/jdk/java/lang/Character/PropList.txt - test/jdk/java/lang/Character/PropertyValueAliases.txt - test/jdk/java/lang/Character/Scripts.txt - test/jdk/java/lang/Character/SpecialCasing.txt - test/jdk/java/lang/Character/UnicodeBlock/Blocks.txt - test/jdk/java/lang/Character/UnicodeData.txt - test/jdk/java/lang/Character/charprop00.bin - test/jdk/java/lang/Character/charprop01.bin - test/jdk/java/lang/Character/charprop02.bin - test/jdk/java/lang/Character/charprop03.bin - test/jdk/java/lang/Character/charprop0E.bin - test/jdk/java/lang/Character/charprop0F.bin - test/jdk/java/lang/Character/charprop10.bin - test/jdk/java/lang/String/concat/StringConcatFactoryEmptyMethods.java - test/jdk/java/net/Socket/OldImpl.java - test/jdk/java/net/Socket/OldSocketImpl.java - test/jdk/java/net/Socket/OldSocketImplTestDriver.java - test/jdk/java/nio/channels/SocketChannel/Stream.java - test/jdk/java/util/regex/GraphemeBreakProperty.txt - test/jdk/java/util/regex/GraphemeBreakTest.txt - test/jdk/javax/accessibility/8197785/AccessibilityBundleMemoryLeakTest.java - test/jdk/jdk/nio/zipfs/MultiReleaseJarTest.java - test/jdk/jdk/nio/zipfs/jarfs/root/dir1/leaf1.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir1/leaf2.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir2/leaf3.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir2/leaf4.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir1/leaf1.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir1/leaf2.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir2/leaf3.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir2/leaf4.txt - test/jdk/sun/management/windows/revokeall.c - test/jdk/sun/management/windows/revokeall.exe - test/jdk/sun/security/pkcs11/tls/tls12/TestTLS12.java - test/jdk/sun/security/tools/jarsigner/AlgOptions.sh - test/jdk/sun/security/tools/jarsigner/PercentSign.sh - test/jdk/sun/security/tools/jarsigner/certpolicy.sh - test/jdk/sun/security/tools/jarsigner/checkusage.sh - test/jdk/sun/security/tools/jarsigner/collator.sh - test/jdk/sun/security/tools/jarsigner/concise_jarsigner.sh - test/jdk/sun/security/tools/jarsigner/crl.sh - test/jdk/sun/security/tools/jarsigner/default_options.sh - test/jdk/sun/security/tools/jarsigner/diffend.sh - test/jdk/sun/security/tools/jarsigner/ec.sh - test/jdk/sun/security/tools/jarsigner/emptymanifest.sh - test/jdk/sun/security/tools/jarsigner/jvindex.sh - test/jdk/sun/security/tools/jarsigner/nameclash.sh - test/jdk/sun/security/tools/jarsigner/newsize7.sh - test/jdk/sun/security/tools/jarsigner/oldsig.sh - test/jdk/sun/security/tools/jarsigner/onlymanifest.sh - test/jdk/sun/security/tools/jarsigner/passtype.sh - test/jdk/sun/security/tools/jarsigner/samename.sh - test/jdk/sun/security/tools/jarsigner/weaksize.sh - test/jdk/sun/security/tools/keytool/CloneKeyAskPassword.sh - test/jdk/sun/security/tools/keytool/NoExtNPE.sh - test/jdk/sun/security/tools/keytool/SecretKeyKS.sh - test/jdk/sun/security/tools/keytool/StandardAlgName.sh - test/jdk/sun/security/tools/keytool/StorePasswordsByShell.sh - test/jdk/sun/security/tools/keytool/default_options.sh - test/jdk/sun/security/tools/keytool/emptysubject.sh - test/jdk/sun/security/tools/keytool/file-in-help.sh - test/jdk/sun/security/tools/keytool/i18n.sh - test/jdk/sun/security/tools/keytool/importreadall.sh - test/jdk/sun/security/tools/keytool/keyalg.sh - test/jdk/sun/security/tools/keytool/newhelp.sh - test/jdk/sun/security/tools/keytool/resource.sh - test/jdk/sun/security/tools/keytool/selfissued.sh - test/jdk/sun/security/tools/keytool/trystore.sh - test/langtools/tools/javac/diags/examples/BreakAmbiguousTarget.java - test/langtools/tools/javac/diags/examples/BreakComplexValueNoSwitchExpression.java - test/langtools/tools/javac/diags/examples/BreakExprNotImmediate.java - test/langtools/tools/javac/diags/examples/BreakMissingValue.java ! test/langtools/tools/javac/modules/AnnotationsOnModules.java ! test/langtools/tools/javac/nestmates/CheckNestmateAttrs.java From ioi.lam at oracle.com Sat Jun 22 00:51:25 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Fri, 21 Jun 2019 17:51:25 -0700 Subject: RFR 8226465 [lworld][c1] javac fails if C1 is enabled Message-ID: <64ebb4c1-39bf-f2cd-3490-bc73f0e3b59f@oracle.com> https://bugs.openjdk.java.net/browse/JDK-8226465 http://cr.openjdk.java.net/~iklam/valhalla/8226465-javac-fails-with-EnableValhallaC1.v01/ The bug is similar to some of my previous bugs :-( The problem is in the implementation of acmp substitutability. The code in c1_LIRGenerator.cpp has complex branches, where some registers are not written in some of the branches. C1's register allocation doesn't allow this. The fix is to move the branches into a low-level IR operation (OpNullFreeArrayCheck). This makes the register allocator happy. I also took this chance to optimize the x64 code a bit. Now the check for markOopDesc::always_locked_pattern is down to 5 instructions (from 9 before), with one fewer temp register. ?? mov $0x405, %r10d ?? and (%left), %r10d?? /* if need to check left */ ?? and (%right), %r10d? /* if need to check right */ ?? cmp $0x405, $r10d ?? jne L_oops_not_equal Thanks - Ioi From ioi.lam at oracle.com Tue Jun 25 03:12:03 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Tue, 25 Jun 2019 03:12:03 +0000 Subject: hg: valhalla/valhalla: 8226711: [lworld] TESTBUG C1 fails to compile some test methods when -DVerifyVM=true is specified Message-ID: <201906250312.x5P3C3tE015887@aojmv0008.oracle.com> Changeset: 7d8c91f5cf19 Author: iklam Date: 2019-06-24 20:11 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7d8c91f5cf19 8226711: [lworld] TESTBUG C1 fails to compile some test methods when -DVerifyVM=true is specified ! test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java From tobias.hartmann at oracle.com Tue Jun 25 10:52:57 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Tue, 25 Jun 2019 10:52:57 +0000 Subject: hg: valhalla/valhalla: 8226733: [lworld] Oop map of C2 compiled method contains narrow klass ptr Message-ID: <201906251052.x5PAqwn9028879@aojmv0008.oracle.com> Changeset: a70a3f54c6a4 Author: thartmann Date: 2019-06-25 12:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/a70a3f54c6a4 8226733: [lworld] Oop map of C2 compiled method contains narrow klass ptr ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/runtime/vmStructs.cpp From tobias.hartmann at oracle.com Tue Jun 25 10:58:47 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Tue, 25 Jun 2019 12:58:47 +0200 Subject: RFR 8226465 [lworld][c1] javac fails if C1 is enabled In-Reply-To: <64ebb4c1-39bf-f2cd-3490-bc73f0e3b59f@oracle.com> References: <64ebb4c1-39bf-f2cd-3490-bc73f0e3b59f@oracle.com> Message-ID: <5d8efc5d-483f-aa89-28f9-715d80e732c9@oracle.com> Hi Ioi, the string in c1_LIR.cpp:1884 is wrong (should be "substitutability_check"). Otherwise this looks good to me! Best regards, Tobias On 22.06.19 02:51, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8226465 > http://cr.openjdk.java.net/~iklam/valhalla/8226465-javac-fails-with-EnableValhallaC1.v01/ > > The bug is similar to some of my previous bugs :-( > > The problem is in the implementation of acmp substitutability. The code in > c1_LIRGenerator.cpp has complex branches, where some registers are not written in > some of the branches. C1's register allocation doesn't allow this. > > The fix is to move the branches into a low-level IR operation (OpNullFreeArrayCheck). > This makes the register allocator happy. > > I also took this chance to optimize the x64 code a bit. Now the check for > markOopDesc::always_locked_pattern is down to 5 instructions (from 9 before), with one > fewer temp register. > > ?? mov $0x405, %r10d > ?? and (%left), %r10d?? /* if need to check left */ > ?? and (%right), %r10d? /* if need to check right */ > ?? cmp $0x405, $r10d > ?? jne L_oops_not_equal > > Thanks > - Ioi > > From tobias.hartmann at oracle.com Tue Jun 25 11:52:54 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Tue, 25 Jun 2019 11:52:54 +0000 Subject: hg: valhalla/valhalla: [lworld] Increased timeout of long running compiler tests Message-ID: <201906251152.x5PBqto3006115@aojmv0008.oracle.com> Changeset: c0064f075d9e Author: thartmann Date: 2019-06-25 13:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/c0064f075d9e [lworld] Increased timeout of long running compiler tests ! 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/TestCallingConventionC1.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/TestNewAcmp.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNullableArrays.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNullableValueTypes.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestOnStackReplacement.java From tobias.hartmann at oracle.com Tue Jun 25 14:02:30 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Tue, 25 Jun 2019 14:02:30 +0000 Subject: hg: valhalla/valhalla: Merge Message-ID: <201906251402.x5PE2V74026797@aojmv0008.oracle.com> Changeset: 891127d31efd Author: thartmann Date: 2019-06-25 16:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/891127d31efd Merge ! .hgtags - make/CreateBuildJdkCopy.gmk ! make/Docs.gmk ! make/conf/jib-profiles.js ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/verifier.cpp ! 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/compiler/compileBroker.cpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/memory/iterator.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! 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/graphKit.hpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmOperations.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/growableArray.hpp ! src/java.base/share/classes/java/io/ObjectOutputStream.java ! 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/VarHandle.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java - src/java.base/share/lib/security/cacerts ! src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! 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/AttrContext.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/CRTable.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.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 ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java - src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs-11v2-20a3.h ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java ! test/hotspot/jtreg/ProblemList.txt - test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/GCTest.java ! test/hotspot/jtreg/runtime/valhalla/valuetypes/verifier/NoNullVT.jcod ! test/hotspot/jtreg/runtime/valhalla/valuetypes/verifier/verifierTests.jcod ! test/jdk/ProblemList.txt ! test/jdk/TEST.groups - test/langtools/tools/javac/diags/examples/BreakAmbiguousTarget.java - test/langtools/tools/javac/diags/examples/BreakComplexValueNoSwitchExpression.java - test/langtools/tools/javac/diags/examples/BreakExprNotImmediate.java - test/langtools/tools/javac/diags/examples/BreakMissingValue.java From ioi.lam at oracle.com Tue Jun 25 16:48:19 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Tue, 25 Jun 2019 16:48:19 +0000 Subject: hg: valhalla/valhalla: 8226465: [lworld][c1] javac fails if C1 is enabled Message-ID: <201906251648.x5PGmKJs015803@aojmv0008.oracle.com> Changeset: e1b581738b26 Author: iklam Date: 2019-06-25 09:29 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e1b581738b26 8226465: [lworld][c1] javac fails if C1 is enabled Reviewed-by: thartmann ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.hpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp From mandy.chung at oracle.com Tue Jun 25 17:45:47 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Tue, 25 Jun 2019 17:45:47 +0000 Subject: hg: valhalla/valhalla: [nestmates] refresh Lookup::defineClass prototype Message-ID: <201906251745.x5PHjm4O026036@aojmv0008.oracle.com> Changeset: 839c04fc4a46 Author: mchung Date: 2019-06-25 10:45 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/839c04fc4a46 [nestmates] refresh Lookup::defineClass prototype ! src/hotspot/share/include/jvm.h ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/reflect/NativeConstructorAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/NativeMethodAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/native/libjava/ClassLoader.c ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java ! test/jdk/java/lang/StackWalker/VerifyStackTrace.java ! test/jdk/java/lang/invoke/defineClass/DefineClassTest.java ! test/jdk/java/lang/invoke/defineClass/DefineClassWithClassData.java From ioi.lam at oracle.com Wed Jun 26 05:47:36 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Tue, 25 Jun 2019 22:47:36 -0700 Subject: RFR 8226800 [lworld][c1] SharedRuntime::fixup_callers_callsite is wrong when caller is C1 Message-ID: https://bugs.openjdk.java.net/browse/JDK-8226800 http://cr.openjdk.java.net/~iklam/valhalla/8226800-fixup_callers_callsite-c1.v01/ SharedRuntime::fixup_callers_callsite() needs to know whether the caller is compiled by C1 or C2, and use the appropriate entry point, due to the difference in how C1 and C2 handle calling convention for value parameters. I think there are probably similar bugs lurking around. E.g., Method::from_compiled_entry() probably returns the wrong value when we have a C1-compiled caller. I'll investigate more. I also updated TestCallingConventionC1.java to test more combinations of the interaction between C1 and C2. Thanks - Ioi From rwestrel at redhat.com Wed Jun 26 11:30:26 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 26 Jun 2019 13:30:26 +0200 Subject: RFR: 8226517: [lworld] C2 compilation fails with assert(n->Opcode() != Op_Phi) failed: cannot match Message-ID: <87sgrwbn3h.fsf@redhat.com> http://cr.openjdk.java.net/~roland/8226517/webrev.00/ Logic that assigns new aliases for flattened value arrays must handle StoreCM specially because it has an edge to the store it follows and keeps track of the alias of this store. Roland. From tobias.hartmann at oracle.com Wed Jun 26 11:35:33 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 26 Jun 2019 13:35:33 +0200 Subject: RFR 8226800 [lworld][c1] SharedRuntime::fixup_callers_callsite is wrong when caller is C1 In-Reply-To: References: Message-ID: <80ab9aaf-e8d2-5fe4-fccf-0ecd1dd5aaab@oracle.com> Hi Ioi, looks good to me. Maybe change "may be passed as unpacked fields" to "may be passed as fields". Best regards, Tobias On 26.06.19 07:47, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8226800 > http://cr.openjdk.java.net/~iklam/valhalla/8226800-fixup_callers_callsite-c1.v01/ > > SharedRuntime::fixup_callers_callsite() needs to know whether the caller > is compiled by C1 or C2, and use the appropriate entry point, due to the > difference in how C1 and C2 handle calling convention for value parameters. > > I think there are probably similar bugs lurking around. E.g., > Method::from_compiled_entry() probably returns the wrong value when > we have a C1-compiled caller. I'll investigate more. > > I also updated TestCallingConventionC1.java to test more combinations > of the interaction between C1 and C2. > > > Thanks > - Ioi > > > > > > From tobias.hartmann at oracle.com Wed Jun 26 13:16:46 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Wed, 26 Jun 2019 15:16:46 +0200 Subject: RFR: 8226517: [lworld] C2 compilation fails with assert(n->Opcode() != Op_Phi) failed: cannot match In-Reply-To: <87sgrwbn3h.fsf@redhat.com> References: <87sgrwbn3h.fsf@redhat.com> Message-ID: Hi Roland, looks good! Best regards, Tobias On 26.06.19 13:30, Roland Westrelin wrote: > > http://cr.openjdk.java.net/~roland/8226517/webrev.00/ > > Logic that assigns new aliases for flattened value arrays must handle > StoreCM specially because it has an edge to the store it follows and > keeps track of the alias of this store. > > Roland. > From rwestrel at redhat.com Wed Jun 26 13:46:04 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 26 Jun 2019 15:46:04 +0200 Subject: RFR: 8226517: [lworld] C2 compilation fails with assert(n->Opcode() != Op_Phi) failed: cannot match In-Reply-To: References: <87sgrwbn3h.fsf@redhat.com> Message-ID: <87k1d8bgtf.fsf@redhat.com> Thanks for the review. Roland. From roger.riggs at oracle.com Wed Jun 26 13:52:51 2019 From: roger.riggs at oracle.com (roger.riggs at oracle.com) Date: Wed, 26 Jun 2019 13:52:51 +0000 Subject: hg: valhalla/valhalla: 2 new changesets Message-ID: <201906261352.x5QDqqO3005851@aojmv0008.oracle.com> Changeset: b84d71385534 Author: rriggs Date: 2019-06-26 09:49 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/b84d71385534 8226389: jlink tests fail; asm has wrong understanding of new bytecodes Reviewed-by: mchung ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Constants.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java Changeset: 38477fbc050c Author: rriggs Date: 2019-06-26 09:51 -0400 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/38477fbc050c 8207257: Add VarHandle access test for value type declared in ref type Reviewed-by: mchung ! test/jdk/java/lang/invoke/VarHandles/Value.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleBaseByteArrayTest.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleBaseTest.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java + test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessPoint.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessString.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessBoolean.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessByte.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessChar.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessDouble.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessFloat.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessInt.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessLong.java + test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessPoint.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessShort.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessString.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeBoolean.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeByte.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeChar.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeDouble.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeFloat.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeInt.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeLong.java + test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypePoint.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeShort.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestMethodTypeString.java ! test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template ! test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestMethodHandleAccess.java.template ! test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestMethodType.java.template ! test/jdk/java/lang/invoke/VarHandles/generate-vh-tests.sh From rwestrel at redhat.com Wed Jun 26 14:13:42 2019 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Wed, 26 Jun 2019 14:13:42 +0000 Subject: hg: valhalla/valhalla: 8226517: [lworld] C2 compilation fails with assert(n->Opcode() != Op_Phi) failed: cannot match Message-ID: <201906261413.x5QEDh9n020673@aojmv0008.oracle.com> Changeset: 37882a9a6da8 Author: roland Date: 2019-06-26 10:17 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/37882a9a6da8 8226517: [lworld] C2 compilation fails with assert(n->Opcode() != Op_Phi) failed: cannot match Reviewed-by: thartmann ! src/hotspot/share/opto/compile.cpp From ioi.lam at oracle.com Wed Jun 26 17:42:47 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Wed, 26 Jun 2019 17:42:47 +0000 Subject: hg: valhalla/valhalla: 8226800: [lworld][c1] SharedRuntime::fixup_callers_callsite is wrong when caller is C1 Message-ID: <201906261742.x5QHgmdc013272@aojmv0008.oracle.com> Changeset: 2b098533f1e5 Author: iklam Date: 2019-06-26 10:15 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/2b098533f1e5 8226800: [lworld][c1] SharedRuntime::fixup_callers_callsite is wrong when caller is C1 Reviewed-by: thartmann ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConventionC1.java ! test/hotspot/jtreg/compiler/valhalla/valuetypes/ValueTypeTest.java From ioi.lam at oracle.com Wed Jun 26 18:09:13 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Wed, 26 Jun 2019 11:09:13 -0700 Subject: RFR 8226800 [lworld][c1] SharedRuntime::fixup_callers_callsite is wrong when caller is C1 In-Reply-To: <80ab9aaf-e8d2-5fe4-fccf-0ecd1dd5aaab@oracle.com> References: <80ab9aaf-e8d2-5fe4-fccf-0ecd1dd5aaab@oracle.com> Message-ID: Hi Tobias, Thanks for the review. I've fixed the comment as you suggested and pushed. - Ioi On 6/26/19 4:35 AM, Tobias Hartmann wrote: > Hi Ioi, > > looks good to me. Maybe change "may be passed as unpacked fields" to "may be passed as fields". > > Best regards, > Tobias > > On 26.06.19 07:47, Ioi Lam wrote: >> https://bugs.openjdk.java.net/browse/JDK-8226800 >> http://cr.openjdk.java.net/~iklam/valhalla/8226800-fixup_callers_callsite-c1.v01/ >> >> SharedRuntime::fixup_callers_callsite() needs to know whether the caller >> is compiled by C1 or C2, and use the appropriate entry point, due to the >> difference in how C1 and C2 handle calling convention for value parameters. >> >> I think there are probably similar bugs lurking around. E.g., >> Method::from_compiled_entry() probably returns the wrong value when >> we have a C1-compiled caller. I'll investigate more. >> >> I also updated TestCallingConventionC1.java to test more combinations >> of the interaction between C1 and C2. >> >> >> Thanks >> - Ioi >> >> >> >> >> >> From mandy.chung at oracle.com Thu Jun 27 05:17:02 2019 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 27 Jun 2019 05:17:02 +0000 Subject: hg: valhalla/valhalla: [nestmates] minor revision of javadoc Message-ID: <201906270517.x5R5H3W7024799@aojmv0008.oracle.com> Changeset: faef7de0eba8 Author: mchung Date: 2019-06-26 22:16 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/faef7de0eba8 [nestmates] minor revision of javadoc ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java From ioi.lam at oracle.com Thu Jun 27 05:42:18 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Wed, 26 Jun 2019 22:42:18 -0700 Subject: RFR 8226860 [lworld][c1] runtime/valhalla/valuetypes/Ifacmp.java fails with C1 Message-ID: <617ca0f3-8e35-e590-3c83-b9c22653f3fe@oracle.com> https://bugs.openjdk.java.net/browse/JDK-8226860 http://cr.openjdk.java.net/~iklam/valhalla/8226860-runtime-ifacmp-test-fails-with-c1.v01/ In C1, substitutability check was implemented only in LIRGenerator::do_IfOp(). This patch implements it also in LIRGenerator::do_If(). I also fixed a bug in SubstitutabilityCheckStub which would unintentionally scratch the RAX register. Thanks - Ioi From tobias.hartmann at oracle.com Thu Jun 27 07:21:10 2019 From: tobias.hartmann at oracle.com (Tobias Hartmann) Date: Thu, 27 Jun 2019 09:21:10 +0200 Subject: RFR 8226860 [lworld][c1] runtime/valhalla/valuetypes/Ifacmp.java fails with C1 In-Reply-To: <617ca0f3-8e35-e590-3c83-b9c22653f3fe@oracle.com> References: <617ca0f3-8e35-e590-3c83-b9c22653f3fe@oracle.com> Message-ID: <23323376-865e-61bb-152b-8f57e066560e@oracle.com> Hi Ioi, looks good to me. Best regards, Tobias On 27.06.19 07:42, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8226860 > http://cr.openjdk.java.net/~iklam/valhalla/8226860-runtime-ifacmp-test-fails-with-c1.v01/ > > In C1, substitutability check was implemented only in LIRGenerator::do_IfOp(). > This patch implements it also in LIRGenerator::do_If(). > > I also fixed a bug in SubstitutabilityCheckStub which would unintentionally scratch > the RAX register. > > Thanks > - Ioi > From dms at samersoff.net Thu Jun 27 07:43:07 2019 From: dms at samersoff.net (Dmitry Samersoff) Date: Thu, 27 Jun 2019 10:43:07 +0300 Subject: RFR(L) Valhalla support for AArch64 v.05 In-Reply-To: References: Message-ID: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> Hello Everybody, Please review v.05 of adding AArch64 support to lworld branch http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/ What was done: Implemented Valhalla support for aarch64. Support for ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields is not completed and is not included into this webrev to reduce review and rebasing efforts. Testing: All tests in runtime/valhalla/valuetypes and in compiler/valhalla/valuetypes/ are passed compiler/valhalla/valuetypes/TestMethodHandles.java compiler/valhalla/valuetypes/TestBasicFunctionality.java are passed after manually tweaking of output patterns, I have not found a way to support both x86 and aarch64, so these tests remain unchanged and run on x64 only. -Dmitry From david.simms at oracle.com Thu Jun 27 07:53:08 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Thu, 27 Jun 2019 07:53:08 +0000 Subject: hg: valhalla/valhalla: 2 new changesets Message-ID: <201906270753.x5R7r8cX018150@aojmv0008.oracle.com> Changeset: e8884e6b107f Author: dsimms Date: 2019-06-27 09:25 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/e8884e6b107f Removed tag lworld_stable ! .hgtags Changeset: 7d09f977c3df Author: dsimms Date: 2019-06-27 09:52 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7d09f977c3df Added tag lworld_stable for changeset 2b098533f1e5 ! .hgtags From stuart.monteith at linaro.org Thu Jun 27 09:20:24 2019 From: stuart.monteith at linaro.org (Stuart Monteith) Date: Thu, 27 Jun 2019 10:20:24 +0100 Subject: RFR(L) Valhalla support for AArch64 v.05 In-Reply-To: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> References: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> Message-ID: Hi Dmitry, I've just had a quick glance over the code, I'm not familiar with valhalla. test/hotspot/jtreg/compiler/valhalla/valuetypes/TestArrays.java, et. al. - * @requires os.simpleArch == "x64" By removing the restriction on x64 only, are you not opening up the tests to all platforms? Should it just be for x64 and aarch64 until the other platforms are added? src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp // DMS CHECK: the code is significantly differ from x86 src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp // DMS CHECK: is it nop? src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp // DMS CHECK: This code should be fixed in JDK workspace, because it fails... Did you mean to leave in your "DMS CHECK" comments here (and elsewhere)? src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp // DMS CHECK: 8210498: nmethod entry barriers is not implemented I'm currently looking at concurrent class unloading for ZGC - I will also need nmethod entry barriers. I'll let you know how I'm getting on with that. BR, Stuart BR, Stuart On Thu, 27 Jun 2019 at 08:53, Dmitry Samersoff wrote: > > Hello Everybody, > > > Please review v.05 of adding AArch64 support to lworld branch > > http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/ > > What was done: > > Implemented Valhalla support for aarch64. > > Support for ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields > is not completed and is not included into this webrev > to reduce review and rebasing efforts. > > Testing: > > All tests in runtime/valhalla/valuetypes and in > compiler/valhalla/valuetypes/ are passed > > compiler/valhalla/valuetypes/TestMethodHandles.java > compiler/valhalla/valuetypes/TestBasicFunctionality.java > > are passed after manually tweaking of output patterns, I have not > found a way to support both x86 and aarch64, so these tests remain > unchanged and run on x64 only. > > > -Dmitry From dms at samersoff.net Thu Jun 27 10:56:42 2019 From: dms at samersoff.net (Dmitry Samersoff) Date: Thu, 27 Jun 2019 13:56:42 +0300 Subject: RFR(L) Valhalla support for AArch64 v.05 In-Reply-To: References: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> Message-ID: <94d54133-d21c-b100-3760-292a8960ed1f@samersoff.net> Hi Stuart, Thank you for stepping in. Please see below. On 27.06.19 12:20, Stuart Monteith wrote: > Hi Dmitry, > I've just had a quick glance over the code, I'm not familiar with valhalla. > > test/hotspot/jtreg/compiler/valhalla/valuetypes/TestArrays.java, et. al. > - * @requires os.simpleArch == "x64" > > By removing the restriction on x64 only, are you not opening up the > tests to all platforms? Should it just be for x64 and aarch64 until > the other platforms are added? Agree. Will fix it. > src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp > // DMS CHECK: the code is significantly differ from x86 > src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp > // DMS CHECK: is it nop? > src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp > // DMS CHECK: This code should be fixed in JDK workspace, because > it fails... > > Did you mean to leave in your "DMS CHECK" comments here (and elsewhere)? I left DMS CHECK comments temporary to highlight open points to reviewers. I'll remove it to the next review round. > src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp > // DMS CHECK: 8210498: nmethod entry barriers is not implemented > > I'm currently looking at concurrent class unloading for ZGC - I will > also need nmethod entry barriers. I'll let you know how I'm getting on > with that. Thank you! It clearly should be done outside of scope of Valhalla changes. -Dmitry > On Thu, 27 Jun 2019 at 08:53, Dmitry Samersoff wrote: >> >> Hello Everybody, >> >> >> Please review v.05 of adding AArch64 support to lworld branch >> >> http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/ >> >> What was done: >> >> Implemented Valhalla support for aarch64. >> >> Support for ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields >> is not completed and is not included into this webrev >> to reduce review and rebasing efforts. >> >> Testing: >> >> All tests in runtime/valhalla/valuetypes and in >> compiler/valhalla/valuetypes/ are passed >> >> compiler/valhalla/valuetypes/TestMethodHandles.java >> compiler/valhalla/valuetypes/TestBasicFunctionality.java >> >> are passed after manually tweaking of output patterns, I have not >> found a way to support both x86 and aarch64, so these tests remain >> unchanged and run on x64 only. >> >> >> -Dmitry From tobias.hartmann at oracle.com Thu Jun 27 13:32:42 2019 From: tobias.hartmann at oracle.com (tobias.hartmann at oracle.com) Date: Thu, 27 Jun 2019 13:32:42 +0000 Subject: hg: valhalla/valhalla: 8226821: [lworld] C2 compilation fails due to unexpected method return type Message-ID: <201906271332.x5RDWhJx025477@aojmv0008.oracle.com> Changeset: f056cd16e14d Author: thartmann Date: 2019-06-27 15:31 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/f056cd16e14d 8226821: [lworld] C2 compilation fails due to unexpected method return type ! src/hotspot/share/opto/type.cpp From ioi.lam at oracle.com Thu Jun 27 16:09:44 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Thu, 27 Jun 2019 09:09:44 -0700 Subject: RFR(L) Valhalla support for AArch64 v.05 In-Reply-To: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> References: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> Message-ID: Hi Dmitry, During the port, have you found anything that should be refactored and put into shared code? One thing that I am thinking of doing is to refactor the code in macroAssembler_x86.cpp that deals with ValueTypePassFieldsAsArgs. Hopefully that will make the port to other architectures easier. Thanks - Ioi On 6/27/19 12:43 AM, Dmitry Samersoff wrote: > Hello Everybody, > > > Please review v.05 of adding AArch64 support to lworld branch > > http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/ > > What was done: > > Implemented Valhalla support for aarch64. > > Support for ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields > is not completed and is not included into this webrev > to reduce review and rebasing efforts. > > Testing: > > All tests in runtime/valhalla/valuetypes and in > compiler/valhalla/valuetypes/ are passed > > compiler/valhalla/valuetypes/TestMethodHandles.java > compiler/valhalla/valuetypes/TestBasicFunctionality.java > > are passed after manually tweaking of output patterns, I have not > found a way to support both x86 and aarch64, so these tests remain > unchanged and run on x64 only. > > > -Dmitry From dms at samersoff.net Thu Jun 27 16:34:33 2019 From: dms at samersoff.net (Dmitry Samersoff) Date: Thu, 27 Jun 2019 19:34:33 +0300 Subject: RFR(L) Valhalla support for AArch64 v.05 In-Reply-To: References: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> Message-ID: Ioi, I agree with you about value type pack/unpack logic. I'm not sure that it's possible to put it to shared code completely, but at least we can consider moving the entire pack/unpack logic into a separate function and re-use it rather than duplicate code. Anther (not-technical) thing, that simplify porting is mark CR, which touches platform-specific code, with some specific label. -Dmitry Another (process) thing that can simplify porting is the CR tag, which concerns the platform-specific code, a specific label. On 27.06.19 19:09, Ioi Lam wrote: > Hi Dmitry, > > During the port, have you found anything that should be refactored and > put into shared code? > > One thing that I am thinking of doing is to refactor the code in > macroAssembler_x86.cpp that deals with ValueTypePassFieldsAsArgs. > Hopefully that will make the port to other architectures easier. > > Thanks > - Ioi > > > On 6/27/19 12:43 AM, Dmitry Samersoff wrote: >> Hello Everybody, >> >> >> Please review v.05 of adding AArch64 support to lworld branch >> >> http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/ >> >> What was done: >> >> ?? Implemented Valhalla support for aarch64. >> >> ?? Support for ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields >> ?? is not completed and is not included into this webrev >> ?? to reduce review and rebasing efforts. >> >> Testing: >> >> ??? All tests in runtime/valhalla/valuetypes and in >> compiler/valhalla/valuetypes/ are passed >> >> ??? compiler/valhalla/valuetypes/TestMethodHandles.java >> ??? compiler/valhalla/valuetypes/TestBasicFunctionality.java >> >> ??? are passed after manually tweaking of output patterns, I have not >> found a way to support both x86 and aarch64, so these tests remain >> unchanged and run on x64 only. >> >> >> -Dmitry > From IOI.LAM at ORACLE.COM Thu Jun 27 19:00:04 2019 From: IOI.LAM at ORACLE.COM (Ioi Lam) Date: Thu, 27 Jun 2019 12:00:04 -0700 Subject: RFR(L) Valhalla support for AArch64 v.05 In-Reply-To: References: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> Message-ID: <3E268D47-EF86-47BA-8E93-7F3EB0757694@ORACLE.COM> Dmitry, I?ll take a stab at refactoring the packing/unpacking code and will send out an RFR so you can check if it?s useful for you. I agree that a tag that marks the CRs that have platform specific code would be useful. Many of my changes have both a shared part and an x86 part, and it may not be easy to split them into separate changesets. Another way maybe to search the changes that have cpu/ in the list of files changed. > On Jun 27, 2019, at 9:34 AM, Dmitry Samersoff wrote: > > Ioi, > > I agree with you about value type pack/unpack logic. > > I'm not sure that it's possible to put it to shared code completely, but > at least we can consider moving the entire pack/unpack logic into a > separate function and re-use it rather than duplicate code. > > > Anther (not-technical) thing, that simplify porting is mark CR, which > touches platform-specific code, with some specific label. > > -Dmitry > > > Another (process) thing that can simplify porting is the CR tag, which > concerns the platform-specific code, a specific label. > >> On 27.06.19 19:09, Ioi Lam wrote: >> Hi Dmitry, >> >> During the port, have you found anything that should be refactored and >> put into shared code? >> >> One thing that I am thinking of doing is to refactor the code in >> macroAssembler_x86.cpp that deals with ValueTypePassFieldsAsArgs. >> Hopefully that will make the port to other architectures easier. >> >> Thanks >> - Ioi >> >> >>> On 6/27/19 12:43 AM, Dmitry Samersoff wrote: >>> Hello Everybody, >>> >>> >>> Please review v.05 of adding AArch64 support to lworld branch >>> >>> http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/ >>> >>> What was done: >>> >>> Implemented Valhalla support for aarch64. >>> >>> Support for ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields >>> is not completed and is not included into this webrev >>> to reduce review and rebasing efforts. >>> >>> Testing: >>> >>> All tests in runtime/valhalla/valuetypes and in >>> compiler/valhalla/valuetypes/ are passed >>> >>> compiler/valhalla/valuetypes/TestMethodHandles.java >>> compiler/valhalla/valuetypes/TestBasicFunctionality.java >>> >>> are passed after manually tweaking of output patterns, I have not >>> found a way to support both x86 and aarch64, so these tests remain >>> unchanged and run on x64 only. >>> >>> >>> -Dmitry >> From dms at samersoff.net Thu Jun 27 19:23:16 2019 From: dms at samersoff.net (Dmitry Samersoff) Date: Thu, 27 Jun 2019 22:23:16 +0300 Subject: RFR(L) Valhalla support for AArch64 v.05 In-Reply-To: <3E268D47-EF86-47BA-8E93-7F3EB0757694@ORACLE.COM> References: <885b89a3-3711-6b34-74f6-3bc9199a0292@samersoff.net> <3E268D47-EF86-47BA-8E93-7F3EB0757694@ORACLE.COM> Message-ID: Hi Ioi, On 27.06.2019 22:00, Ioi Lam wrote: > I?ll take a stab at refactoring the packing/unpacking code and will send out an RFR so you can check if it?s useful for you. Thank you! > I agree that a tag that marks the CRs that have platform specific code would be useful. Many of my changes have both a shared part and an x86 part, and it may not be easy to split them into separate changesets. There is no need to split shared and platform specific parts. What I'm looking for is an easy way to monitor changesets that require my attention on CR level. > Another way maybe to search the changes that have cpu/ in the list of files changed. This is exactly what I am doing today, and this does not always help because of upstream mergers. -Dmitry > >> On Jun 27, 2019, at 9:34 AM, Dmitry Samersoff wrote: >> >> Ioi, >> >> I agree with you about value type pack/unpack logic. >> >> I'm not sure that it's possible to put it to shared code completely, but >> at least we can consider moving the entire pack/unpack logic into a >> separate function and re-use it rather than duplicate code. >> >> >> Anther (not-technical) thing, that simplify porting is mark CR, which >> touches platform-specific code, with some specific label. >> >> -Dmitry >> >> >> Another (process) thing that can simplify porting is the CR tag, which >> concerns the platform-specific code, a specific label. >> >>> On 27.06.19 19:09, Ioi Lam wrote: >>> Hi Dmitry, >>> >>> During the port, have you found anything that should be refactored and >>> put into shared code? >>> >>> One thing that I am thinking of doing is to refactor the code in >>> macroAssembler_x86.cpp that deals with ValueTypePassFieldsAsArgs. >>> Hopefully that will make the port to other architectures easier. >>> >>> Thanks >>> - Ioi >>> >>> >>>> On 6/27/19 12:43 AM, Dmitry Samersoff wrote: >>>> Hello Everybody, >>>> >>>> >>>> Please review v.05 of adding AArch64 support to lworld branch >>>> >>>> http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/ >>>> >>>> What was done: >>>> >>>> Implemented Valhalla support for aarch64. >>>> >>>> Support for ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields >>>> is not completed and is not included into this webrev >>>> to reduce review and rebasing efforts. >>>> >>>> Testing: >>>> >>>> All tests in runtime/valhalla/valuetypes and in >>>> compiler/valhalla/valuetypes/ are passed >>>> >>>> compiler/valhalla/valuetypes/TestMethodHandles.java >>>> compiler/valhalla/valuetypes/TestBasicFunctionality.java >>>> >>>> are passed after manually tweaking of output patterns, I have not >>>> found a way to support both x86 and aarch64, so these tests remain >>>> unchanged and run on x64 only. >>>> >>>> >>>> -Dmitry >>> > From ioi.lam at oracle.com Thu Jun 27 22:53:06 2019 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Thu, 27 Jun 2019 22:53:06 +0000 Subject: hg: valhalla/valhalla: 8226860: [lworld][c1] runtime/valhalla/valuetypes/Ifacmp.java fails with C1 Message-ID: <201906272253.x5RMr7mP000525@aojmv0008.oracle.com> Changeset: 7c637fd25e7d Author: iklam Date: 2019-06-27 15:38 -0700 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/7c637fd25e7d 8226860: [lworld][c1] runtime/valhalla/valuetypes/Ifacmp.java fails with C1 Reviewed-by: thartmann ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/c1/c1_CodeStubs.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp From ioi.lam at oracle.com Fri Jun 28 05:16:21 2019 From: ioi.lam at oracle.com (Ioi Lam) Date: Thu, 27 Jun 2019 22:16:21 -0700 Subject: RFR 8226921 [lworld] Refactor argument shuffling code for ValueTypePassFieldsAsArgs Message-ID: https://bugs.openjdk.java.net/browse/JDK-8226921 http://cr.openjdk.java.net/~iklam/valhalla/8226921-refactor-ValueTypePassFieldsAsArgs-args-shuffling.v01/ Hi Dmitry, Could you try this patch and see if it works for the aarch64 port? To make it compile, you have to add these declaration into macroAssembler_aarch64.hpp: ? bool move_helper(VMReg from, VMReg to, BasicType bt, RegState reg_state[], int ret_off, int extra_stack_offset); ? bool unpack_value_helper(const GrowableArray* sig, int& sig_index, VMReg from, VMRegPair* regs_to, int& to_index, ?????????????????????????? RegState reg_state[], int ret_off, int extra_stack_offset); ? bool pack_value_helper(const GrowableArray* sig, int& sig_index, int vtarg_index, ???????????????????????? VMReg to, VMRegPair* regs_from, int regs_from_count, int& from_index, RegState reg_state[], ???????????????????????? int ret_off, int extra_stack_offset); ? int shuffle_value_args(bool is_packing, bool receiver_only, int extra_stack_offset, ???????????????????????? BasicType* sig_bt, const GrowableArray* sig_cc, ???????????????????????? int args_passed, int args_on_stack, VMRegPair* regs, ???????????????????????? int args_passed_to, int args_on_stack_to, VMRegPair* regs_to); ? VMReg spill_reg_for(VMReg reg); I think I have removed all x64-ism from macroAssembler_common.cpp, but I have no way of verifying that :-( I ran all the Valhalla tests on my linux/x64 boxes and saw no regression. Thanks - Ioi From dms at samersoff.net Fri Jun 28 07:31:12 2019 From: dms at samersoff.net (Dmitry Samersoff) Date: Fri, 28 Jun 2019 10:31:12 +0300 Subject: RFR 8226921 [lworld] Refactor argument shuffling code for ValueTypePassFieldsAsArgs In-Reply-To: References: Message-ID: Hi Ioi, Flicked through your patch - Very Cool! I'll apply it and check what is happening on aarch64 early next week. -Dmitry On 28.06.19 08:16, Ioi Lam wrote: > https://bugs.openjdk.java.net/browse/JDK-8226921 > http://cr.openjdk.java.net/~iklam/valhalla/8226921-refactor-ValueTypePassFieldsAsArgs-args-shuffling.v01/ > > > Hi Dmitry, > > Could you try this patch and see if it works for the aarch64 port? > > To make it compile, you have to add these declaration into > macroAssembler_aarch64.hpp: > > ? bool move_helper(VMReg from, VMReg to, BasicType bt, RegState > reg_state[], int ret_off, int extra_stack_offset); > ? bool unpack_value_helper(const GrowableArray* sig, int& > sig_index, VMReg from, VMRegPair* regs_to, int& to_index, > ?????????????????????????? RegState reg_state[], int ret_off, int > extra_stack_offset); > ? bool pack_value_helper(const GrowableArray* sig, int& > sig_index, int vtarg_index, > ???????????????????????? VMReg to, VMRegPair* regs_from, int > regs_from_count, int& from_index, RegState reg_state[], > ???????????????????????? int ret_off, int extra_stack_offset); > ? int shuffle_value_args(bool is_packing, bool receiver_only, int > extra_stack_offset, > ???????????????????????? BasicType* sig_bt, const > GrowableArray* sig_cc, > ???????????????????????? int args_passed, int args_on_stack, VMRegPair* > regs, > ???????????????????????? int args_passed_to, int args_on_stack_to, > VMRegPair* regs_to); > ? VMReg spill_reg_for(VMReg reg); > > I think I have removed all x64-ism from macroAssembler_common.cpp, but > I have no way of verifying that :-( > > I ran all the Valhalla tests on my linux/x64 boxes and saw no regression. > > Thanks > - Ioi > From david.simms at oracle.com Fri Jun 28 08:23:24 2019 From: david.simms at oracle.com (david.simms at oracle.com) Date: Fri, 28 Jun 2019 08:23:24 +0000 Subject: hg: valhalla/valhalla: Added tag lworld_stable for changeset 7c637fd25e7d Message-ID: <201906280823.x5S8NR3h015854@aojmv0008.oracle.com> Changeset: 665e6d1fa622 Author: dsimms Date: 2019-06-28 10:01 +0200 URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/665e6d1fa622 Added tag lworld_stable for changeset 7c637fd25e7d ! .hgtags