From maurizio.cimadamore at oracle.com Tue Apr 4 09:41:07 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 04 Apr 2017 09:41:07 +0000 Subject: hg: amber/amber/jdk: 8177631: Outdated performance advice in StringCoding Message-ID: <201704040941.v349f7A2029612@aojmv0008.oracle.com> Changeset: c0aecf84349c Author: redestad Date: 2017-04-04 10:53 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/c0aecf84349c 8177631: Outdated performance advice in StringCoding Reviewed-by: sherman ! src/java.base/share/classes/java/lang/StringCoding.java From maurizio.cimadamore at oracle.com Tue Apr 4 09:41:39 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 04 Apr 2017 09:41:39 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704040941.v349feSm001174@aojmv0008.oracle.com> Changeset: 7526546e9a27 Author: langtools Date: 2017-04-04 11:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/7526546e9a27 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 4 09:42:11 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 04 Apr 2017 09:42:11 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704040942.v349gBCN002700@aojmv0008.oracle.com> Changeset: 69d7844cdfeb Author: langtools Date: 2017-04-04 11:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/69d7844cdfeb Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 4 09:42:42 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 04 Apr 2017 09:42:42 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704040942.v349ggYe004064@aojmv0008.oracle.com> Changeset: 572c5c68772f Author: langtools Date: 2017-04-04 11:40 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/572c5c68772f Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:27:56 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:27:56 +0000 Subject: hg: amber/amber/jaxws: 4 new changesets Message-ID: <201704061627.v36GRujD029341@aojmv0008.oracle.com> Changeset: 22b17dea56eb Author: lana Date: 2017-03-29 23:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/22b17dea56eb Added tag jdk-9+163 for changeset 3890f96e8995 ! .hgtags Changeset: ee1849f16695 Author: mchung Date: 2017-03-29 09:42 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/ee1849f16695 8173303: Add module-subgraph images to main platform documentation Reviewed-by: alanb, chegar, erikj, ihse, lancea ! src/java.activation/share/classes/module-info.java ! src/java.xml.bind/share/classes/module-info.java ! src/java.xml.ws.annotation/share/classes/module-info.java ! src/java.xml.ws/share/classes/module-info.java Changeset: 1a52de2da827 Author: lana Date: 2017-03-30 17:23 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/1a52de2da827 Merge Changeset: 3c21e3777f7d Author: lana Date: 2017-04-06 04:50 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/3c21e3777f7d Merge ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 6 16:27:56 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:27:56 +0000 Subject: hg: amber/amber/jaxp: 9 new changesets Message-ID: <201704061627.v36GRumc029308@aojmv0008.oracle.com> Changeset: b66d95128345 Author: alanb Date: 2017-03-22 16:26 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/b66d95128345 8174823: Module system implementation refresh (3/2017) Reviewed-by: mchung ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java Changeset: c5553d4ca3b7 Author: alanb Date: 2017-03-22 18:41 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/c5553d4ca3b7 Merge Changeset: 4282c86136f0 Author: joehw Date: 2017-03-23 13:03 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/4282c86136f0 8177350: Two missed in the change from ${java.home}/lib to ${java.home}/conf Reviewed-by: lancea, mchung ! src/java.xml/share/classes/javax/xml/stream/FactoryFinder.java ! src/java.xml/share/classes/javax/xml/xpath/XPathFactoryFinder.java Changeset: 389969e18ba2 Author: lana Date: 2017-03-23 22:57 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/389969e18ba2 Merge Changeset: 92a38c75cd27 Author: joehw Date: 2017-03-23 21:28 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/92a38c75cd27 8176405: Catalog circular reference check did not work in certain scenarios Reviewed-by: rriggs, lancea ! src/java.xml/share/classes/javax/xml/catalog/CatalogImpl.java ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages.properties ! src/java.xml/share/classes/javax/xml/catalog/GroupEntry.java ! test/javax/xml/jaxp/functional/catalog/DeferFeatureTest.java ! test/javax/xml/jaxp/unittest/catalog/CatalogTest.java - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-itself.xml - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-left.xml - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-right.xml Changeset: fe0c5dfe9ce9 Author: lana Date: 2017-03-29 23:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/fe0c5dfe9ce9 Added tag jdk-9+163 for changeset 92a38c75cd27 ! .hgtags Changeset: 086b6a500c6c Author: mchung Date: 2017-03-29 09:42 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/086b6a500c6c 8173303: Add module-subgraph images to main platform documentation Reviewed-by: alanb, chegar, erikj, ihse, lancea ! src/java.xml/share/classes/module-info.java ! src/jdk.xml.dom/share/classes/module-info.java Changeset: 6dc790a4e831 Author: lana Date: 2017-03-30 17:23 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/6dc790a4e831 Merge Changeset: 451215719ec3 Author: lana Date: 2017-04-06 04:50 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/451215719ec3 Merge ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 6 16:27:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:27:55 +0000 Subject: hg: amber/amber/nashorn: 2 new changesets Message-ID: <201704061627.v36GRtW4029245@aojmv0008.oracle.com> Changeset: b473fab09baa Author: lana Date: 2017-03-29 23:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/b473fab09baa Added tag jdk-9+163 for changeset 5e5e436543da ! .hgtags Changeset: 20014f4cea19 Author: lana Date: 2017-04-06 04:50 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/20014f4cea19 Merge ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 6 16:27:58 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:27:58 +0000 Subject: hg: amber/amber/langtools: 23 new changesets Message-ID: <201704061627.v36GRxmE029473@aojmv0008.oracle.com> Changeset: ad45b4519f1b Author: jjg Date: 2017-03-20 15:32 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/ad45b4519f1b 8176231: javadoc -javafx creates bad link when Property is an array of objects Reviewed-by: ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java + test/jdk/javadoc/doclet/testProperty/TestProperty.java + test/jdk/javadoc/doclet/testProperty/pkg/MyClass.java + test/jdk/javadoc/doclet/testProperty/pkg/MyClassT.java + test/jdk/javadoc/doclet/testProperty/pkg/MyObj.java + test/jdk/javadoc/doclet/testProperty/pkg/ObjectProperty.java + test/jdk/javadoc/doclet/testProperty/pkg/SimpleObjectProperty.java Changeset: 88cdf1b96e73 Author: alanb Date: 2017-03-22 16:27 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/88cdf1b96e73 8174823: Module system implementation refresh (3/2017) Reviewed-by: jjg, mchung ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/ModuleTarget_attribute.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/AttributeWriter.java ! test/ProblemList.txt Changeset: aa10ddad1b6e Author: alanb Date: 2017-03-22 18:41 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/aa10ddad1b6e Merge Changeset: 5d030fd9de7a Author: jjg Date: 2017-03-23 10:58 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/5d030fd9de7a 8176836: Provide Taglet with context Reviewed-by: ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/Taglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConfigurationImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Configuration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/UserTaglet.java ! test/jdk/javadoc/doclet/testLegacyTaglet/Check.java ! test/jdk/javadoc/doclet/testLegacyTaglet/ToDoTaglet.java ! test/jdk/javadoc/doclet/testLegacyTaglet/UnderlineTaglet.java + test/jdk/javadoc/doclet/testUserTaglet/InfoTaglet.java + test/jdk/javadoc/doclet/testUserTaglet/TestUserTaglet.java + test/jdk/javadoc/doclet/testUserTaglet/pkg/C.java ! test/jdk/javadoc/tool/EnsureNewOldDoclet.java ! test/jdk/javadoc/tool/api/basic/taglets/UnderlineTaglet.java Changeset: ee787e34231d Author: ksrini Date: 2017-03-23 14:18 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/ee787e34231d 8176481: javadoc does not consider mandated modules Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties + test/jdk/javadoc/tool/modules/MissingSourceModules.java ! test/jdk/javadoc/tool/modules/Modules.java ! test/jdk/javadoc/tool/modules/PatchModules.java Changeset: 54c1167ba68a Author: lana Date: 2017-03-23 22:57 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/54c1167ba68a Merge Changeset: b398971f7b6f Author: mcimadamore Date: 2017-03-24 12:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/b398971f7b6f 8177392: Fix default verbosity for IntelliJ Ant logger wrapper Summary: Adjust langtools ant build logger to be compatible with IJ 2017 Reviewed-by: jlahoda ! make/intellij/src/idea/LangtoolsIdeaAntLogger.java Changeset: 6d160fbd7d2e Author: mcimadamore Date: 2017-03-24 13:04 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/6d160fbd7d2e 8177097: Generic method reference returning wildcard parameterized type does not compile Summary: Captured cache should not be used during 'fake' attr checks Reviewed-by: vromero, jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/inference/8177097/T8177097a.java + test/tools/javac/generics/inference/8177097/T8177097b.java Changeset: 24582dd2649a Author: vromero Date: 2017-03-24 06:40 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/24582dd2649a 8176714: javac is wrongly assuming that field JCMemberReference.overloadKind has been assigned to Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Analyzer.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/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/T8176714/FieldOverloadKindNotAssignedTest.java + test/tools/javac/T8176714/TimingOfMReferenceCheckingTest01.java + test/tools/javac/T8176714/TimingOfMReferenceCheckingTest02.java Changeset: 4c09d6da5f6b Author: lana Date: 2017-03-29 23:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/4c09d6da5f6b Added tag jdk-9+163 for changeset 24582dd2649a ! .hgtags Changeset: bef1cba2d0d9 Author: ksrini Date: 2017-03-27 17:53 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/bef1cba2d0d9 8175277: javadoc AssertionError when specified with release 8 Reviewed-by: jjg, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties ! test/jdk/javadoc/tool/modules/ReleaseOptions.java Changeset: cc3c67b12ef1 Author: jlahoda Date: 2017-03-29 10:27 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/cc3c67b12ef1 8177311: Denied access when named module accesses unreferences package from the unnamed module Summary: Ensure access to the unnamed module is allowed if the given module reads the unnamed module. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/modules/EdgeCases.java Changeset: bb0649dbe925 Author: mchung Date: 2017-03-29 09:41 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/bb0649dbe925 8173303: Add module-subgraph images to main platform documentation Reviewed-by: alanb, chegar, erikj, ihse, lancea Contributed-by: jonathan.gibbons at oracle.com, mandy.chung at oracle.com ! src/java.compiler/share/classes/module-info.java ! src/jdk.compiler/share/classes/module-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/module-info.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleDotGraph.java ! src/jdk.jdeps/share/classes/module-info.java ! src/jdk.jshell/share/classes/module-info.java Changeset: 3b47c6cb966e Author: lancea Date: 2017-03-29 16:31 -0400 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/3b47c6cb966e 8175013: Add Generated annotation Reviewed-by: darcy, alanb + src/java.compiler/share/classes/javax/annotation/processing/Generated.java Changeset: 573dfe4c63d4 Author: rfield Date: 2017-03-29 16:07 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/573dfe4c63d4 8177079: jshell tool: usability of /help for commands and sub-commands Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! test/jdk/jshell/CommandCompletionTest.java ! test/jdk/jshell/ToolSimpleTest.java Changeset: 132f24d279d1 Author: lana Date: 2017-03-30 17:24 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/132f24d279d1 Merge Changeset: 4c4738ddfbc0 Author: rfield Date: 2017-03-30 13:55 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/4c4738ddfbc0 8177078: jshell tool: fix documentation of /help shortcuts 8177735: jshell tool: /help /help -- typo "comand" 8177308: jshell tool: documentation: multiple start-up files and predefines not documented Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties Changeset: 0f4a3fa6bac0 Author: jjg Date: 2017-03-30 16:36 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/0f4a3fa6bac0 8177484: The old standard doclet should be deprecated for removal. Reviewed-by: ksrini ! make/CompileInterim.gmk ! src/jdk.javadoc/share/classes/com/sun/tools/doclets/standard/Standard.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java Changeset: 5df3b79e6526 Author: redestad Date: 2017-03-31 08:59 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/5df3b79e6526 8175116: jtreg agentvms uses more virtual address space in langtool/test :tier1 runs Summary: Avoiding creation of an unnecessary read edge from jdk.compiler to a newly created unnamed module. Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java Changeset: 33c818a75ec9 Author: jlahoda Date: 2017-03-31 10:46 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/33c818a75ec9 8177076: jshell tool: usability of completion Summary: Merging completion and documentation completion, assigning Shift-tab shortcut to fix actions. Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java + test/jdk/jshell/MergedTabShiftTabTest.java Changeset: 04d69a5db5e1 Author: ksrini Date: 2017-03-31 07:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/04d69a5db5e1 8177567: cache VisibleMemberMap Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Configuration.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/ConstantsSummaryBuilder.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/MemberSummaryBuilder.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 Changeset: c7f3df19667b Author: mcimadamore Date: 2017-04-03 12:40 +0100 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/c7f3df19667b 8177667: Langtools ant build has issues with Windows file separators Summary: Replace complex, non-portable regex logic for generating --patch-module option with a script mapper Reviewed-by: jjg, ksrini ! make/build.properties ! make/build.xml ! make/intellij/runConfigurations/javadoc.xml ! make/intellij/runConfigurations/jshell.xml Changeset: d2020e584c10 Author: lana Date: 2017-04-06 04:50 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/d2020e584c10 Merge ! .hgtags ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:27:59 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:27:59 +0000 Subject: hg: amber/amber/hotspot: 30 new changesets Message-ID: <201704061627.v36GRxh1029480@aojmv0008.oracle.com> Changeset: 55e3f1f3d0a7 Author: rraghavan Date: 2017-03-09 00:16 -0800 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/55e3f1f3d0a7 8175345: Reported null pointer dereference defect groups Summary: Added required explicit NULL checks Reviewed-by: thartmann, kvn ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/stringopts.cpp Changeset: 83906886441f Author: zmajo Date: 2017-03-09 14:27 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/83906886441f 8175340: Possible invalid memory accesses due to ciMethodData::bci_to_data() returning NULL Summary: Check values returned by ciMethodData::bci_to_data() where necessary. Reviewed-by: kvn ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/opto/parse2.cpp Changeset: 6868eb69ce70 Author: mgerdin Date: 2017-03-09 16:58 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/6868eb69ce70 8176363: Incorrect lock rank for G1 PtrQueue related locks Reviewed-by: mgronlun, coleenp, kbarrett, dholmes, tschatzl ! src/share/vm/runtime/mutexLocker.cpp Changeset: 75549135a21f Author: hseigel Date: 2017-03-13 16:23 -0400 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/75549135a21f 8176471: [TESTBUG] runtime/modules/IgnoreModulePropertiesTest.java fails with OpenJDK: java.lang.RuntimeException: 'java version ' missing from stdout/stderr Summary: Check for strings such as " version " and "Runtime Environment" that appear in 'java -version' for both open and closed builds. Reviewed-by: coleenp ! test/runtime/modules/IgnoreModulePropertiesTest.java Changeset: eef6e15f993a Author: jwilhelm Date: 2017-03-13 15:56 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/eef6e15f993a Merge Changeset: a06c552214ed Author: stuefe Date: 2017-03-13 21:46 -0400 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/a06c552214ed 8176442: [aix] assert(_thr_current == 0L) failed: Thread::current already initialized Summary: Revert Thread::current() back to pthread library based TLS on AIX. Reviewed-by: dholmes ! src/share/vm/utilities/globalDefinitions_xlc.hpp Changeset: 86df8cfd7fd5 Author: jcm Date: 2017-03-13 23:36 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/86df8cfd7fd5 8176573: Do not use FLAG_SET_ERGO to update MaxRAM for emulated client Summary: used FLAG_SET_DEFAULT to update MaxRAM Reviewed-by: kvn ! src/share/vm/compiler/compilerDefinitions.cpp Changeset: 928c06e1f603 Author: rehn Date: 2017-03-14 12:00 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/928c06e1f603 8176098: Deprecate FlatProfiler Reviewed-by: shade, coleenp ! src/share/vm/Xusage.txt ! src/share/vm/runtime/arguments.cpp Changeset: 59ba61c8fa7e Author: simonis Date: 2017-03-13 16:07 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/59ba61c8fa7e 8176505: Wrong assertion 'should be an array copy/clone' in arraycopynode.cpp Reviewed-by: thartmann, roland ! src/share/vm/opto/arraycopynode.cpp + test/compiler/arraycopy/TestObjectArrayCopy.java Changeset: 03ca64e4447c Author: redestad Date: 2017-03-15 13:03 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/03ca64e4447c 8176593: Throwable::getStackTrace performance regression Reviewed-by: jiangli, iklam, coleenp, sspitsyn ! src/share/vm/classfile/stringTable.cpp ! src/share/vm/classfile/stringTable.hpp Changeset: 03f4b62f3562 Author: roland Date: 2017-03-15 18:18 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/03f4b62f3562 8176513: Poor code quality for ByteBuffers Summary: Relaxes the condition under which MemBarCPUOrder nodes are added around unsafe accesses. Reviewed-by: vlivanov, kvn, jrose ! src/share/vm/opto/library_call.cpp Changeset: d2724225519c Author: jwilhelm Date: 2017-03-17 16:15 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/d2724225519c Merge Changeset: 027a986fe05d Author: alanb Date: 2017-03-22 16:26 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/027a986fe05d 8174823: Module system implementation refresh (3/2017) Reviewed-by: sspitsyn, dholmes, lfoltan, mchung ! src/share/vm/classfile/moduleEntry.hpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/java.hpp ! src/share/vm/runtime/thread.cpp Changeset: a49c7926d151 Author: alanb Date: 2017-03-22 18:41 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/a49c7926d151 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 24599756cbef Author: lana Date: 2017-03-23 22:57 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/24599756cbef Merge Changeset: bb104b4b64dc Author: prr Date: 2017-03-24 08:56 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/bb104b4b64dc 8177346: hotspot change for 8176513 breaks jdk9 build on Ubuntu 16.04 Reviewed-by: dholmes, kvn, vlivanov ! src/share/vm/opto/library_call.cpp Changeset: 015084c7ef97 Author: mbaesken Date: 2017-03-25 00:00 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/015084c7ef97 8177531: libGetNamedModuleTest.c crash when printing NULL-pointer Summary: Fix the NULL-pointer issue Reviewed-by: stuefe, simonis, sspitsyn ! test/serviceability/jvmti/GetNamedModule/libGetNamedModuleTest.c Changeset: b0b56932255e Author: thartmann Date: 2017-03-27 10:12 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/b0b56932255e 8177095: Range check dependent CastII/ConvI2L is prematurely eliminated Summary: Disabled narrowing of range check dependent CastIIs (either through the CastII(AddI) optimization or through CastIINode::Ideal). Reviewed-by: vlivanov, kvn ! src/share/vm/opto/castnode.cpp ! src/share/vm/opto/convertnode.cpp ! test/compiler/loopopts/TestLoopPeeling.java Changeset: 983fe2075557 Author: adinn Date: 2017-03-27 06:18 -0400 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/983fe2075557 8177661: AArch64: Incorrect C2 patterns cause system register corruption Summary: Correct ad rule output register types from iRegX to iRegXNoSp Reviewed-by: aph, kvn ! src/cpu/aarch64/vm/aarch64.ad Changeset: 60721d6ff1ac Author: lana Date: 2017-03-29 23:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/60721d6ff1ac Added tag jdk-9+163 for changeset 983fe2075557 ! .hgtags Changeset: fa10bec35262 Author: mdoerr Date: 2017-03-20 11:32 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/fa10bec35262 8176518: C2: Invalid ImplicitNullChecks with non-protected heap base Summary: Avoid generating implicit null checks if heap base is not protected Reviewed-by: zmajo ! src/share/vm/opto/lcm.cpp + test/compiler/c2/TestNPEHeapBased.java Changeset: 40ad6af5e434 Author: jwilhelm Date: 2017-03-20 23:49 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/40ad6af5e434 Merge Changeset: 8afdef5de101 Author: rehn Date: 2017-03-21 16:36 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/8afdef5de101 8177092: [TESTBUG] JMX test on MinimalVM fails after fix for 8176533 Reviewed-by: dholmes, mlarsson ! test/runtime/MinimalVM/JMX.java Changeset: b163435e40b3 Author: mgerdin Date: 2017-03-22 15:25 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/b163435e40b3 8176100: [REDO][REDO] G1 Needs pre barrier on dereference of weak JNI handles Reviewed-by: kbarrett, coleenp, tschatzl ! make/test/JtregNative.gmk ! src/cpu/aarch64/vm/jniFastGetField_aarch64.cpp ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp ! src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp ! src/cpu/arm/vm/interp_masm_arm.cpp ! src/cpu/arm/vm/interp_masm_arm.hpp ! src/cpu/arm/vm/jniFastGetField_arm.cpp ! src/cpu/arm/vm/macroAssembler_arm.cpp ! src/cpu/arm/vm/macroAssembler_arm.hpp ! src/cpu/arm/vm/sharedRuntime_arm.cpp ! src/cpu/arm/vm/templateInterpreterGenerator_arm.cpp ! src/cpu/ppc/vm/frame_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.hpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp ! src/cpu/s390/vm/macroAssembler_s390.cpp ! src/cpu/s390/vm/macroAssembler_s390.hpp ! src/cpu/s390/vm/sharedRuntime_s390.cpp ! src/cpu/s390/vm/templateInterpreterGenerator_s390.cpp ! src/cpu/sparc/vm/jniFastGetField_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/templateInterpreterGenerator_sparc.cpp ! src/cpu/x86/vm/jniFastGetField_x86_32.cpp ! src/cpu/x86/vm/jniFastGetField_x86_64.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreterGenerator_x86.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/jniHandles.hpp ! src/share/vm/shark/sharkNativeWrapper.cpp + test/runtime/jni/CallWithJNIWeak/CallWithJNIWeak.java + test/runtime/jni/CallWithJNIWeak/libCallWithJNIWeak.c + test/runtime/jni/ReturnJNIWeak/ReturnJNIWeak.java + test/runtime/jni/ReturnJNIWeak/libReturnJNIWeak.c Changeset: 838393a7baa6 Author: jwilhelm Date: 2017-03-23 15:06 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/838393a7baa6 Merge Changeset: dabd810a9825 Author: dholmes Date: 2017-03-23 17:15 -0400 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/dabd810a9825 8165358: vmassert_status is not debug-only Reviewed-by: dsamersoff, stuefe, zgu ! src/share/vm/utilities/debug.hpp Changeset: c68024d52834 Author: jwilhelm Date: 2017-03-25 00:31 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/c68024d52834 Merge Changeset: b70c17184fdb Author: jwilhelm Date: 2017-03-30 19:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/b70c17184fdb Merge Changeset: 0af429be8bba Author: neugens Date: 2017-03-29 15:44 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/0af429be8bba 8177390: java -version does not differentiate between which port of AArch64 is used Reviewed-by: aph, dholmes ! make/lib/CompileJvm.gmk ! test/test_env.sh Changeset: acaf29461f2c Author: lana Date: 2017-04-06 04:50 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/acaf29461f2c Merge ! .hgtags ! src/share/vm/runtime/arguments.cpp - test/gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java - test/gc/startup_warnings/TestDefNewCMS.java - test/gc/startup_warnings/TestParNewCMS.java - test/gc/startup_warnings/TestParNewSerialOld.java - test/gc/startup_warnings/TestUseAutoGCSelectPolicy.java - test/runtime/NMT/AutoshutdownNMT.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:27:59 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:27:59 +0000 Subject: hg: amber/amber: 13 new changesets Message-ID: <201704061627.v36GRx7a029477@aojmv0008.oracle.com> Changeset: 1accf96fa79b Author: prr Date: 2017-03-06 10:40 -0800 URL: http://hg.openjdk.java.net/amber/amber/rev/1accf96fa79b Merge ! common/autoconf/generated-configure.sh Changeset: 6fea867479ea Author: prr Date: 2017-03-10 10:33 -0800 URL: http://hg.openjdk.java.net/amber/amber/rev/6fea867479ea Merge Changeset: 08d2d5b9ad20 Author: prr Date: 2017-03-16 09:50 -0700 URL: http://hg.openjdk.java.net/amber/amber/rev/08d2d5b9ad20 Merge - README-builds.html - README-builds.md - common/bin/update-build-readme.sh Changeset: d4d6daaef6f1 Author: prr Date: 2017-03-21 08:48 -0700 URL: http://hg.openjdk.java.net/amber/amber/rev/d4d6daaef6f1 Merge Changeset: 16d1c3ff3d0e Author: alanb Date: 2017-03-22 16:25 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/16d1c3ff3d0e 8174823: Module system implementation refresh (3/2017) Reviewed-by: erikj, mchung, alanb Contributed-by: alan.bateman at oracle.com, mandy.chung at oracle.com, sundararajan.athijegannathan at oracle.com ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/spec.gmk.in ! make/CreateJmods.gmk ! make/Images.gmk Changeset: 277c9c31206f Author: alanb Date: 2017-03-22 18:41 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/277c9c31206f Merge ! common/autoconf/generated-configure.sh Changeset: c38c6b270ccc Author: lana Date: 2017-03-23 22:56 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/c38c6b270ccc Merge Changeset: 41d9f0545d53 Author: lana Date: 2017-03-29 23:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/41d9f0545d53 Added tag jdk-9+163 for changeset c38c6b270ccc ! .hgtags Changeset: 66df71217ba3 Author: mchung Date: 2017-03-29 09:41 -0700 URL: http://hg.openjdk.java.net/amber/amber/rev/66df71217ba3 8173303: Add module-subgraph images to main platform documentation Reviewed-by: alanb, chegar, erikj, ihse, lancea ! make/Javadoc.gmk ! make/Main.gmk Changeset: 04d60d5ae6fd Author: ihse Date: 2017-03-30 08:53 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/04d60d5ae6fd 8177634: Fix for 8175307 may cause linker errors on OS X 10.9 Reviewed-by: dholmes, erikj ! common/autoconf/flags.m4 ! common/autoconf/generated-configure.sh Changeset: 148642751a9f Author: erikj Date: 2017-03-30 10:37 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/148642751a9f 8177135: OpenJDK 9 freetype needs msvcr100.dll Reviewed-by: ihse, prr ! common/conf/jib-profiles.js Changeset: 7810f75d016a Author: lana Date: 2017-03-30 17:23 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/7810f75d016a Merge Changeset: ccfda1c4e17d Author: lana Date: 2017-04-06 04:48 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/ccfda1c4e17d Merge ! .hgtags ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in - common/bin/shell-tracer.sh ! common/conf/jib-profiles.js From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:00 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:00 +0000 Subject: hg: amber/amber/corba: 4 new changesets Message-ID: <201704061628.v36GS0XK029484@aojmv0008.oracle.com> Changeset: 48a6b541153d Author: lana Date: 2017-03-29 23:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/48a6b541153d Added tag jdk-9+163 for changeset 493011dee80e ! .hgtags Changeset: 8e9b64d90b69 Author: mchung Date: 2017-03-29 09:42 -0700 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/8e9b64d90b69 8173303: Add module-subgraph images to main platform documentation Reviewed-by: alanb, chegar, erikj, ihse, lancea ! src/java.corba/share/classes/module-info.java Changeset: 965bbae30727 Author: lana Date: 2017-03-30 17:23 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/965bbae30727 Merge Changeset: 8aa7044a5b59 Author: lana Date: 2017-04-06 04:50 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/8aa7044a5b59 Merge ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:35 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704061628.v36GSZVu000738@aojmv0008.oracle.com> Changeset: 547dfedb2731 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/547dfedb2731 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:34 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704061628.v36GSZjo000679@aojmv0008.oracle.com> Changeset: b1edad658337 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/b1edad658337 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:36 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:36 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704061628.v36GSaeI000792@aojmv0008.oracle.com> Changeset: 96983d0f0463 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/96983d0f0463 Automatic merge with default - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-itself.xml - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-left.xml - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-right.xml From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:37 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:37 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704061628.v36GSbYZ000873@aojmv0008.oracle.com> Changeset: 1b50e4f55394 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/1b50e4f55394 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:38 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:38 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704061628.v36GScus000928@aojmv0008.oracle.com> Changeset: 0b3cab5fce3a Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/0b3cab5fce3a Automatic merge with default ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:39 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:39 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704061628.v36GSdtq000960@aojmv0008.oracle.com> Changeset: ade7151d324e Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/ade7151d324e Automatic merge with default - src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:40 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:40 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704061628.v36GSeem001033@aojmv0008.oracle.com> Changeset: f22873c750ce Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/f22873c750ce Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:39 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:39 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704061628.v36GSehq000975@aojmv0008.oracle.com> Changeset: 3b041c60d63c Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/3b041c60d63c Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:29:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:29:09 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704061629.v36GT9k1002409@aojmv0008.oracle.com> Changeset: 5e695e3ae012 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/5e695e3ae012 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:29:08 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:29:08 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704061629.v36GT88a002364@aojmv0008.oracle.com> Changeset: 083bada31970 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/083bada31970 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:29:07 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:29:07 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704061629.v36GT75J002290@aojmv0008.oracle.com> Changeset: eb85a5d1ca24 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/eb85a5d1ca24 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:29:10 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:29:10 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704061629.v36GTArP002465@aojmv0008.oracle.com> Changeset: 84d4357fffb2 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/84d4357fffb2 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:29:11 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:29:11 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704061629.v36GTBD3002514@aojmv0008.oracle.com> Changeset: 5ea38bff26fe Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5ea38bff26fe Automatic merge with default - src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:29:12 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:29:12 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704061629.v36GTCCd002523@aojmv0008.oracle.com> Changeset: 91fbefbe082a Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/91fbefbe082a Automatic merge with default - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-itself.xml - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-left.xml - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-right.xml From maurizio.cimadamore at oracle.com Thu Apr 6 16:29:11 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:29:11 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704061629.v36GTBvq002519@aojmv0008.oracle.com> Changeset: 2212c5808a95 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/2212c5808a95 Automatic merge with default ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:29:13 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:29:13 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704061629.v36GTD2v002528@aojmv0008.oracle.com> Changeset: f8ffcf276ad2 Author: langtools Date: 2017-04-06 18:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/f8ffcf276ad2 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:28:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:28:03 +0000 Subject: hg: amber/amber/jdk: 57 new changesets Message-ID: <201704061628.v36GS561029497@aojmv0008.oracle.com> Changeset: 61d6601e2948 Author: redestad Date: 2017-03-20 21:40 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/61d6601e2948 8177036: Class.checkMemberAccess throws NPE when calling Class methods via JNI Reviewed-by: mchung, alanb ! src/java.base/share/classes/java/lang/Class.java Changeset: e4b869632f7d Author: amlu Date: 2017-03-21 20:20 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e4b869632f7d 8177313: Move FJExceptionTableLeak.java and ConfigChanges.java back to tier1 Reviewed-by: alanb ! test/TEST.groups Changeset: 8a14f9275ba9 Author: hseigel Date: 2017-03-13 16:23 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/8a14f9275ba9 8176471: [TESTBUG] runtime/modules/IgnoreModulePropertiesTest.java fails with OpenJDK: java.lang.RuntimeException: 'java version ' missing from stdout/stderr Summary: Check for strings such as " version " and "Runtime Environment" that appear in 'java -version' for both open and closed builds. Reviewed-by: coleenp ! test/sun/tools/jinfo/JInfoTest.java Changeset: e559d0c0985a Author: jwilhelm Date: 2017-03-13 15:56 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e559d0c0985a Merge Changeset: 9861a8803e52 Author: rehn Date: 2017-03-14 12:00 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9861a8803e52 8176098: Deprecate FlatProfiler Reviewed-by: shade, coleenp ! src/java.base/share/classes/sun/launcher/resources/launcher.properties Changeset: 952d3df46b5b Author: jwilhelm Date: 2017-03-17 16:15 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/952d3df46b5b Merge Changeset: 0832f3508ecb Author: jwilhelm Date: 2017-03-21 16:39 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/0832f3508ecb Merge Changeset: 09774b62cec0 Author: alexsch Date: 2017-03-13 22:55 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/09774b62cec0 8175301: Java GUI hangs on Windows when Display set to 125% Reviewed-by: serb, azvegint ! src/java.desktop/windows/classes/sun/java2d/d3d/D3DGraphicsConfig.java ! src/java.desktop/windows/classes/sun/java2d/d3d/D3DSurfaceData.java + test/javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java Changeset: 48ddfeefafac Author: psadhukhan Date: 2017-03-14 10:29 +0530 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/48ddfeefafac 8173123: [findbugs] javax.swing.text.* - Storing a reference to an externally mutable object into the internal representation Reviewed-by: serb, alexsch, prr ! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/java.desktop/share/classes/javax/swing/text/StyleContext.java Changeset: 75a8a6117014 Author: dmarkov Date: 2017-03-14 09:03 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/75a8a6117014 8173853: IllegalArgumentException in java.awt.image.ReplicateScaleFilter Reviewed-by: prr, serb ! src/java.desktop/share/classes/sun/awt/CustomCursor.java Changeset: 23f609916fba Author: serb Date: 2017-03-14 18:35 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/23f609916fba 8176177: The new SwingContainer annotation can be removed from javax.accessibility.AccessibleContext Reviewed-by: alexsch, malenkov ! src/java.desktop/share/classes/javax/accessibility/AccessibleContext.java + test/javax/swing/SwingContainer/SwingContainerIsForContainerOnly/SwingContainerIsForContainerOnly.java Changeset: b38931a57a60 Author: serb Date: 2017-03-15 18:56 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b38931a57a60 8176448: [macos] Popups in JCombobox and Choice have incorrect location in multiscreen systems Reviewed-by: alexsch, azvegint ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxPopup.java + test/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java ! test/javax/swing/plaf/basic/BasicComboPopup/7072653/bug7072653.java + test/javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation/JComboBoxPopupLocation.java Changeset: 3556f4cd047b Author: alexsch Date: 2017-03-15 20:42 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/3556f4cd047b 8174845: Bad scaling on Windows with large fonts with Java 9ea Reviewed-by: serb, azvegint ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalIconFactory.java ! test/javax/swing/plaf/metal/MetalIcons/MetalHiDPIIconsTest.java Changeset: 00c2a0d8e1cb Author: prr Date: 2017-03-15 11:14 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/00c2a0d8e1cb 8176530: JDK support for JavaFX modal print dialogs Reviewed-by: serb, psadhukhan, kcr + src/java.desktop/share/classes/sun/print/DialogOnTop.java ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java ! src/java.desktop/share/classes/sun/print/ServiceDialog.java ! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp ! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.h ! src/java.desktop/windows/native/libawt/windows/awt_PrintDialog.cpp ! src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp Changeset: e607ebd99004 Author: psadhukhan Date: 2017-03-15 12:55 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e607ebd99004 8176287: [macosx] The print test crashed with Nimbus L&F Reviewed-by: serb, prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.m Changeset: 88125261d41e Author: azvegint Date: 2017-03-16 01:40 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/88125261d41e 8176528: Progress state for window is not displayed in taskbar Reviewed-by: prr, serb ! src/java.desktop/share/classes/java/awt/Taskbar.java Changeset: b55ec235fc5f Author: vadim Date: 2017-03-16 16:45 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b55ec235fc5f 8176409: [findbugs] some files under com.apple.laf with variable isn't final but should be Reviewed-by: serb, azvegint ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonCheckBoxUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonRadioUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonToggleUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileView.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaGroupBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaHighlighter.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaImageFactory.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaLabelUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuPainter.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMnemonicHandler.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaNativeResources.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaPanelUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaPopupMenuSeparatorUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaProgressBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaScrollBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaScrollRegionBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaSliderUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTableHeaderUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextFieldBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextFieldSearch.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextPasswordFieldUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaToolBarSeparatorUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaToolBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaToolTipUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaUtilControlSize.java Changeset: 9158f22042bb Author: prr Date: 2017-03-16 09:51 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9158f22042bb Merge - README - src/java.base/share/classes/java/lang/StackFramePermission.java Changeset: 7d8fe6923a14 Author: alexsch Date: 2017-03-16 23:29 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/7d8fe6923a14 8176883: Enable antialiasing for Metal L&F icons on HiDPI display Reviewed-by: prr ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalIconFactory.java ! src/java.desktop/share/classes/sun/swing/SwingUtilities2.java ! test/javax/swing/plaf/metal/MetalIcons/MetalHiDPIIconsTest.java Changeset: d9700e9006d0 Author: serb Date: 2017-03-16 22:03 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d9700e9006d0 8160270: dual-screen issue with java.awt.Choice Reviewed-by: prr, alexsch ! src/java.desktop/unix/classes/sun/awt/X11/InfoWindow.java ! src/java.desktop/unix/classes/sun/awt/X11/XBaseMenuWindow.java ! src/java.desktop/unix/classes/sun/awt/X11/XChoicePeer.java ! src/java.desktop/unix/classes/sun/awt/X11/XMenuBarPeer.java ! src/java.desktop/unix/classes/sun/awt/X11/XMenuWindow.java ! src/java.desktop/unix/classes/sun/awt/X11/XPopupMenuPeer.java ! test/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java + test/java/awt/PopupMenu/PopupMenuLocation.java Changeset: 4197c1ae4f47 Author: prr Date: 2017-03-21 08:48 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/4197c1ae4f47 Merge Changeset: 722952ece7ed Author: prr Date: 2017-03-21 09:53 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/722952ece7ed Merge Changeset: 81c76df23278 Author: skovalev Date: 2017-03-22 10:55 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/81c76df23278 8177324: Some javax/security/ tests don't have correct module dependencies Reviewed-by: weijun ! test/javax/security/auth/PrivateCredentialPermission/MoreThenOnePrincipals.java ! test/javax/security/auth/PrivateCredentialPermission/Subset.java ! test/javax/security/auth/Subject/Serial.java ! test/javax/security/auth/SubjectDomainCombiner/Regression.java + test/javax/security/auth/kerberos/TEST.properties ! test/javax/security/auth/login/Configuration/GetInstance.java ! test/javax/security/auth/login/Configuration/GetInstanceSecurity.java ! test/javax/security/auth/login/LoginContext/ConfigConstructor.java ! test/javax/security/auth/login/LoginContext/ConfigConstructorNoPerm.java ! test/javax/security/auth/login/LoginContext/ModuleSubject.java ! test/javax/security/sasl/Sasl/PassSysProps.java Changeset: b572f46f30cd Author: amlu Date: 2017-03-22 19:40 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b572f46f30cd 8177383: Wrong @modules in java/io/FilePermission/ReadFileOnPath.java Reviewed-by: alanb ! test/java/io/FilePermission/ReadFileOnPath.java ! test/java/lang/Package/annotation/PackageInfoTest.java ! test/java/lang/reflect/PublicMethods/PublicMethodsTest.java ! test/java/net/spi/URLStreamHandlerProvider/Basic.java ! test/sun/net/www/protocol/jar/MultiReleaseJarURLConnection.java Changeset: 085c764a3e5b Author: alanb Date: 2017-03-22 16:26 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/085c764a3e5b 8174823: Module system implementation refresh (3/2017) Reviewed-by: chegar, mchung, alanb Contributed-by: alan.bateman at oracle.com, mandy.chung at oracle.com, sundararajan.athijegannathan at oracle.com, peter.levart at gmail.com ! make/mapfiles/libjava/mapfile-vers ! 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/RuntimePermission.java ! src/java.base/share/classes/java/lang/StackStreamFactory.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/module/Configuration.java ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! src/java.base/share/classes/java/lang/module/ModuleFinder.java ! src/java.base/share/classes/java/lang/module/ModuleReader.java ! src/java.base/share/classes/java/lang/module/Resolver.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/Layer.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/Module.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/jdk/internal/jmod/JmodFile.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystemProvider.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java ! src/java.base/share/classes/jdk/internal/loader/Loader.java - src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangModuleAccess.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangReflectModuleAccess.java ! src/java.base/share/classes/jdk/internal/module/Builder.java ! src/java.base/share/classes/jdk/internal/module/Checks.java ! src/java.base/share/classes/jdk/internal/module/ClassFileAttributes.java + src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfo.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfoExtender.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfoWriter.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/ModulePath.java ! src/java.base/share/classes/jdk/internal/module/ModuleReferenceImpl.java ! src/java.base/share/classes/jdk/internal/module/ModuleReferences.java + src/java.base/share/classes/jdk/internal/module/ModuleTarget.java ! src/java.base/share/classes/jdk/internal/module/Modules.java + src/java.base/share/classes/jdk/internal/module/Resources.java ! src/java.base/share/classes/jdk/internal/module/SystemModuleFinder.java ! src/java.base/share/classes/jdk/internal/module/SystemModules.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java ! src/java.base/share/classes/jdk/internal/reflect/Reflection.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/classes/sun/net/www/protocol/jrt/JavaRuntimeURLConnection.java ! src/java.base/share/native/libjava/ClassLoader.c ! src/java.base/share/native/libjava/Module.c ! src/java.instrument/share/classes/java/lang/instrument/ClassFileTransformer.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/DefaultImageBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ResourcePoolConfiguration.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ResourcePoolManager.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ExcludeVMPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ReleaseInfoPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugin/ResourcePoolModule.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod.properties ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java ! test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java + test/java/lang/ClassLoader/getResource/automaticmodules/Driver.java + test/java/lang/ClassLoader/getResource/automaticmodules/Main.java + test/java/lang/invoke/DefineClassTest.java ! test/java/lang/module/AutomaticModulesTest.java ! test/java/lang/module/ConfigurationTest.java ! test/java/lang/module/ModuleDescriptorTest.java ! test/java/lang/module/ModuleFinderTest.java + test/java/lang/module/ModuleFinderWithSecurityManager.java ! test/java/lang/module/ModuleReader/ModuleReaderTest.java + test/java/lang/module/java.policy ! test/java/lang/reflect/Layer/BasicLayerTest.java ! test/java/lang/reflect/Module/allow.policy ! test/java/util/ServiceLoader/basic/basic.sh ! test/jdk/internal/jrtfs/java.policy + test/lib/testlibrary/ModuleTargetHelper.java ! test/sun/net/www/protocol/jrt/java.policy ! test/sun/security/krb5/auto/HttpNegotiateServer.java ! test/tools/jlink/IntegrationTest.java ! test/tools/jlink/JLinkNegativeTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/CompiledVersionTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/m1/p1/Main.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/m4/p4/Main.java ! test/tools/launcher/modules/addexports/AddExportsTestWarningError.java ! test/tools/launcher/modules/addreads/AddReadsTestWarningError.java + test/tools/launcher/modules/basic/InitErrors.java ! test/tools/launcher/modules/patch/basic/PatchTestWarningError.java + test/tools/launcher/modules/permit/AttemptAccess.java + test/tools/launcher/modules/permit/PermitIllegalAccess.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java Changeset: 0ca06091913f Author: alanb Date: 2017-03-22 18:41 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/0ca06091913f Merge ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/RuntimePermission.java - src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java Changeset: 443f9939b3b3 Author: jjg Date: 2017-03-23 11:42 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/443f9939b3b3 8176836: Provide Taglet with context Reviewed-by: ksrini ! make/src/classes/build/tools/taglet/Incubating.java Changeset: 7081836d4ceb Author: lana Date: 2017-03-23 22:57 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/7081836d4ceb Merge - src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java Changeset: 77ab8e3b4b04 Author: bpb Date: 2017-03-24 09:16 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/77ab8e3b4b04 8177550: (fc) Enable java/nio/channels/FileChannel/{Transfer4GBFile.java,TransferTo6GBFile.java} on Linux and Windows Summary: Re-enabled tests currently suppressed on Linux and Windows as the timeouts have been increased. Reviewed-by: alanb ! test/java/nio/channels/FileChannel/Transfer4GBFile.java ! test/java/nio/channels/FileChannel/TransferTo6GBFile.java Changeset: 824789db6bea Author: alanb Date: 2017-03-24 16:35 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/824789db6bea 8177474: Do not emit warnings when illegal access is allowed by --add-exports/--add-opens Reviewed-by: chegar, mchung ! src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! test/tools/launcher/modules/permit/PermitIllegalAccess.java Changeset: acd4fd0fd6e8 Author: bpb Date: 2017-03-24 14:46 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/acd4fd0fd6e8 8177564: Remove check for Windows XP and Server 2003 in java/nio/channels/DatagramChannel/NetworkConfiguration.java Summary: Remove check for XP and Server 2003 in IPv6 support determination. Reviewed-by: alanb ! test/java/nio/channels/DatagramChannel/NetworkConfiguration.java Changeset: 3bffd193a3a5 Author: bpb Date: 2017-03-24 15:02 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/3bffd193a3a5 8177565: java/nio/channels/Selector/SelectorLimit.java disabled for Windows release >= 6.0 Summary: Remove check of Windows version Reviewed-by: alanb ! test/java/nio/channels/Selector/SelectorLimit.java Changeset: fb54b256d751 Author: mchung Date: 2017-03-27 15:12 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fb54b256d751 8174826: jlink support for linking in service provider modules Reviewed-by: alanb, anazarov ! src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Jlink.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/packager/AppRuntimeImageBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties ! test/tools/jlink/IntegrationTest.java ! test/tools/jlink/JLinkTest.java + test/tools/jlink/bindservices/BindServices.java + test/tools/jlink/bindservices/SuggestProviders.java + test/tools/jlink/bindservices/src/m1/module-info.java + test/tools/jlink/bindservices/src/m1/p1/Impl.java + test/tools/jlink/bindservices/src/m1/p1/Main.java + test/tools/jlink/bindservices/src/m1/p1/S.java + test/tools/jlink/bindservices/src/m2/module-info.java + test/tools/jlink/bindservices/src/m2/p2/Impl.java + test/tools/jlink/bindservices/src/m2/p2/T.java + test/tools/jlink/bindservices/src/m3/module-info.java + test/tools/jlink/bindservices/src/m3/p3/Impl.java Changeset: e685e3197f62 Author: darcy Date: 2017-03-27 18:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e685e3197f62 8177678: Overstatement of universality of Era.getDisplayName() implementation Reviewed-by: naoto ! src/java.base/share/classes/java/time/chrono/Era.java ! src/java.base/share/classes/java/time/chrono/JapaneseEra.java Changeset: 50171f8c4796 Author: mli Date: 2017-03-27 18:52 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/50171f8c4796 8176865: overridden api has a wrong since value in java.base module Reviewed-by: alanb ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/nio/MappedByteBuffer.java ! src/java.base/share/classes/java/nio/X-Buffer.java.template ! src/java.base/share/classes/java/security/SecureRandom.java ! src/java.base/share/classes/java/security/SecureRandomSpi.java Changeset: bd00098fc2d7 Author: lana Date: 2017-03-29 23:33 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/bd00098fc2d7 Added tag jdk-9+163 for changeset 50171f8c4796 ! .hgtags Changeset: 6efd46c87aff Author: bpb Date: 2017-03-28 09:02 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/6efd46c87aff 8177559: Enable java/nio/channels/Selector/OutOfBand.java for macOS >= 10.10.5 Summary: Enable test for macOS 10.10.5 and newer and remove from problem list Reviewed-by: alanb, amlu ! test/ProblemList.txt ! test/java/nio/channels/Selector/OutOfBand.java Changeset: c1207d6ce231 Author: darcy Date: 2017-03-28 17:33 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/c1207d6ce231 8177722: Improve grouping of jdk/internal/math tests Reviewed-by: smarks ! test/TEST.groups Changeset: 8903214706a2 Author: dfuchs Date: 2017-03-29 13:16 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/8903214706a2 8177136: Caller sensitive method System::getLogger should specify what happens if there is no caller on the stack. Summary: IllegalCallerException (instead of undocumented NPE) is thrown if there is no caller on the stack. The specification is clarified in this respect. Reviewed-by: alanb, mchung, dholmes, bchristi ! src/java.base/share/classes/java/lang/System.java Changeset: 171e10061798 Author: mchung Date: 2017-03-29 09:40 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/171e10061798 8173303: Add module-subgraph images to main platform documentation Reviewed-by: alanb, chegar, erikj, ihse, lancea Contributed-by: jonathan.gibbons at oracle.com, mandy.chung at oracle.com ! make/GenerateModuleSummary.gmk ! make/ModuleTools.gmk ! make/src/classes/build/tools/jigsaw/GenGraphs.java + make/src/classes/build/tools/jigsaw/javadoc-graphs.properties + make/src/classes/build/tools/taglet/ModuleGraph.java ! src/java.base/share/classes/module-info.java ! src/java.datatransfer/share/classes/module-info.java ! src/java.desktop/share/classes/module-info.java ! src/java.instrument/share/classes/module-info.java ! src/java.logging/share/classes/module-info.java ! src/java.management.rmi/share/classes/module-info.java ! src/java.management/share/classes/module-info.java ! src/java.naming/share/classes/module-info.java ! src/java.prefs/share/classes/module-info.java ! src/java.rmi/share/classes/module-info.java ! src/java.scripting/share/classes/module-info.java ! src/java.se.ee/share/classes/module-info.java ! src/java.se/share/classes/module-info.java ! src/java.security.jgss/share/classes/module-info.java ! src/java.security.sasl/share/classes/module-info.java ! src/java.smartcardio/share/classes/module-info.java ! src/java.sql.rowset/share/classes/module-info.java ! src/java.sql/share/classes/module-info.java ! src/java.transaction/share/classes/module-info.java ! src/java.xml.crypto/share/classes/module-info.java ! src/jdk.attach/share/classes/module-info.java ! src/jdk.charsets/share/classes/module-info.java ! src/jdk.crypto.cryptoki/share/classes/module-info.java ! src/jdk.crypto.ec/share/classes/module-info.java ! src/jdk.crypto.mscapi/windows/classes/module-info.java ! src/jdk.crypto.ucrypto/solaris/classes/module-info.java ! src/jdk.httpserver/share/classes/module-info.java ! src/jdk.jartool/share/classes/module-info.java ! src/jdk.jcmd/share/classes/module-info.java ! src/jdk.jconsole/share/classes/module-info.java ! src/jdk.jdi/share/classes/module-info.java ! src/jdk.jdwp.agent/share/classes/module-info.java ! src/jdk.jlink/share/classes/module-info.java ! src/jdk.jsobject/share/classes/module-info.java ! src/jdk.jstatd/share/classes/module-info.java ! src/jdk.localedata/share/classes/module-info.java ! src/jdk.management.agent/share/classes/module-info.java ! src/jdk.management/share/classes/module-info.java ! src/jdk.naming.dns/share/classes/module-info.java ! src/jdk.naming.rmi/share/classes/module-info.java ! src/jdk.net/share/classes/module-info.java ! src/jdk.sctp/share/classes/module-info.java ! src/jdk.security.auth/share/classes/module-info.java ! src/jdk.security.jgss/share/classes/module-info.java ! src/jdk.zipfs/share/classes/module-info.java Changeset: 10e27f8fa3a1 Author: ksrini Date: 2017-03-29 10:50 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/10e27f8fa3a1 8174148: Typo in java.util.jar.Pack200.Unpacker.properties() method documentation 8173871: Typos in Jar Packer/Unpacker PROGRESS field documentation Reviewed-by: bpb, darcy ! src/java.base/share/classes/java/util/jar/Pack200.java Changeset: b79469412aa0 Author: weijun Date: 2017-03-30 07:29 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b79469412aa0 8177569: keytool should not warn if signature algorithm used in cacerts is weak Reviewed-by: mullan ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! test/sun/security/tools/keytool/WeakAlg.java Changeset: 5734c4a761cf Author: lana Date: 2017-03-30 17:23 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5734c4a761cf Merge Changeset: a1d25a8fdc98 Author: smarks Date: 2017-03-30 11:26 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a1d25a8fdc98 8155052: add notes and links to j.u.Observer/Observable deprecation comments Reviewed-by: chegar ! src/java.base/share/classes/java/util/Observable.java Changeset: 762c970fed4d Author: rehn Date: 2017-03-16 07:27 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/762c970fed4d 8176533: REGRESSION: a java process is not recognized by jcmd/jinfo/jstack/jmap tool Reviewed-by: sspitsyn, dsamersoff ! src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java ! src/jdk.jcmd/share/classes/sun/tools/jcmd/JCmd.java ! src/jdk.jcmd/share/classes/sun/tools/jinfo/JInfo.java ! src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java ! src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java Changeset: 13c06d444258 Author: iignatyev Date: 2017-03-15 22:48 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/13c06d444258 8176176: fix @modules in jdk_svc tests Reviewed-by: shurailine, sspitsyn ! test/com/sun/jdi/AcceptTimeout.java ! test/com/sun/jdi/AccessSpecifierTest.java ! test/com/sun/jdi/AfterThreadDeathTest.java ! test/com/sun/jdi/AllLineLocations.java ! test/com/sun/jdi/ArrayRangeTest.java ! test/com/sun/jdi/BacktraceFieldTest.java ! test/com/sun/jdi/ClassLoaderClassesTest.java ! test/com/sun/jdi/ClassesByName.java ! test/com/sun/jdi/ClassesByName2Test.java ! test/com/sun/jdi/CompatibleConnectors.java ! test/com/sun/jdi/ConnectedVMs.java ! test/com/sun/jdi/ConstantPoolInfo.java ! test/com/sun/jdi/ConstantPoolInfoGC.java ! test/com/sun/jdi/CountEvent.java ! test/com/sun/jdi/CountFilterTest.java ! test/com/sun/jdi/DebuggerThreadTest.java ! test/com/sun/jdi/DeleteAllBkptsTest.java ! test/com/sun/jdi/DeleteEventRequestsTest.java ! test/com/sun/jdi/EarlyReturnNegativeTest.java ! test/com/sun/jdi/EarlyReturnTest.java ! test/com/sun/jdi/EnumTest.java ! test/com/sun/jdi/EventQueueDisconnectTest.java ! test/com/sun/jdi/ExceptionEvents.java ! test/com/sun/jdi/ExpiredRequestDeletionTest.java ! test/com/sun/jdi/FieldWatchpoints.java ! test/com/sun/jdi/FilterMatch.java ! test/com/sun/jdi/FilterNoMatch.java ! test/com/sun/jdi/FinalLocalsTest.java ! test/com/sun/jdi/FinalizerTest.java ! test/com/sun/jdi/FramesTest.java ! test/com/sun/jdi/GenericsTest.java ! test/com/sun/jdi/GetLocalVariables2Test.java ! test/com/sun/jdi/GetUninitializedStringValue.java ! test/com/sun/jdi/HomeTest.java ! test/com/sun/jdi/ImmutableResourceTest.sh ! test/com/sun/jdi/InstanceFilter.java ! test/com/sun/jdi/InstancesTest.java ! test/com/sun/jdi/InterfaceMethodsTest.java ! test/com/sun/jdi/InterruptHangTest.java ! test/com/sun/jdi/InvokeHangTest.java ! test/com/sun/jdi/InvokeTest.java ! test/com/sun/jdi/JITDebug.sh ! test/com/sun/jdi/Java_gTest.java ! test/com/sun/jdi/LambdaStepTest.java ! test/com/sun/jdi/LaunchCommandLine.java ! test/com/sun/jdi/LineNumberInfo.java ! test/com/sun/jdi/ListenAddress.java ! test/com/sun/jdi/LocalVariableEqual.java ! test/com/sun/jdi/LocationTest.java ! test/com/sun/jdi/MethodEntryExitEvents.java ! test/com/sun/jdi/MethodExitReturnValuesTest.java ! test/com/sun/jdi/MixedSuspendTest.sh ! test/com/sun/jdi/ModificationWatchpoints.java ! test/com/sun/jdi/ModulesTest.java ! test/com/sun/jdi/MonitorEventTest.java ! test/com/sun/jdi/MonitorFrameInfo.java ! test/com/sun/jdi/MultiBreakpointsTest.java ! test/com/sun/jdi/NativeInstanceFilter.java ! test/com/sun/jdi/NewInstanceTest.java ! test/com/sun/jdi/NoLaunchOptionTest.java ! test/com/sun/jdi/NoLocInfoTest.java ! test/com/sun/jdi/NullThreadGroupNameTest.java ! test/com/sun/jdi/OnThrowTest.java ! test/com/sun/jdi/OptionTest.java ! test/com/sun/jdi/PopAndInvokeTest.java ! test/com/sun/jdi/PopAsynchronousTest.java ! test/com/sun/jdi/PopSynchronousTest.java ! test/com/sun/jdi/RedefineCrossEvent.java ! test/com/sun/jdi/RedefineCrossStart.java ! test/com/sun/jdi/ReferrersTest.java ! test/com/sun/jdi/RepStep.java ! test/com/sun/jdi/RequestReflectionTest.java ! test/com/sun/jdi/ResumeOneThreadTest.java ! test/com/sun/jdi/SDENullTest.java ! test/com/sun/jdi/SimulResumerTest.java ! test/com/sun/jdi/SourceNameFilterTest.java ! test/com/sun/jdi/StepTest.java ! test/com/sun/jdi/SuspendThreadTest.java + test/com/sun/jdi/TEST.properties ! test/com/sun/jdi/TemplateTest.java ! test/com/sun/jdi/ThreadGroupTest.java ! test/com/sun/jdi/TwoThreadsTest.java ! test/com/sun/jdi/UTF8Test.java ! test/com/sun/jdi/UnpreparedByName.java ! test/com/sun/jdi/UnpreparedClasses.java ! test/com/sun/jdi/VMDeathLastTest.java ! test/com/sun/jdi/VMDeathRequestTest.java ! test/com/sun/jdi/VarargsTest.java ! test/com/sun/jdi/Vars.java ! test/com/sun/jdi/VisibleMethods.java ! test/com/sun/jdi/connect/spi/GeneratedConnectors.java ! test/com/sun/jdi/redefine/RedefineTest.java ! test/com/sun/jdi/redefineMethod/RedefineTest.java ! test/com/sun/jdi/sde/FilterMangleTest.java ! test/com/sun/jdi/sde/MangleStepTest.java ! test/com/sun/jdi/sde/MangleTest.java ! test/com/sun/jdi/sde/SourceDebugExtensionTest.java ! test/com/sun/jdi/sde/TemperatureTableTest.java ! test/com/sun/management/DiagnosticCommandMBean/DcmdMBeanDoubleInvocationTest.java ! test/com/sun/management/DiagnosticCommandMBean/DcmdMBeanInvocationTest.java ! test/com/sun/management/DiagnosticCommandMBean/DcmdMBeanPermissionsTest.java ! test/com/sun/management/DiagnosticCommandMBean/DcmdMBeanTest.java ! test/com/sun/management/GarbageCollectorMXBean/LastGCInfo.java ! test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticOptions.java ! test/com/sun/management/HotSpotDiagnosticMXBean/GetDoubleVMOption.java ! test/com/sun/management/HotSpotDiagnosticMXBean/GetVMOption.java ! test/com/sun/management/HotSpotDiagnosticMXBean/SetAllVMOptions.java ! test/com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java ! test/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java ! test/com/sun/management/OperatingSystemMXBean/GetFreePhysicalMemorySize.java ! test/com/sun/management/OperatingSystemMXBean/GetFreeSwapSpaceSize.java ! test/com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java ! test/com/sun/management/OperatingSystemMXBean/GetProcessCpuTime.java ! test/com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java ! test/com/sun/management/OperatingSystemMXBean/GetTotalPhysicalMemorySize.java ! test/com/sun/management/OperatingSystemMXBean/MemoryStatusOverflow.java ! test/com/sun/management/OperatingSystemMXBean/TestTotalSwap.java + test/com/sun/management/TEST.properties ! test/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java ! test/com/sun/management/ThreadMXBean/ThreadAllocatedMemoryArray.java ! test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java ! test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh ! test/com/sun/management/VMOptionOpenDataTest.java ! test/com/sun/tools/attach/PermissionTest.java ! test/com/sun/tools/attach/ProviderTest.java ! test/com/sun/tools/attach/StartManagementAgent.java ! test/com/sun/tools/attach/TempDirTest.java ! test/java/lang/instrument/RedefineModuleTest.java ! test/java/lang/instrument/TestAgentWithLimitMods.java ! test/java/lang/management/ClassLoadingMXBean/LoadCounts.java ! test/java/lang/management/CompilationMXBean/Basic.java ! test/java/lang/management/CompositeData/MemoryUsageCompositeData.java ! test/java/lang/management/CompositeData/ThreadInfoCompositeData.java ! test/java/lang/management/ManagementFactory/GetObjectName.java ! test/java/lang/management/ManagementFactory/GetPlatformMXBeans.java ! test/java/lang/management/ManagementFactory/GetPlatformManagementInterfaces.java ! test/java/lang/management/ManagementFactory/MBeanServerMXBeanUnsupportedTest.java ! test/java/lang/management/ManagementFactory/MXBeanException.java ! test/java/lang/management/ManagementFactory/MXBeanProxyTest.java ! test/java/lang/management/ManagementFactory/PlatformMBeanServerTest.java ! test/java/lang/management/ManagementFactory/ProxyExceptions.java ! test/java/lang/management/ManagementFactory/ProxyTypeMapping.java + test/java/lang/management/ManagementFactory/TEST.properties ! test/java/lang/management/ManagementFactory/ThreadMXBeanProxy.java ! test/java/lang/management/ManagementFactory/ValidateOpenTypes.java ! test/java/lang/management/MemoryMXBean/LowMemoryTest.java ! test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh ! test/java/lang/management/MemoryMXBean/MemoryManagementConcMarkSweepGC.sh ! test/java/lang/management/MemoryMXBean/MemoryManagementParallelGC.sh ! test/java/lang/management/MemoryMXBean/MemoryManagementSerialGC.sh ! test/java/lang/management/MemoryMXBean/MemoryTestAllGC.sh ! test/java/lang/management/MemoryMXBean/Pending.java ! test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java ! test/java/lang/management/MemoryPoolMXBean/ThresholdTest.java ! test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh + test/java/lang/management/PlatformLoggingMXBean/TEST.properties ! test/java/lang/management/RuntimeMXBean/GetSystemProperties.java ! test/java/lang/management/RuntimeMXBean/PropertiesTest.java ! test/java/lang/management/RuntimeMXBean/TestInputArgument.sh ! test/java/lang/management/RuntimeMXBean/UpTime.java + test/java/lang/management/TEST.properties ! test/java/lang/management/ThreadMXBean/AllThreadIds.java ! test/java/lang/management/ThreadMXBean/DisableTest.java ! test/java/lang/management/ThreadMXBean/EnableTest.java ! test/java/lang/management/ThreadMXBean/FindDeadlocks.java ! test/java/lang/management/ThreadMXBean/FindMonitorDeadlock.java ! test/java/lang/management/ThreadMXBean/InvalidThreadID.java ! test/java/lang/management/ThreadMXBean/LockedMonitors.java ! test/java/lang/management/ThreadMXBean/LockedSynchronizers.java ! test/java/lang/management/ThreadMXBean/Locks.java ! test/java/lang/management/ThreadMXBean/MyOwnSynchronizer.java ! test/java/lang/management/ThreadMXBean/ResetPeakThreadCount.java ! test/java/lang/management/ThreadMXBean/SharedSynchronizer.java ! test/java/lang/management/ThreadMXBean/SynchronizationStatistics.java ! test/java/lang/management/ThreadMXBean/ThreadBlockedCount.java ! test/java/lang/management/ThreadMXBean/ThreadCounts.java ! test/java/lang/management/ThreadMXBean/ThreadCpuTime.java ! test/java/lang/management/ThreadMXBean/ThreadDaemonTest.java ! test/java/lang/management/ThreadMXBean/ThreadLists.java ! test/java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java ! test/java/lang/management/ThreadMXBean/ThreadStackTrace.java ! test/java/lang/management/ThreadMXBean/ThreadUserTime.java ! test/javax/management/ImplementationVersion/ImplVersionTest.java ! test/javax/management/Introspector/AnnotationSecurityTest.java ! test/javax/management/Introspector/AnnotationTest.java ! test/javax/management/Introspector/ChangingNotifsTest.java ! test/javax/management/Introspector/ClassLeakTest.java ! test/javax/management/Introspector/DuplicateGetterTest.java ! test/javax/management/Introspector/FeatureOrderTest.java ! test/javax/management/Introspector/GetMBeanInfoExceptionTest.java ! test/javax/management/Introspector/IdenticalMBeanInfoTest.java ! test/javax/management/Introspector/ImmutableNotificationInfoTest.java ! test/javax/management/Introspector/InvokeGettersTest.java ! test/javax/management/Introspector/IsMethodTest.java ! test/javax/management/Introspector/LegacyConstructorPropertiesTest.java ! test/javax/management/Introspector/NotAnMBeanTest.java ! test/javax/management/Introspector/NotCompliantCauseTest.java ! test/javax/management/Introspector/SetWrongTypeAttributeTest.java ! test/javax/management/Introspector/UnregisterMBeanExceptionTest.java ! test/javax/management/MBeanInfo/EqualExceptionTest.java ! test/javax/management/MBeanInfo/MBeanInfoEqualsNPETest.java ! test/javax/management/MBeanInfo/MBeanInfoEqualsTest.java ! test/javax/management/MBeanInfo/MBeanInfoHashCodeNPETest.java ! test/javax/management/MBeanInfo/NullInfoArraysTest.java ! test/javax/management/MBeanInfo/SerializationTest.java ! test/javax/management/MBeanInfo/SerializationTest1.java ! test/javax/management/MBeanInfo/TooManyFooTest.java ! test/javax/management/MBeanServer/AttributeListTypeSafeTest.java ! test/javax/management/MBeanServer/MBeanExceptionTest.java ! test/javax/management/MBeanServer/MBeanFallbackTest.java ! test/javax/management/MBeanServer/MBeanServerInvocationHandlerExceptionTest.java ! test/javax/management/MBeanServer/MBeanTest.java ! test/javax/management/MBeanServer/NewMBeanListenerTest.java ! test/javax/management/MBeanServer/NotifDeadlockTest.java ! test/javax/management/MBeanServer/PostExceptionTest.java ! test/javax/management/MBeanServer/PostRegisterDeadlockTest.java ! test/javax/management/MBeanServer/PostRegisterDeadlockTest2.java ! test/javax/management/MBeanServer/PreDeregisterDeadlockTest.java ! test/javax/management/MBeanServer/PreRegisterTest.java ! test/javax/management/MBeanServerFactory/ReleaseMBeanServerTest.java ! test/javax/management/MustBeValidMBeanInfo/MustBeValidCommand.java ! test/javax/management/ObjectInstance/MBeanInfoFailTest.java ! test/javax/management/ObjectInstance/ObjectInstanceNullTest.java ! test/javax/management/ObjectInstance/ToStringMethodTest.java ! test/javax/management/ObjectName/ApplyWildcardTest.java ! test/javax/management/ObjectName/ComparatorTest.java ! test/javax/management/ObjectName/DelegateNameWildcardNameTest.java ! test/javax/management/ObjectName/NullEmptyKeyValueTest.java ! test/javax/management/ObjectName/ObjectNameGetInstanceTest.java ! test/javax/management/ObjectName/RepositoryWildcardTest.java ! test/javax/management/ObjectName/SerialCompatTest.java ! test/javax/management/ObjectName/ValueWildcardTest.java + test/javax/management/TEST.properties ! test/javax/management/descriptor/DefaultDescriptorTest.java ! test/javax/management/descriptor/DescriptorTest.java ! test/javax/management/descriptor/EqualsHashCodeTest.java ! test/javax/management/descriptor/ImmutableArrayFieldTest.java ! test/javax/management/descriptor/ImmutableDescriptorSerialTest.java ! test/javax/management/descriptor/ImmutableDescriptorSetFieldsTest.java ! test/javax/management/descriptor/MBeanInfoInteropTest.java ! test/javax/management/descriptor/UnionTest.java ! test/javax/management/generified/GenericTest.java ! test/javax/management/generified/ListTypeCheckTest.java ! test/javax/management/loading/ArrayClassTest.java ! test/javax/management/loading/DocumentRootTest.java ! test/javax/management/loading/GetMBeansFromURLTest.java ! test/javax/management/loading/LibraryLoader/LibraryLoaderTest.java ! test/javax/management/loading/MLetCLR/MLetCommand.java ! test/javax/management/loading/MLetContentTest.java ! test/javax/management/loading/MletParserLocaleTest.java ! test/javax/management/loading/ParserInfiniteLoopTest.java ! test/javax/management/loading/SystemClassLoaderTest.java ! test/javax/management/modelmbean/AddAttributeChangeNotificationListenerTest.java ! test/javax/management/modelmbean/DescriptorSupportSerialTest.java ! test/javax/management/modelmbean/DescriptorSupportTest.java ! test/javax/management/modelmbean/DescriptorSupportXMLLocaleTest.java ! test/javax/management/modelmbean/DescriptorSupportXMLTest.java ! test/javax/management/modelmbean/ExoticTargetTypeTest.java ! test/javax/management/modelmbean/InfoSupportTest.java ! test/javax/management/modelmbean/LoggingExceptionTest.java ! test/javax/management/modelmbean/ModelMBeanInfoSupport/GetAllDescriptorsTest.java ! test/javax/management/modelmbean/OnUnregisterTest.java ! test/javax/management/modelmbean/RequiredModelMBeanGetAttributeTest.java ! test/javax/management/modelmbean/RequiredModelMBeanMethodTest.java ! test/javax/management/modelmbean/RequiredModelMBeanSetAttributeTest.java ! test/javax/management/modelmbean/SimpleModelMBean/SimpleModelMBeanCommand.java ! test/javax/management/monitor/CounterMonitorDeadlockTest.java ! test/javax/management/monitor/CounterMonitorInitThresholdTest.java ! test/javax/management/monitor/CounterMonitorTest.java ! test/javax/management/monitor/CounterMonitorThresholdTest.java ! test/javax/management/monitor/DerivedGaugeMonitorTest.java ! test/javax/management/monitor/GaugeMonitorDeadlockTest.java ! test/javax/management/monitor/MultiMonitorTest.java ! test/javax/management/monitor/NonComparableAttributeValueTest.java ! test/javax/management/monitor/NullAttributeValueTest.java ! test/javax/management/monitor/ReflectionExceptionTest.java ! test/javax/management/monitor/RuntimeExceptionTest.java ! test/javax/management/monitor/StartStopTest.java ! test/javax/management/monitor/StringMonitorDeadlockTest.java ! test/javax/management/monitor/ThreadPoolAccTest.java ! test/javax/management/monitor/ThreadPoolTest.java ! test/javax/management/mxbean/AmbiguousConstructorTest.java ! test/javax/management/mxbean/ComparatorExceptionTest.java ! test/javax/management/mxbean/ExceptionDiagnosisTest.java ! test/javax/management/mxbean/GenericTypeTest.java ! test/javax/management/mxbean/InvalidMXBeanRegistrationTest.java ! test/javax/management/mxbean/LeakTest.java ! test/javax/management/mxbean/MBeanOperationInfoTest.java ! test/javax/management/mxbean/MXBeanAnnotationTest.java ! test/javax/management/mxbean/MXBeanFallbackTest.java ! test/javax/management/mxbean/MXBeanFlagTest.java ! test/javax/management/mxbean/MXBeanLoadingTest1.java ! test/javax/management/mxbean/MXBeanPreRegisterTest.java ! test/javax/management/mxbean/MXBeanRefTest.java ! test/javax/management/mxbean/MiscTest.java ! test/javax/management/mxbean/OperationImpactTest.java ! test/javax/management/mxbean/OverloadTest.java ! test/javax/management/mxbean/PreRegisterNameTest.java ! test/javax/management/mxbean/PropertyNamesTest.java ! test/javax/management/mxbean/SameObjectTwoNamesTest.java ! test/javax/management/mxbean/StandardMBeanOverrideTest.java ! test/javax/management/mxbean/ThreadMXBeanTest.java ! test/javax/management/mxbean/TypeNameTest.java ! test/javax/management/notification/BroadcasterSupportDeadlockTest.java ! test/javax/management/notification/FilterExceptionTest.java ! test/javax/management/notification/NotifExecutorTest.java ! test/javax/management/notification/NotifInfoTest.java ! test/javax/management/openmbean/ArrayTypeTest.java ! test/javax/management/openmbean/BadConstraintTest.java ! test/javax/management/openmbean/CompositeDataStringTest.java ! test/javax/management/openmbean/ConstraintTest.java ! test/javax/management/openmbean/EqualsTest.java ! test/javax/management/openmbean/IsValueTest.java ! test/javax/management/openmbean/NullConstructorParamsTest.java ! test/javax/management/openmbean/OpenMBeanInfoEqualsNPETest.java ! test/javax/management/openmbean/OpenMBeanInfoHashCodeNPETest.java ! test/javax/management/openmbean/OpenTypeDescriptorTest.java ! test/javax/management/proxy/JMXProxyFallbackTest.java ! test/javax/management/proxy/JMXProxyTest.java ! test/javax/management/proxy/NotificationEmitterProxy.java ! test/javax/management/proxy/ProxyObjectMethodsTest.java ! test/javax/management/query/CustomQueryTest.java ! test/javax/management/query/InstanceOfExpTest.java ! test/javax/management/query/QueryExpStringTest.java ! test/javax/management/query/QueryMatchTest.java ! test/javax/management/query/QuerySubstringTest.java ! test/javax/management/relation/NonArrayListTest.java ! test/javax/management/relation/RelationNotificationSeqNoTest.java ! test/javax/management/relation/RelationNotificationSourceTest.java ! test/javax/management/relation/RelationTypeTest.java + test/javax/management/remote/mandatory/TEST.properties ! test/javax/management/remote/mandatory/URLTest.java ! test/javax/management/remote/mandatory/connection/AddressableTest.java ! test/javax/management/remote/mandatory/connection/BrokenConnectionTest.java ! test/javax/management/remote/mandatory/connection/CloseFailedClientTest.java ! test/javax/management/remote/mandatory/connection/CloseServerTest.java ! test/javax/management/remote/mandatory/connection/CloseUnconnectedTest.java ! test/javax/management/remote/mandatory/connection/CloseableTest.java ! test/javax/management/remote/mandatory/connection/ConnectionListenerNullTest.java ! test/javax/management/remote/mandatory/connection/ConnectionTest.java ! test/javax/management/remote/mandatory/connection/DaemonRMIExporterTest.java ! test/javax/management/remote/mandatory/connection/DeadLockTest.java ! test/javax/management/remote/mandatory/connection/FailedConnectionTest.java ! test/javax/management/remote/mandatory/connection/GetConnectionTest.java ! test/javax/management/remote/mandatory/connection/IIOPURLTest.java ! test/javax/management/remote/mandatory/connection/JMXServiceURLLocaleTest.java ! test/javax/management/remote/mandatory/connection/MultiOpenCloseTest.java ! test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java ! test/javax/management/remote/mandatory/connection/RMIConnectionIdTest.java ! test/javax/management/remote/mandatory/connection/RMIConnectorLogAttributesTest.java ! test/javax/management/remote/mandatory/connection/RMIExitTest.java ! test/javax/management/remote/mandatory/connection/RMISerializeTest.java ! test/javax/management/remote/mandatory/connection/ReconnectTest.java ! test/javax/management/remote/mandatory/connectorServer/ConnectorStopDeadlockTest.java ! test/javax/management/remote/mandatory/connectorServer/JNDIFailureTest.java ! test/javax/management/remote/mandatory/connectorServer/MBSFPreStartPostStartTest.java ! test/javax/management/remote/mandatory/loading/DefaultProviderTest.java ! test/javax/management/remote/mandatory/loading/DeserializeEncodedURLTest.java ! test/javax/management/remote/mandatory/loading/MethodResultTest.java ! test/javax/management/remote/mandatory/loading/MissingClassTest.java ! test/javax/management/remote/mandatory/loading/RMIDownloadTest.java ! test/javax/management/remote/mandatory/loading/TargetMBeanTest.java ! test/javax/management/remote/mandatory/loading/UserClassLoaderTest.java ! test/javax/management/remote/mandatory/notif/AddRemoveTest.java ! test/javax/management/remote/mandatory/notif/ConcurrentModificationTest.java ! test/javax/management/remote/mandatory/notif/DiffHBTest.java ! test/javax/management/remote/mandatory/notif/EmptyDomainNotificationTest.java ! test/javax/management/remote/mandatory/notif/ListenerScaleTest.java ! test/javax/management/remote/mandatory/notif/NotSerializableNotifTest.java ! test/javax/management/remote/mandatory/notif/NotifBufferSizePropertyNameTest.java ! test/javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java ! test/javax/management/remote/mandatory/notif/NotificationBufferCreationTest.java ! test/javax/management/remote/mandatory/notif/NotificationBufferDeadlockTest.java ! test/javax/management/remote/mandatory/notif/NotificationEmissionTest.java ! test/javax/management/remote/mandatory/notif/RMINotifTest.java ! test/javax/management/remote/mandatory/notif/ServerNotifs.java ! test/javax/management/remote/mandatory/notif/UnexpectedNotifTest.java ! test/javax/management/remote/mandatory/passwordAccessFile/NonJMXPrincipalsTest.java ! test/javax/management/remote/mandatory/passwordAccessFile/PasswordAccessFileTest.java ! test/javax/management/remote/mandatory/provider/ProviderTest.java ! test/javax/management/remote/mandatory/socketFactories/RMISocketFactoriesTest.java ! test/javax/management/remote/mandatory/threads/ExecutorShutdownTest.java ! test/javax/management/remote/mandatory/threads/ExecutorTest.java ! test/javax/management/remote/mandatory/threads/NoServerTimeoutTest.java ! test/javax/management/remote/mandatory/version/ImplVersionTest.java ! test/javax/management/security/AvoidGetMBeanInfoCallsTest.java ! test/javax/management/security/MBeanPermissionTest.java ! test/javax/management/standardmbean/DeadlockTest.java ! test/javax/management/timer/MissingNotificationTest.java ! test/javax/management/timer/StartTest.java + test/sun/jvmstat/TEST.properties ! test/sun/jvmstat/monitor/HostIdentifier/HostIdentifierCreate.java ! test/sun/jvmstat/monitor/MonitoredVm/TestPollingInterval.java ! test/sun/jvmstat/monitor/VmIdentifier/VmIdentifierCreateResolve.java ! test/sun/jvmstat/perfdata/PrologSanity/PrologSizeSanityCheck.java ! test/sun/management/HotspotClassLoadingMBean/GetClassInitializationTime.java ! test/sun/management/HotspotClassLoadingMBean/GetClassLoadingTime.java ! test/sun/management/HotspotClassLoadingMBean/GetInitializedClassCount.java ! test/sun/management/HotspotClassLoadingMBean/GetLoadedClassSize.java ! test/sun/management/HotspotClassLoadingMBean/GetMethodDataSize.java ! test/sun/management/HotspotClassLoadingMBean/GetUnloadedClassSize.java ! test/sun/management/HotspotRuntimeMBean/GetSafepointCount.java ! test/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java ! test/sun/management/HotspotRuntimeMBean/GetTotalSafepointTime.java ! test/sun/management/HotspotThreadMBean/GetInternalThreads.java ! test/sun/management/LazyCompositeDataTest.java ! test/sun/management/LoggingTest/LoggingWithJULTest.java ! test/sun/management/LoggingTest/LoggingWithLoggerFinderTest.java ! test/sun/management/StackTraceElementCompositeData/CompatibilityTest.java + test/sun/management/TEST.properties ! test/sun/management/jdp/JdpDefaultsTest.java ! test/sun/management/jdp/JdpJmxRemoteDynamicPortTest.java ! test/sun/management/jdp/JdpOffTest.java ! test/sun/management/jdp/JdpSpecificAddressTest.java + test/sun/management/jdp/TEST.properties ! test/sun/management/jmxremote/LocalRMIServerSocketFactoryTest.java + test/sun/management/jmxremote/TEST.properties ! test/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java ! test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java ! test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh ! test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java ! test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh ! test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh ! test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java ! test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java ! test/sun/management/jmxremote/startstop/JMXStatusTest.java + test/sun/tools/jcmd/TEST.properties ! test/sun/tools/jcmd/TestJcmdDefaults.java ! test/sun/tools/jcmd/TestJcmdSanity.java ! test/sun/tools/jconsole/ResourceCheckTest.java + test/sun/tools/jhsdb/TEST.properties ! test/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java ! test/sun/tools/jinfo/JInfoTest.java + test/sun/tools/jinfo/TEST.properties + test/sun/tools/jmap/TEST.properties + test/sun/tools/jstack/TEST.properties + test/sun/tools/jstat/TEST.properties + test/sun/tools/jstatd/TEST.properties ! test/sun/tools/jstatd/TestJstatdDefaults.java ! test/sun/tools/jstatd/TestJstatdExternalRegistry.java ! test/sun/tools/jstatd/TestJstatdPort.java ! test/sun/tools/jstatd/TestJstatdPortAndServer.java ! test/sun/tools/jstatd/TestJstatdServer.java Changeset: 63545defbee3 Author: jwilhelm Date: 2017-03-20 23:49 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/63545defbee3 Merge Changeset: 2d00e12c474d Author: iignatyev Date: 2017-03-22 17:57 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/2d00e12c474d 8177374: fix module dependency declaration in jdk_svc tests Reviewed-by: mchung, sspitsyn ! test/com/sun/tools/attach/BasicTests.java ! test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java ! test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java ! test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java ! test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java ! test/sun/management/jmxremote/bootstrap/LocalManagementTest.java ! test/sun/management/jmxremote/startstop/JMXStartStopTest.java ! test/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java Changeset: e42aa54d7ed7 Author: jwilhelm Date: 2017-03-23 15:06 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e42aa54d7ed7 Merge Changeset: b45f8cb93c6f Author: jwilhelm Date: 2017-03-25 00:31 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b45f8cb93c6f Merge Changeset: eeffca2a1db2 Author: jwilhelm Date: 2017-03-30 19:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/eeffca2a1db2 Merge Changeset: b23f0d9ff042 Author: jwilhelm Date: 2017-03-30 21:02 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b23f0d9ff042 Merge Changeset: 184445e67dc7 Author: sherman Date: 2017-03-31 11:33 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/184445e67dc7 8177910: Update zlib copyright note in idk/src/java.base/share/legal/zlib.md Reviewed-by: mchung, rriggs ! src/java.base/share/legal/zlib.md Changeset: 7c72114a5558 Author: smarks Date: 2017-03-31 14:21 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/7c72114a5558 8177653: clarify restrictions on Iterator.forEachRemaining Reviewed-by: martin ! src/java.base/share/classes/java/util/Iterator.java Changeset: f2612af45b7a Author: amlu Date: 2017-04-01 10:19 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f2612af45b7a 8177638: com/sun/jarsigner, jdk/internal/loader (and more) are missed in TEST.groups Reviewed-by: sspitsyn, weijun ! test/ProblemList.txt ! test/TEST.groups Changeset: 6dea581453d7 Author: dfuchs Date: 2017-04-03 12:54 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/6dea581453d7 8177835: System.LoggerFinder#getLogger or getLocalizedLogger does not throw NPE Reviewed-by: rriggs, mchung ! src/java.base/share/classes/jdk/internal/logger/DefaultLoggerFinder.java + test/java/lang/System/LoggerFinder/LoggerFinderAPI/LoggerFinderAPI.java Changeset: c779133005cf Author: lana Date: 2017-04-06 04:53 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/c779133005cf Merge ! .hgtags - src/java.base/macosx/native/launcher/jexec.c ! src/java.base/share/classes/java/lang/System.java - src/java.base/unix/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java ! test/ProblemList.txt ! test/java/lang/management/MemoryMXBean/LowMemoryTest.java ! test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh ! test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:40:46 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:40:46 +0000 Subject: hg: amber/amber/langtools: manual merge Message-ID: <201704061640.v36GekgR007107@aojmv0008.oracle.com> Changeset: a27ee148c0e3 Author: mcimadamore Date: 2017-04-06 17:39 +0100 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/a27ee148c0e3 manual merge ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Analyzer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:41:19 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:41:19 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704061641.v36GfKvj008010@aojmv0008.oracle.com> Changeset: 35c7cc2ef72c Author: langtools Date: 2017-04-06 18:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/35c7cc2ef72c Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:41:18 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:41:18 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704061641.v36GfIpp007880@aojmv0008.oracle.com> Changeset: 618216aed4b2 Author: langtools Date: 2017-04-06 18:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/618216aed4b2 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:41:21 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:41:21 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704061641.v36GfLNO008107@aojmv0008.oracle.com> Changeset: 1c83fc75a776 Author: langtools Date: 2017-04-06 18:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/1c83fc75a776 Automatic merge with default - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-itself.xml - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-left.xml - test/javax/xml/jaxp/unittest/catalog/catalogReferCircle-right.xml From maurizio.cimadamore at oracle.com Thu Apr 6 16:41:19 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:41:19 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704061641.v36GfJo1007955@aojmv0008.oracle.com> Changeset: 6d23d7222d2d Author: langtools Date: 2017-04-06 18:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/6d23d7222d2d Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:41:22 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:41:22 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704061641.v36GfMM5008128@aojmv0008.oracle.com> Changeset: 0739e836e234 Author: langtools Date: 2017-04-06 18:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/0739e836e234 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 16:41:23 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:41:23 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704061641.v36GfNkN008162@aojmv0008.oracle.com> Changeset: 058e103d28cf Author: langtools Date: 2017-04-06 18:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/058e103d28cf Automatic merge with default - src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java From maurizio.cimadamore at oracle.com Thu Apr 6 16:41:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 16:41:24 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704061641.v36GfOsT008171@aojmv0008.oracle.com> Changeset: 976d875b0c14 Author: langtools Date: 2017-04-06 18:39 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/976d875b0c14 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 17:11:53 2017 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 6 Apr 2017 18:11:53 +0100 Subject: [lvti] - first prototype pushed Message-ID: <8a23c576-c761-fb3c-9371-66e578f0441b@oracle.com> Hi, i case you missed the commits, support for local variable type inference has been pushed in the amber repo (branch name is 'lvti'). The support is an updated version of the compiler patch that was shared some time ago [1, 2]. The prototype should be in a pretty mature stage, and it tracks the corresponding spec draft [4] pretty closely. That said, there are still some tweaks we'd like to do (some of them pending on the results of some spec discussions): * share logic for upwards projection between javac and jshell * refine handling of non-denotable types (esp. interesection types and anonymous class types) - see [3] [1] - http://mail.openjdk.java.net/pipermail/platform-jep-discuss/2016-March/000038.html [2] - http://mail.openjdk.java.net/pipermail/platform-jep-discuss/2016-March/000057.html [3] - http://mail.openjdk.java.net/pipermail/amber-spec-experts/2017-March/000022.html [4] - http://mail.openjdk.java.net/pipermail/amber-spec-experts/2017-March/000015.html From maurizio.cimadamore at oracle.com Thu Apr 6 20:27:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 20:27:04 +0000 Subject: hg: amber/amber/jdk: 8161973: PKIXRevocationChecker.getSoftFailExceptions() not working Message-ID: <201704062027.v36KR4bW022203@aojmv0008.oracle.com> Changeset: 4cab82804a44 Author: mullan Date: 2017-04-06 16:21 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/4cab82804a44 8161973: PKIXRevocationChecker.getSoftFailExceptions() not working Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java ! test/java/security/cert/PKIXRevocationChecker/OcspUnauthorized.java ! test/javax/net/ssl/Stapling/SSLSocketWithStapling.java From maurizio.cimadamore at oracle.com Thu Apr 6 20:27:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 20:27:34 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704062027.v36KRYkH023667@aojmv0008.oracle.com> Changeset: 4b4615decf9c Author: langtools Date: 2017-04-06 22:25 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/4b4615decf9c Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 20:28:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 20:28:04 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704062028.v36KS5k0025021@aojmv0008.oracle.com> Changeset: cdcc632bc622 Author: langtools Date: 2017-04-06 22:25 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/cdcc632bc622 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 6 20:28:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Apr 2017 20:28:35 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704062028.v36KSZ7C026555@aojmv0008.oracle.com> Changeset: 45f9e3a42ca3 Author: langtools Date: 2017-04-06 22:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/45f9e3a42ca3 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:20 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:20 +0000 Subject: hg: amber/amber/nashorn: 2 new changesets Message-ID: <201704102117.v3ALHKQc014324@aojmv0008.oracle.com> Changeset: 8c8c38891345 Author: lana Date: 2017-04-06 17:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/8c8c38891345 Added tag jdk-9+164 for changeset b473fab09baa ! .hgtags Changeset: e6bc0ad505e6 Author: lana Date: 2017-04-08 03:24 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/e6bc0ad505e6 Merge ! .hgtags From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:19 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:19 +0000 Subject: hg: amber/amber: 2 new changesets Message-ID: <201704102117.v3ALHJEk014253@aojmv0008.oracle.com> Changeset: 6fe9f8461672 Author: lana Date: 2017-04-06 17:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/6fe9f8461672 Added tag jdk-9+164 for changeset 7810f75d016a ! .hgtags Changeset: 8ec175c61fc3 Author: lana Date: 2017-04-08 03:24 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/8ec175c61fc3 Merge ! .hgtags - common/bin/shell-tracer.sh From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:22 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:22 +0000 Subject: hg: amber/amber/jaxp: 2 new changesets Message-ID: <201704102117.v3ALHMXU014443@aojmv0008.oracle.com> Changeset: 8ecce2375af1 Author: lana Date: 2017-04-06 17:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/8ecce2375af1 Added tag jdk-9+164 for changeset 6dc790a4e831 ! .hgtags Changeset: 1f64e853c72b Author: lana Date: 2017-04-08 03:25 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/1f64e853c72b Merge ! .hgtags From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:21 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:21 +0000 Subject: hg: amber/amber/langtools: 2 new changesets Message-ID: <201704102117.v3ALHLgG014393@aojmv0008.oracle.com> Changeset: 77a4b2e2e5be Author: lana Date: 2017-04-06 17:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/77a4b2e2e5be Added tag jdk-9+164 for changeset c7f3df19667b ! .hgtags Changeset: ef9180164e08 Author: lana Date: 2017-04-08 03:25 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/ef9180164e08 Merge ! .hgtags From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:23 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:23 +0000 Subject: hg: amber/amber/corba: 2 new changesets Message-ID: <201704102117.v3ALHNCZ014524@aojmv0008.oracle.com> Changeset: a510b2201154 Author: lana Date: 2017-04-06 17:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/a510b2201154 Added tag jdk-9+164 for changeset 965bbae30727 ! .hgtags Changeset: 5d6d891bb36d Author: lana Date: 2017-04-08 03:25 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/5d6d891bb36d Merge ! .hgtags From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:24 +0000 Subject: hg: amber/amber/jaxws: 2 new changesets Message-ID: <201704102117.v3ALHOPD014569@aojmv0008.oracle.com> Changeset: b92bbd3a5613 Author: lana Date: 2017-04-06 17:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/b92bbd3a5613 Added tag jdk-9+164 for changeset 1a52de2da827 ! .hgtags Changeset: ac7e572a6a6b Author: lana Date: 2017-04-08 03:25 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/ac7e572a6a6b Merge ! .hgtags From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:25 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:25 +0000 Subject: hg: amber/amber/jdk: 4 new changesets Message-ID: <201704102117.v3ALHPBW014614@aojmv0008.oracle.com> Changeset: 645c0d3e3977 Author: lana Date: 2017-04-06 17:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/645c0d3e3977 Added tag jdk-9+164 for changeset 6dea581453d7 ! .hgtags Changeset: 37f8b938b680 Author: lana Date: 2017-04-08 03:25 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/37f8b938b680 Merge ! .hgtags - src/java.base/macosx/native/launcher/jexec.c - src/java.base/unix/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Changeset: 1f0fb30f5279 Author: dl Date: 2017-04-10 13:46 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/1f0fb30f5279 8176402: parameter name switcharoo in ConcurrentHashMap Reviewed-by: martin, psandoz ! src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java Changeset: 8cd9c45a2802 Author: dl Date: 2017-04-10 13:46 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/8cd9c45a2802 8176543: Miscellaneous changes imported from jsr166 CVS 2017-04 Reviewed-by: martin, psandoz ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListSet.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinWorkerThread.java ! src/java.base/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java ! test/java/util/concurrent/tck/ArrayDeque8Test.java ! test/java/util/concurrent/tck/ArrayDequeTest.java ! test/java/util/concurrent/tck/ArrayListTest.java ! test/java/util/concurrent/tck/AtomicReferenceFieldUpdaterTest.java ! test/java/util/concurrent/tck/AtomicReferenceTest.java ! test/java/util/concurrent/tck/CompletableFutureTest.java ! test/java/util/concurrent/tck/ConcurrentHashMap8Test.java ! test/java/util/concurrent/tck/ConcurrentHashMapTest.java ! test/java/util/concurrent/tck/ConcurrentLinkedDequeTest.java ! test/java/util/concurrent/tck/ConcurrentLinkedQueueTest.java ! test/java/util/concurrent/tck/ConcurrentSkipListSetTest.java ! test/java/util/concurrent/tck/ConcurrentSkipListSubSetTest.java ! test/java/util/concurrent/tck/CopyOnWriteArrayListTest.java ! test/java/util/concurrent/tck/CountedCompleter8Test.java ! test/java/util/concurrent/tck/CountedCompleterTest.java ! test/java/util/concurrent/tck/ExchangerTest.java ! test/java/util/concurrent/tck/ExecutorCompletionService9Test.java ! test/java/util/concurrent/tck/ExecutorCompletionServiceTest.java ! test/java/util/concurrent/tck/ExecutorsTest.java ! test/java/util/concurrent/tck/ForkJoinPool8Test.java ! test/java/util/concurrent/tck/ForkJoinPool9Test.java ! test/java/util/concurrent/tck/ForkJoinPoolTest.java ! test/java/util/concurrent/tck/ForkJoinTask8Test.java ! test/java/util/concurrent/tck/JSR166TestCase.java ! test/java/util/concurrent/tck/LinkedBlockingDeque8Test.java ! test/java/util/concurrent/tck/LinkedBlockingDequeTest.java ! test/java/util/concurrent/tck/LinkedBlockingQueue8Test.java ! test/java/util/concurrent/tck/LinkedBlockingQueueTest.java ! test/java/util/concurrent/tck/LinkedListTest.java ! test/java/util/concurrent/tck/LinkedTransferQueueTest.java ! test/java/util/concurrent/tck/PriorityBlockingQueueTest.java ! test/java/util/concurrent/tck/PriorityQueueTest.java ! test/java/util/concurrent/tck/RecursiveActionTest.java ! test/java/util/concurrent/tck/RecursiveTaskTest.java ! test/java/util/concurrent/tck/StampedLockTest.java ! test/java/util/concurrent/tck/SubmissionPublisherTest.java ! test/java/util/concurrent/tck/SynchronousQueueTest.java ! test/java/util/concurrent/tck/ThreadPoolExecutorSubclassTest.java ! test/java/util/concurrent/tck/ThreadPoolExecutorTest.java ! test/java/util/concurrent/tck/ThreadTest.java ! test/java/util/concurrent/tck/TreeSetTest.java ! test/java/util/concurrent/tck/TreeSubSetTest.java ! test/java/util/concurrent/tck/VectorTest.java From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:25 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:25 +0000 Subject: hg: amber/amber/hotspot: 2 new changesets Message-ID: <201704102117.v3ALHQnd014632@aojmv0008.oracle.com> Changeset: e2a24f3510e9 Author: lana Date: 2017-04-06 17:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/e2a24f3510e9 Added tag jdk-9+164 for changeset 0af429be8bba ! .hgtags Changeset: 8295ca08f5cb Author: lana Date: 2017-04-08 03:24 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/8295ca08f5cb Merge ! .hgtags - test/gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java - test/gc/startup_warnings/TestDefNewCMS.java - test/gc/startup_warnings/TestParNewCMS.java - test/gc/startup_warnings/TestParNewSerialOld.java - test/gc/startup_warnings/TestUseAutoGCSelectPolicy.java - test/runtime/NMT/AutoshutdownNMT.java From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:54 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:54 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704102117.v3ALHsic016138@aojmv0008.oracle.com> Changeset: e8d4fb6b79e0 Author: langtools Date: 2017-04-10 23:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/e8d4fb6b79e0 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:53 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:53 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704102117.v3ALHrM8016060@aojmv0008.oracle.com> Changeset: 1cbea8986ccc Author: langtools Date: 2017-04-10 23:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/1cbea8986ccc Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:55 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704102117.v3ALHtdd016194@aojmv0008.oracle.com> Changeset: 61e624100251 Author: langtools Date: 2017-04-10 23:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/61e624100251 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:56 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:56 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704102117.v3ALHuT8016248@aojmv0008.oracle.com> Changeset: 7e93bf9a6711 Author: langtools Date: 2017-04-10 23:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/7e93bf9a6711 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:57 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:57 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704102117.v3ALHvoc016346@aojmv0008.oracle.com> Changeset: 1b6af6906511 Author: langtools Date: 2017-04-10 23:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/1b6af6906511 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:58 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:58 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704102117.v3ALHwa8016353@aojmv0008.oracle.com> Changeset: 620c41fd500d Author: langtools Date: 2017-04-10 23:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/620c41fd500d Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:17:59 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:17:59 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704102117.v3ALHxea016359@aojmv0008.oracle.com> Changeset: 286e0c8618c8 Author: langtools Date: 2017-04-10 23:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/286e0c8618c8 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:00 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:00 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704102118.v3ALI0SU016364@aojmv0008.oracle.com> Changeset: 539a35f6f55e Author: langtools Date: 2017-04-10 23:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/539a35f6f55e Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:28 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:28 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704102118.v3ALISp9017779@aojmv0008.oracle.com> Changeset: 5630f10c9e70 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/5630f10c9e70 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:29 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:29 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704102118.v3ALITts017832@aojmv0008.oracle.com> Changeset: 211e4e664d25 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/211e4e664d25 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:27 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:27 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704102118.v3ALIRAg017723@aojmv0008.oracle.com> Changeset: a22983f8b15b Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/a22983f8b15b Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:30 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704102118.v3ALIUVm017913@aojmv0008.oracle.com> Changeset: 526bb4f23718 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/526bb4f23718 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:31 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704102118.v3ALIV1A017972@aojmv0008.oracle.com> Changeset: 3ec0c31d6ed1 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/3ec0c31d6ed1 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:32 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:32 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704102118.v3ALIWR1017979@aojmv0008.oracle.com> Changeset: 30fc09ff5f3a Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/30fc09ff5f3a Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:33 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:33 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704102118.v3ALIXAm017984@aojmv0008.oracle.com> Changeset: 5da406d9dee8 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/5da406d9dee8 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:18:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:18:34 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704102118.v3ALIYdv017989@aojmv0008.oracle.com> Changeset: 66db89709b81 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/66db89709b81 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:19:02 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:19:02 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704102119.v3ALJ2Lo019464@aojmv0008.oracle.com> Changeset: e4338419b8e7 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/e4338419b8e7 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:19:00 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:19:00 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704102119.v3ALJ015019334@aojmv0008.oracle.com> Changeset: 526c4e15978c Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/526c4e15978c Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:19:01 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:19:01 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704102119.v3ALJ1AI019421@aojmv0008.oracle.com> Changeset: a5ee7c87811f Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/a5ee7c87811f Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:19:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:19:03 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704102119.v3ALJ3JT019544@aojmv0008.oracle.com> Changeset: b686ff11319e Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/b686ff11319e Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:19:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:19:04 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704102119.v3ALJ4EA019609@aojmv0008.oracle.com> Changeset: a9f8ec50086b Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a9f8ec50086b Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:19:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:19:05 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704102119.v3ALJ57t019613@aojmv0008.oracle.com> Changeset: cba9f06b0266 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/cba9f06b0266 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:19:06 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:19:06 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704102119.v3ALJ6Em019622@aojmv0008.oracle.com> Changeset: 92fb5baa38d2 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/92fb5baa38d2 Automatic merge with default From maurizio.cimadamore at oracle.com Mon Apr 10 21:19:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Apr 2017 21:19:05 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704102119.v3ALJ6N7019616@aojmv0008.oracle.com> Changeset: 4f679e973394 Author: langtools Date: 2017-04-10 23:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/4f679e973394 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 09:32:11 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 09:32:11 +0000 Subject: hg: amber/amber/jdk: 8178384: Reduce work in java.lang.invoke initializers Message-ID: <201704110932.v3B9WB6j005776@aojmv0008.oracle.com> Changeset: 3696d4c26897 Author: redestad Date: 2017-04-11 11:24 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/3696d4c26897 8178384: Reduce work in java.lang.invoke initializers Reviewed-by: vlivanov, psandoz ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/Invokers.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/sun/invoke/util/Wrapper.java From maurizio.cimadamore at oracle.com Tue Apr 11 09:32:41 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 09:32:41 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704110932.v3B9WgPM007523@aojmv0008.oracle.com> Changeset: 7d85928262a4 Author: langtools Date: 2017-04-11 11:30 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/7d85928262a4 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 09:33:10 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 09:33:10 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704110933.v3B9XAVF008897@aojmv0008.oracle.com> Changeset: 605b9dae0095 Author: langtools Date: 2017-04-11 11:30 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/605b9dae0095 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 09:33:41 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 09:33:41 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704110933.v3B9XgcX010546@aojmv0008.oracle.com> Changeset: f66d5a77aaa2 Author: langtools Date: 2017-04-11 11:31 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f66d5a77aaa2 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 17:07:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 17:07:09 +0000 Subject: hg: amber/amber/jdk: 8178387: Reduce memory churn when creating java.lang.invoke entities Message-ID: <201704111707.v3BH7AVn008787@aojmv0008.oracle.com> Changeset: 9363dd4a4fb9 Author: redestad Date: 2017-04-11 18:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9363dd4a4fb9 8178387: Reduce memory churn when creating java.lang.invoke entities Reviewed-by: psandoz, vlivanov ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodType.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.java ! src/java.base/share/classes/sun/invoke/util/Wrapper.java From maurizio.cimadamore at oracle.com Tue Apr 11 17:07:40 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 17:07:40 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704111707.v3BH7eaS010304@aojmv0008.oracle.com> Changeset: 644b3f809d3f Author: langtools Date: 2017-04-11 19:05 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/644b3f809d3f Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 17:08:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 17:08:09 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704111708.v3BH89lU011703@aojmv0008.oracle.com> Changeset: b28ec1ce05eb Author: langtools Date: 2017-04-11 19:05 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b28ec1ce05eb Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 17:08:36 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 17:08:36 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704111708.v3BH8bPQ013186@aojmv0008.oracle.com> Changeset: 62def6dbf30b Author: langtools Date: 2017-04-11 19:06 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/62def6dbf30b Automatic merge with default From brian.goetz at oracle.com Tue Apr 11 19:11:18 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Tue, 11 Apr 2017 15:11:18 -0400 Subject: Enhanced Enums -- use cases Message-ID: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> As you may have noticed, we pushed an implementation of Enhanced Enums some time ago. We're hoping to get user feedback on the feature as it is now implemented. To get things started, here are some typical use cases where generic enums might be useful. Please contribute others, as well as places in the JDK where code could be refactored using this feature. An obvious example is com.sun.tools.javac.code.Dynamic (http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l51), where we have an enum that represents the kinds of types representable in the constant pool. In that case, these factory methods: http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l137 should be collapsible to a single generic method: static BootstrapArgument constant(Kind kind, D data). Another example is command line parsing; for command line arguments, we can represent them as enums whose type represents the type of an (optional) parameter: enum Args { QUIET("quiet", "q"), FILE("file", "f"), COUNT("count", "c"), .... } (though its not obvious what the type arg of QUIET should be.) If anyone wants to experiment and offer their experience in applying (or misapplying) this feature, either to the JDK or their own codebase, that would be appreciated.... From vicente.romero at oracle.com Tue Apr 11 19:32:47 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Tue, 11 Apr 2017 15:32:47 -0400 Subject: Enhanced Enums -- use cases In-Reply-To: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> References: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> Message-ID: <459c6a6e-fe91-f498-a8d8-e2bb3cdf78ab@oracle.com> Hi, Some additional examples, this one shows code sharing between enum constants public class SharingCodeWithEnhancedEnums { enum Primitive { INT { // instead of replicating code INT.even() can make use of LONG.even() boolean even(int value) { return LONG.even(value); } }, LONG { boolean even(long value) { return value % 2 == 0; } }; } public static void main(String... args) { // prints: true System.out.println(Primitive.INT.even(4)); } } This one shows the power of sharper typing enum EnumConstants { BYTE { static final int BITSIZE = 8; }, INT { static final int BITSIZE = 32; }; public static void main(String... av) { System.out.println("BYTE.BITSIZE = " + BYTE.BITSIZE); // prints: BYTE.BITSIZE = 8 System.out.println("INT.BITSIZE = " + INT.BITSIZE); // prints: INT.BITSIZE = 32 } } Thanks, Vicente On 04/11/2017 03:11 PM, Brian Goetz wrote: > As you may have noticed, we pushed an implementation of Enhanced Enums > some time ago. We're hoping to get user feedback on the feature as it > is now implemented. > > To get things started, here are some typical use cases where generic > enums might be useful. Please contribute others, as well as places in > the JDK where code could be refactored using this feature. > > An obvious example is com.sun.tools.javac.code.Dynamic > (http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l51), > where we have an enum that represents the kinds of types representable > in the constant pool. > > In that case, these factory methods: > > http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l137 > > > should be collapsible to a single generic method: > > static BootstrapArgument constant(Kind kind, D data). > > > Another example is command line parsing; for command line arguments, > we can represent them as enums whose type represents the type of an > (optional) parameter: > > enum Args { > QUIET("quiet", "q"), > FILE("file", "f"), > COUNT("count", "c"), .... > } > > (though its not obvious what the type arg of QUIET should be.) > > > If anyone wants to experiment and offer their experience in applying > (or misapplying) this feature, either to the JDK or their own > codebase, that would be appreciated.... > > From maurizio.cimadamore at oracle.com Tue Apr 11 20:42:14 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 20:42:14 +0000 Subject: hg: amber/amber/jdk: 8178480: Wrong exception being thrown on an invalid MethodType Message-ID: <201704112042.v3BKgE9B022953@aojmv0008.oracle.com> Changeset: fbedc2de689f Author: redestad Date: 2017-04-11 22:32 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fbedc2de689f 8178480: Wrong exception being thrown on an invalid MethodType Reviewed-by: psandoz ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java From maurizio.cimadamore at oracle.com Tue Apr 11 20:42:46 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 20:42:46 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704112042.v3BKgkJv024444@aojmv0008.oracle.com> Changeset: d5873d14f308 Author: langtools Date: 2017-04-11 22:40 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d5873d14f308 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 20:43:19 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 20:43:19 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704112043.v3BKhJnu025837@aojmv0008.oracle.com> Changeset: 6389113df12c Author: langtools Date: 2017-04-11 22:40 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/6389113df12c Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 20:43:49 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 20:43:49 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704112043.v3BKhnXI027354@aojmv0008.oracle.com> Changeset: 9735229920a1 Author: langtools Date: 2017-04-11 22:41 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9735229920a1 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:52:08 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:52:08 +0000 Subject: hg: amber/amber: 8178340: remove unneeded "throws" from ProcessTools::createJavaProcessBuilder Message-ID: <201704112252.v3BMq87G006451@aojmv0008.oracle.com> Changeset: 90d0ca531471 Author: iignatyev Date: 2017-04-11 13:55 -0700 URL: http://hg.openjdk.java.net/amber/amber/rev/90d0ca531471 8178340: remove unneeded "throws" from ProcessTools::createJavaProcessBuilder Reviewed-by: dholmes ! test/lib/jdk/test/lib/process/ProcessTools.java From maurizio.cimadamore at oracle.com Tue Apr 11 22:52:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:52:09 +0000 Subject: hg: amber/amber/jdk: 2 new changesets Message-ID: <201704112252.v3BMq9Hv006536@aojmv0008.oracle.com> Changeset: 0e6dedb65d04 Author: iignatyev Date: 2017-04-11 13:55 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/0e6dedb65d04 8178340: remove unneeded "throws" from ProcessTools::createJavaProcessBuilder Reviewed-by: dholmes ! test/lib/testlibrary/jdk/testlibrary/ProcessTools.java Changeset: e8c2654e2530 Author: iignatyev Date: 2017-04-11 21:51 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e8c2654e2530 Merge From maurizio.cimadamore at oracle.com Tue Apr 11 22:52:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:52:09 +0000 Subject: hg: amber/amber/jaxp: 8178340: remove unneeded "throws" from ProcessTools::createJavaProcessBuilder Message-ID: <201704112252.v3BMq9xA006533@aojmv0008.oracle.com> Changeset: aceed0ba2e37 Author: iignatyev Date: 2017-04-11 13:55 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/aceed0ba2e37 8178340: remove unneeded "throws" from ProcessTools::createJavaProcessBuilder Reviewed-by: dholmes ! test/javax/xml/jaxp/libs/jdk/testlibrary/ProcessTools.java From maurizio.cimadamore at oracle.com Tue Apr 11 22:52:42 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:52:42 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704112252.v3BMqgID007975@aojmv0008.oracle.com> Changeset: 3a6ce1abf6ce Author: langtools Date: 2017-04-12 00:50 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/3a6ce1abf6ce Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:52:41 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:52:41 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704112252.v3BMqffn007922@aojmv0008.oracle.com> Changeset: 4999bfd274cc Author: langtools Date: 2017-04-12 00:50 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/4999bfd274cc Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:52:45 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:52:45 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704112252.v3BMqjB8008094@aojmv0008.oracle.com> Changeset: 118271650fef Author: langtools Date: 2017-04-12 00:50 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/118271650fef Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:53:12 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:53:12 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704112253.v3BMrC25009291@aojmv0008.oracle.com> Changeset: 3e4b7aa03c6c Author: langtools Date: 2017-04-12 00:50 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/3e4b7aa03c6c Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:53:16 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:53:16 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704112253.v3BMrGHX009449@aojmv0008.oracle.com> Changeset: 193996d49f5a Author: langtools Date: 2017-04-12 00:50 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/193996d49f5a Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:53:17 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:53:17 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704112253.v3BMrHgv009452@aojmv0008.oracle.com> Changeset: 45bced74d459 Author: langtools Date: 2017-04-12 00:50 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/45bced74d459 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:53:45 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:53:45 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704112253.v3BMrjot010805@aojmv0008.oracle.com> Changeset: 21e6f42510b5 Author: langtools Date: 2017-04-12 00:51 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/21e6f42510b5 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:53:44 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:53:44 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704112253.v3BMricX010727@aojmv0008.oracle.com> Changeset: 69f992b9e621 Author: langtools Date: 2017-04-12 00:51 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/69f992b9e621 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 11 22:53:47 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 11 Apr 2017 22:53:47 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704112253.v3BMrmsG010902@aojmv0008.oracle.com> Changeset: 47a0f696b5a8 Author: langtools Date: 2017-04-12 00:51 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/47a0f696b5a8 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:17:11 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:17:11 +0000 Subject: hg: amber/amber/jaxp: 8178415: remove ProcessTools::getPlatformSpecificVMArgs from testlibary Message-ID: <201704120617.v3C6HBM0011600@aojmv0008.oracle.com> Changeset: 72fe965e5925 Author: iignatyev Date: 2017-04-11 21:59 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/72fe965e5925 8178415: remove ProcessTools::getPlatformSpecificVMArgs from testlibary Reviewed-by: dholmes ! test/javax/xml/jaxp/libs/jdk/testlibrary/JDKToolLauncher.java ! test/javax/xml/jaxp/libs/jdk/testlibrary/ProcessTools.java From maurizio.cimadamore at oracle.com Wed Apr 12 06:17:12 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:17:12 +0000 Subject: hg: amber/amber/jdk: 2 new changesets Message-ID: <201704120617.v3C6HC4w011701@aojmv0008.oracle.com> Changeset: 8c6ac4b9ce54 Author: iignatyev Date: 2017-04-11 21:59 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/8c6ac4b9ce54 8178415: remove ProcessTools::getPlatformSpecificVMArgs from testlibary Reviewed-by: dholmes ! test/lib/testlibrary/jdk/testlibrary/JDKToolLauncher.java ! test/lib/testlibrary/jdk/testlibrary/ProcessTools.java Changeset: 8a3428c8b298 Author: iignatyev Date: 2017-04-12 05:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/8a3428c8b298 Merge From maurizio.cimadamore at oracle.com Wed Apr 12 06:17:15 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:17:15 +0000 Subject: hg: amber/amber: 8178415: remove ProcessTools::getPlatformSpecificVMArgs from testlibary Message-ID: <201704120617.v3C6HF8C011726@aojmv0008.oracle.com> Changeset: 0085cda3d392 Author: iignatyev Date: 2017-04-11 21:59 -0700 URL: http://hg.openjdk.java.net/amber/amber/rev/0085cda3d392 8178415: remove ProcessTools::getPlatformSpecificVMArgs from testlibary Reviewed-by: dholmes ! test/lib/jdk/test/lib/JDKToolLauncher.java ! test/lib/jdk/test/lib/process/ProcessTools.java From maurizio.cimadamore at oracle.com Wed Apr 12 06:17:42 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:17:42 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704120617.v3C6Hgdv013244@aojmv0008.oracle.com> Changeset: f8ced5785adf Author: langtools Date: 2017-04-12 08:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/f8ced5785adf Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:17:44 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:17:44 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704120617.v3C6HiWd013449@aojmv0008.oracle.com> Changeset: dba51f3dcdcb Author: langtools Date: 2017-04-12 08:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/dba51f3dcdcb Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:17:46 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:17:46 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704120617.v3C6HkCI013462@aojmv0008.oracle.com> Changeset: 0272ee78216d Author: langtools Date: 2017-04-12 08:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/0272ee78216d Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:18:12 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:18:12 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704120618.v3C6ICav014859@aojmv0008.oracle.com> Changeset: 58f0c3da5d2a Author: langtools Date: 2017-04-12 08:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/58f0c3da5d2a Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:18:14 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:18:14 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704120618.v3C6IEKa014968@aojmv0008.oracle.com> Changeset: cdd349f792ca Author: langtools Date: 2017-04-12 08:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/cdd349f792ca Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:18:16 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:18:16 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704120618.v3C6IGTp015023@aojmv0008.oracle.com> Changeset: 4ca818ec35b6 Author: langtools Date: 2017-04-12 08:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/4ca818ec35b6 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:18:43 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:18:43 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704120618.v3C6Ihj2016483@aojmv0008.oracle.com> Changeset: e8a7a6d6feac Author: langtools Date: 2017-04-12 08:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/e8a7a6d6feac Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:18:42 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:18:42 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704120618.v3C6IgJt016419@aojmv0008.oracle.com> Changeset: 45abdeaa19a8 Author: langtools Date: 2017-04-12 08:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/45abdeaa19a8 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 12 06:18:48 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 12 Apr 2017 06:18:48 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704120618.v3C6Im6c016779@aojmv0008.oracle.com> Changeset: f24753e6fb16 Author: langtools Date: 2017-04-12 08:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f24753e6fb16 Automatic merge with default From ali.ebrahimi1781 at gmail.com Wed Apr 12 06:42:51 2017 From: ali.ebrahimi1781 at gmail.com (Ali Ebrahimi) Date: Wed, 12 Apr 2017 11:12:51 +0430 Subject: Enhanced Enums -- use cases In-Reply-To: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> References: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> Message-ID: Hi, Is not better we have an 'all-features' branch to play with all features with one build? On Tue, Apr 11, 2017 at 11:41 PM, Brian Goetz wrote: > As you may have noticed, we pushed an implementation of Enhanced Enums > some time ago. We're hoping to get user feedback on the feature as it is > now implemented. > > To get things started, here are some typical use cases where generic enums > might be useful. Please contribute others, as well as places in the JDK > where code could be refactored using this feature. > > An obvious example is com.sun.tools.javac.code.Dynamic ( > http://hg.openjdk.java.net/valhalla/valhalla/langtools/file > /85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/ > javac/code/Dynamic.java#l51), where we have an enum that represents the > kinds of types representable in the constant pool. > > In that case, these factory methods: > > http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/ > 85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/ > javac/code/Dynamic.java#l137 > > should be collapsible to a single generic method: > > static BootstrapArgument constant(Kind kind, D data). > > > Another example is command line parsing; for command line arguments, we > can represent them as enums whose type represents the type of an (optional) > parameter: > > enum Args { > QUIET("quiet", "q"), > FILE("file", "f"), > COUNT("count", "c"), .... > } > > (though its not obvious what the type arg of QUIET should be.) > > > If anyone wants to experiment and offer their experience in applying (or > misapplying) this feature, either to the JDK or their own codebase, that > would be appreciated.... > > > -- Best Regards, Ali Ebrahimi From amaembo at gmail.com Wed Apr 12 07:18:04 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Wed, 12 Apr 2017 14:18:04 +0700 Subject: Enhanced Enums -- use cases In-Reply-To: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> References: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> Message-ID: Speaking about Enum enhancements, what about adding a new static method stream() which returns a stream of all enum values? Current alternatives are Stream.of(MyEnum.values()) and EnumSet.allOf(MyEnum.class).stream(), both allocating additional objects. Having dedicated MyEnum.stream() not only shorter, but could use internal Class.getEnumConstantsShared() directly. What do you think? With best regards, Tagir Valeev. On Wed, Apr 12, 2017 at 2:11 AM, Brian Goetz wrote: > As you may have noticed, we pushed an implementation of Enhanced Enums > some time ago. We're hoping to get user feedback on the feature as it is > now implemented. > > To get things started, here are some typical use cases where generic enums > might be useful. Please contribute others, as well as places in the JDK > where code could be refactored using this feature. > > An obvious example is com.sun.tools.javac.code.Dynamic ( > http://hg.openjdk.java.net/valhalla/valhalla/langtools/file > /85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/ > javac/code/Dynamic.java#l51), where we have an enum that represents the > kinds of types representable in the constant pool. > > In that case, these factory methods: > > http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/ > 85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/ > javac/code/Dynamic.java#l137 > > should be collapsible to a single generic method: > > static BootstrapArgument constant(Kind kind, D data). > > > Another example is command line parsing; for command line arguments, we > can represent them as enums whose type represents the type of an (optional) > parameter: > > enum Args { > QUIET("quiet", "q"), > FILE("file", "f"), > COUNT("count", "c"), .... > } > > (though its not obvious what the type arg of QUIET should be.) > > > If anyone wants to experiment and offer their experience in applying (or > misapplying) this feature, either to the JDK or their own codebase, that > would be appreciated.... > > > From brian.goetz at oracle.com Wed Apr 12 14:21:59 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Wed, 12 Apr 2017 10:21:59 -0400 Subject: Enhanced Enums -- use cases In-Reply-To: References: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> Message-ID: <74c79c68-5a76-a089-07de-cc718fc66df6@oracle.com> Reasonable ideas. (Note that implementing Enum methods is not simply a matter of library code; the compiler generates them, so its a little more complicated than "just add a method.") On 4/12/2017 3:18 AM, Tagir Valeev wrote: > Speaking about Enum enhancements, what about adding a new static > method stream() which returns a stream of all enum values? Current > alternatives are Stream.of(MyEnum.values()) and > EnumSet.allOf(MyEnum.class).stream(), both allocating additional > objects. Having dedicated MyEnum.stream() not only shorter, but could > use internal Class.getEnumConstantsShared() directly. What do you think? > > With best regards, > Tagir Valeev. > > On Wed, Apr 12, 2017 at 2:11 AM, Brian Goetz > wrote: > > As you may have noticed, we pushed an implementation of Enhanced > Enums some time ago. We're hoping to get user feedback on the > feature as it is now implemented. > > To get things started, here are some typical use cases where > generic enums might be useful. Please contribute others, as well > as places in the JDK where code could be refactored using this > feature. > > An obvious example is com.sun.tools.javac.code.Dynamic > (http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l51 > ), > where we have an enum that represents the kinds of types > representable in the constant pool. > > In that case, these factory methods: > > http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l137 > > > should be collapsible to a single generic method: > > static BootstrapArgument constant(Kind kind, D data). > > > Another example is command line parsing; for command line > arguments, we can represent them as enums whose type represents > the type of an (optional) parameter: > > enum Args { > QUIET("quiet", "q"), > FILE("file", "f"), > COUNT("count", "c"), .... > } > > (though its not obvious what the type arg of QUIET should be.) > > > If anyone wants to experiment and offer their experience in > applying (or misapplying) this feature, either to the JDK or their > own codebase, that would be appreciated.... > > > From brian.goetz at oracle.com Wed Apr 12 16:19:06 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Wed, 12 Apr 2017 12:19:06 -0400 Subject: Enhanced Enums -- use cases In-Reply-To: References: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> Message-ID: <43237dbc-11d3-b5e4-5d3f-bebaac34cf1a@oracle.com> Some analysis of these issues here: https://bugs.openjdk.java.net/browse/JDK-8073381 On 4/12/2017 3:18 AM, Tagir Valeev wrote: > Speaking about Enum enhancements, what about adding a new static > method stream() which returns a stream of all enum values? Current > alternatives are Stream.of(MyEnum.values()) and > EnumSet.allOf(MyEnum.class).stream(), both allocating additional > objects. Having dedicated MyEnum.stream() not only shorter, but could > use internal Class.getEnumConstantsShared() directly. What do you think? > > With best regards, > Tagir Valeev. > > On Wed, Apr 12, 2017 at 2:11 AM, Brian Goetz > wrote: > > As you may have noticed, we pushed an implementation of Enhanced > Enums some time ago. We're hoping to get user feedback on the > feature as it is now implemented. > > To get things started, here are some typical use cases where > generic enums might be useful. Please contribute others, as well > as places in the JDK where code could be refactored using this > feature. > > An obvious example is com.sun.tools.javac.code.Dynamic > (http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l51 > ), > where we have an enum that represents the kinds of types > representable in the constant pool. > > In that case, these factory methods: > > http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l137 > > > should be collapsible to a single generic method: > > static BootstrapArgument constant(Kind kind, D data). > > > Another example is command line parsing; for command line > arguments, we can represent them as enums whose type represents > the type of an (optional) parameter: > > enum Args { > QUIET("quiet", "q"), > FILE("file", "f"), > COUNT("count", "c"), .... > } > > (though its not obvious what the type arg of QUIET should be.) > > > If anyone wants to experiment and offer their experience in > applying (or misapplying) this feature, either to the JDK or their > own codebase, that would be appreciated.... > > > From maurizio.cimadamore at oracle.com Thu Apr 13 00:22:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 00:22:09 +0000 Subject: hg: amber/amber/jdk: 8172422: jarsigner needs to understand -? Message-ID: <201704130022.v3D0M9V8004438@aojmv0008.oracle.com> Changeset: ce1ba4281947 Author: weijun Date: 2017-04-13 08:15 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/ce1ba4281947 8172422: jarsigner needs to understand -? Reviewed-by: mullan ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java From maurizio.cimadamore at oracle.com Thu Apr 13 00:22:45 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 00:22:45 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704130022.v3D0Mk8R006136@aojmv0008.oracle.com> Changeset: f08facc3ba28 Author: langtools Date: 2017-04-13 02:20 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f08facc3ba28 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 00:23:19 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 00:23:19 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704130023.v3D0NJ0C007669@aojmv0008.oracle.com> Changeset: 363a240e3212 Author: langtools Date: 2017-04-13 02:20 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/363a240e3212 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 00:23:52 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 00:23:52 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704130023.v3D0Nq5E009152@aojmv0008.oracle.com> Changeset: f85f2a487951 Author: langtools Date: 2017-04-13 02:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f85f2a487951 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 04:04:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 04:04:24 +0000 Subject: hg: amber/amber: 8164944: Refactor ProcessTools to get rid of dependency on java.management Message-ID: <201704130404.v3D44Oqw019860@aojmv0008.oracle.com> Changeset: f7b949f0a845 Author: iignatyev Date: 2017-04-12 19:28 -0700 URL: http://hg.openjdk.java.net/amber/amber/rev/f7b949f0a845 8164944: Refactor ProcessTools to get rid of dependency on java.management Reviewed-by: kvn, gtriantafill, dfazunen, dholmes ! test/lib/jdk/test/lib/cli/CommandLineOptionTest.java + test/lib/jdk/test/lib/management/InputArguments.java ! test/lib/jdk/test/lib/process/ProcessTools.java From maurizio.cimadamore at oracle.com Thu Apr 13 04:04:25 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 04:04:25 +0000 Subject: hg: amber/amber/hotspot: 8164944: Refactor ProcessTools to get rid of dependency on java.management Message-ID: <201704130404.v3D44PIe019920@aojmv0008.oracle.com> Changeset: 26d689c621f6 Author: iignatyev Date: 2017-04-12 19:28 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/26d689c621f6 8164944: Refactor ProcessTools to get rid of dependency on java.management Reviewed-by: kvn, gtriantafill, dfazunen, dholmes ! test/compiler/c2/cr7200264/TestDriver.java ! test/compiler/compilercontrol/share/scenario/Executor.java ! test/compiler/jvmci/compilerToVM/DebugOutputTest.java From maurizio.cimadamore at oracle.com Thu Apr 13 04:04:51 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 04:04:51 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704130404.v3D44pP4021146@aojmv0008.oracle.com> Changeset: 19d5ccd8fd61 Author: langtools Date: 2017-04-13 06:02 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/19d5ccd8fd61 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 04:04:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 04:04:55 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704130404.v3D44t7Z021313@aojmv0008.oracle.com> Changeset: d21203189c3f Author: langtools Date: 2017-04-13 06:02 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/d21203189c3f Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 04:05:22 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 04:05:22 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704130405.v3D45MCK022797@aojmv0008.oracle.com> Changeset: c445085ed53e Author: langtools Date: 2017-04-13 06:03 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/c445085ed53e Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 04:05:25 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 04:05:25 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704130405.v3D45PUi022894@aojmv0008.oracle.com> Changeset: ff18112103b5 Author: langtools Date: 2017-04-13 06:03 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/ff18112103b5 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 04:05:50 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 04:05:50 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704130405.v3D45oRH024024@aojmv0008.oracle.com> Changeset: b21beb3af79d Author: langtools Date: 2017-04-13 06:03 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/b21beb3af79d Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 04:05:54 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 04:05:54 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704130405.v3D45sTW024256@aojmv0008.oracle.com> Changeset: ac0284cc34dd Author: langtools Date: 2017-04-13 06:03 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/ac0284cc34dd Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:23 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:23 +0000 Subject: hg: amber/amber/jaxp: 3 new changesets Message-ID: <201704132157.v3DLvNL8015434@aojmv0008.oracle.com> Changeset: 554196039897 Author: alanb Date: 2017-04-07 08:05 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/554196039897 8177530: Module system implementation refresh (4/2017) Reviewed-by: mchung ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Constants.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java ! test/TEST.ROOT ! test/javax/xml/jaxp/module/ServiceProviderTest/DefaultFactoryWrapperTest.java ! test/javax/xml/jaxp/module/ServiceProviderTest/LayerModularXMLParserTest.java ! test/javax/xml/jaxp/module/ServiceProviderTest/src/unnamed/Main.java Changeset: 01393a25477b Author: lana Date: 2017-04-13 16:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/01393a25477b Added tag jdk-9+165 for changeset 554196039897 ! .hgtags Changeset: ac697b2bdf48 Author: lana Date: 2017-04-13 20:35 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/ac697b2bdf48 Merge ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:24 +0000 Subject: hg: amber/amber/nashorn: 5 new changesets Message-ID: <201704132157.v3DLvO5h015492@aojmv0008.oracle.com> Changeset: 8bf1dab35084 Author: mchung Date: 2017-04-06 18:00 -0700 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/8bf1dab35084 8178286: Missing @moduleGraph in javadoc Reviewed-by: lancea ! src/jdk.dynalink/share/classes/module-info.java ! src/jdk.scripting.nashorn/share/classes/module-info.java Changeset: 48d8835e3aaa Author: alanb Date: 2017-04-07 08:08 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/48d8835e3aaa 8177530: Module system implementation refresh (4/2017) Reviewed-by: mchung ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/CallerSensitiveDynamicMethod.java ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/CheckRestrictedPackage.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Lookup.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/scripts/ModuleGraphManipulator.java ! test/TEST.ROOT ! test/src/jdk/nashorn/test/models/Reflector.java Changeset: e36e62d3ea53 Author: alanb Date: 2017-04-07 09:27 +0100 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/e36e62d3ea53 Merge Changeset: 5b2e7b2101c0 Author: lana Date: 2017-04-13 16:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/5b2e7b2101c0 Added tag jdk-9+165 for changeset e36e62d3ea53 ! .hgtags Changeset: 59278e0c6ccd Author: lana Date: 2017-04-13 20:36 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/59278e0c6ccd Merge ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:26 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:26 +0000 Subject: hg: amber/amber: 6 new changesets Message-ID: <201704132157.v3DLvQ9a015617@aojmv0008.oracle.com> Changeset: 6fafcd0896fc Author: ihse Date: 2017-04-04 10:19 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/6fafcd0896fc 8177955: Add testing documentation Reviewed-by: erikj + common/doc/testing.html + common/doc/testing.md ! make/RunTests.gmk ! make/UpdateBuildDocs.gmk Changeset: cfc382b84971 Author: lana Date: 2017-04-06 18:00 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/cfc382b84971 Merge Changeset: 02653e27987c Author: alanb Date: 2017-04-07 08:04 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/02653e27987c 8177530: Module system implementation refresh (4/2017) Reviewed-by: mchung ! common/conf/jib-profiles.js Changeset: aff4f339acd4 Author: alanb Date: 2017-04-07 09:26 +0100 URL: http://hg.openjdk.java.net/amber/amber/rev/aff4f339acd4 Merge Changeset: e817f52d73d0 Author: lana Date: 2017-04-13 16:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/e817f52d73d0 Added tag jdk-9+165 for changeset aff4f339acd4 ! .hgtags Changeset: 111e2e7d00f4 Author: lana Date: 2017-04-13 20:34 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/111e2e7d00f4 Merge ! .hgtags - common/bin/shell-tracer.sh ! common/conf/jib-profiles.js From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:26 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:26 +0000 Subject: hg: amber/amber/hotspot: 13 new changesets Message-ID: <201704132157.v3DLvQ2n015621@aojmv0008.oracle.com> Changeset: 7587882381ad Author: iveresov Date: 2017-04-03 12:34 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/7587882381ad 8177856: [AOT] EliminateRedundantInitializationPhase is not working Summary: Looks for constants of a correct type Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/EliminateRedundantInitializationPhase.java Changeset: 2eef1000e07f Author: dnsimon Date: 2017-04-03 14:58 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/2eef1000e07f 8177673: [JVMCI] missing checks in HotSpotMemoryAccessProviderImpl can cause VM assertions to fail Reviewed-by: never, iveresov ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantReflectionProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MemoryAccessProvider.java ! test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MemoryAccessProviderData.java ! test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MemoryAccessProviderTest.java Changeset: 28e7bb59323e Author: thartmann Date: 2017-04-06 08:19 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/28e7bb59323e 8178033: C1 crashes with -XX:UseAVX = 3: "not a mov [reg+offs], reg instruction" Summary: Skip the EVEX prefix such that the instruction address points to the prefixed opcode. Reviewed-by: kvn, mcberg ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.hpp Changeset: 83f1f2fad2a5 Author: lana Date: 2017-04-06 18:00 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/83f1f2fad2a5 Merge Changeset: afedee84773e Author: alanb Date: 2017-04-07 08:04 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/afedee84773e 8177530: Module system implementation refresh (4/2017) Reviewed-by: lfoltan, sspitsyn Contributed-by: alan.bateman at oracle.com, harold.seigel at oracle.com, mandy.chung at oracle.com ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/Services.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/ModuleAPI.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/ExportingClassLoader.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLModule.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLRModule.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/javaClasses.inline.hpp ! src/share/vm/classfile/moduleEntry.cpp ! src/share/vm/classfile/moduleEntry.hpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/classfile/modules.hpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/prims/jvmti.xml ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/thread.cpp ! test/TEST.ROOT ! test/compiler/jvmci/common/CTVMUtilities.java ! test/runtime/classFileParserBug/fakeMethodAccessor.jasm ! test/runtime/getSysPackage/GetSysPkgTest.java ! test/runtime/modules/AccModuleTest.java ! test/runtime/modules/AccessCheck/AccessExportTwice.java ! test/runtime/modules/AccessCheck/AccessReadTwice.java ! test/runtime/modules/AccessCheck/CheckRead.java ! test/runtime/modules/AccessCheck/DiffCL_CheckRead.java ! test/runtime/modules/AccessCheck/DiffCL_ExpQualOther.java ! test/runtime/modules/AccessCheck/DiffCL_ExpQualToM1.java ! test/runtime/modules/AccessCheck/DiffCL_ExpUnqual.java ! test/runtime/modules/AccessCheck/DiffCL_PkgNotExp.java ! test/runtime/modules/AccessCheck/DiffCL_Umod.java ! test/runtime/modules/AccessCheck/DiffCL_UmodUpkg.java ! test/runtime/modules/AccessCheck/ExpQualOther.java ! test/runtime/modules/AccessCheck/ExpQualToM1.java ! test/runtime/modules/AccessCheck/ExpUnqual.java ! test/runtime/modules/AccessCheck/ExportAllUnnamed.java ! test/runtime/modules/AccessCheck/PkgNotExp.java ! test/runtime/modules/AccessCheck/Umod.java ! test/runtime/modules/AccessCheck/UmodDiffCL_ExpQualOther.java ! test/runtime/modules/AccessCheck/UmodDiffCL_ExpUnqual.java ! test/runtime/modules/AccessCheck/UmodDiffCL_PkgNotExp.java ! test/runtime/modules/AccessCheck/UmodUPkg.java ! test/runtime/modules/AccessCheck/UmodUpkgDiffCL_ExpQualOther.java ! test/runtime/modules/AccessCheck/UmodUpkgDiffCL_NotExp.java ! test/runtime/modules/AccessCheck/UmodUpkg_ExpQualOther.java ! test/runtime/modules/AccessCheck/UmodUpkg_NotExp.java ! test/runtime/modules/AccessCheck/Umod_ExpQualOther.java ! test/runtime/modules/AccessCheck/Umod_ExpUnqual.java ! test/runtime/modules/AccessCheck/Umod_PkgNotExp.java ! test/runtime/modules/AccessCheck/p1/c1ReadEdge.java ! test/runtime/modules/AccessCheck/p1/c1ReadEdgeDiffLoader.java ! test/runtime/modules/AccessCheck/p3/c3ReadEdge.jcod ! test/runtime/modules/AccessCheck/p3/c3ReadEdgeDiffLoader.jcod ! test/runtime/modules/AccessCheck/p4/c4.java ! test/runtime/modules/AccessCheckAllUnnamed.java ! test/runtime/modules/AccessCheckExp.java ! test/runtime/modules/AccessCheckJavaBase.java ! test/runtime/modules/AccessCheckRead.java ! test/runtime/modules/AccessCheckSuper.java ! test/runtime/modules/AccessCheckUnnamed.java ! test/runtime/modules/AccessCheckWorks.java ! test/runtime/modules/CCE_module_msg.java ! test/runtime/modules/ExportTwice.java ! test/runtime/modules/JVMAddModuleExportToAllUnnamed.java ! test/runtime/modules/JVMAddModuleExports.java ! test/runtime/modules/JVMAddModuleExportsToAll.java ! test/runtime/modules/JVMAddModulePackage.java ! test/runtime/modules/JVMAddReadsModule.java ! test/runtime/modules/JVMDefineModule.java ! test/runtime/modules/JVMGetModuleByPkgName.java ! test/runtime/modules/LoadUnloadModuleStress.java ! test/runtime/modules/ModuleHelper.java ! test/runtime/modules/ModuleStress/ModuleNonBuiltinCLMain.java ! test/runtime/modules/ModuleStress/ModuleSameCLMain.java ! test/runtime/modules/ModuleStress/src/jdk.test/test/Main.java ! test/runtime/modules/ModuleStress/src/jdk.test/test/MainGC.java ! test/runtime/modules/getModuleJNI/GetModule.java + test/runtime/modules/java.base/java/lang/ModuleHelper.java - test/runtime/modules/java.base/java/lang/reflect/ModuleHelper.java ! test/serviceability/jdwp/AllModulesCommandTestDebuggee.java ! test/serviceability/jvmti/AddModuleExportsAndOpens/MyPackage/AddModuleExportsAndOpensTest.java ! test/serviceability/jvmti/AddModuleExportsAndOpens/libAddModuleExportsAndOpensTest.c ! test/serviceability/jvmti/AddModuleReads/MyPackage/AddModuleReadsTest.java ! test/serviceability/jvmti/AddModuleReads/libAddModuleReadsTest.c ! test/serviceability/jvmti/AddModuleUsesAndProvides/MyPackage/AddModuleUsesAndProvidesTest.java ! test/serviceability/jvmti/AddModuleUsesAndProvides/libAddModuleUsesAndProvidesTest.c ! test/serviceability/jvmti/GetModulesInfo/JvmtiGetAllModulesTest.java ! test/serviceability/jvmti/GetModulesInfo/libJvmtiGetAllModulesTest.c ! test/serviceability/jvmti/GetNamedModule/libGetNamedModuleTest.c Changeset: 71330a0c7294 Author: alanb Date: 2017-04-07 10:58 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/71330a0c7294 Merge - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLRModule.java - test/runtime/modules/java.base/java/lang/reflect/ModuleHelper.java Changeset: cded24619229 Author: ysr Date: 2017-04-07 10:45 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/cded24619229 8177963: Parallel GC fails fast when per-thread task log overflows Summary: Instead of exiting the VM when per-thread task log overflows, print warnings once and ignore any further log addition attempt. Reviewed-by: ysr, kbarrett, sangheki ! src/share/vm/gc/parallel/gcTaskThread.cpp ! src/share/vm/gc/parallel/gcTaskThread.hpp ! src/share/vm/runtime/globals.hpp ! test/gc/parallel/TestPrintGCDetailsVerbose.java ! test/native/runtime/test_globals.cpp Changeset: d80c43d9a99e Author: tschatzl Date: 2017-04-07 10:51 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/d80c43d9a99e Merge - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLRModule.java - test/runtime/modules/java.base/java/lang/reflect/ModuleHelper.java Changeset: f19b6d14a035 Author: aph Date: 2017-04-07 13:42 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/f19b6d14a035 8170812: Metaspace corruption caused by incorrect memory size for MethodCounters Reviewed-by: kbarrett, coleenp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodCounters.hpp Changeset: 73c72daf8e8d Author: iignatyev Date: 2017-04-07 19:36 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/73c72daf8e8d 8178333: CTW/PathHandler uses == instead of String::equals for string comparison Reviewed-by: kvn ! test/testlibrary/ctw/src/sun/hotspot/tools/ctw/PathHandler.java Changeset: c92c6416ca03 Author: iignatyev Date: 2017-04-08 02:40 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/c92c6416ca03 Merge Changeset: e6e90d744553 Author: lana Date: 2017-04-13 16:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/e6e90d744553 Added tag jdk-9+165 for changeset c92c6416ca03 ! .hgtags Changeset: 7b5ca2ff1f78 Author: lana Date: 2017-04-13 20:35 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/7b5ca2ff1f78 Merge ! .hgtags ! src/share/vm/runtime/globals.hpp - test/gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java - test/gc/startup_warnings/TestDefNewCMS.java - test/gc/startup_warnings/TestParNewCMS.java - test/gc/startup_warnings/TestParNewSerialOld.java - test/gc/startup_warnings/TestUseAutoGCSelectPolicy.java - test/runtime/NMT/AutoshutdownNMT.java From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:24 +0000 Subject: hg: amber/amber/jdk: 27 new changesets Message-ID: <201704132157.v3DLvQGP015598@aojmv0008.oracle.com> Changeset: e9325773dd96 Author: bpb Date: 2017-04-03 16:40 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e9325773dd96 8177526: BufferedReader readLine() javadoc does not match the implementation regarding EOF Summary: Improve the verbiage of the method and return value descriptions Reviewed-by: lancea, smarks ! src/java.base/share/classes/java/io/BufferedReader.java Changeset: eadd7f013eb9 Author: iignatyev Date: 2017-04-03 17:07 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/eadd7f013eb9 8177507: line number sensitive tests for jdi should be unified Reviewed-by: dholmes, mseledtsov, sspitsyn ! test/com/sun/jdi/ArgumentValuesTest.java ! test/com/sun/jdi/BreakpointTest.java ! test/com/sun/jdi/FetchLocals.java ! test/com/sun/jdi/GetLocalVariables.java ! test/com/sun/jdi/GetSetLocalTest.java ! test/com/sun/jdi/LambdaBreakpointTest.java ! test/com/sun/jdi/LineNumberOnBraceTest.java ! test/com/sun/jdi/PopAndStepTest.java Changeset: d584006ddd5d Author: rpatil Date: 2017-04-04 19:27 +0530 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d584006ddd5d 8177449: (tz) Support tzdata2017b Reviewed-by: martin, naoto ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/iso3166.tab ! make/data/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/iso3166.tab ! test/sun/util/calendar/zi/tzdata/northamerica Changeset: 1a8997b4292d Author: bpb Date: 2017-04-04 08:10 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/1a8997b4292d 8177984: (ch) java/nio/channels/SocketChannel/VectorIO.java should use RandomFactory Summary: Obtain Random from RandomFactory instead of directly. Reviewed-by: clanger ! test/java/nio/channels/SocketChannel/VectorIO.java Changeset: f940fd4232d8 Author: darcy Date: 2017-04-04 11:13 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f940fd4232d8 8177949: @link tag arguments need correction for ElementType documentation Reviewed-by: lancea ! src/java.base/share/classes/java/lang/annotation/ElementType.java Changeset: a49fb788ac68 Author: mli Date: 2017-04-04 19:58 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a49fb788ac68 8165367: Additional tests for JEP 288: Disable SHA-1 Certificates Summary: The new tests just focus on the usage constraints TLSSever and TLSClient with TLS communication Reviewed-by: ascarpino Contributed-by: John Jiang + test/sun/security/ssl/CertPathRestrictions/JSSEClient.java + test/sun/security/ssl/CertPathRestrictions/JSSEServer.java + test/sun/security/ssl/CertPathRestrictions/TLSRestrictions.java + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA1-INTER_CA_SHA256-ROOT_CA_SHA256-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA1-INTER_CA_SHA256-ROOT_CA_SHA256.cer + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA256-INTER_CA_SHA1-ROOT_CA_SHA1-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA256-INTER_CA_SHA1-ROOT_CA_SHA1.cer + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA256-INTER_CA_SHA1-ROOT_CA_SHA256-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA256-INTER_CA_SHA1-ROOT_CA_SHA256.cer + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA256-INTER_CA_SHA256-ROOT_CA_SHA1-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA256-INTER_CA_SHA256-ROOT_CA_SHA1.cer + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA256-INTER_CA_SHA256-ROOT_CA_SHA256-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/END_ENTITY_SHA256-INTER_CA_SHA256-ROOT_CA_SHA256.cer + test/sun/security/ssl/CertPathRestrictions/certs/INTER_CA_SHA1-ROOT_CA_SHA1-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/INTER_CA_SHA1-ROOT_CA_SHA1.cer + test/sun/security/ssl/CertPathRestrictions/certs/INTER_CA_SHA1-ROOT_CA_SHA256-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/INTER_CA_SHA1-ROOT_CA_SHA256.cer + test/sun/security/ssl/CertPathRestrictions/certs/INTER_CA_SHA256-ROOT_CA_SHA1-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/INTER_CA_SHA256-ROOT_CA_SHA1.cer + test/sun/security/ssl/CertPathRestrictions/certs/INTER_CA_SHA256-ROOT_CA_SHA256-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/INTER_CA_SHA256-ROOT_CA_SHA256.cer + test/sun/security/ssl/CertPathRestrictions/certs/ROOT_CA_SHA1-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/ROOT_CA_SHA1.cer + test/sun/security/ssl/CertPathRestrictions/certs/ROOT_CA_SHA256-PRIV.key + test/sun/security/ssl/CertPathRestrictions/certs/ROOT_CA_SHA256.cer Changeset: 9289f04ddb54 Author: rriggs Date: 2017-04-05 09:57 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9289f04ddb54 8165641: Deprecate Object.finalize Reviewed-by: mchung, smarks ! src/java.base/share/classes/com/sun/crypto/provider/DESKey.java ! src/java.base/share/classes/com/sun/crypto/provider/DESedeKey.java ! src/java.base/share/classes/com/sun/crypto/provider/PBEKey.java ! src/java.base/share/classes/com/sun/crypto/provider/PBKDF2KeyImpl.java ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/FileOutputStream.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Enum.java ! src/java.base/share/classes/java/lang/Object.java ! src/java.base/share/classes/java/lang/System.java ! 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/SocketInputStream.java ! src/java.base/share/classes/java/net/SocketOutputStream.java ! src/java.base/share/classes/java/util/Timer.java ! src/java.base/share/classes/java/util/concurrent/Executors.java ! src/java.base/share/classes/java/util/concurrent/ThreadPoolExecutor.java ! src/java.base/share/classes/java/util/zip/Deflater.java ! src/java.base/share/classes/java/util/zip/Inflater.java ! src/java.base/share/classes/java/util/zip/ZipFile.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystem.java ! src/java.base/share/classes/sun/net/www/MeteredStream.java ! src/java.base/share/classes/sun/net/www/protocol/https/DelegateHttpsURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/java.base/share/classes/sun/security/provider/KeyProtector.java ! src/java.base/share/classes/sun/security/ssl/BaseSSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SunJSSE.java ! src/java.desktop/macosx/classes/apple/laf/JRSUIControl.java ! src/java.desktop/macosx/classes/sun/awt/CGraphicsEnvironment.java ! src/java.desktop/macosx/classes/sun/font/CFont.java ! src/java.desktop/macosx/classes/sun/font/CStrike.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CFRetainedResource.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/common/SubImageInputStream.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFJPEGDecompressor.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFOldJPEGDecompressor.java ! src/java.desktop/share/classes/com/sun/imageio/stream/StreamFinalizer.java ! src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java ! src/java.desktop/share/classes/java/awt/Graphics.java ! src/java.desktop/share/classes/java/awt/PrintJob.java ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/java/awt/image/ColorModel.java ! src/java.desktop/share/classes/java/awt/image/IndexColorModel.java ! src/java.desktop/share/classes/javax/imageio/spi/ServiceRegistry.java ! src/java.desktop/share/classes/javax/imageio/stream/FileCacheImageInputStream.java ! src/java.desktop/share/classes/javax/imageio/stream/FileImageInputStream.java ! src/java.desktop/share/classes/javax/imageio/stream/FileImageOutputStream.java ! src/java.desktop/share/classes/javax/imageio/stream/ImageInputStreamImpl.java ! src/java.desktop/share/classes/javax/imageio/stream/MemoryCacheImageInputStream.java ! src/java.desktop/share/classes/javax/swing/text/StringContent.java ! src/java.desktop/share/classes/sun/awt/image/BufImgSurfaceData.java ! src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java ! src/java.desktop/share/classes/sun/java2d/pipe/RegionClipSpanIterator.java ! src/java.desktop/share/classes/sun/print/PeekGraphics.java ! src/java.desktop/share/classes/sun/print/PrintJob2D.java ! src/java.desktop/share/classes/sun/print/ProxyGraphics.java ! src/java.desktop/share/classes/sun/print/ProxyGraphics2D.java ! src/java.desktop/unix/classes/sun/awt/X11InputMethod.java ! src/java.desktop/windows/classes/sun/awt/windows/WInputMethod.java ! src/java.naming/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapClient.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java ! src/java.naming/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java ! src/java.rmi/share/classes/sun/rmi/log/LogInputStream.java ! src/java.rmi/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSCredElement.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSNameElement.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java ! src/java.security.sasl/share/classes/com/sun/security/sasl/CramMD5Base.java ! src/java.security.sasl/share/classes/com/sun/security/sasl/PlainClient.java ! src/java.smartcardio/share/classes/sun/security/smartcardio/CardImpl.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/Key.java ! src/jdk.internal.le/share/classes/jdk/internal/jline/console/ConsoleReader.java ! src/jdk.naming.dns/share/classes/com/sun/jndi/dns/DnsClient.java ! src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java ! src/jdk.security.jgss/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java Changeset: cda91600a4bd Author: mchung Date: 2017-04-05 10:55 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/cda91600a4bd 8177980: ResourceBundle.getBundle throws NoClassDefFoundError when fails to define a class Reviewed-by: naoto, lancea ! src/java.base/share/classes/java/util/ResourceBundle.java + test/java/util/ResourceBundle/modules/casesensitive/CaseInsensitiveNameClash.java + test/java/util/ResourceBundle/modules/casesensitive/src/resbundle/jdk/test/Main.java + test/java/util/ResourceBundle/modules/casesensitive/src/resbundle/jdk/test/main.properties + test/java/util/ResourceBundle/modules/casesensitive/src/resbundle/module-info.java Changeset: 383a04a71b36 Author: amlu Date: 2017-04-06 09:33 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/383a04a71b36 8177640: jdk/internal/util/jar/TestVersionedStream.java fails on Windows Reviewed-by: psandoz ! test/ProblemList.txt ! test/jdk/internal/util/jar/TestVersionedStream.java Changeset: fff71e4478c3 Author: chegar Date: 2017-04-06 09:00 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fff71e4478c3 8178101: Migrate the thread deprecation technote to javadoc doc-files Reviewed-by: dholmes ! src/java.base/share/classes/java/lang/Thread.java + src/java.base/share/classes/java/lang/doc-files/threadPrimitiveDeprecation.html Changeset: c89044066843 Author: dfuchs Date: 2017-04-06 14:38 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/c89044066843 8178139: Minor typo in API documentation of java.util.logging.Logger Reviewed-by: lancea ! src/java.logging/share/classes/java/util/logging/Logger.java Changeset: 0cbd3417cc9d Author: jlahoda Date: 2017-04-06 16:17 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/0cbd3417cc9d 8178077: jshell tool: crash on ctrl-up or ctrl-down Summary: When looking up a private method, using the ConsoleReader.class, instead of getClass(), which may return a subclass. Reviewed-by: rfield ! src/jdk.internal.le/share/classes/jdk/internal/jline/extra/EditingHistory.java Changeset: 98dd9af9e290 Author: rriggs Date: 2017-04-06 10:41 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/98dd9af9e290 8178154: Typo in Object.finalize deprecation javadoc Reviewed-by: mchung ! src/java.base/share/classes/java/lang/Object.java Changeset: 0526526e7302 Author: ksrini Date: 2017-04-05 14:05 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/0526526e7302 8065825: Make the java -help consistent with the man page Reviewed-by: alanb ! src/java.base/share/classes/sun/launcher/resources/launcher.properties Changeset: 00605c87c016 Author: lana Date: 2017-04-06 18:00 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/00605c87c016 Merge Changeset: 1c34a0665f18 Author: mchung Date: 2017-04-06 18:00 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/1c34a0665f18 8178286: Missing @moduleGraph in javadoc Reviewed-by: lancea ! src/jdk.accessibility/share/classes/module-info.java ! src/jdk.editpad/share/classes/module-info.java ! src/jdk.incubator.httpclient/share/classes/module-info.java Changeset: af69c0289a77 Author: chegar Date: 2017-04-07 10:39 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/af69c0289a77 8178161: Default multicast interface on Mac Reviewed-by: michaelm, bpb ! src/java.base/macosx/classes/java/net/DefaultInterface.java Changeset: fa3c4a60a616 Author: alanb Date: 2017-04-07 08:05 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fa3c4a60a616 8177530: Module system implementation refresh (4/2017) Reviewed-by: mchung, alanb Contributed-by: alan.bateman at oracle.com, mandy.chung at oracle.com ! make/mapfiles/libjava/mapfile-vers ! src/java.base/share/classes/java/io/ObjectInputFilter.java ! 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/LayerInstantiationException.java + src/java.base/share/classes/java/lang/Module.java + src/java.base/share/classes/java/lang/ModuleLayer.java ! src/java.base/share/classes/java/lang/NamedPackage.java ! src/java.base/share/classes/java/lang/Package.java ! src/java.base/share/classes/java/lang/SecurityManager.java ! src/java.base/share/classes/java/lang/StackTraceElement.java ! src/java.base/share/classes/java/lang/System.java + src/java.base/share/classes/java/lang/WeakPairMap.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/module/Configuration.java ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! src/java.base/share/classes/java/lang/module/ModuleFinder.java ! src/java.base/share/classes/java/lang/module/Resolver.java ! src/java.base/share/classes/java/lang/module/package-info.java - src/java.base/share/classes/java/lang/reflect/Layer.java - src/java.base/share/classes/java/lang/reflect/LayerInstantiationException.java - src/java.base/share/classes/java/lang/reflect/Module.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java - src/java.base/share/classes/java/lang/reflect/WeakPairMap.java ! src/java.base/share/classes/java/lang/reflect/package-info.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/java/util/spi/AbstractResourceBundleProvider.java ! src/java.base/share/classes/javax/crypto/JceSecurityManager.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java ! src/java.base/share/classes/jdk/internal/loader/Loader.java ! src/java.base/share/classes/jdk/internal/loader/LoaderPool.java ! src/java.base/share/classes/jdk/internal/logger/DefaultLoggerFinder.java ! src/java.base/share/classes/jdk/internal/logger/LazyLoggers.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangReflectModuleAccess.java ! src/java.base/share/classes/jdk/internal/misc/JavaUtilResourceBundleAccess.java ! src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java ! src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/ModulePath.java ! src/java.base/share/classes/jdk/internal/module/Modules.java ! src/java.base/share/classes/jdk/internal/module/ServicesCatalog.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/reflect/misc/MethodUtil.java ! src/java.base/share/native/libjava/Module.c ! src/java.desktop/share/classes/javax/imageio/metadata/IIOMetadata.java ! src/java.desktop/share/classes/javax/imageio/spi/ImageReaderWriterSpi.java ! src/java.desktop/share/classes/javax/swing/text/PlainView.java ! src/java.instrument/share/classes/java/lang/instrument/ClassFileTransformer.java ! src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java + src/java.instrument/share/classes/java/lang/instrument/UnmodifiableModuleException.java ! src/java.instrument/share/classes/sun/instrument/InstrumentationImpl.java ! src/java.instrument/share/classes/sun/instrument/TransformerManager.java ! src/java.instrument/share/native/libinstrument/JPLISAgent.h ! src/java.logging/share/classes/java/util/logging/Level.java ! src/java.logging/share/classes/java/util/logging/LogManager.java ! src/java.logging/share/classes/java/util/logging/Logger.java ! src/java.logging/share/classes/sun/util/logging/internal/LoggingProviderImpl.java ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java ! src/java.management/share/classes/sun/management/ManagementFactoryHelper.java ! src/java.naming/share/classes/com/sun/naming/internal/VersionHelper.java ! src/java.rmi/share/classes/java/rmi/activation/ActivationInstantiator.java ! src/java.rmi/share/classes/java/rmi/server/UnicastRemoteObject.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java ! src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java ! src/jdk.jdwp.agent/share/native/libjdwp/ModuleReferenceImpl.c ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Jlink.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/PluginRepository.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Utils.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ReleaseInfoPlugin.java ! test/TEST.ROOT ! test/java/awt/TrayIcon/SystemTrayIconHelper.java ! test/java/awt/patchlib/java.desktop/java/awt/Helper.java ! test/java/awt/regtesthelpers/Util.java ! test/java/lang/Class/GetModuleTest.java ! test/java/lang/Class/forName/modules/TestLayer.java ! test/java/lang/Class/forName/modules/TestMain.java ! test/java/lang/Class/forName/modules/src/m2/p2/test/Main.java ! test/java/lang/Class/forName/modules/src/m3/p3/NoAccess.java ! test/java/lang/Class/forName/modules/src/m3/p3/NoGetClassLoaderAccess.java ! test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/java/lang/Class/getResource/Main.java ! test/java/lang/ClassLoader/getResource/automaticmodules/Main.java ! test/java/lang/ClassLoader/getResource/modules/Main.java + test/java/lang/ModuleLayer/BasicLayerTest.java + test/java/lang/ModuleLayer/LayerAndLoadersTest.java + test/java/lang/ModuleLayer/LayerControllerTest.java + test/java/lang/ModuleLayer/layertest/Test.java + test/java/lang/ModuleLayer/src/m1/module-info.java + test/java/lang/ModuleLayer/src/m1/p/Main.java + test/java/lang/ModuleLayer/src/m1/p/Service.java + test/java/lang/ModuleLayer/src/m2/module-info.java + test/java/lang/ModuleLayer/src/m2/q/Hello.java + test/java/lang/ModuleLayer/src/m3/module-info.java + test/java/lang/ModuleLayer/src/m3/w/Hello.java + test/java/lang/ModuleLayer/src/m4/impl/ServiceImpl.java + test/java/lang/ModuleLayer/src/m4/module-info.java + test/java/lang/ModuleTests/AddExportsTest.java + test/java/lang/ModuleTests/AnnotationsTest.java + test/java/lang/ModuleTests/BasicModuleTest.java + test/java/lang/ModuleTests/WithSecurityManager.java + test/java/lang/ModuleTests/access/AccessTest.java + test/java/lang/ModuleTests/access/src/target/module-info.java + test/java/lang/ModuleTests/access/src/target/p1/Helper.java + test/java/lang/ModuleTests/access/src/target/p1/Public.java + test/java/lang/ModuleTests/access/src/target/p2/NonPublic.java + test/java/lang/ModuleTests/access/src/target/q1/Public.java + test/java/lang/ModuleTests/access/src/target/q2/NonPublic.java + test/java/lang/ModuleTests/access/src/test/module-info.java + test/java/lang/ModuleTests/access/src/test/test/Main.java + test/java/lang/ModuleTests/addXXX/Driver.java + test/java/lang/ModuleTests/addXXX/m1/module-info.java + test/java/lang/ModuleTests/addXXX/m1/p1/C.java + test/java/lang/ModuleTests/addXXX/m2/module-info.java + test/java/lang/ModuleTests/addXXX/m2/p2/C.java + test/java/lang/ModuleTests/addXXX/m2/p2/internal/C.java + test/java/lang/ModuleTests/addXXX/m3/module-info.java + test/java/lang/ModuleTests/addXXX/m3/p3/C.java + test/java/lang/ModuleTests/addXXX/m4/module-info.java + test/java/lang/ModuleTests/addXXX/m4/p4/C.java + test/java/lang/ModuleTests/addXXX/test/module-info.java + test/java/lang/ModuleTests/addXXX/test/test/C.java + test/java/lang/ModuleTests/addXXX/test/test/Main.java + test/java/lang/ModuleTests/addXXX/test/test/Service.java + test/java/lang/ModuleTests/allow.policy + test/java/lang/ModuleTests/annotation/Basic.java + test/java/lang/ModuleTests/annotation/src/m/module-info.java + test/java/lang/ModuleTests/annotation/src/m/p/annotation/Bar.java + test/java/lang/ModuleTests/annotation/src/m/p/annotation/Baz.java + test/java/lang/ModuleTests/annotation/src/m/p/annotation/Foo.java ! test/java/lang/SecurityManager/CheckPackageAccess.java ! test/java/lang/SecurityManager/CheckSecurityProvider.java ! test/java/lang/SecurityManager/modules/Test.java ! test/java/lang/StackTraceElement/PublicConstructor.java ! test/java/lang/StackTraceElement/lib/m1/com/app/Utils.java ! test/java/lang/System/Logger/custom/CustomLoggerTest.java ! test/java/lang/System/LoggerFinder/BaseLoggerFinderTest/BaseLoggerFinder.java ! test/java/lang/System/LoggerFinder/BaseLoggerFinderTest/TestLoggerFinder.java ! test/java/lang/System/LoggerFinder/LoggerFinderAPI/LoggerFinderAPI.java ! test/java/lang/System/LoggerFinder/internal/BaseDefaultLoggerFinderTest/BaseDefaultLoggerFinderTest.java ! test/java/lang/System/LoggerFinder/internal/BaseLoggerBridgeTest/BaseLoggerBridgeTest.java ! test/java/lang/System/LoggerFinder/internal/BasePlatformLoggerTest/BasePlatformLoggerTest.java ! test/java/lang/System/LoggerFinder/internal/BootstrapLogger/BootstrapLoggerAPIsTest.java ! test/java/lang/System/LoggerFinder/internal/BootstrapLogger/BootstrapLoggerTest.java ! test/java/lang/System/LoggerFinder/internal/LoggerBridgeTest/LoggerBridgeTest.java ! test/java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java ! test/java/lang/System/LoggerFinder/internal/PlatformLoggerBridgeTest/PlatformLoggerBridgeTest.java ! test/java/lang/System/LoggerFinder/internal/SystemLoggerInPlatformLoader/SystemLoggerInPlatformLoader.java ! test/java/lang/System/LoggerFinder/internal/backend/LoggerFinderBackendTest.java ! test/java/lang/System/LoggerFinder/jdk/DefaultLoggerBridgeTest/DefaultLoggerBridgeTest.java + test/java/lang/WeakPairMap/Driver.java + test/java/lang/WeakPairMap/java.base/java/lang/WeakPairMapTest.java ! test/java/lang/instrument/ATransformerManagementTestCase.java ! test/java/lang/instrument/BootstrapClassPathAgent.java ! test/java/lang/instrument/BootstrapClassPathTest.java ! test/java/lang/instrument/RedefineClassWithNativeMethodAgent.java ! test/java/lang/instrument/RedefineModuleAgent.java ! test/java/lang/instrument/RedefineModuleTest.java ! test/java/lang/instrument/RetransformAgent.java ! test/java/lang/instrument/SimpleIdentityTransformer.java ! test/java/lang/invoke/MethodHandles/privateLookupIn/test/p/PrivateLookupInTests.java ! test/java/lang/invoke/modules/m1/p1/Main.java ! test/java/lang/module/AutomaticModulesTest.java ! test/java/lang/module/ConfigurationTest.java ! test/java/lang/module/ModuleDescriptorTest.java ! test/java/lang/module/ModuleFinderTest.java ! test/java/lang/module/ModuleReader/ModuleReaderTest.java ! test/java/lang/reflect/AccessibleObject/ModuleSetAccessibleTest.java - test/java/lang/reflect/Layer/BasicLayerTest.java - test/java/lang/reflect/Layer/LayerAndLoadersTest.java - test/java/lang/reflect/Layer/LayerControllerTest.java - test/java/lang/reflect/Layer/layertest/Test.java - test/java/lang/reflect/Layer/src/m1/module-info.java - test/java/lang/reflect/Layer/src/m1/p/Main.java - test/java/lang/reflect/Layer/src/m1/p/Service.java - test/java/lang/reflect/Layer/src/m2/module-info.java - test/java/lang/reflect/Layer/src/m2/q/Hello.java - test/java/lang/reflect/Layer/src/m3/module-info.java - test/java/lang/reflect/Layer/src/m3/w/Hello.java - test/java/lang/reflect/Layer/src/m4/impl/ServiceImpl.java - test/java/lang/reflect/Layer/src/m4/module-info.java - test/java/lang/reflect/Module/AddExportsTest.java - test/java/lang/reflect/Module/AnnotationsTest.java - test/java/lang/reflect/Module/BasicModuleTest.java - test/java/lang/reflect/Module/WithSecurityManager.java - test/java/lang/reflect/Module/access/AccessTest.java - test/java/lang/reflect/Module/access/src/target/module-info.java - test/java/lang/reflect/Module/access/src/target/p1/Helper.java - test/java/lang/reflect/Module/access/src/target/p1/Public.java - test/java/lang/reflect/Module/access/src/target/p2/NonPublic.java - test/java/lang/reflect/Module/access/src/target/q1/Public.java - test/java/lang/reflect/Module/access/src/target/q2/NonPublic.java - test/java/lang/reflect/Module/access/src/test/module-info.java - test/java/lang/reflect/Module/access/src/test/test/Main.java - test/java/lang/reflect/Module/addXXX/Driver.java - test/java/lang/reflect/Module/addXXX/m1/module-info.java - test/java/lang/reflect/Module/addXXX/m1/p1/C.java - test/java/lang/reflect/Module/addXXX/m2/module-info.java - test/java/lang/reflect/Module/addXXX/m2/p2/C.java - test/java/lang/reflect/Module/addXXX/m2/p2/internal/C.java - test/java/lang/reflect/Module/addXXX/m3/module-info.java - test/java/lang/reflect/Module/addXXX/m3/p3/C.java - test/java/lang/reflect/Module/addXXX/m4/module-info.java - test/java/lang/reflect/Module/addXXX/m4/p4/C.java - test/java/lang/reflect/Module/addXXX/test/module-info.java - test/java/lang/reflect/Module/addXXX/test/test/C.java - test/java/lang/reflect/Module/addXXX/test/test/Main.java - test/java/lang/reflect/Module/addXXX/test/test/Service.java - test/java/lang/reflect/Module/allow.policy - test/java/lang/reflect/Module/annotation/Basic.java - test/java/lang/reflect/Module/annotation/src/m/module-info.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Bar.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Baz.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Foo.java ! test/java/lang/reflect/Proxy/ProxyClassAccessTest.java ! test/java/lang/reflect/Proxy/ProxyForMethodHandle.java ! test/java/lang/reflect/Proxy/ProxyLayerTest.java ! test/java/lang/reflect/Proxy/ProxyModuleMapping.java ! test/java/lang/reflect/Proxy/src/test/jdk/test/Main.java ! test/java/lang/reflect/Proxy/src/test/jdk/test/ProxyTest.java - test/java/lang/reflect/WeakPairMap/Driver.java - test/java/lang/reflect/WeakPairMap/java.base/java/lang/reflect/WeakPairMapTest.java ! test/java/security/Provider/DefaultProviderList.java ! test/java/util/ResourceBundle/modules/cache/src/test/jdk/test/Main.java ! test/java/util/ResourceBundle/modules/security/src/test/jdk/test/Main.java ! test/java/util/ResourceBundle/modules/visibility/src/embargo/jdk/embargo/TestWithNoModuleArg.java ! test/java/util/ResourceBundle/modules/visibility/src/embargo/jdk/embargo/TestWithUnnamedModuleArg.java ! test/java/util/ResourceBundle/modules/visibility/src/pkg/jdk/pkg/test/Main.java ! test/java/util/ResourceBundle/modules/visibility/src/test/jdk/test/TestWithNoModuleArg.java ! test/java/util/ResourceBundle/modules/visibility/src/test/jdk/test/TestWithUnnamedModuleArg.java ! test/java/util/ServiceLoader/modules/BadProvidersTest.java ! test/java/util/ServiceLoader/modules/Basic.java ! test/java/util/logging/LocalizedLevelName.java ! test/java/util/logging/modules/pkgs/p3/test/ResourceBundleTest.java ! test/java/util/spi/ResourceBundleControlProvider/test/jdk/test/ResourceBundleDelegate.java ! test/javax/xml/jaxp/Encodings/CheckEncodingPropertiesFile.java ! test/jdk/internal/jimage/JImageOpenTest.java ! test/jdk/modules/etc/JdkQualifiedExportTest.java ! test/jdk/modules/etc/VerifyModuleDelegation.java ! test/jdk/modules/incubator/DefaultImage.java ! test/jdk/modules/incubator/ImageModules.java ! test/jdk/modules/incubator/src/cp/listmods/ListModules.java ! test/jdk/modules/incubator/src/cp/test/ConvertToLowerCase.java ! test/jdk/modules/incubator/src/cp/test/WriteUpperCase.java ! test/jdk/modules/open/Basic.java ! test/jdk/modules/scenarios/automaticmodules/src/basictest/test/Main.java ! test/jdk/modules/scenarios/automaticmodules/src/sptest/test/Main.java ! test/jdk/modules/scenarios/container/src/container/container/Main.java ! test/sun/management/LoggingTest/test.loggerfinder/test/loggerfinder/TestLoggerFinder.java ! test/sun/tools/jconsole/ResourceCheckTest.java ! test/tools/jar/modularJar/Basic.java ! test/tools/jar/modularJar/src/bar/jdk/test/bar/Bar.java ! test/tools/jlink/JLink2Test.java ! test/tools/jlink/JLinkTest.java ! test/tools/jlink/basic/src/test/jdk/test/Test.java ! test/tools/jlink/plugins/PluginsNegativeTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/m1/p1/Main.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/m3/p3/Main.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/m4/p4/Main.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/m5/p5/Main.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/test/jdk/test/Main.java ! test/tools/launcher/modules/dryrun/DryRunTest.java ! test/tools/launcher/modules/listmods/ListModsTest.java ! test/tools/launcher/modules/patch/basic/src/test/jdk/test/Main.java ! test/tools/launcher/modules/upgrademodulepath/src/test/jdk/test/Main.java Changeset: 4253030c44ba Author: alanb Date: 2017-04-07 10:53 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/4253030c44ba Merge ! 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/reflect/Layer.java - src/java.base/share/classes/java/lang/reflect/LayerInstantiationException.java - src/java.base/share/classes/java/lang/reflect/Module.java - src/java.base/share/classes/java/lang/reflect/WeakPairMap.java ! src/java.base/share/classes/java/util/ResourceBundle.java - src/java.base/share/classes/jdk/internal/misc/JavaLangReflectModuleAccess.java ! src/java.logging/share/classes/java/util/logging/Logger.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyStore.java - test/java/lang/reflect/Layer/BasicLayerTest.java - test/java/lang/reflect/Layer/LayerAndLoadersTest.java - test/java/lang/reflect/Layer/LayerControllerTest.java - test/java/lang/reflect/Layer/layertest/Test.java - test/java/lang/reflect/Layer/src/m1/module-info.java - test/java/lang/reflect/Layer/src/m1/p/Main.java - test/java/lang/reflect/Layer/src/m1/p/Service.java - test/java/lang/reflect/Layer/src/m2/module-info.java - test/java/lang/reflect/Layer/src/m2/q/Hello.java - test/java/lang/reflect/Layer/src/m3/module-info.java - test/java/lang/reflect/Layer/src/m3/w/Hello.java - test/java/lang/reflect/Layer/src/m4/impl/ServiceImpl.java - test/java/lang/reflect/Layer/src/m4/module-info.java - test/java/lang/reflect/Module/AddExportsTest.java - test/java/lang/reflect/Module/AnnotationsTest.java - test/java/lang/reflect/Module/BasicModuleTest.java - test/java/lang/reflect/Module/WithSecurityManager.java - test/java/lang/reflect/Module/access/AccessTest.java - test/java/lang/reflect/Module/access/src/target/module-info.java - test/java/lang/reflect/Module/access/src/target/p1/Helper.java - test/java/lang/reflect/Module/access/src/target/p1/Public.java - test/java/lang/reflect/Module/access/src/target/p2/NonPublic.java - test/java/lang/reflect/Module/access/src/target/q1/Public.java - test/java/lang/reflect/Module/access/src/target/q2/NonPublic.java - test/java/lang/reflect/Module/access/src/test/module-info.java - test/java/lang/reflect/Module/access/src/test/test/Main.java - test/java/lang/reflect/Module/addXXX/Driver.java - test/java/lang/reflect/Module/addXXX/m1/module-info.java - test/java/lang/reflect/Module/addXXX/m1/p1/C.java - test/java/lang/reflect/Module/addXXX/m2/module-info.java - test/java/lang/reflect/Module/addXXX/m2/p2/C.java - test/java/lang/reflect/Module/addXXX/m2/p2/internal/C.java - test/java/lang/reflect/Module/addXXX/m3/module-info.java - test/java/lang/reflect/Module/addXXX/m3/p3/C.java - test/java/lang/reflect/Module/addXXX/m4/module-info.java - test/java/lang/reflect/Module/addXXX/m4/p4/C.java - test/java/lang/reflect/Module/addXXX/test/module-info.java - test/java/lang/reflect/Module/addXXX/test/test/C.java - test/java/lang/reflect/Module/addXXX/test/test/Main.java - test/java/lang/reflect/Module/addXXX/test/test/Service.java - test/java/lang/reflect/Module/allow.policy - test/java/lang/reflect/Module/annotation/Basic.java - test/java/lang/reflect/Module/annotation/src/m/module-info.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Bar.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Baz.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Foo.java - test/java/lang/reflect/WeakPairMap/Driver.java - test/java/lang/reflect/WeakPairMap/java.base/java/lang/reflect/WeakPairMapTest.java Changeset: 182207b208dc Author: alanb Date: 2017-04-07 10:53 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/182207b208dc Merge Changeset: 96f06b21a3f3 Author: bpb Date: 2017-04-07 11:31 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/96f06b21a3f3 8178074: (ch) java/nio/channels/etc/AdaptorCloseAndInterrupt.java: add instrumentation Summary: Add some print statements to indicate state at strategic points Reviewed-by: chegar ! test/java/nio/channels/etc/AdaptorCloseAndInterrupt.java Changeset: c2b213b77b2d Author: smarks Date: 2017-04-07 15:41 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/c2b213b77b2d 8173152: Wrong wording in Comparator.compare() method spec Reviewed-by: bpb ! src/java.base/share/classes/java/lang/Comparable.java ! src/java.base/share/classes/java/util/Comparator.java Changeset: baf915932a01 Author: lancea Date: 2017-04-09 14:25 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/baf915932a01 8178130: Minor update to the Connection javadocs Reviewed-by: bpb ! src/java.sql/share/classes/java/sql/Connection.java Changeset: d263a4cb0621 Author: asapre Date: 2017-04-10 12:15 +0530 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d263a4cb0621 8176204: [DOC] ThreadMXBean Fails to Detect ReentrantReadWriteLock Deadlock Summary: Update LockInfo class javadoc for own-able synchronizer examples Reviewed-by: dholmes Contributed-by: amit.sapre at oracle.com ! src/java.management/share/classes/java/lang/management/LockInfo.java Changeset: a7942c3b1e59 Author: mchung Date: 2017-04-10 13:51 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a7942c3b1e59 8177855: Clean up legal files Reviewed-by: alanb, darcy ! src/java.desktop/share/legal/jpeg.md ! src/jdk.crypto.ec/share/legal/ecc.md Changeset: 46e1898b6c6e Author: lana Date: 2017-04-13 16:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/46e1898b6c6e Added tag jdk-9+165 for changeset a7942c3b1e59 ! .hgtags Changeset: 83d37efcd2a5 Author: lana Date: 2017-04-13 20:35 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/83d37efcd2a5 Merge ! .hgtags - src/java.base/macosx/native/launcher/jexec.c ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.java - src/java.base/unix/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java ! test/ProblemList.txt From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:27 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:27 +0000 Subject: hg: amber/amber/corba: 2 new changesets Message-ID: <201704132157.v3DLvRrm015626@aojmv0008.oracle.com> Changeset: 934c18145915 Author: lana Date: 2017-04-13 16:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/934c18145915 Added tag jdk-9+165 for changeset a510b2201154 ! .hgtags Changeset: 7c5328012799 Author: lana Date: 2017-04-13 20:35 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/7c5328012799 Merge ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:28 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:28 +0000 Subject: hg: amber/amber/jaxws: 4 new changesets Message-ID: <201704132157.v3DLvSE3015642@aojmv0008.oracle.com> Changeset: e4cd98db3249 Author: alanb Date: 2017-04-07 08:05 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/e4cd98db3249 8177530: Module system implementation refresh (4/2017) Reviewed-by: mchung ! src/java.xml.ws/share/classes/com/sun/xml/internal/ws/addressing/EPRSDDocumentFilter.java ! src/java.xml.ws/share/classes/com/sun/xml/internal/ws/api/server/SDDocumentSource.java ! src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationProcessor.java Changeset: a987401bac0d Author: mchung Date: 2017-04-10 13:42 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/a987401bac0d 8177855: Clean up legal files Reviewed-by: alanb, darcy ! src/jdk.xml.bind/share/legal/relaxngdatatype.md Changeset: b1f30c27367b Author: lana Date: 2017-04-13 16:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/b1f30c27367b Added tag jdk-9+165 for changeset a987401bac0d ! .hgtags Changeset: 879aad463c21 Author: lana Date: 2017-04-13 20:35 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/879aad463c21 Merge ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:29 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:29 +0000 Subject: hg: amber/amber/langtools: 16 new changesets Message-ID: <201704132157.v3DLvTZV015662@aojmv0008.oracle.com> Changeset: f08f6a2f834c Author: ksrini Date: 2017-04-04 11:27 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/f08f6a2f834c 8176901: Internal error running javadoc over jdk internal classes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/JavaScriptScanner.java + test/jdk/javadoc/doclet/testBadHtml/TestBadHtml.java + test/jdk/javadoc/doclet/testBadHtml/pkg1/A.java Changeset: 17bb6279f8cb Author: jjg Date: 2017-04-04 14:02 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/17bb6279f8cb 8177562: Small updates to module summary page Reviewed-by: bpatel, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclet.xml ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! test/jdk/javadoc/doclet/testModules/TestModules.java Changeset: 2e47daa5c52b Author: bpatel Date: 2017-04-04 14:06 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/2e47daa5c52b 8177417: Constructor Summary readability problems in jdk9 javadoc Reviewed-by: jjg, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.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/resources/stylesheet.css ! test/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/jdk/javadoc/doclet/testMemberSummary/pkg/PrivateParent.java ! test/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Changeset: 838ccb5763e1 Author: vromero Date: 2017-04-04 15:15 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/838ccb5763e1 8177332: The presence of a file with a Japanese ShiftJIS name can cause javac to fail Reviewed-by: jjg, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java Changeset: 0e63023ff978 Author: bpatel Date: 2017-04-04 23:04 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/0e63023ff978 8175218: The fix for JDK-8141492 broke formatting of some javadoc documentation. 8178078: jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java failed due to some subtests failed 8178079: jdk/javadoc/doclet/testModules/TestModules.java failed due to some subtests failed Reviewed-by: jjg, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.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/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/jdk/javadoc/doclet/testModules/TestModules.java ! test/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Changeset: 3a05346a30cd Author: sadayapalam Date: 2017-04-05 14:34 +0530 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/3a05346a30cd 8176572: Javac does not enforce module name restrictions Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/modules/PoorChoiceForModuleNameTest.java Changeset: 64080a53e65c Author: jlahoda Date: 2017-04-06 11:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/64080a53e65c 8178013: Finetuning of merged tab and shift tab completion Summary: Fixing mistakes in localization bundle, fixing completion after /help set. Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties ! test/jdk/jshell/CommandCompletionTest.java Changeset: bd530c55e62c Author: jlahoda Date: 2017-04-06 16:19 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/bd530c55e62c 8178077: jshell tool: crash on ctrl-up or ctrl-down Summary: Adding a test for EditingHistory. Reviewed-by: rfield + test/jdk/jshell/HistoryUITest.java ! test/jdk/jshell/MergedTabShiftTabTest.java + test/jdk/jshell/UITesting.java Changeset: b873436b362b Author: mcimadamore Date: 2017-04-06 17:27 +0100 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/b873436b362b 8177933: Stackoverflow during compilation, starting jdk-9+163 Summary: Avoid extra method call in Attr.attribTree Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/speculative/T8177933.java Changeset: 82097900b7be Author: lana Date: 2017-04-06 18:00 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/82097900b7be Merge Changeset: 4012b3f11f0d Author: alanb Date: 2017-04-07 08:08 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/4012b3f11f0d 8177530: Module system implementation refresh (4/2017) Reviewed-by: jjg Contributed-by: alan.bateman at oracle.com, jan.lahoda at oracle.com ! make/tools/crules/CodingRulesAnalyzerPlugin.java ! src/java.compiler/share/classes/javax/tools/ToolProvider.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JDK9Wrappers.java ! src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocletInvoker.java ! test/TEST.ROOT ! test/com/sun/javadoc/testCustomTag/taglets/CustomTag.java ! test/com/sun/javadoc/testNestedInlineTag/testtaglets/BoldTaglet.java ! test/com/sun/javadoc/testNestedInlineTag/testtaglets/GreenTaglet.java ! test/com/sun/javadoc/testNestedInlineTag/testtaglets/UnderlineTaglet.java ! test/com/sun/javadoc/testTaglets/taglets/Foo.java ! test/jdk/javadoc/tool/CheckResourceKeys.java ! test/jdk/jshell/KullaTesting.java ! test/tools/javac/6410653/T6410653.java ! test/tools/javac/T6406771.java ! test/tools/javac/diags/CheckExamples.java ! test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/diags/examples/NoJavaLang.java ! test/tools/javac/fatalErrors/NoJavaLangTest.java ! test/tools/javac/lib/JavacTestingAbstractProcessor.java ! test/tools/javac/modules/AddLimitMods.java ! test/tools/javac/modules/AutomaticModules.java ! test/tools/javac/modules/IncubatingTest.java ! test/tools/javac/treeannotests/TestProcessor.java ! test/tools/javac/warnings/VerifyLintDescriptions.java ! test/tools/javadoc/CheckResourceKeys.java Changeset: a3a30789ab61 Author: alanb Date: 2017-04-07 10:58 +0100 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/a3a30789ab61 Merge Changeset: d6627b51ab8b Author: mcimadamore Date: 2017-04-07 15:46 +0100 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/d6627b51ab8b 8178283: tools/javac/lambda/speculative/T8177933.java fails with assertion error Summary: disable test on solaris Reviewed-by: darcy ! test/tools/javac/lambda/speculative/T8177933.java Changeset: 98108b7d4cb6 Author: jlahoda Date: 2017-04-10 11:08 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/98108b7d4cb6 8178011: Automatic module warnings Summary: Adding lints for automatic modules in requires and requires transitive directives. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.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/tools/javac/diags/Example.java + test/tools/javac/diags/examples/RequiresAutomatic/module-info.java + test/tools/javac/diags/examples/RequiresAutomatic/modulepath/a/A.java + test/tools/javac/diags/examples/RequiresTransitiveAutomatic/module-info.java + test/tools/javac/diags/examples/RequiresTransitiveAutomatic/modulepath/a/A.java ! test/tools/javac/modules/AutomaticModules.java Changeset: d3aec746a8d2 Author: lana Date: 2017-04-13 16:01 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/d3aec746a8d2 Added tag jdk-9+165 for changeset 98108b7d4cb6 ! .hgtags Changeset: 6190dbeac954 Author: lana Date: 2017-04-13 20:35 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/6190dbeac954 Merge ! .hgtags ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:58 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:58 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704132157.v3DLvwS8017050@aojmv0008.oracle.com> Changeset: 8bde3a260325 Author: langtools Date: 2017-04-13 23:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/8bde3a260325 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:57:59 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:57:59 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704132157.v3DLvxxT017100@aojmv0008.oracle.com> Changeset: 8288a6e5f25f Author: langtools Date: 2017-04-13 23:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/8288a6e5f25f Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:01 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:01 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704132158.v3DLw1xe017223@aojmv0008.oracle.com> Changeset: 5afa699ad45b Author: langtools Date: 2017-04-13 23:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/5afa699ad45b Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:00 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:00 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704132158.v3DLw01E017148@aojmv0008.oracle.com> Changeset: 444e767dc741 Author: langtools Date: 2017-04-13 23:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/444e767dc741 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:02 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:02 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704132158.v3DLw2ws017307@aojmv0008.oracle.com> Changeset: 336fed6809c0 Author: langtools Date: 2017-04-13 23:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/336fed6809c0 Automatic merge with default ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:03 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704132158.v3DLw37w017315@aojmv0008.oracle.com> Changeset: cf111201f5c9 Author: langtools Date: 2017-04-13 23:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/cf111201f5c9 Automatic merge with default - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLRModule.java - test/runtime/modules/java.base/java/lang/reflect/ModuleHelper.java From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:03 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704132158.v3DLw32S017311@aojmv0008.oracle.com> Changeset: fd69d58290cd Author: langtools Date: 2017-04-13 23:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fd69d58290cd Automatic merge with default - src/java.base/share/classes/java/lang/reflect/Layer.java - src/java.base/share/classes/java/lang/reflect/LayerInstantiationException.java - src/java.base/share/classes/java/lang/reflect/Module.java - src/java.base/share/classes/java/lang/reflect/WeakPairMap.java - src/java.base/share/classes/jdk/internal/misc/JavaLangReflectModuleAccess.java - test/java/lang/reflect/Layer/BasicLayerTest.java - test/java/lang/reflect/Layer/LayerAndLoadersTest.java - test/java/lang/reflect/Layer/LayerControllerTest.java - test/java/lang/reflect/Layer/layertest/Test.java - test/java/lang/reflect/Layer/src/m1/module-info.java - test/java/lang/reflect/Layer/src/m1/p/Main.java - test/java/lang/reflect/Layer/src/m1/p/Service.java - test/java/lang/reflect/Layer/src/m2/module-info.java - test/java/lang/reflect/Layer/src/m2/q/Hello.java - test/java/lang/reflect/Layer/src/m3/module-info.java - test/java/lang/reflect/Layer/src/m3/w/Hello.java - test/java/lang/reflect/Layer/src/m4/impl/ServiceImpl.java - test/java/lang/reflect/Layer/src/m4/module-info.java - test/java/lang/reflect/Module/AddExportsTest.java - test/java/lang/reflect/Module/AnnotationsTest.java - test/java/lang/reflect/Module/BasicModuleTest.java - test/java/lang/reflect/Module/WithSecurityManager.java - test/java/lang/reflect/Module/access/AccessTest.java - test/java/lang/reflect/Module/access/src/target/module-info.java - test/java/lang/reflect/Module/access/src/target/p1/Helper.java - test/java/lang/reflect/Module/access/src/target/p1/Public.java - test/java/lang/reflect/Module/access/src/target/p2/NonPublic.java - test/java/lang/reflect/Module/access/src/target/q1/Public.java - test/java/lang/reflect/Module/access/src/target/q2/NonPublic.java - test/java/lang/reflect/Module/access/src/test/module-info.java - test/java/lang/reflect/Module/access/src/test/test/Main.java - test/java/lang/reflect/Module/addXXX/Driver.java - test/java/lang/reflect/Module/addXXX/m1/module-info.java - test/java/lang/reflect/Module/addXXX/m1/p1/C.java - test/java/lang/reflect/Module/addXXX/m2/module-info.java - test/java/lang/reflect/Module/addXXX/m2/p2/C.java - test/java/lang/reflect/Module/addXXX/m2/p2/internal/C.java - test/java/lang/reflect/Module/addXXX/m3/module-info.java - test/java/lang/reflect/Module/addXXX/m3/p3/C.java - test/java/lang/reflect/Module/addXXX/m4/module-info.java - test/java/lang/reflect/Module/addXXX/m4/p4/C.java - test/java/lang/reflect/Module/addXXX/test/module-info.java - test/java/lang/reflect/Module/addXXX/test/test/C.java - test/java/lang/reflect/Module/addXXX/test/test/Main.java - test/java/lang/reflect/Module/addXXX/test/test/Service.java - test/java/lang/reflect/Module/allow.policy - test/java/lang/reflect/Module/annotation/Basic.java - test/java/lang/reflect/Module/annotation/src/m/module-info.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Bar.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Baz.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Foo.java - test/java/lang/reflect/WeakPairMap/Driver.java - test/java/lang/reflect/WeakPairMap/java.base/java/lang/reflect/WeakPairMapTest.java From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:04 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704132158.v3DLw4sB017319@aojmv0008.oracle.com> Changeset: 32b1b558f072 Author: langtools Date: 2017-04-13 23:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/32b1b558f072 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:32 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:32 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704132158.v3DLwXxr018642@aojmv0008.oracle.com> Changeset: 895ddae5c220 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/895ddae5c220 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:32 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:32 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704132158.v3DLwW6Z018584@aojmv0008.oracle.com> Changeset: 228baa9046ac Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/228baa9046ac Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:33 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:33 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704132158.v3DLwYk3018718@aojmv0008.oracle.com> Changeset: 3b7b068d8943 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/3b7b068d8943 Automatic merge with default ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:34 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704132158.v3DLwYbE018799@aojmv0008.oracle.com> Changeset: 45da7d7c5c57 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/45da7d7c5c57 Automatic merge with default - src/java.base/share/classes/java/lang/reflect/Layer.java - src/java.base/share/classes/java/lang/reflect/LayerInstantiationException.java - src/java.base/share/classes/java/lang/reflect/Module.java - src/java.base/share/classes/java/lang/reflect/WeakPairMap.java - src/java.base/share/classes/jdk/internal/misc/JavaLangReflectModuleAccess.java - test/java/lang/reflect/Layer/BasicLayerTest.java - test/java/lang/reflect/Layer/LayerAndLoadersTest.java - test/java/lang/reflect/Layer/LayerControllerTest.java - test/java/lang/reflect/Layer/layertest/Test.java - test/java/lang/reflect/Layer/src/m1/module-info.java - test/java/lang/reflect/Layer/src/m1/p/Main.java - test/java/lang/reflect/Layer/src/m1/p/Service.java - test/java/lang/reflect/Layer/src/m2/module-info.java - test/java/lang/reflect/Layer/src/m2/q/Hello.java - test/java/lang/reflect/Layer/src/m3/module-info.java - test/java/lang/reflect/Layer/src/m3/w/Hello.java - test/java/lang/reflect/Layer/src/m4/impl/ServiceImpl.java - test/java/lang/reflect/Layer/src/m4/module-info.java - test/java/lang/reflect/Module/AddExportsTest.java - test/java/lang/reflect/Module/AnnotationsTest.java - test/java/lang/reflect/Module/BasicModuleTest.java - test/java/lang/reflect/Module/WithSecurityManager.java - test/java/lang/reflect/Module/access/AccessTest.java - test/java/lang/reflect/Module/access/src/target/module-info.java - test/java/lang/reflect/Module/access/src/target/p1/Helper.java - test/java/lang/reflect/Module/access/src/target/p1/Public.java - test/java/lang/reflect/Module/access/src/target/p2/NonPublic.java - test/java/lang/reflect/Module/access/src/target/q1/Public.java - test/java/lang/reflect/Module/access/src/target/q2/NonPublic.java - test/java/lang/reflect/Module/access/src/test/module-info.java - test/java/lang/reflect/Module/access/src/test/test/Main.java - test/java/lang/reflect/Module/addXXX/Driver.java - test/java/lang/reflect/Module/addXXX/m1/module-info.java - test/java/lang/reflect/Module/addXXX/m1/p1/C.java - test/java/lang/reflect/Module/addXXX/m2/module-info.java - test/java/lang/reflect/Module/addXXX/m2/p2/C.java - test/java/lang/reflect/Module/addXXX/m2/p2/internal/C.java - test/java/lang/reflect/Module/addXXX/m3/module-info.java - test/java/lang/reflect/Module/addXXX/m3/p3/C.java - test/java/lang/reflect/Module/addXXX/m4/module-info.java - test/java/lang/reflect/Module/addXXX/m4/p4/C.java - test/java/lang/reflect/Module/addXXX/test/module-info.java - test/java/lang/reflect/Module/addXXX/test/test/C.java - test/java/lang/reflect/Module/addXXX/test/test/Main.java - test/java/lang/reflect/Module/addXXX/test/test/Service.java - test/java/lang/reflect/Module/allow.policy - test/java/lang/reflect/Module/annotation/Basic.java - test/java/lang/reflect/Module/annotation/src/m/module-info.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Bar.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Baz.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Foo.java - test/java/lang/reflect/WeakPairMap/Driver.java - test/java/lang/reflect/WeakPairMap/java.base/java/lang/reflect/WeakPairMapTest.java From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:35 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704132158.v3DLwZaZ018875@aojmv0008.oracle.com> Changeset: 063295d05b19 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/063295d05b19 Automatic merge with default - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLRModule.java - test/runtime/modules/java.base/java/lang/reflect/ModuleHelper.java From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:36 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:36 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704132158.v3DLwbPY018886@aojmv0008.oracle.com> Changeset: cdc747b21fc5 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/cdc747b21fc5 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:36 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:36 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704132158.v3DLwaLY018881@aojmv0008.oracle.com> Changeset: d79670d719e1 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/d79670d719e1 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:58:37 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:58:37 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704132158.v3DLwbZp018893@aojmv0008.oracle.com> Changeset: d074b4c983cb Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/d074b4c983cb Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:59:06 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:59:06 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704132159.v3DLx65O020221@aojmv0008.oracle.com> Changeset: 61c64e1e13b3 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/61c64e1e13b3 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:59:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:59:04 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704132159.v3DLx5cT020103@aojmv0008.oracle.com> Changeset: 3e417aa58e75 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/3e417aa58e75 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:59:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:59:05 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704132159.v3DLx5EO020159@aojmv0008.oracle.com> Changeset: 37168a49ea86 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/37168a49ea86 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:59:07 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:59:07 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704132159.v3DLx71J020306@aojmv0008.oracle.com> Changeset: 43465a787b53 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/43465a787b53 Automatic merge with default ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties From maurizio.cimadamore at oracle.com Thu Apr 13 21:59:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:59:09 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704132159.v3DLx9Ys020341@aojmv0008.oracle.com> Changeset: 938b95407613 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/938b95407613 Automatic merge with default - src/java.base/share/classes/java/lang/reflect/Layer.java - src/java.base/share/classes/java/lang/reflect/LayerInstantiationException.java - src/java.base/share/classes/java/lang/reflect/Module.java - src/java.base/share/classes/java/lang/reflect/WeakPairMap.java - src/java.base/share/classes/jdk/internal/misc/JavaLangReflectModuleAccess.java - test/java/lang/reflect/Layer/BasicLayerTest.java - test/java/lang/reflect/Layer/LayerAndLoadersTest.java - test/java/lang/reflect/Layer/LayerControllerTest.java - test/java/lang/reflect/Layer/layertest/Test.java - test/java/lang/reflect/Layer/src/m1/module-info.java - test/java/lang/reflect/Layer/src/m1/p/Main.java - test/java/lang/reflect/Layer/src/m1/p/Service.java - test/java/lang/reflect/Layer/src/m2/module-info.java - test/java/lang/reflect/Layer/src/m2/q/Hello.java - test/java/lang/reflect/Layer/src/m3/module-info.java - test/java/lang/reflect/Layer/src/m3/w/Hello.java - test/java/lang/reflect/Layer/src/m4/impl/ServiceImpl.java - test/java/lang/reflect/Layer/src/m4/module-info.java - test/java/lang/reflect/Module/AddExportsTest.java - test/java/lang/reflect/Module/AnnotationsTest.java - test/java/lang/reflect/Module/BasicModuleTest.java - test/java/lang/reflect/Module/WithSecurityManager.java - test/java/lang/reflect/Module/access/AccessTest.java - test/java/lang/reflect/Module/access/src/target/module-info.java - test/java/lang/reflect/Module/access/src/target/p1/Helper.java - test/java/lang/reflect/Module/access/src/target/p1/Public.java - test/java/lang/reflect/Module/access/src/target/p2/NonPublic.java - test/java/lang/reflect/Module/access/src/target/q1/Public.java - test/java/lang/reflect/Module/access/src/target/q2/NonPublic.java - test/java/lang/reflect/Module/access/src/test/module-info.java - test/java/lang/reflect/Module/access/src/test/test/Main.java - test/java/lang/reflect/Module/addXXX/Driver.java - test/java/lang/reflect/Module/addXXX/m1/module-info.java - test/java/lang/reflect/Module/addXXX/m1/p1/C.java - test/java/lang/reflect/Module/addXXX/m2/module-info.java - test/java/lang/reflect/Module/addXXX/m2/p2/C.java - test/java/lang/reflect/Module/addXXX/m2/p2/internal/C.java - test/java/lang/reflect/Module/addXXX/m3/module-info.java - test/java/lang/reflect/Module/addXXX/m3/p3/C.java - test/java/lang/reflect/Module/addXXX/m4/module-info.java - test/java/lang/reflect/Module/addXXX/m4/p4/C.java - test/java/lang/reflect/Module/addXXX/test/module-info.java - test/java/lang/reflect/Module/addXXX/test/test/C.java - test/java/lang/reflect/Module/addXXX/test/test/Main.java - test/java/lang/reflect/Module/addXXX/test/test/Service.java - test/java/lang/reflect/Module/allow.policy - test/java/lang/reflect/Module/annotation/Basic.java - test/java/lang/reflect/Module/annotation/src/m/module-info.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Bar.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Baz.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Foo.java - test/java/lang/reflect/WeakPairMap/Driver.java - test/java/lang/reflect/WeakPairMap/java.base/java/lang/reflect/WeakPairMapTest.java From maurizio.cimadamore at oracle.com Thu Apr 13 21:59:08 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:59:08 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704132159.v3DLx8eg020337@aojmv0008.oracle.com> Changeset: 86d808aca609 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/86d808aca609 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 13 21:59:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:59:09 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704132159.v3DLx9U3020345@aojmv0008.oracle.com> Changeset: bbdb6025b189 Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/bbdb6025b189 Automatic merge with default - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLRModule.java - test/runtime/modules/java.base/java/lang/reflect/ModuleHelper.java From maurizio.cimadamore at oracle.com Thu Apr 13 21:59:10 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 13 Apr 2017 21:59:10 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704132159.v3DLxA1p020350@aojmv0008.oracle.com> Changeset: bcaca2d5b86c Author: langtools Date: 2017-04-13 23:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/bcaca2d5b86c Automatic merge with default From forax at univ-mlv.fr Fri Apr 14 18:29:01 2017 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 14 Apr 2017 20:29:01 +0200 (CEST) Subject: [lvti][leftovers] lvti + leftovers Message-ID: <491248721.2130295.1492194541954.JavaMail.zimbra@u-pem.fr> I've just played a little with the '_', the new scope rule in a lambda and 'var'. First, after cloning amber/amber, i've stupidly spent 10 mins wondering why nothing was working until i remarked that the development was done in different branches. I've merged leftovers and lvti, to be able to write the following example*: @SafeVarargs private static Map> positions(T... array) { var map = new HashMap>(); for(var i = 0; i < array.length; i++) { var element = array[i]; map.computeIfAbsent(element, element -> new ArrayList<>()) .add(i); } return map; } public static void main(String[] _) { var map = positions("foo", "bar", "foo"); System.out.println(map.getOrDefault("foo", List.of())); } The wunderbar '_' allows to write yet another signature of the main, You have also the morse version: public static void main(String..._) (yes the space is not required) The call map.computeIfAbsent(element, element -> ...) is now supported ! Note that, in this case, map.computeIfAbsent(element, _ -> ...) also works. Another example, with yet another Logger: import java.lang.System.Logger.Level; import static java.lang.System.Logger.Level.*; import java.util.function.Function; import java.util.function.Predicate; public interface Log { public static Log logger(Class type) { var logger = System.getLogger(type.getName()); return (level, value, message) -> logger.log(level, message.apply(value)); } public void log(Level level, Object value, Function message); public default Log filter(Predicate filter) { return (level, value, message) -> { if (filter.test(level)) log(level, value, message); }; } public static void main(String[] _) { var logger = Log.logger(Log.class) .filter(level -> WARNING.getSeverity() <= level.getSeverity()); logger.log(ERROR, "test1", result -> result); logger.log(DEBUG, "test2", result -> result); String result = "hello"; logger.log(ERROR, result, result -> result + " world"); } } the main() compiles, even if everything is a result :) As a game, try to predict what are the errors raised by javac 9 in the body of the main. cheers, R?mi * and yes, you can write it with a Collector, in less lines ... From forax at univ-mlv.fr Fri Apr 14 18:32:45 2017 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 14 Apr 2017 20:32:45 +0200 (CEST) Subject: [leftovers] You shall not create an abstract enum Message-ID: <794314456.2130677.1492194765510.JavaMail.zimbra@u-pem.fr> While merging lvti and leftovers branches, i had to merge manually JavacParser, doing that i've remarked this code enum FormalParameterKind { /* a formal lambda parameter */ LAMBDA { @Override boolean isLambdaParameter() { return true; } }, /* a formal catch clause parameter */ CATCH, /* a formal method parameter */ METHOD; boolean isLambdaParameter() { return false; } } which can be written that way: enum FormalParameterKind { /* a formal lambda parameter */ LAMBDA, /* a formal catch clause parameter */ CATCH, /* a formal method parameter */ METHOD; boolean isLambdaParameter() { return this == LAMBDA; } } to avoid to spin an inner class. R?mi From forax at univ-mlv.fr Fri Apr 14 18:37:10 2017 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 14 Apr 2017 20:37:10 +0200 (CEST) Subject: [leftover] Using _ as a variable Message-ID: <1565378022.2130972.1492195030541.JavaMail.zimbra@u-pem.fr> If someone try to use '_' as a variable, javac reports the following error, which is not very readable. javac -source 10 LambdaLeftovers.java LambdaLeftovers.java:10: error: as of release 10, '_' may only be used as an identifier of: System.out.println(_); ^ unused lambda, method, or catch formal parameter. 1 error what about as of release 10, '_' can only be used as an unused formal parameter. cheers, R?mi From brian.goetz at oracle.com Fri Apr 14 18:38:34 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 14 Apr 2017 14:38:34 -0400 Subject: [leftover] Using _ as a variable In-Reply-To: <1565378022.2130972.1492195030541.JavaMail.zimbra@u-pem.fr> References: <1565378022.2130972.1492195030541.JavaMail.zimbra@u-pem.fr> Message-ID: <81394962-1841-1444-af4e-5d0af8088b85@oracle.com> Great catch, thanks! On 4/14/2017 2:37 PM, Remi Forax wrote: > If someone try to use '_' as a variable, javac reports the following error, > which is not very readable. > > javac -source 10 LambdaLeftovers.java > LambdaLeftovers.java:10: error: as of release 10, '_' may only be used as an identifier of: > System.out.println(_); > ^ > unused lambda, method, or catch formal parameter. > 1 error > > what about > as of release 10, '_' can only be used as an unused formal parameter. > > cheers, > R?mi > From vicente.romero at oracle.com Fri Apr 14 19:08:49 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 14 Apr 2017 19:08:49 +0000 Subject: hg: amber/amber/langtools: update error message for _ Message-ID: <201704141908.v3EJ8nH2026655@aojmv0008.oracle.com> Changeset: f38ae827457b Author: vromero Date: 2017-04-14 11:52 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/f38ae827457b update error message for _ ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties From vicente.romero at oracle.com Fri Apr 14 19:09:50 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Fri, 14 Apr 2017 15:09:50 -0400 Subject: [leftover] Using _ as a variable In-Reply-To: <81394962-1841-1444-af4e-5d0af8088b85@oracle.com> References: <1565378022.2130972.1492195030541.JavaMail.zimbra@u-pem.fr> <81394962-1841-1444-af4e-5d0af8088b85@oracle.com> Message-ID: Hi Remi, Thanks for the report. I have updated the error message, Merci, Vicente On 04/14/2017 02:38 PM, Brian Goetz wrote: > Great catch, thanks! > > On 4/14/2017 2:37 PM, Remi Forax wrote: >> If someone try to use '_' as a variable, javac reports the following >> error, >> which is not very readable. >> >> javac -source 10 LambdaLeftovers.java >> LambdaLeftovers.java:10: error: as of release 10, '_' may only be >> used as an identifier of: >> System.out.println(_); >> ^ >> unused lambda, method, or catch formal parameter. >> 1 error >> >> what about >> as of release 10, '_' can only be used as an unused formal parameter. >> >> cheers, >> R?mi >> > From forax at univ-mlv.fr Sat Apr 15 09:41:36 2017 From: forax at univ-mlv.fr (Remi Forax) Date: Sat, 15 Apr 2017 09:41:36 +0000 Subject: [leftover] Using _ as a variable In-Reply-To: References: <1565378022.2130972.1492195030541.JavaMail.zimbra@u-pem.fr> <81394962-1841-1444-af4e-5d0af8088b85@oracle.com> Message-ID: <7A26013F-149D-470F-8C64-87260A5267F6@univ-mlv.fr> Many thanks. R?mi On April 14, 2017 9:09:50 PM GMT+02:00, Vicente Romero wrote: >Hi Remi, > >Thanks for the report. I have updated the error message, > >Merci, >Vicente > >On 04/14/2017 02:38 PM, Brian Goetz wrote: >> Great catch, thanks! >> >> On 4/14/2017 2:37 PM, Remi Forax wrote: >>> If someone try to use '_' as a variable, javac reports the following > >>> error, >>> which is not very readable. >>> >>> javac -source 10 LambdaLeftovers.java >>> LambdaLeftovers.java:10: error: as of release 10, '_' may only be >>> used as an identifier of: >>> System.out.println(_); >>> ^ >>> unused lambda, method, or catch formal parameter. >>> 1 error >>> >>> what about >>> as of release 10, '_' can only be used as an unused formal >parameter. >>> >>> cheers, >>> R?mi >>> >> -- Sent from my Android device with K-9 Mail. Please excuse my brevity. From brian.goetz at oracle.com Mon Apr 17 18:34:00 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Mon, 17 Apr 2017 14:34:00 -0400 Subject: Fwd: JEP 303: Intrinsics for the LDC and INVOKEDYNAMIC Instructions In-Reply-To: <20170417183145.72208B08DD@eggemoggin.niobe.net> References: <20170417183145.72208B08DD@eggemoggin.niobe.net> Message-ID: <7e2c60a2-2832-5f50-d7ab-5d49d3da9403@oracle.com> New JEP Candidate: http://openjdk.java.net/jeps/303 From brian.goetz at oracle.com Mon Apr 17 20:22:41 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Mon, 17 Apr 2017 16:22:41 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber Message-ID: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into Project Amber. A first draft of the API can be found at: http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ Prototype implementation coming soon. From forax at univ-mlv.fr Mon Apr 17 20:47:57 2017 From: forax at univ-mlv.fr (Remi Forax) Date: Mon, 17 Apr 2017 22:47:57 +0200 (CEST) Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> Message-ID: <1011153534.242641.1492462077448.JavaMail.zimbra@u-pem.fr> It's not clear in the current draft, but the compiler should fail if it can not create a const value for a whole expression send as arguments of ldc or indy. Otherwise it's like any systems doing partial application at compile time, you spend your time finding why there is a regression. and i still think that the whole Constable interface should not be visible from the user, only Constantables and Intrinsics should be visible. also all intermediary objects should be value types, no ? regards, R?mi ----- Mail original ----- > De: "Brian Goetz" > ?: amber-dev at openjdk.java.net > Envoy?: Lundi 17 Avril 2017 22:22:41 > Objet: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber > JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into > Project Amber. > > A first draft of the API can be found at: > > http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ > > Prototype implementation coming soon. From vicente.romero at oracle.com Tue Apr 18 01:07:16 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:07:16 +0000 Subject: hg: amber/amber/langtools: initial push constant-folding branch Message-ID: <201704180107.v3I17GX3005959@aojmv0008.oracle.com> Changeset: 8528b2385a21 Author: vromero Date: 2017-04-17 17:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/8528b2385a21 initial push constant-folding branch From vicente.romero at oracle.com Tue Apr 18 01:08:34 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:08:34 +0000 Subject: hg: amber/amber: initial push constant-folding branch Message-ID: <201704180108.v3I18YT3006182@aojmv0008.oracle.com> Changeset: b978254eaec0 Author: vromero Date: 2017-04-17 17:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/rev/b978254eaec0 initial push constant-folding branch From vicente.romero at oracle.com Tue Apr 18 01:09:24 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:09:24 +0000 Subject: hg: amber/amber/corba: initial push constant-folding branch Message-ID: <201704180109.v3I19O1Z006463@aojmv0008.oracle.com> Changeset: 94ed9c2cabf0 Author: vromero Date: 2017-04-17 17:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/94ed9c2cabf0 initial push constant-folding branch From vicente.romero at oracle.com Tue Apr 18 01:09:52 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:09:52 +0000 Subject: hg: amber/amber/hotspot: initial push constant-folding branch Message-ID: <201704180109.v3I19qlX006546@aojmv0008.oracle.com> Changeset: 6caa1a33f581 Author: vromero Date: 2017-04-17 17:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/6caa1a33f581 initial push constant-folding branch From vicente.romero at oracle.com Tue Apr 18 01:10:18 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:10:18 +0000 Subject: hg: amber/amber/jaxp: initial push constant-folding branch Message-ID: <201704180110.v3I1AIWp006701@aojmv0008.oracle.com> Changeset: 2ebdc64fb20c Author: vromero Date: 2017-04-17 17:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/2ebdc64fb20c initial push constant-folding branch From vicente.romero at oracle.com Tue Apr 18 01:10:39 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:10:39 +0000 Subject: hg: amber/amber/jaxws: initial push constant-folding branch Message-ID: <201704180110.v3I1Ad0W006788@aojmv0008.oracle.com> Changeset: d04641a1a053 Author: vromero Date: 2017-04-17 17:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/d04641a1a053 initial push constant-folding branch From vicente.romero at oracle.com Tue Apr 18 01:11:00 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:11:00 +0000 Subject: hg: amber/amber/jdk: initial push constant-folding branch Message-ID: <201704180111.v3I1B1Pq006965@aojmv0008.oracle.com> Changeset: 922baa97e647 Author: vromero Date: 2017-04-17 17:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/922baa97e647 initial push constant-folding branch From vicente.romero at oracle.com Tue Apr 18 01:11:32 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:11:32 +0000 Subject: hg: amber/amber/nashorn: initial push constant-folding branch Message-ID: <201704180111.v3I1BWRG007226@aojmv0008.oracle.com> Changeset: 40600db0893d Author: vromero Date: 2017-04-17 17:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/40600db0893d initial push constant-folding branch From vicente.romero at oracle.com Tue Apr 18 01:56:38 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:56:38 +0000 Subject: hg: amber/amber/langtools: bulk push of the constant folding project Message-ID: <201704180156.v3I1ucgq025563@aojmv0008.oracle.com> Changeset: 7be70b52c760 Author: vromero Date: 2017-04-17 18:12 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 bulk push of the constant folding project ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.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/AttrContext.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java ! 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/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/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/StringConcat.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java + src/jdk.compiler/share/classes/com/sun/tools/javac/util/DescriptorUtils.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/lib/combo/ComboTask.java ! test/tools/javac/lib/combo/ComboTestHelper.java + test/tools/javac/specialConstantFolding/CallClassLiteralMethodTest.java + test/tools/javac/specialConstantFolding/CapturingAnnoInnerClassTest.java + test/tools/javac/specialConstantFolding/CheckConstablesVSLookupAPITest.java + test/tools/javac/specialConstantFolding/DontCompileIfSymbolCantBeFoundTest.java + test/tools/javac/specialConstantFolding/DontCompileIfSymbolCantBeFoundTest.out + test/tools/javac/specialConstantFolding/EffectivelyFinalTestNeg.java + test/tools/javac/specialConstantFolding/EffectivelyFinalTestNeg.out + test/tools/javac/specialConstantFolding/IndyCodeGenerationTest.java + test/tools/javac/specialConstantFolding/ReportIncorrectMHForIndyTest.java + test/tools/javac/specialConstantFolding/ReportIncorrectMHForIndyTest.out + test/tools/javac/specialConstantFolding/constable/ClassConstantTest.java + test/tools/javac/specialConstantFolding/harness/ConstantFoldingHarness.java + test/tools/javac/specialConstantFolding/harness/HarnessAnnotations.java + test/tools/javac/specialConstantFolding/harness/tests/ConstantDefinitions.java + test/tools/javac/specialConstantFolding/harness/tests/ConstantFoldingOfMethodTypeDiffContextsTest.java + test/tools/javac/specialConstantFolding/harness/tests/ConstantFoldingTest.java + test/tools/javac/specialConstantFolding/harness/tests/ConstantPropagationTest.java + test/tools/javac/specialConstantFolding/harness/tests/ConstantsUser.java + test/tools/javac/specialConstantFolding/harness/tests/EffectivelyFinalTest.java + test/tools/javac/specialConstantFolding/harness/tests/FindConstructorTest.java + test/tools/javac/specialConstantFolding/harness/tests/FindGetterTest.java + test/tools/javac/specialConstantFolding/harness/tests/FindMethodWithGenericArgumentsTest.java + test/tools/javac/specialConstantFolding/harness/tests/FindSetterTest.java + test/tools/javac/specialConstantFolding/harness/tests/FindStaticGetterTest.java + test/tools/javac/specialConstantFolding/harness/tests/FindStaticSetterTest.java + test/tools/javac/specialConstantFolding/harness/tests/FindStaticTest.java + test/tools/javac/specialConstantFolding/harness/tests/FindVirtualTest01.java + test/tools/javac/specialConstantFolding/harness/tests/FindVirtualTest02.java ! test/tools/lib/toolbox/Task.java From vicente.romero at oracle.com Tue Apr 18 01:57:06 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 01:57:06 +0000 Subject: hg: amber/amber/jdk: bulk push of the constant folding project Message-ID: <201704180157.v3I1v6tP025759@aojmv0008.oracle.com> Changeset: 2eeb80b82c9c Author: vromero Date: 2017-04-17 18:14 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c bulk push of the constant folding project ! src/java.base/share/classes/java/lang/Double.java ! src/java.base/share/classes/java/lang/Float.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/String.java + src/java.base/share/classes/java/lang/annotation/TrackableConstant.java + src/java.base/share/classes/java/lang/invoke/Constable.java + src/java.base/share/classes/java/lang/invoke/Constables.java + src/java.base/share/classes/java/lang/invoke/Intrinsics.java From vicente.romero at oracle.com Tue Apr 18 02:07:05 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Mon, 17 Apr 2017 22:07:05 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> Message-ID: <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> Hi, Support for JEP 303 has been pushed in the amber repo [1, 2] (branch name is 'constant-folding'). The development is mature although there are some fresh areas like using reflection for accessing the API methods. Reflection is needed as the classes defined in the API see [1] are not available in the boot JDK. There is still some ongoing research so some changes to the API and the code are to be expected in the near future, Thanks, Vicente [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 On 04/17/2017 04:22 PM, Brian Goetz wrote: > JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into > Project Amber. > > A first draft of the API can be found at: > > http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ > > Prototype implementation coming soon. > > From amaembo at gmail.com Tue Apr 18 06:17:47 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Tue, 18 Apr 2017 13:17:47 +0700 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> Message-ID: Hello! I tried to play with this, but still no success. Fresh build from constant-folding branch. I tried to compile the following files: // MH.java import java.lang.invoke.*; import java.lang.invoke.Constables.*; import java.lang.reflect.*; public class MH { private static void test() { System.out.println("Hello"); } public static void main(String[] args) throws Throwable { final MethodHandle handle = Intrinsics.ldc( MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), "test", MethodTypeConstant.of(Constables.VOID))); handle.invokeExact(); } } // VH.java import java.lang.invoke.*; import java.lang.invoke.Constables.*; import java.lang.reflect.*; public class VH { private static volatile int counter; private static final VarHandle COUNTER = Intrinsics.ldc( VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), "counter", Constables.INT)); public static void main(String[] args) { System.out.println(COUNTER.getAndAdd(1)); System.out.println(COUNTER.getAndAdd(1)); } } Building with "javac -XDdoConstantFold=true MH.java" or "javac -XDdoConstantFold=true VH.java", javac silently exists without producing .class file or reporting any error. Tried with -verbose, the output ends like this: [loading /modules/java.base/java/lang/annotation/RetentionPolicy.class] [loading /modules/java.base/java/lang/annotation/Target.class] [loading /modules/java.base/java/lang/annotation/ElementType.class] [checking VH] [loading /modules/java.base/java/io/Serializable.class] [loading /modules/java.base/java/lang/AutoCloseable.class] [loading /modules/java.base/java/lang/Class.class] [loading /modules/java.base/java/lang/invoke/Constable.class] [loading /modules/java.base/java/lang/invoke/Intrinsics.class] [total 1484ms] Without -XDdoConstantFold=true the class file is produced and dies like Exception in thread "main" java.lang.UnsupportedOperationException: no reflective access at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) at MH.main(MH.java:12) Which is expected behavior, I guess. Am I doing something wrong? Could you compile these files on your side? Sorry if my tries look lame: I'm very new to this. With best regards, Tagir Valeev. On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero wrote: > Hi, > > Support for JEP 303 has been pushed in the amber repo [1, 2] (branch name > is 'constant-folding'). The development is mature although there are some > fresh areas like using reflection for accessing the API methods. Reflection > is needed as the classes defined in the API see [1] are not available in > the boot JDK. There is still some ongoing research so some changes to the > API and the code are to be expected in the near future, > > Thanks, > Vicente > > > [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c > [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 > > > On 04/17/2017 04:22 PM, Brian Goetz wrote: > >> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >> Project Amber. >> >> A first draft of the API can be found at: >> >> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >> >> Prototype implementation coming soon. >> >> >> > From attila at hontvari.net Tue Apr 18 06:56:52 2017 From: attila at hontvari.net (=?UTF-8?Q?Hontv=c3=a1ri_Attila?=) Date: Tue, 18 Apr 2017 08:56:52 +0200 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> Message-ID: I think in Constables, line 750 (DynamicConstant::resolveConstant) should invoke invokeWithArguments instead of invokeExact. Constables::resolveArgs returns a generic array, but MethodHandle::invokeExact is a sigpoly method. 2017-04-17 22:22 keltez?ssel, Brian Goetz ?rta: > JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into > Project Amber. > > A first draft of the API can be found at: > > http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ > > Prototype implementation coming soon. > > > From vicente.romero at oracle.com Tue Apr 18 13:26:41 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Tue, 18 Apr 2017 09:26:41 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> Message-ID: Hi Tagir, I think that you just hit some bogus behavior. I will work on it and get back to you. Thanks for the report. Vicente On 04/18/2017 02:17 AM, Tagir Valeev wrote: > Hello! > > I tried to play with this, but still no success. Fresh build from > constant-folding branch. I tried to compile the following files: > > // MH.java > import java.lang.invoke.*; import java.lang.invoke.Constables.*; > import java.lang.reflect.*; public class MH { private static void > test() { System.out.println("Hello"); } public static void > main(String[] args) throws Throwable { final MethodHandle handle = > Intrinsics.ldc( > MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), "test", > MethodTypeConstant.of(Constables.VOID))); handle.invokeExact(); } > } > > // VH.java > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class VH { > private static volatile int counter; > > private static final VarHandle COUNTER = Intrinsics.ldc( > VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), > "counter", Constables.INT)); > > public static void main(String[] args) { > System.out.println(COUNTER.getAndAdd(1)); > System.out.println(COUNTER.getAndAdd(1)); > } > } > > Building with "javac -XDdoConstantFold=true MH.java" or "javac > -XDdoConstantFold=true VH.java", > javac silently exists without producing .class file or reporting any > error. Tried with -verbose, the output ends like this: > > [loading /modules/java.base/java/lang/annotation/RetentionPolicy.class] > [loading /modules/java.base/java/lang/annotation/Target.class] > [loading /modules/java.base/java/lang/annotation/ElementType.class] > [checking VH] > [loading /modules/java.base/java/io/Serializable.class] > [loading /modules/java.base/java/lang/AutoCloseable.class] > [loading /modules/java.base/java/lang/Class.class] > [loading /modules/java.base/java/lang/invoke/Constable.class] > [loading /modules/java.base/java/lang/invoke/Intrinsics.class] > [total 1484ms] > > Without -XDdoConstantFold=true the class file is produced and dies like > > Exception in thread "main" java.lang.UnsupportedOperationException: no > reflective access > at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) > at MH.main(MH.java:12) > > Which is expected behavior, I guess. > > Am I doing something wrong? Could you compile these files on your > side? Sorry if my tries look lame: I'm very new to this. > > With best regards, > Tagir Valeev. > > On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero > > wrote: > > Hi, > > Support for JEP 303 has been pushed in the amber repo [1, 2] > (branch name is 'constant-folding'). The development is mature > although there are some fresh areas like using reflection for > accessing the API methods. Reflection is needed as the classes > defined in the API see [1] are not available in the boot JDK. > There is still some ongoing research so some changes to the API > and the code are to be expected in the near future, > > Thanks, > Vicente > > > [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c > > [2] > http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 > > > > On 04/17/2017 04:22 PM, Brian Goetz wrote: > > JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby > adopted into Project Amber. > > A first draft of the API can be found at: > > http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ > > > Prototype implementation coming soon. > > > > From vicente.romero at oracle.com Tue Apr 18 13:31:55 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Tue, 18 Apr 2017 09:31:55 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> Message-ID: <213f7e7b-9a80-c81c-10b0-12139bd32c0d@oracle.com> Hi, On 04/18/2017 02:56 AM, Hontv?ri Attila wrote: > I think in Constables, line 750 (DynamicConstant::resolveConstant) > should invoke invokeWithArguments instead of invokeExact. > Constables::resolveArgs returns a generic array, but > MethodHandle::invokeExact is a sigpoly method. DynamicConstant are included in the API but there is still no full support in the compiler, so this code hasn't been fully tested. We will revisit it with your suggestion in mind, > > 2017-04-17 22:22 keltez?ssel, Brian Goetz ?rta: >> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >> Project Amber. >> >> A first draft of the API can be found at: >> >> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >> >> Prototype implementation coming soon. >> >> >> > Thanks, Vicente From brian.goetz at oracle.com Tue Apr 18 14:13:51 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Tue, 18 Apr 2017 10:13:51 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> Message-ID: <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> The primitive fields (Constables.VOID and friends) are not yet hooked up; for the time being, replace with ClassConstant.of("V"). On 4/18/2017 2:17 AM, Tagir Valeev wrote: > Hello! > > I tried to play with this, but still no success. Fresh build from > constant-folding branch. I tried to compile the following files: > > // MH.java > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), "test", > MethodTypeConstant.of(Constables.VOID))); > handle.invokeExact(); > } > > } > > // VH.java > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class VH { > private static volatile int counter; > > private static final VarHandle COUNTER = Intrinsics.ldc( > VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), "counter", > Constables.INT)); > > public static void main(String[] args) { > System.out.println(COUNTER.getAndAdd(1)); > System.out.println(COUNTER.getAndAdd(1)); > } > } > > Building with "javac -XDdoConstantFold=true MH.java" or "javac > -XDdoConstantFold=true VH.java", > javac silently exists without producing .class file or reporting any error. > Tried with -verbose, the output ends like this: > > [loading /modules/java.base/java/lang/annotation/RetentionPolicy.class] > [loading /modules/java.base/java/lang/annotation/Target.class] > [loading /modules/java.base/java/lang/annotation/ElementType.class] > [checking VH] > [loading /modules/java.base/java/io/Serializable.class] > [loading /modules/java.base/java/lang/AutoCloseable.class] > [loading /modules/java.base/java/lang/Class.class] > [loading /modules/java.base/java/lang/invoke/Constable.class] > [loading /modules/java.base/java/lang/invoke/Intrinsics.class] > [total 1484ms] > > Without -XDdoConstantFold=true the class file is produced and dies like > > Exception in thread "main" java.lang.UnsupportedOperationException: no > reflective access > at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) > at MH.main(MH.java:12) > > Which is expected behavior, I guess. > > Am I doing something wrong? Could you compile these files on your side? > Sorry if my tries look lame: I'm very new to this. > > With best regards, > Tagir Valeev. > > On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero > wrote: > >> Hi, >> >> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch name >> is 'constant-folding'). The development is mature although there are some >> fresh areas like using reflection for accessing the API methods. Reflection >> is needed as the classes defined in the API see [1] are not available in >> the boot JDK. There is still some ongoing research so some changes to the >> API and the code are to be expected in the near future, >> >> Thanks, >> Vicente >> >> >> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >> >> >> On 04/17/2017 04:22 PM, Brian Goetz wrote: >> >>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>> Project Amber. >>> >>> A first draft of the API can be found at: >>> >>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>> >>> Prototype implementation coming soon. >>> >>> >>> From maurizio.cimadamore at oracle.com Tue Apr 18 16:32:18 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 18 Apr 2017 16:32:18 +0000 Subject: hg: amber/amber/jdk: 8178889: Move creation of AbstractChronology comparators to call sites Message-ID: <201704181632.v3IGWICx010739@aojmv0008.oracle.com> Changeset: fa26583c5329 Author: redestad Date: 2017-04-18 18:25 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fa26583c5329 8178889: Move creation of AbstractChronology comparators to call sites Reviewed-by: rriggs ! src/java.base/share/classes/java/time/chrono/AbstractChronology.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDate.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTime.java ! src/java.base/share/classes/java/time/chrono/ChronoZonedDateTime.java From maurizio.cimadamore at oracle.com Tue Apr 18 16:32:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 18 Apr 2017 16:32:55 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704181632.v3IGWuh4012910@aojmv0008.oracle.com> Changeset: 26a0ea206bb7 Author: langtools Date: 2017-04-18 18:30 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/26a0ea206bb7 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 18 16:33:28 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 18 Apr 2017 16:33:28 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704181633.v3IGXTkO015029@aojmv0008.oracle.com> Changeset: 0b4308b6b136 Author: langtools Date: 2017-04-18 18:30 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/0b4308b6b136 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 18 16:34:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 18 Apr 2017 16:34:03 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704181634.v3IGY316016831@aojmv0008.oracle.com> Changeset: 42980c60c211 Author: langtools Date: 2017-04-18 18:31 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/42980c60c211 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 18 16:34:37 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 18 Apr 2017 16:34:37 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704181634.v3IGYbha018269@aojmv0008.oracle.com> Changeset: 89c0ccea3cc2 Author: langtools Date: 2017-04-18 18:32 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/89c0ccea3cc2 Automatic merge with default From brian.goetz at oracle.com Tue Apr 18 21:34:45 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Tue, 18 Apr 2017 17:34:45 -0400 Subject: Published: pattern matching Message-ID: <2522150c-03aa-96fd-d9dd-9ec306b33bfd@oracle.com> I've made public the following document: http://cr.openjdk.java.net/~briangoetz/amber/pattern-match.html which offers an overview of possible directions for pattern matching in Java. This is an exploratory document and does not constitute a plan for any specific feature in any specific version of the Java Language. Similarly, though it may reference other features under consideration, this is purely for illustrative purposes. There is no timetable on which these features might appear, if ever. Over the next few weeks, I'm going to begin, slowly, discussing various aspects of pattern matching on the EG list. From vicente.romero at oracle.com Tue Apr 18 22:15:52 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Apr 2017 22:15:52 +0000 Subject: hg: amber/amber/jdk: removing ClassConstant fields representing primitive class literals Message-ID: <201704182215.v3IMFq7p029756@aojmv0008.oracle.com> Changeset: 87f69d938dc8 Author: vromero Date: 2017-04-18 14:53 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/87f69d938dc8 removing ClassConstant fields representing primitive class literals ! src/java.base/share/classes/java/lang/invoke/Constables.java From amaembo at gmail.com Wed Apr 19 03:14:08 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Wed, 19 Apr 2017 10:14:08 +0700 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: Thank you for the hint! It also seems that ClassConstant.of(MH.class) does not work either and VarHandles are not supported yet. However the following sample finally worked for me: import java.lang.invoke.*; import java.lang.invoke.Constables.*; import java.lang.reflect.*; public class MH { private static void test() { System.out.println("Hello"); } public static void main(String[] args) throws Throwable { final MethodHandle handle = Intrinsics.ldc( MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", MethodTypeConstant.of(ClassConstant.of("V")))); handle.invokeExact(); } } With best regards, Tagir Valeev. On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz wrote: > The primitive fields (Constables.VOID and friends) are not yet hooked up; > for the time being, replace with ClassConstant.of("V"). > > > On 4/18/2017 2:17 AM, Tagir Valeev wrote: > >> Hello! >> >> I tried to play with this, but still no success. Fresh build from >> constant-folding branch. I tried to compile the following files: >> >> // MH.java >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> >> public static void main(String[] args) throws Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), "test", >> MethodTypeConstant.of(Constables.VOID))); >> handle.invokeExact(); >> } >> >> } >> >> // VH.java >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class VH { >> private static volatile int counter; >> >> private static final VarHandle COUNTER = Intrinsics.ldc( >> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >> "counter", >> Constables.INT)); >> >> public static void main(String[] args) { >> System.out.println(COUNTER.getAndAdd(1)); >> System.out.println(COUNTER.getAndAdd(1)); >> } >> } >> >> Building with "javac -XDdoConstantFold=true MH.java" or "javac >> -XDdoConstantFold=true VH.java", >> javac silently exists without producing .class file or reporting any >> error. >> Tried with -verbose, the output ends like this: >> >> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.class] >> [loading /modules/java.base/java/lang/annotation/Target.class] >> [loading /modules/java.base/java/lang/annotation/ElementType.class] >> [checking VH] >> [loading /modules/java.base/java/io/Serializable.class] >> [loading /modules/java.base/java/lang/AutoCloseable.class] >> [loading /modules/java.base/java/lang/Class.class] >> [loading /modules/java.base/java/lang/invoke/Constable.class] >> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >> [total 1484ms] >> >> Without -XDdoConstantFold=true the class file is produced and dies like >> >> Exception in thread "main" java.lang.UnsupportedOperationException: no >> reflective access >> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >> at MH.main(MH.java:12) >> >> Which is expected behavior, I guess. >> >> Am I doing something wrong? Could you compile these files on your side? >> Sorry if my tries look lame: I'm very new to this. >> >> With best regards, >> Tagir Valeev. >> >> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >> vicente.romero at oracle.com> >> wrote: >> >> Hi, >>> >>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch name >>> is 'constant-folding'). The development is mature although there are some >>> fresh areas like using reflection for accessing the API methods. >>> Reflection >>> is needed as the classes defined in the API see [1] are not available in >>> the boot JDK. There is still some ongoing research so some changes to the >>> API and the code are to be expected in the near future, >>> >>> Thanks, >>> Vicente >>> >>> >>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>> >>> >>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>> >>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>> Project Amber. >>>> >>>> A first draft of the API can be found at: >>>> >>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>> >>>> Prototype implementation coming soon. >>>> >>>> >>>> >>>> > From vicente.romero at oracle.com Wed Apr 19 12:50:33 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Wed, 19 Apr 2017 08:50:33 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: Hi Tagir, On 04/18/2017 11:14 PM, Tagir Valeev wrote: > Thank you for the hint! It also seems that ClassConstant.of(MH.class) > does not work either and VarHandles are not supported yet. However the > following sample finally worked for me: yes you are correct VarHandles are not supported yet. Regarding methods with arguments of type java.lang.Class, we are considering removing them in favor or ClassConstant. Also I have already remove the Constables.{VOID, INT, ...} family from the API. > > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", > MethodTypeConstant.of(ClassConstant.of("V")))); > handle.invokeExact(); > } > } > > With best regards, > Tagir Valeev. Thanks, Vicente > > > On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz > wrote: > > The primitive fields (Constables.VOID and friends) are not yet > hooked up; for the time being, replace with ClassConstant.of("V"). > > > On 4/18/2017 2:17 AM, Tagir Valeev wrote: > > Hello! > > I tried to play with this, but still no success. Fresh build from > constant-folding branch. I tried to compile the following files: > > // MH.java > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > > MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), "test", > MethodTypeConstant.of(Constables.VOID))); > handle.invokeExact(); > } > > } > > // VH.java > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class VH { > private static volatile int counter; > > private static final VarHandle COUNTER = Intrinsics.ldc( > > VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), > "counter", > Constables.INT)); > > public static void main(String[] args) { > System.out.println(COUNTER.getAndAdd(1)); > System.out.println(COUNTER.getAndAdd(1)); > } > } > > Building with "javac -XDdoConstantFold=true MH.java" or "javac > -XDdoConstantFold=true VH.java", > javac silently exists without producing .class file or > reporting any error. > Tried with -verbose, the output ends like this: > > [loading > /modules/java.base/java/lang/annotation/RetentionPolicy.class] > [loading /modules/java.base/java/lang/annotation/Target.class] > [loading > /modules/java.base/java/lang/annotation/ElementType.class] > [checking VH] > [loading /modules/java.base/java/io/Serializable.class] > [loading /modules/java.base/java/lang/AutoCloseable.class] > [loading /modules/java.base/java/lang/Class.class] > [loading /modules/java.base/java/lang/invoke/Constable.class] > [loading /modules/java.base/java/lang/invoke/Intrinsics.class] > [total 1484ms] > > Without -XDdoConstantFold=true the class file is produced and > dies like > > Exception in thread "main" > java.lang.UnsupportedOperationException: no > reflective access > at java.base/java.lang.invoke.Int > rinsics.ldc(Intrinsics.java:42) > at MH.main(MH.java:12) > > Which is expected behavior, I guess. > > Am I doing something wrong? Could you compile these files on > your side? > Sorry if my tries look lame: I'm very new to this. > > With best regards, > Tagir Valeev. > > On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero > > > wrote: > > Hi, > > Support for JEP 303 has been pushed in the amber repo [1, > 2] (branch name > is 'constant-folding'). The development is mature although > there are some > fresh areas like using reflection for accessing the API > methods. Reflection > is needed as the classes defined in the API see [1] are > not available in > the boot JDK. There is still some ongoing research so some > changes to the > API and the code are to be expected in the near future, > > Thanks, > Vicente > > > [1] > http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c > > [2] > http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 > > > > On 04/17/2017 04:22 PM, Brian Goetz wrote: > > JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is > hereby adopted into > Project Amber. > > A first draft of the API can be found at: > > http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ > > > Prototype implementation coming soon. > > > > > From vicente.romero at oracle.com Wed Apr 19 14:16:10 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 19 Apr 2017 14:16:10 +0000 Subject: hg: amber/amber/jdk: removing methods with arguments of type j.l.Class Message-ID: <201704191416.v3JEGBv4000935@aojmv0008.oracle.com> Changeset: 576664eabd8b Author: vromero Date: 2017-04-19 06:57 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/576664eabd8b removing methods with arguments of type j.l.Class ! src/java.base/share/classes/java/lang/invoke/Constables.java From brian.goetz at oracle.com Wed Apr 19 14:20:23 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Wed, 19 Apr 2017 10:20:23 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: And, for completeness, dynamic constants do not work yet either. On 4/18/2017 11:14 PM, Tagir Valeev wrote: > Thank you for the hint! It also seems that ClassConstant.of(MH.class) > does not work either and VarHandles are not supported yet. However the > following sample finally worked for me: From vicente.romero at oracle.com Wed Apr 19 21:23:39 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 19 Apr 2017 21:23:39 +0000 Subject: hg: amber/amber/langtools: fixing minor bug, use asMethodType() to avoid errors if the method is generic Message-ID: <201704192123.v3JLNeLT016127@aojmv0008.oracle.com> Changeset: 59d6c4fe1750 Author: vromero Date: 2017-04-19 14:07 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/59d6c4fe1750 fixing minor bug, use asMethodType() to avoid errors if the method is generic ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java From vicente.romero at oracle.com Wed Apr 19 23:34:50 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 19 Apr 2017 23:34:50 +0000 Subject: hg: amber/amber/jdk: adding getters to Constables.DynamicConstant Message-ID: <201704192334.v3JNYo2W002135@aojmv0008.oracle.com> Changeset: 278e27caac61 Author: vromero Date: 2017-04-19 16:19 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/278e27caac61 adding getters to Constables.DynamicConstant ! src/java.base/share/classes/java/lang/invoke/Constables.java From maurizio.cimadamore at oracle.com Thu Apr 20 08:47:23 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 08:47:23 +0000 Subject: hg: amber/amber/jdk: 2 new changesets Message-ID: <201704200847.v3K8lO4J002184@aojmv0008.oracle.com> Changeset: 3c37619dd646 Author: michaelm Date: 2017-04-20 09:40 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/3c37619dd646 8177452: Syntax errors in ContentHandler class documentation Reviewed-by: chegar ! src/java.base/share/classes/java/net/ContentHandler.java Changeset: d1436b294538 Author: michaelm Date: 2017-04-20 09:42 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d1436b294538 8177457: Syntax errors in URLConnection class documentation Reviewed-by: chegar ! src/java.base/share/classes/java/net/URLConnection.java From maurizio.cimadamore at oracle.com Thu Apr 20 08:47:54 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 08:47:54 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704200847.v3K8lsKf003836@aojmv0008.oracle.com> Changeset: 105258d8a76e Author: langtools Date: 2017-04-20 10:45 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/105258d8a76e Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 20 08:48:25 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 08:48:25 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704200848.v3K8mPjK005932@aojmv0008.oracle.com> Changeset: 33e72198f971 Author: langtools Date: 2017-04-20 10:45 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/33e72198f971 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 20 08:48:54 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 08:48:54 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704200848.v3K8msEx007835@aojmv0008.oracle.com> Changeset: b56623fefd9b Author: langtools Date: 2017-04-20 10:46 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b56623fefd9b Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 20 08:49:25 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 08:49:25 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704200849.v3K8nPwr009266@aojmv0008.oracle.com> Changeset: 39d2edd698ce Author: langtools Date: 2017-04-20 10:46 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/39d2edd698ce Automatic merge with default From vicente.romero at oracle.com Thu Apr 20 13:33:12 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 20 Apr 2017 13:33:12 +0000 Subject: hg: amber/amber/langtools: making class literals a poly expression Message-ID: <201704201333.v3KDXDgB028567@aojmv0008.oracle.com> Changeset: 86ee085a7bb4 Author: vromero Date: 2017-04-20 06:15 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/86ee085a7bb4 making class literals a poly expression ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.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/ConstFold.java ! test/tools/javac/specialConstantFolding/harness/tests/ConstantDefinitions.java ! test/tools/javac/specialConstantFolding/harness/tests/ConstantFoldingOfMethodTypeDiffContextsTest.java From vicente.romero at oracle.com Thu Apr 20 13:37:08 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Thu, 20 Apr 2017 09:37:08 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: Hi all, I have just pushed a patch that converts class literals into a poly expression. Meaning that now you can pass a class literal where a ClassConstant is expected. This will simplify the use of the API making the user code less verbose. Taking as an example the test case sent by Tagir, it could be now rewritten as: import java.lang.invoke.*; import java.lang.invoke.Constables.*; import java.lang.reflect.*; public class MH { private static void test() { System.out.println("Hello"); } public static void main(String[] args) throws Throwable { final MethodHandle handle = Intrinsics.ldc( MethodHandleConstant.ofStatic(MH.class, "test", MethodTypeConstant.of(void.class))); handle.invokeExact(); } } Thanks, Vicente On 04/18/2017 11:14 PM, Tagir Valeev wrote: > Thank you for the hint! It also seems that ClassConstant.of(MH.class) > does not work either and VarHandles are not supported yet. However the > following sample finally worked for me: > > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", > MethodTypeConstant.of(ClassConstant.of("V")))); > handle.invokeExact(); > } > } > > With best regards, > Tagir Valeev. > > > On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz > wrote: > > The primitive fields (Constables.VOID and friends) are not yet > hooked up; for the time being, replace with ClassConstant.of("V"). > > > On 4/18/2017 2:17 AM, Tagir Valeev wrote: > > Hello! > > I tried to play with this, but still no success. Fresh build from > constant-folding branch. I tried to compile the following files: > > // MH.java > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > > MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), "test", > MethodTypeConstant.of(Constables.VOID))); > handle.invokeExact(); > } > > } > > // VH.java > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class VH { > private static volatile int counter; > > private static final VarHandle COUNTER = Intrinsics.ldc( > > VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), > "counter", > Constables.INT)); > > public static void main(String[] args) { > System.out.println(COUNTER.getAndAdd(1)); > System.out.println(COUNTER.getAndAdd(1)); > } > } > > Building with "javac -XDdoConstantFold=true MH.java" or "javac > -XDdoConstantFold=true VH.java", > javac silently exists without producing .class file or > reporting any error. > Tried with -verbose, the output ends like this: > > [loading > /modules/java.base/java/lang/annotation/RetentionPolicy.class] > [loading /modules/java.base/java/lang/annotation/Target.class] > [loading > /modules/java.base/java/lang/annotation/ElementType.class] > [checking VH] > [loading /modules/java.base/java/io/Serializable.class] > [loading /modules/java.base/java/lang/AutoCloseable.class] > [loading /modules/java.base/java/lang/Class.class] > [loading /modules/java.base/java/lang/invoke/Constable.class] > [loading /modules/java.base/java/lang/invoke/Intrinsics.class] > [total 1484ms] > > Without -XDdoConstantFold=true the class file is produced and > dies like > > Exception in thread "main" > java.lang.UnsupportedOperationException: no > reflective access > at java.base/java.lang.invoke.Int > rinsics.ldc(Intrinsics.java:42) > at MH.main(MH.java:12) > > Which is expected behavior, I guess. > > Am I doing something wrong? Could you compile these files on > your side? > Sorry if my tries look lame: I'm very new to this. > > With best regards, > Tagir Valeev. > > On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero > > > wrote: > > Hi, > > Support for JEP 303 has been pushed in the amber repo [1, > 2] (branch name > is 'constant-folding'). The development is mature although > there are some > fresh areas like using reflection for accessing the API > methods. Reflection > is needed as the classes defined in the API see [1] are > not available in > the boot JDK. There is still some ongoing research so some > changes to the > API and the code are to be expected in the near future, > > Thanks, > Vicente > > > [1] > http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c > > [2] > http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 > > > > On 04/17/2017 04:22 PM, Brian Goetz wrote: > > JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is > hereby adopted into > Project Amber. > > A first draft of the API can be found at: > > http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ > > > Prototype implementation coming soon. > > > > > From maurizio.cimadamore at oracle.com Thu Apr 20 16:52:51 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 16:52:51 +0000 Subject: hg: amber/amber/jdk: 8178821: jshell tool: ctrl-down does nothing in current context Message-ID: <201704201652.v3KGqpDc011161@aojmv0008.oracle.com> Changeset: 4227b6c51e92 Author: jlahoda Date: 2017-04-20 18:40 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/4227b6c51e92 8178821: jshell tool: ctrl-down does nothing in current context Summary: In MemoryHistory index() of an entry may go beyond size() (if some leading entries have been deleted) - using previous()/next() instead. Reviewed-by: rfield ! src/jdk.internal.le/share/classes/jdk/internal/jline/extra/EditingHistory.java ! test/jdk/internal/jline/extra/HistoryTest.java From maurizio.cimadamore at oracle.com Thu Apr 20 16:53:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 16:53:24 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704201653.v3KGrPnl012721@aojmv0008.oracle.com> Changeset: da933c6d7c08 Author: langtools Date: 2017-04-20 18:50 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/da933c6d7c08 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 20 16:53:56 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 16:53:56 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704201653.v3KGruaK014367@aojmv0008.oracle.com> Changeset: f001379a612e Author: langtools Date: 2017-04-20 18:51 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f001379a612e Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 20 16:54:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 16:54:30 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704201654.v3KGsVdB015956@aojmv0008.oracle.com> Changeset: 9b03572d0300 Author: langtools Date: 2017-04-20 18:51 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9b03572d0300 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 20 16:55:01 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 20 Apr 2017 16:55:01 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704201655.v3KGt1Ou017251@aojmv0008.oracle.com> Changeset: db84a709e535 Author: langtools Date: 2017-04-20 18:52 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/db84a709e535 Automatic merge with default From brian.goetz at oracle.com Thu Apr 20 21:47:21 2017 From: brian.goetz at oracle.com (brian.goetz at oracle.com) Date: Thu, 20 Apr 2017 21:47:21 +0000 Subject: hg: amber/amber/langtools: Get ClassConstantTest running against updated API Message-ID: <201704202147.v3KLlLkW025417@aojmv0008.oracle.com> Changeset: 91fef55dbf84 Author: briangoetz Date: 2017-04-20 17:44 -0400 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/91fef55dbf84 Get ClassConstantTest running against updated API ! test/tools/javac/specialConstantFolding/constable/ClassConstantTest.java + test/tools/javac/specialConstantFolding/constable/TEST.properties From amaembo at gmail.com Fri Apr 21 03:47:58 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Fri, 21 Apr 2017 10:47:58 +0700 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: Thanks! Works fine for me. With best regards, Tagir Valeev. On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero wrote: > Hi all, > > I have just pushed a patch that converts class literals into a poly > expression. Meaning that now you can pass a class literal where a > ClassConstant is expected. This will simplify the use of the API making the > user code less verbose. Taking as an example the test case sent by Tagir, > it could be now rewritten as: > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > MethodHandleConstant.ofStatic(MH.class, "test", > MethodTypeConstant.of(void.class))); > handle.invokeExact(); > } > } > > Thanks, > Vicente > > > > On 04/18/2017 11:14 PM, Tagir Valeev wrote: > > Thank you for the hint! It also seems that ClassConstant.of(MH.class) does > not work either and VarHandles are not supported yet. However the following > sample finally worked for me: > > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", > MethodTypeConstant.of(ClassConstant.of("V")))); > handle.invokeExact(); > } > } > > With best regards, > Tagir Valeev. > > > On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz > wrote: > >> The primitive fields (Constables.VOID and friends) are not yet hooked up; >> for the time being, replace with ClassConstant.of("V"). >> >> >> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >> >>> Hello! >>> >>> I tried to play with this, but still no success. Fresh build from >>> constant-folding branch. I tried to compile the following files: >>> >>> // MH.java >>> >>> import java.lang.invoke.*; >>> import java.lang.invoke.Constables.*; >>> import java.lang.reflect.*; >>> >>> public class MH { >>> private static void test() { >>> System.out.println("Hello"); >>> } >>> >>> >>> public static void main(String[] args) throws Throwable { >>> final MethodHandle handle = Intrinsics.ldc( >>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), "test", >>> MethodTypeConstant.of(Constables.VOID))); >>> handle.invokeExact(); >>> } >>> >>> } >>> >>> // VH.java >>> import java.lang.invoke.*; >>> import java.lang.invoke.Constables.*; >>> import java.lang.reflect.*; >>> >>> public class VH { >>> private static volatile int counter; >>> >>> private static final VarHandle COUNTER = Intrinsics.ldc( >>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>> "counter", >>> Constables.INT)); >>> >>> public static void main(String[] args) { >>> System.out.println(COUNTER.getAndAdd(1)); >>> System.out.println(COUNTER.getAndAdd(1)); >>> } >>> } >>> >>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>> -XDdoConstantFold=true VH.java", >>> javac silently exists without producing .class file or reporting any >>> error. >>> Tried with -verbose, the output ends like this: >>> >>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.class] >>> [loading /modules/java.base/java/lang/annotation/Target.class] >>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>> [checking VH] >>> [loading /modules/java.base/java/io/Serializable.class] >>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>> [loading /modules/java.base/java/lang/Class.class] >>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>> [total 1484ms] >>> >>> Without -XDdoConstantFold=true the class file is produced and dies like >>> >>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>> reflective access >>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>> at MH.main(MH.java:12) >>> >>> Which is expected behavior, I guess. >>> >>> Am I doing something wrong? Could you compile these files on your side? >>> Sorry if my tries look lame: I'm very new to this. >>> >>> With best regards, >>> Tagir Valeev. >>> >>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>> vicente.romero at oracle.com> >>> wrote: >>> >>> Hi, >>>> >>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>> name >>>> is 'constant-folding'). The development is mature although there are >>>> some >>>> fresh areas like using reflection for accessing the API methods. >>>> Reflection >>>> is needed as the classes defined in the API see [1] are not available in >>>> the boot JDK. There is still some ongoing research so some changes to >>>> the >>>> API and the code are to be expected in the near future, >>>> >>>> Thanks, >>>> Vicente >>>> >>>> >>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>> >>>> >>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>> >>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>> Project Amber. >>>>> >>>>> A first draft of the API can be found at: >>>>> >>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>> >>>>> Prototype implementation coming soon. >>>>> >>>>> >>>>> >>>>> >> > > From amaembo at gmail.com Fri Apr 21 05:03:53 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Fri, 21 Apr 2017 12:03:53 +0700 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: Seems that it does not work if I use intermediate variable for MethodTypeConstant. Consider the following code: import java.lang.invoke.*; import static java.lang.invoke.Constables.*; import static java.lang.invoke.Intrinsics.*; public class TestConst { public static void main(String[] args) throws Throwable { MethodTypeConstant mtc = MethodTypeConstant.of(void.class); MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, "test", mtc); MethodHandle mh = Intrinsics.ldc(mhc); mh.invokeExact(); } static void test() { System.out.println("Hello"); } } It's compiled without errors and ldc intrinsic is generated correctly. However for non-intrinsified variables class type is not wrapped into ClassConstant: 0: getstatic #2 // Field void.class:Ljava/lang/Class; 3: iconst_0 4: anewarray #3 // class java/lang/invoke/Constables$ClassConstant 7: invokestatic #4 // Method java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lang/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constables$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; This, of course, results in verification errors: Exception in thread "main" java.lang.VerifyError: Bad type on operand stack Exception Details: Location: TestConst.main([Ljava/lang/String;)V @7: invokestatic Reason: Type 'java/lang/Class' (current frame, stack[0]) is not assignable to 'java/lang/invoke/Constables$ClassConstant' Current Frame: bci: @7 flags: { } locals: { '[Ljava/lang/String;' } stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' } Probably it would be easier to declare class Class as implements Constable> and replace ClassConstant with Constable> in method signatures where applicable? Or introduce some intermediate interface? With best regards, Tagir Valeev. On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: > Thanks! Works fine for me. > > With best regards, > Tagir Valeev. > > On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero > wrote: > >> Hi all, >> >> I have just pushed a patch that converts class literals into a poly >> expression. Meaning that now you can pass a class literal where a >> ClassConstant is expected. This will simplify the use of the API making the >> user code less verbose. Taking as an example the test case sent by Tagir, >> it could be now rewritten as: >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> public static void main(String[] args) throws Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(MH.class, "test", >> MethodTypeConstant.of(void.class))); >> handle.invokeExact(); >> } >> } >> >> Thanks, >> Vicente >> >> >> >> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >> >> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >> does not work either and VarHandles are not supported yet. However the >> following sample finally worked for me: >> >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> public static void main(String[] args) throws Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >> MethodTypeConstant.of(ClassConstant.of("V")))); >> handle.invokeExact(); >> } >> } >> >> With best regards, >> Tagir Valeev. >> >> >> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >> wrote: >> >>> The primitive fields (Constables.VOID and friends) are not yet hooked >>> up; for the time being, replace with ClassConstant.of("V"). >>> >>> >>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>> >>>> Hello! >>>> >>>> I tried to play with this, but still no success. Fresh build from >>>> constant-folding branch. I tried to compile the following files: >>>> >>>> // MH.java >>>> >>>> import java.lang.invoke.*; >>>> import java.lang.invoke.Constables.*; >>>> import java.lang.reflect.*; >>>> >>>> public class MH { >>>> private static void test() { >>>> System.out.println("Hello"); >>>> } >>>> >>>> >>>> public static void main(String[] args) throws Throwable { >>>> final MethodHandle handle = Intrinsics.ldc( >>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), "test", >>>> MethodTypeConstant.of(Constables.VOID))); >>>> handle.invokeExact(); >>>> } >>>> >>>> } >>>> >>>> // VH.java >>>> import java.lang.invoke.*; >>>> import java.lang.invoke.Constables.*; >>>> import java.lang.reflect.*; >>>> >>>> public class VH { >>>> private static volatile int counter; >>>> >>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>> "counter", >>>> Constables.INT)); >>>> >>>> public static void main(String[] args) { >>>> System.out.println(COUNTER.getAndAdd(1)); >>>> System.out.println(COUNTER.getAndAdd(1)); >>>> } >>>> } >>>> >>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>> -XDdoConstantFold=true VH.java", >>>> javac silently exists without producing .class file or reporting any >>>> error. >>>> Tried with -verbose, the output ends like this: >>>> >>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.class] >>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>> [checking VH] >>>> [loading /modules/java.base/java/io/Serializable.class] >>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>> [loading /modules/java.base/java/lang/Class.class] >>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>> [total 1484ms] >>>> >>>> Without -XDdoConstantFold=true the class file is produced and dies like >>>> >>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>> reflective access >>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>> at MH.main(MH.java:12) >>>> >>>> Which is expected behavior, I guess. >>>> >>>> Am I doing something wrong? Could you compile these files on your side? >>>> Sorry if my tries look lame: I'm very new to this. >>>> >>>> With best regards, >>>> Tagir Valeev. >>>> >>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>> vicente.romero at oracle.com> >>>> wrote: >>>> >>>> Hi, >>>>> >>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>> name >>>>> is 'constant-folding'). The development is mature although there are >>>>> some >>>>> fresh areas like using reflection for accessing the API methods. >>>>> Reflection >>>>> is needed as the classes defined in the API see [1] are not available >>>>> in >>>>> the boot JDK. There is still some ongoing research so some changes to >>>>> the >>>>> API and the code are to be expected in the near future, >>>>> >>>>> Thanks, >>>>> Vicente >>>>> >>>>> >>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>> >>>>> >>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>> >>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>> Project Amber. >>>>>> >>>>>> A first draft of the API can be found at: >>>>>> >>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>> >>>>>> Prototype implementation coming soon. >>>>>> >>>>>> >>>>>> >>>>>> >>> >> >> > From amaembo at gmail.com Fri Apr 21 05:31:36 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Fri, 21 Apr 2017 12:31:36 +0700 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: I also tried to create more sophisticated example, a fancy indy-based singleton. Seeing that class literals conversion is unstable I don't use them. I tried to follow IndyCodeGenerationTest sample. Nevertheless it does not work for me: it dies the following way: $ javac -XDdoConstantFold Singleton.java An exception has occurred in the compiler (10-internal). Please file a bug against the Java compiler via the Java bug reporting page ( http://bugreport.java.com) after checking the Bug Database ( http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you. java.lang.AssertionError: Invalid type of constant pool entry: class java.lang.invoke.Constables$BootstrapSpecifier at jdk.compiler/com.sun.tools.javac.jvm.Code.typeForPool(Code.java:928) at jdk.compiler/com.sun.tools.javac.jvm.Code.emitop1(Code.java:904) at jdk.compiler/com.sun.tools.javac.jvm.Code.emitLdc(Code.java:391) at jdk.compiler/com.sun.tools.javac.jvm.Items$ImmediateItem.ldc(Items.java:575) at jdk.compiler/com.sun.tools.javac.jvm.Items$ImmediateItem.load(Items.java:615) at jdk.compiler/com.sun.tools.javac.jvm.Gen.visitTypeCast(Gen.java:2190) at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCTypeCast.accept(JCTree.java:2012) at jdk.compiler/com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:868) at jdk.compiler/com.sun.tools.javac.jvm.Gen.visitReturn(Gen.java:1801) at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1540) The full source code follows (Singleton.java): import java.util.*; import java.lang.reflect.*; import java.lang.invoke.*; import java.lang.invoke.Constables.*; public class Singleton { static final MethodHandleConstant FACTORY = MethodHandleConstant.ofStatic(ClassConstant.of("LSingleton;"), "singletonFactory", MethodTypeConstant.of( ClassConstant.of("Ljava/lang/invoke/CallSite;"), ClassConstant.of("Ljava/lang/invoke/MethodHandles$Lookup;"), ClassConstant.of("Ljava/lang/String;"), ClassConstant.of("Ljava/lang/invoke/MethodType;"), ClassConstant.of("Ljava/lang/invoke/MethodHandle;"))); public static CallSite singletonFactory( MethodHandles.Lookup lookup, String name, MethodType type, MethodHandle ctor) throws Throwable { Object singleton = ctor.invokeExact(); return new ConstantCallSite(MethodHandles.constant(type.returnType(), singleton)); } private Singleton() { System.out.println("Created!"); } public static Singleton instance() throws Throwable { BootstrapSpecifier indyDescr = BootstrapSpecifier.of( FACTORY, "singletonFactory", MethodTypeConstant.of(ClassConstant.of("LSingleton;")), MethodHandleConstant.ofConstructor(ClassConstant.of("LSingleton;"), MethodTypeConstant.of(ClassConstant.of("V")))); return (Singleton)Intrinsics.invokedynamic(indyDescr); } public static void main(String[] args) throws Throwable { Set set = new HashSet<>(); for(int i=0; i<100; i++) { set.add(instance()); } System.out.println(set.size()); } } I'm not 100% sure whether the code is correct, but the error reporting surely should be improved for further experiments. By the way seems that indy intrinsification is not fully optioned out by -XDdoConstantFold. Without this option javac dies with another exception: An exception has occurred in the compiler (10-internal). Please file a bug against the Java compiler via the Java bug reporting page ( http://bugreport.java.com) after checking the Bug Database ( http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you. java.lang.NullPointerException at jdk.compiler/com.sun.tools.javac.jvm.Gen.invokeInstanceMethod(Gen.java:944) at jdk.compiler/com.sun.tools.javac.jvm.Gen.invokeInstanceMethod(Gen.java:933) at jdk.compiler/com.sun.tools.javac.jvm.Gen.generateIndy(Gen.java:959) at jdk.compiler/com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:865) at jdk.compiler/com.sun.tools.javac.jvm.Gen.visitTypeCast(Gen.java:2190) at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCTypeCast.accept(JCTree.java:2012) at jdk.compiler/com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:868) at jdk.compiler/com.sun.tools.javac.jvm.Gen.visitReturn(Gen.java:1801) With best regards, Tagir Valeev. On Fri, Apr 21, 2017 at 12:03 PM, Tagir Valeev wrote: > Seems that it does not work if I use intermediate variable for > MethodTypeConstant. Consider the following code: > > import java.lang.invoke.*; > import static java.lang.invoke.Constables.*; > import static java.lang.invoke.Intrinsics.*; > > public class TestConst { > public static void main(String[] args) throws Throwable { > MethodTypeConstant mtc = MethodTypeConstant.of(void.class); > MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, > "test", mtc); > MethodHandle mh = Intrinsics.ldc(mhc); > mh.invokeExact(); > } > > static void test() { > System.out.println("Hello"); > } > } > > It's compiled without errors and ldc intrinsic is generated correctly. > However for non-intrinsified variables class type is not wrapped into > ClassConstant: > > 0: getstatic #2 // Field > void.class:Ljava/lang/Class; > 3: iconst_0 > 4: anewarray #3 // class > java/lang/invoke/Constables$ClassConstant > 7: invokestatic #4 // Method > java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/ > lang/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constables$ > ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; > > This, of course, results in verification errors: > > Exception in thread "main" java.lang.VerifyError: Bad type on operand stack > Exception Details: > Location: > TestConst.main([Ljava/lang/String;)V @7: invokestatic > Reason: > Type 'java/lang/Class' (current frame, stack[0]) is not assignable to > 'java/lang/invoke/Constables$ClassConstant' > Current Frame: > bci: @7 > flags: { } > locals: { '[Ljava/lang/String;' } > stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' > } > > Probably it would be easier to declare class Class as implements > Constable> and replace ClassConstant with Constable> in > method signatures where applicable? Or introduce some intermediate > interface? > > With best regards, > Tagir Valeev. > > > On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: > >> Thanks! Works fine for me. >> >> With best regards, >> Tagir Valeev. >> >> On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero < >> vicente.romero at oracle.com> wrote: >> >>> Hi all, >>> >>> I have just pushed a patch that converts class literals into a poly >>> expression. Meaning that now you can pass a class literal where a >>> ClassConstant is expected. This will simplify the use of the API making the >>> user code less verbose. Taking as an example the test case sent by Tagir, >>> it could be now rewritten as: >>> >>> import java.lang.invoke.*; >>> import java.lang.invoke.Constables.*; >>> import java.lang.reflect.*; >>> >>> public class MH { >>> private static void test() { >>> System.out.println("Hello"); >>> } >>> >>> public static void main(String[] args) throws Throwable { >>> final MethodHandle handle = Intrinsics.ldc( >>> MethodHandleConstant.ofStatic(MH.class, "test", >>> MethodTypeConstant.of(void.class))); >>> handle.invokeExact(); >>> } >>> } >>> >>> Thanks, >>> Vicente >>> >>> >>> >>> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >>> >>> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >>> does not work either and VarHandles are not supported yet. However the >>> following sample finally worked for me: >>> >>> >>> import java.lang.invoke.*; >>> import java.lang.invoke.Constables.*; >>> import java.lang.reflect.*; >>> >>> public class MH { >>> private static void test() { >>> System.out.println("Hello"); >>> } >>> >>> public static void main(String[] args) throws Throwable { >>> final MethodHandle handle = Intrinsics.ldc( >>> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >>> MethodTypeConstant.of(ClassConstant.of("V")))); >>> handle.invokeExact(); >>> } >>> } >>> >>> With best regards, >>> Tagir Valeev. >>> >>> >>> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >>> wrote: >>> >>>> The primitive fields (Constables.VOID and friends) are not yet hooked >>>> up; for the time being, replace with ClassConstant.of("V"). >>>> >>>> >>>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>>> >>>>> Hello! >>>>> >>>>> I tried to play with this, but still no success. Fresh build from >>>>> constant-folding branch. I tried to compile the following files: >>>>> >>>>> // MH.java >>>>> >>>>> import java.lang.invoke.*; >>>>> import java.lang.invoke.Constables.*; >>>>> import java.lang.reflect.*; >>>>> >>>>> public class MH { >>>>> private static void test() { >>>>> System.out.println("Hello"); >>>>> } >>>>> >>>>> >>>>> public static void main(String[] args) throws Throwable { >>>>> final MethodHandle handle = Intrinsics.ldc( >>>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >>>>> "test", >>>>> MethodTypeConstant.of(Constables.VOID))); >>>>> handle.invokeExact(); >>>>> } >>>>> >>>>> } >>>>> >>>>> // VH.java >>>>> import java.lang.invoke.*; >>>>> import java.lang.invoke.Constables.*; >>>>> import java.lang.reflect.*; >>>>> >>>>> public class VH { >>>>> private static volatile int counter; >>>>> >>>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>>> "counter", >>>>> Constables.INT)); >>>>> >>>>> public static void main(String[] args) { >>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>> } >>>>> } >>>>> >>>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>>> -XDdoConstantFold=true VH.java", >>>>> javac silently exists without producing .class file or reporting any >>>>> error. >>>>> Tried with -verbose, the output ends like this: >>>>> >>>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.clas >>>>> s] >>>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>>> [checking VH] >>>>> [loading /modules/java.base/java/io/Serializable.class] >>>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>>> [loading /modules/java.base/java/lang/Class.class] >>>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>>> [total 1484ms] >>>>> >>>>> Without -XDdoConstantFold=true the class file is produced and dies >>>>> like >>>>> >>>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>>> reflective access >>>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>>> at MH.main(MH.java:12) >>>>> >>>>> Which is expected behavior, I guess. >>>>> >>>>> Am I doing something wrong? Could you compile these files on your side? >>>>> Sorry if my tries look lame: I'm very new to this. >>>>> >>>>> With best regards, >>>>> Tagir Valeev. >>>>> >>>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>>> vicente.romero at oracle.com> >>>>> wrote: >>>>> >>>>> Hi, >>>>>> >>>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>>> name >>>>>> is 'constant-folding'). The development is mature although there are >>>>>> some >>>>>> fresh areas like using reflection for accessing the API methods. >>>>>> Reflection >>>>>> is needed as the classes defined in the API see [1] are not available >>>>>> in >>>>>> the boot JDK. There is still some ongoing research so some changes to >>>>>> the >>>>>> API and the code are to be expected in the near future, >>>>>> >>>>>> Thanks, >>>>>> Vicente >>>>>> >>>>>> >>>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>>> >>>>>> >>>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>>> >>>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>>> Project Amber. >>>>>>> >>>>>>> A first draft of the API can be found at: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>>> >>>>>>> Prototype implementation coming soon. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>> >>> >>> >> > From brian.goetz at oracle.com Fri Apr 21 11:37:51 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 21 Apr 2017 07:37:51 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: <8c63f9e6-3277-c20d-9b4b-d664a0db828f@oracle.com> Does it work if you get rid of the class literals, and use strings? On 4/21/2017 1:03 AM, Tagir Valeev wrote: > Seems that it does not work if I use intermediate variable for > MethodTypeConstant. Consider the following code: > > import java.lang.invoke.*; > import static java.lang.invoke.Constables.*; > import static java.lang.invoke.Intrinsics.*; > > public class TestConst { > public static void main(String[] args) throws Throwable { > MethodTypeConstant mtc = MethodTypeConstant.of(void.class); > MethodHandleConstant mhc = > MethodHandleConstant.ofStatic(TestConst.class, "test", mtc); > MethodHandle mh = Intrinsics.ldc(mhc); > mh.invokeExact(); > } > > static void test() { > System.out.println("Hello"); > } > } > > It's compiled without errors and ldc intrinsic is generated correctly. > However for non-intrinsified variables class type is not wrapped into > ClassConstant: > > 0: getstatic #2 // Field > void.class:Ljava/lang/Class; > 3: iconst_0 > 4: anewarray #3 // class > java/lang/invoke/Constables$ClassConstant > 7: invokestatic #4 // Method > java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lang/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constables$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; > > This, of course, results in verification errors: > > Exception in thread "main" java.lang.VerifyError: Bad type on operand > stack > Exception Details: > Location: > TestConst.main([Ljava/lang/String;)V @7: invokestatic > Reason: > Type 'java/lang/Class' (current frame, stack[0]) is not assignable > to 'java/lang/invoke/Constables$ClassConstant' > Current Frame: > bci: @7 > flags: { } > locals: { '[Ljava/lang/String;' } > stack: { 'java/lang/Class', > '[Ljava/lang/invoke/Constables$ClassConstant;' } > > Probably it would be easier to declare class Class as implements > Constable> and replace ClassConstant with Constable> > in method signatures where applicable? Or introduce some intermediate > interface? > > With best regards, > Tagir Valeev. > > > On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev > wrote: > > Thanks! Works fine for me. > > With best regards, > Tagir Valeev. > > On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero > > wrote: > > Hi all, > > I have just pushed a patch that converts class literals into a > poly expression. Meaning that now you can pass a class literal > where a ClassConstant is expected. This will simplify the use > of the API making the user code less verbose. Taking as an > example the test case sent by Tagir, it could be now rewritten as: > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > MethodHandleConstant.ofStatic(MH.class, "test", > MethodTypeConstant.of(void.class))); > handle.invokeExact(); > } > } > > Thanks, > Vicente > > > > On 04/18/2017 11:14 PM, Tagir Valeev wrote: >> Thank you for the hint! It also seems that >> ClassConstant.of(MH.class) does not work either and >> VarHandles are not supported yet. However the following >> sample finally worked for me: >> >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> public static void main(String[] args) throws Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), >> "test", MethodTypeConstant.of(ClassConstant.of("V")))); >> handle.invokeExact(); >> } >> } >> >> With best regards, >> Tagir Valeev. >> >> >> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >> > wrote: >> >> The primitive fields (Constables.VOID and friends) are >> not yet hooked up; for the time being, replace with >> ClassConstant.of("V"). >> >> >> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >> >> Hello! >> >> I tried to play with this, but still no success. >> Fresh build from >> constant-folding branch. I tried to compile the >> following files: >> >> // MH.java >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> >> public static void main(String[] args) throws >> Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >> "test", >> MethodTypeConstant.of(Constables.VOID))); >> handle.invokeExact(); >> } >> >> } >> >> // VH.java >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class VH { >> private static volatile int counter; >> >> private static final VarHandle COUNTER = >> Intrinsics.ldc( >> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >> "counter", >> Constables.INT)); >> >> public static void main(String[] args) { >> System.out.println(COUNTER.getAndAdd(1)); >> System.out.println(COUNTER.getAndAdd(1)); >> } >> } >> >> Building with "javac -XDdoConstantFold=true MH.java" >> or "javac >> -XDdoConstantFold=true VH.java", >> javac silently exists without producing .class file >> or reporting any error. >> Tried with -verbose, the output ends like this: >> >> [loading >> /modules/java.base/java/lang/annotation/RetentionPolicy.class] >> [loading >> /modules/java.base/java/lang/annotation/Target.class] >> [loading >> /modules/java.base/java/lang/annotation/ElementType.class] >> [checking VH] >> [loading /modules/java.base/java/io/Serializable.class] >> [loading >> /modules/java.base/java/lang/AutoCloseable.class] >> [loading /modules/java.base/java/lang/Class.class] >> [loading >> /modules/java.base/java/lang/invoke/Constable.class] >> [loading >> /modules/java.base/java/lang/invoke/Intrinsics.class] >> [total 1484ms] >> >> Without -XDdoConstantFold=true the class file is >> produced and dies like >> >> Exception in thread "main" >> java.lang.UnsupportedOperationException: no >> reflective access >> at java.base/java.lang.invoke.Int >> rinsics.ldc(Intrinsics.java:42) >> at MH.main(MH.java:12) >> >> Which is expected behavior, I guess. >> >> Am I doing something wrong? Could you compile these >> files on your side? >> Sorry if my tries look lame: I'm very new to this. >> >> With best regards, >> Tagir Valeev. >> >> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero >> > > >> wrote: >> >> Hi, >> >> Support for JEP 303 has been pushed in the amber >> repo [1, 2] (branch name >> is 'constant-folding'). The development is mature >> although there are some >> fresh areas like using reflection for accessing >> the API methods. Reflection >> is needed as the classes defined in the API see >> [1] are not available in >> the boot JDK. There is still some ongoing >> research so some changes to the >> API and the code are to be expected in the near >> future, >> >> Thanks, >> Vicente >> >> >> [1] >> http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >> >> [2] >> http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >> >> >> >> On 04/17/2017 04:22 PM, Brian Goetz wrote: >> >> JEP 303 (Intrinsics for LDC and >> INVOKEDYNAMIC) is hereby adopted into >> Project Amber. >> >> A first draft of the API can be found at: >> >> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >> >> >> Prototype implementation coming soon. >> >> >> >> >> > > > From brian.goetz at oracle.com Fri Apr 21 13:55:00 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 21 Apr 2017 09:55:00 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: There's a reason we don't want to do this. A ClassConstant (and the other constant types) should not be dependent on what classes have been loaded by *this* VM; they should merely describe enough information to load a class. (Pull on that string some more, and you get to "so we can just use MethodType too" and then...) The target-typing trick allows Foo.class to either be a Class, or a ClassConstant, depending on context. If it is typed as ClassConstant, it doesn't force loading of the class. We might decide this is too much magic; still figuring out the sweet spot here. On 4/21/2017 1:03 AM, Tagir Valeev wrote: > > Probably it would be easier to declare class Class as implements > Constable> and replace ClassConstant with Constable> > in method signatures where applicable? Or introduce some intermediate > interface? > From vicente.romero at oracle.com Fri Apr 21 13:59:18 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Fri, 21 Apr 2017 09:59:18 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: <7137132a-bebf-96c4-689a-bfd7fd8e2d04@oracle.com> Hi Tagir, Thanks again for testing this. I'm working on a prototype to fix the issue, Vicente On 04/21/2017 01:03 AM, Tagir Valeev wrote: > Seems that it does not work if I use intermediate variable for > MethodTypeConstant. Consider the following code: > > import java.lang.invoke.*; > import static java.lang.invoke.Constables.*; > import static java.lang.invoke.Intrinsics.*; > > public class TestConst { > public static void main(String[] args) throws Throwable { > MethodTypeConstant mtc = MethodTypeConstant.of(void.class); > MethodHandleConstant mhc = > MethodHandleConstant.ofStatic(TestConst.class, "test", mtc); > MethodHandle mh = Intrinsics.ldc(mhc); > mh.invokeExact(); > } > > static void test() { > System.out.println("Hello"); > } > } > > It's compiled without errors and ldc intrinsic is generated correctly. > However for non-intrinsified variables class type is not wrapped into > ClassConstant: > > 0: getstatic #2 // Field > void.class:Ljava/lang/Class; > 3: iconst_0 > 4: anewarray #3 // class > java/lang/invoke/Constables$ClassConstant > 7: invokestatic #4 // Method > java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lang/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constables$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; > > This, of course, results in verification errors: > > Exception in thread "main" java.lang.VerifyError: Bad type on operand > stack > Exception Details: > Location: > TestConst.main([Ljava/lang/String;)V @7: invokestatic > Reason: > Type 'java/lang/Class' (current frame, stack[0]) is not assignable > to 'java/lang/invoke/Constables$ClassConstant' > Current Frame: > bci: @7 > flags: { } > locals: { '[Ljava/lang/String;' } > stack: { 'java/lang/Class', > '[Ljava/lang/invoke/Constables$ClassConstant;' } > > Probably it would be easier to declare class Class as implements > Constable> and replace ClassConstant with Constable> > in method signatures where applicable? Or introduce some intermediate > interface? > > With best regards, > Tagir Valeev. > > > On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev > wrote: > > Thanks! Works fine for me. > > With best regards, > Tagir Valeev. > > On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero > > wrote: > > Hi all, > > I have just pushed a patch that converts class literals into a > poly expression. Meaning that now you can pass a class literal > where a ClassConstant is expected. This will simplify the use > of the API making the user code less verbose. Taking as an > example the test case sent by Tagir, it could be now rewritten as: > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > MethodHandleConstant.ofStatic(MH.class, "test", > MethodTypeConstant.of(void.class))); > handle.invokeExact(); > } > } > > Thanks, > Vicente > > > > On 04/18/2017 11:14 PM, Tagir Valeev wrote: >> Thank you for the hint! It also seems that >> ClassConstant.of(MH.class) does not work either and >> VarHandles are not supported yet. However the following >> sample finally worked for me: >> >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> public static void main(String[] args) throws Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), >> "test", MethodTypeConstant.of(ClassConstant.of("V")))); >> handle.invokeExact(); >> } >> } >> >> With best regards, >> Tagir Valeev. >> >> >> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >> > wrote: >> >> The primitive fields (Constables.VOID and friends) are >> not yet hooked up; for the time being, replace with >> ClassConstant.of("V"). >> >> >> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >> >> Hello! >> >> I tried to play with this, but still no success. >> Fresh build from >> constant-folding branch. I tried to compile the >> following files: >> >> // MH.java >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> >> public static void main(String[] args) throws >> Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >> "test", >> MethodTypeConstant.of(Constables.VOID))); >> handle.invokeExact(); >> } >> >> } >> >> // VH.java >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class VH { >> private static volatile int counter; >> >> private static final VarHandle COUNTER = >> Intrinsics.ldc( >> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >> "counter", >> Constables.INT)); >> >> public static void main(String[] args) { >> System.out.println(COUNTER.getAndAdd(1)); >> System.out.println(COUNTER.getAndAdd(1)); >> } >> } >> >> Building with "javac -XDdoConstantFold=true MH.java" >> or "javac >> -XDdoConstantFold=true VH.java", >> javac silently exists without producing .class file >> or reporting any error. >> Tried with -verbose, the output ends like this: >> >> [loading >> /modules/java.base/java/lang/annotation/RetentionPolicy.class] >> [loading >> /modules/java.base/java/lang/annotation/Target.class] >> [loading >> /modules/java.base/java/lang/annotation/ElementType.class] >> [checking VH] >> [loading /modules/java.base/java/io/Serializable.class] >> [loading >> /modules/java.base/java/lang/AutoCloseable.class] >> [loading /modules/java.base/java/lang/Class.class] >> [loading >> /modules/java.base/java/lang/invoke/Constable.class] >> [loading >> /modules/java.base/java/lang/invoke/Intrinsics.class] >> [total 1484ms] >> >> Without -XDdoConstantFold=true the class file is >> produced and dies like >> >> Exception in thread "main" >> java.lang.UnsupportedOperationException: no >> reflective access >> at java.base/java.lang.invoke.Int >> rinsics.ldc(Intrinsics.java:42) >> at MH.main(MH.java:12) >> >> Which is expected behavior, I guess. >> >> Am I doing something wrong? Could you compile these >> files on your side? >> Sorry if my tries look lame: I'm very new to this. >> >> With best regards, >> Tagir Valeev. >> >> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero >> > > >> wrote: >> >> Hi, >> >> Support for JEP 303 has been pushed in the amber >> repo [1, 2] (branch name >> is 'constant-folding'). The development is mature >> although there are some >> fresh areas like using reflection for accessing >> the API methods. Reflection >> is needed as the classes defined in the API see >> [1] are not available in >> the boot JDK. There is still some ongoing >> research so some changes to the >> API and the code are to be expected in the near >> future, >> >> Thanks, >> Vicente >> >> >> [1] >> http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >> >> [2] >> http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >> >> >> >> On 04/17/2017 04:22 PM, Brian Goetz wrote: >> >> JEP 303 (Intrinsics for LDC and >> INVOKEDYNAMIC) is hereby adopted into >> Project Amber. >> >> A first draft of the API can be found at: >> >> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >> >> >> Prototype implementation coming soon. >> >> >> >> >> > > > From maurizio.cimadamore at oracle.com Fri Apr 21 14:58:13 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 14:58:13 +0000 Subject: hg: amber/amber: 8179078: Jib run-test-prebuilt profile missing dependency on bootjdk Message-ID: <201704211458.v3LEwDYr019168@aojmv0008.oracle.com> Changeset: 11153e2b9fbf Author: erikj Date: 2017-04-21 16:51 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/11153e2b9fbf 8179078: Jib run-test-prebuilt profile missing dependency on bootjdk Reviewed-by: ctornqvi, tbell ! common/conf/jib-profiles.js From maurizio.cimadamore at oracle.com Fri Apr 21 14:58:40 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 14:58:40 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704211458.v3LEwe8A020377@aojmv0008.oracle.com> Changeset: 7b1d274da4c6 Author: langtools Date: 2017-04-21 16:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/7b1d274da4c6 Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 21 14:59:13 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 14:59:13 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704211459.v3LExDgx021955@aojmv0008.oracle.com> Changeset: cde8130fa650 Author: langtools Date: 2017-04-21 16:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/cde8130fa650 Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 21 14:59:42 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 14:59:42 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704211459.v3LExg1M023264@aojmv0008.oracle.com> Changeset: b1101422860f Author: langtools Date: 2017-04-21 16:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/b1101422860f Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 21 15:00:13 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 15:00:13 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704211500.v3LF0Dtt024849@aojmv0008.oracle.com> Changeset: b7a14767fda1 Author: langtools Date: 2017-04-21 16:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/b7a14767fda1 Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 21 18:47:27 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 18:47:27 +0000 Subject: hg: amber/amber/jdk: 8179086: java.time.temporal.ValueRange has poor hashCode() Message-ID: <201704211847.v3LIlSoF009405@aojmv0008.oracle.com> Changeset: d017015f402c Author: igerasim Date: 2017-04-21 11:40 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d017015f402c 8179086: java.time.temporal.ValueRange has poor hashCode() Reviewed-by: rriggs ! src/java.base/share/classes/java/time/temporal/ValueRange.java From maurizio.cimadamore at oracle.com Fri Apr 21 18:47:59 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 18:47:59 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704211848.v3LIm01r011000@aojmv0008.oracle.com> Changeset: a94da65f9265 Author: langtools Date: 2017-04-21 20:45 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a94da65f9265 Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 21 18:48:29 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 18:48:29 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704211848.v3LImUVX012609@aojmv0008.oracle.com> Changeset: 07d3d812631f Author: langtools Date: 2017-04-21 20:45 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/07d3d812631f Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 21 18:49:00 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 18:49:00 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704211849.v3LIn0Px014273@aojmv0008.oracle.com> Changeset: 8c04ac7c1f3b Author: langtools Date: 2017-04-21 20:46 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/8c04ac7c1f3b Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 21 18:49:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 21 Apr 2017 18:49:31 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704211849.v3LInV4p015805@aojmv0008.oracle.com> Changeset: 78f61e2cfb05 Author: langtools Date: 2017-04-21 20:46 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/78f61e2cfb05 Automatic merge with default From sw at stinemail.com Fri Apr 21 23:29:05 2017 From: sw at stinemail.com (Dan Stine) Date: Fri, 21 Apr 2017 19:29:05 -0400 Subject: Published: pattern matching Message-ID: <70794774-450C-4F82-9A39-B1F76E6B04D0@stinemail.com> Hello, Unless I am missing something, just noting a minor typo in the Point example. case Point(0, var y) -> "on x axis"; case Point(var x, 0) -> "on y axis"; I believe these two cases should be reversed. The x-axis is y=0 and vice versa. Regards, Dan From maurizio.cimadamore at oracle.com Sat Apr 22 00:57:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:57:31 +0000 Subject: hg: amber/amber/jaxp: 4 new changesets Message-ID: <201704220057.v3M0vVnU010693@aojmv0008.oracle.com> Changeset: 37cdb2871070 Author: rriggs Date: 2017-04-12 10:53 -0400 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/37cdb2871070 8178347: Process and ProcessHandle getPid method name inconsistency Reviewed-by: alanb, bpb ! test/javax/xml/jaxp/libs/jdk/testlibrary/ProcessTools.java Changeset: 8d3febd5c9d8 Author: lana Date: 2017-04-13 16:27 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/8d3febd5c9d8 Merge Changeset: c98480dd22e7 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/c98480dd22e7 Added tag jdk-9+166 for changeset 8d3febd5c9d8 ! .hgtags Changeset: 26ed5e84fa13 Author: lana Date: 2017-04-22 00:21 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/26ed5e84fa13 Merge ! .hgtags ! test/javax/xml/jaxp/libs/jdk/testlibrary/ProcessTools.java From maurizio.cimadamore at oracle.com Sat Apr 22 00:57:29 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:57:29 +0000 Subject: hg: amber/amber/nashorn: 2 new changesets Message-ID: <201704220057.v3M0vTvN010542@aojmv0008.oracle.com> Changeset: 85bf1d0aeb09 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/85bf1d0aeb09 Added tag jdk-9+166 for changeset 5b2e7b2101c0 ! .hgtags Changeset: 0c5f25cc0d1b Author: lana Date: 2017-04-22 00:22 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/0c5f25cc0d1b Merge ! .hgtags From maurizio.cimadamore at oracle.com Sat Apr 22 00:57:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:57:30 +0000 Subject: hg: amber/amber/langtools: 13 new changesets Message-ID: <201704220057.v3M0vUTj010638@aojmv0008.oracle.com> Changeset: 151bc67acf92 Author: mcimadamore Date: 2017-04-11 14:03 +0100 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/151bc67acf92 8178414: T8177933.java fails even after fix for JDK-8178283 Summary: add T8177933.java to problem list Reviewed-by: jlahoda ! test/ProblemList.txt Changeset: 256d9fce6c53 Author: rfield Date: 2017-04-11 17:26 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/256d9fce6c53 8178023: jshell tool: crash with ugly message on attempt to add non-existant module path Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties ! src/jdk.jshell/share/classes/jdk/jshell/execution/FailOverExecutionControlProvider.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiInitiator.java ! test/jdk/jshell/DyingRemoteAgent.java ! test/jdk/jshell/HangingRemoteAgent.java ! test/jdk/jshell/HistoryTest.java ! test/jdk/jshell/JdiBadOptionLaunchExecutionControlTest.java ! test/jdk/jshell/JdiBadOptionListenExecutionControlTest.java ! test/jdk/jshell/JdiBogusHostListenExecutionControlTest.java ! test/jdk/jshell/ReplToolTesting.java ! test/jdk/jshell/StartOptionTest.java ! test/jdk/jshell/ToolProviderTest.java ! test/jdk/jshell/ToolReloadTest.java ! test/jdk/jshell/UITesting.java Changeset: 3e7eab1d1e96 Author: ksrini Date: 2017-04-12 11:42 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/3e7eab1d1e96 8178067: support for @uses/@provides tags is broken Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! test/jdk/javadoc/doclet/lib/JavadocTester.java + test/jdk/javadoc/doclet/testModules/TestModuleServices.java ! test/jdk/javadoc/doclet/testModules/TestModules.java ! test/tools/lib/toolbox/ModuleBuilder.java Changeset: 688279815c27 Author: ksrini Date: 2017-04-12 13:48 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/688279815c27 8178686: Fix incorrect bug id in test. Reviewed-by: darcy ! test/jdk/javadoc/doclet/testModules/TestModuleServices.java Changeset: 42705de602d7 Author: lana Date: 2017-04-13 16:26 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/42705de602d7 Merge Changeset: b51c0ba6fd8f Author: rfield Date: 2017-04-13 14:11 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/b51c0ba6fd8f 8178520: jshell tool: /help /save -- incorrect description of /save -start Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties Changeset: ad2910e96239 Author: jjg Date: 2017-04-14 15:54 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/ad2910e96239 8178426: Extra } is coming in the javadoc of Taglet.toString() API Reviewed-by: ksrini, bpatel ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/Taglet.java Changeset: d2f92cb767a6 Author: bpatel Date: 2017-04-14 17:23 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/d2f92cb767a6 8175823: doclet crashes when documenting a single class in a module. Reviewed-by: jjg, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! test/jdk/javadoc/doclet/testModules/TestModules.java + test/jdk/javadoc/doclet/testModules/moduleNoExport/module-info.java + test/jdk/javadoc/doclet/testModules/moduleNoExport/testpkgmdlNoExport/TestClassInModuleNoExport.java Changeset: 8b68fb0d8159 Author: jjg Date: 2017-04-17 14:16 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/8b68fb0d8159 8178509: MODULE_SOURCE_PATH: Implement missing methods 8178493: StandardJavaFileManager: Clarify/document the use of IllegalStateException Reviewed-by: jlahoda ! src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java ! test/tools/javac/modules/ModuleSourcePathTest.java ! test/tools/lib/toolbox/JavacTask.java Changeset: 229a32ad3b26 Author: jjg Date: 2017-04-17 15:08 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/229a32ad3b26 8176801: tools/javac/platform/PlatformProviderTest.java sensitive to warnings sent to stderr Reviewed-by: ksrini ! test/ProblemList.txt Changeset: 2a8b403a6233 Author: jjg Date: 2017-04-17 15:28 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/2a8b403a6233 8161295: javac, cleanup use of ModuleTestBase Reviewed-by: ksrini ! test/tools/javac/modules/ModuleTestBase.java Changeset: 2bd173891dcf Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/2bd173891dcf Added tag jdk-9+166 for changeset 2a8b403a6233 ! .hgtags Changeset: 2b33ceb2cee7 Author: lana Date: 2017-04-22 00:21 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/2b33ceb2cee7 Merge ! .hgtags From maurizio.cimadamore at oracle.com Sat Apr 22 00:57:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:57:31 +0000 Subject: hg: amber/amber/hotspot: 9 new changesets Message-ID: <201704220057.v3M0vVR5010677@aojmv0008.oracle.com> Changeset: e8699be63872 Author: iveresov Date: 2017-04-11 11:34 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/e8699be63872 8176887: AOT: SIGSEGV in AOTCodeHeap::next when using specific configuration Summary: Derive MethodCounters from Metadata Reviewed-by: kvn, coleenp ! src/share/vm/oops/metadata.hpp ! src/share/vm/oops/methodCounters.cpp ! src/share/vm/oops/methodCounters.hpp Changeset: 66ec8add62cd Author: dholmes Date: 2017-04-11 19:39 -0400 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/66ec8add62cd 8135161: Missing commas in copyright notices Reviewed-by: sspitsyn ! src/cpu/s390/vm/c1_Runtime1_s390.cpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.cpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.hpp Changeset: 773e40f3fc21 Author: never Date: 2017-04-06 00:03 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/773e40f3fc21 8178119: [JVMCI] when rethrowing exceptions at deopt the exception must be fetched after materialization Reviewed-by: kvn ! src/share/vm/runtime/deoptimization.cpp Changeset: 00bf892e5553 Author: rriggs Date: 2017-04-12 11:43 -0400 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/00bf892e5553 8178347: Process and ProcessHandle getPid method name inconsistency Reviewed-by: hseigel ! test/runtime/libadimalloc.solaris.sparc/Testlibadimalloc.java ! test/serviceability/attach/AttachSetGetFlag.java ! test/serviceability/tmtools/jstack/DaemonThreadTest.java ! test/serviceability/tmtools/jstack/SpreadLockTest.java ! test/serviceability/tmtools/jstack/ThreadNamesTest.java ! test/serviceability/tmtools/jstack/TraveledLockTest.java ! test/serviceability/tmtools/jstack/WaitNotifyThreadTest.java ! test/serviceability/tmtools/jstat/GcCapacityTest.java ! test/serviceability/tmtools/jstat/GcCauseTest01.java ! test/serviceability/tmtools/jstat/GcCauseTest02.java ! test/serviceability/tmtools/jstat/GcCauseTest03.java ! test/serviceability/tmtools/jstat/GcNewTest.java ! test/serviceability/tmtools/jstat/GcTest01.java ! test/serviceability/tmtools/jstat/GcTest02.java Changeset: 4d6df9a75465 Author: dlong Date: 2017-04-12 16:36 -0400 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/4d6df9a75465 8158168: Missing bounds checks for some String intrinsics Reviewed-by: vlivanov, thartmann, sherman ! src/share/vm/opto/library_call.cpp + test/compiler/intrinsics/string/TestStringUTF16IntrinsicRangeChecks.java ! test/compiler/patches/java.base/java/lang/Helper.java Changeset: bbf855a44562 Author: lana Date: 2017-04-13 16:26 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/bbf855a44562 Merge Changeset: 560d7aa083a2 Author: iignatyev Date: 2017-04-14 18:31 -0700 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/560d7aa083a2 8178731: compiler/ciReplay/SABase.java does not compile Reviewed-by: iignatyev, sspitsyn Contributed-by: ekaterina.pavlova at oracle.com ! test/compiler/ciReplay/SABase.java ! test/serviceability/sa/sadebugd/SADebugDTest.java Changeset: 443a768ec827 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/443a768ec827 Added tag jdk-9+166 for changeset 560d7aa083a2 ! .hgtags Changeset: 762465099d93 Author: lana Date: 2017-04-22 00:21 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/762465099d93 Merge ! .hgtags - test/gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java - test/gc/startup_warnings/TestDefNewCMS.java - test/gc/startup_warnings/TestParNewCMS.java - test/gc/startup_warnings/TestParNewSerialOld.java - test/gc/startup_warnings/TestUseAutoGCSelectPolicy.java - test/runtime/NMT/AutoshutdownNMT.java From maurizio.cimadamore at oracle.com Sat Apr 22 00:57:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:57:34 +0000 Subject: hg: amber/amber/jaxws: 2 new changesets Message-ID: <201704220057.v3M0vY3D010785@aojmv0008.oracle.com> Changeset: eea021f7411c Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/eea021f7411c Added tag jdk-9+166 for changeset b1f30c27367b ! .hgtags Changeset: 85e15cdc75aa Author: lana Date: 2017-04-22 00:22 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/85e15cdc75aa Merge ! .hgtags From maurizio.cimadamore at oracle.com Sat Apr 22 00:57:33 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:57:33 +0000 Subject: hg: amber/amber: 7 new changesets Message-ID: <201704220057.v3M0vXk2010779@aojmv0008.oracle.com> Changeset: 7d5d7ae50c72 Author: rriggs Date: 2017-04-11 14:20 -0400 URL: http://hg.openjdk.java.net/amber/amber/rev/7d5d7ae50c72 8178347: Process and ProcessHandle getPid method name inconsistency Reviewed-by: alanb, bpb ! test/lib/jdk/test/lib/apps/LingeredApp.java ! test/lib/jdk/test/lib/process/ProcessTools.java Changeset: 35fbd9906dfc Author: erikj Date: 2017-04-13 09:41 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/35fbd9906dfc 8177822: Move closed jib configuration for arm platforms to open Reviewed-by: tbell ! common/conf/jib-profiles.js Changeset: 9e093f2eaabc Author: erikj Date: 2017-04-13 09:50 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/9e093f2eaabc 8176271: Still unable to build JDK 9 on some *7 sparcs Reviewed-by: ihse ! common/conf/jib-profiles.js Changeset: 455bd4cb2482 Author: lana Date: 2017-04-13 16:26 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/455bd4cb2482 Merge Changeset: ba5b16c9c6d8 Author: darcy Date: 2017-04-13 14:38 -0700 URL: http://hg.openjdk.java.net/amber/amber/rev/ba5b16c9c6d8 8177553: Address removal lint warnings in the JDK build Reviewed-by: mchung, erikj ! make/common/SetupJavaCompilers.gmk Changeset: cf6ee4d4c839 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/cf6ee4d4c839 Added tag jdk-9+166 for changeset ba5b16c9c6d8 ! .hgtags Changeset: 03fe61bb7670 Author: lana Date: 2017-04-22 00:21 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/03fe61bb7670 Merge ! .hgtags - common/bin/shell-tracer.sh ! common/conf/jib-profiles.js ! make/common/SetupJavaCompilers.gmk ! test/lib/jdk/test/lib/process/ProcessTools.java From maurizio.cimadamore at oracle.com Sat Apr 22 00:57:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:57:35 +0000 Subject: hg: amber/amber/corba: 2 new changesets Message-ID: <201704220057.v3M0vZbF010791@aojmv0008.oracle.com> Changeset: 43de67f51801 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/43de67f51801 Added tag jdk-9+166 for changeset 934c18145915 ! .hgtags Changeset: c7358d703e12 Author: lana Date: 2017-04-22 00:21 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/c7358d703e12 Merge ! .hgtags From maurizio.cimadamore at oracle.com Sat Apr 22 00:57:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:57:34 +0000 Subject: hg: amber/amber/jdk: 42 new changesets Message-ID: <201704220057.v3M0vZ3S010794@aojmv0008.oracle.com> Changeset: cd268728d178 Author: weijun Date: 2017-04-11 10:12 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/cd268728d178 8177969: Faster FilePermission::implies by avoiding the use of Path::relativize Reviewed-by: rriggs, mullan ! src/java.base/share/classes/java/io/FilePermission.java ! test/java/io/FilePermission/Correctness.java Changeset: c35ff69c2852 Author: dfuchs Date: 2017-04-11 16:32 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/c35ff69c2852 8178147: Race conditions in timeout handling code in http/2 incubator client Summary: Timeout handling code (in particular cancel(IOException)) is modified to take into account cancellation arising before exchange implementation is established or response completable future is created. TimeoutEvent::compareTo method is modified to be consistent with TimeoutEvent::equals. Reviewed-by: prappo, chegar, michaelm ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Exchange.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Http1Exchange.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/HttpClientImpl.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/MultiExchange.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/PlainHttpConnection.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Stream.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/TimeoutEvent.java ! test/ProblemList.txt + test/java/net/httpclient/SmallTimeout.java ! test/java/net/httpclient/TimeoutOrdering.java Changeset: 23255bc8606d Author: rriggs Date: 2017-04-11 14:18 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/23255bc8606d 8178347: Process and ProcessHandle getPid method name inconsistency Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/lang/Process.java ! src/java.base/share/classes/java/lang/ProcessHandle.java ! src/java.base/share/classes/java/lang/ProcessHandleImpl.java ! src/java.base/unix/classes/java/lang/ProcessImpl.java ! src/java.base/windows/classes/java/lang/ProcessImpl.java ! test/com/sun/jdi/ProcessAttachTest.java ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/ProcessBuilder/PipelineTest.java ! test/java/lang/ProcessBuilder/Zombies.java ! test/java/lang/ProcessHandle/Basic.java ! test/java/lang/ProcessHandle/JavaChild.java ! test/java/lang/ProcessHandle/OnExitTest.java ! test/java/lang/ProcessHandle/ProcessUtil.java ! test/java/lang/ProcessHandle/TreeTest.java ! test/java/lang/Runtime/exec/SleepyCat.java ! test/java/util/logging/LoggingDeadlock2.java ! test/lib/testlibrary/jdk/testlibrary/ProcessThread.java ! test/lib/testlibrary/jdk/testlibrary/ProcessTools.java ! test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java ! test/sun/management/jmxremote/bootstrap/LocalManagementTest.java ! test/sun/management/jmxremote/startstop/JMXStartStopTest.java ! test/sun/tools/jps/LingeredApp.java ! test/sun/tools/jstat/JStatInterval.java Changeset: 0c8f43317c1f Author: ascarpino Date: 2017-04-12 12:57 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/0c8f43317c1f 8177784: Use CounterMode intrinsic for AES/GCM Reviewed-by: mullan, psandoz, chegar ! src/java.base/share/classes/com/sun/crypto/provider/CounterMode.java ! src/java.base/share/classes/com/sun/crypto/provider/GCTR.java Changeset: ede22275fbfa Author: dlong Date: 2017-04-12 16:37 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/ede22275fbfa 8158168: Missing bounds checks for some String intrinsics Reviewed-by: vlivanov, thartmann, sherman ! src/java.base/share/classes/java/lang/AbstractStringBuilder.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringConcatHelper.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java Changeset: 2a15003cb4b7 Author: jwilhelm Date: 2017-04-13 15:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/2a15003cb4b7 8178447: Remove link from JavaDoc to Dev guide Reviewed-by: tschatzl, dholmes ! src/jdk.management/share/classes/com/sun/management/VMOption.java Changeset: 15cb1241abad Author: lana Date: 2017-04-13 16:27 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/15cb1241abad Merge Changeset: f36e07712a1b Author: serb Date: 2017-03-21 01:39 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f36e07712a1b 8176544: Compilation error in plaf.metal.MetalBumps.Test6657026 Reviewed-by: prr ! test/javax/swing/plaf/metal/MetalBumps/Test6657026.java Changeset: 1158c3e5bd9c Author: prr Date: 2017-03-21 11:05 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/1158c3e5bd9c Merge Changeset: 0f4994564ae6 Author: serb Date: 2017-03-23 17:50 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/0f4994564ae6 6574989: TEST_BUG: javax/sound/sampled/Clip/bug5070081.java fails sometimes Reviewed-by: prr ! test/javax/sound/sampled/Clip/bug5070081.java Changeset: e352eacd7a94 Author: prr Date: 2017-03-24 09:01 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e352eacd7a94 Merge - src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java Changeset: 908bdcadfab5 Author: stuefe Date: 2017-03-25 18:57 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/908bdcadfab5 8177137: 8175293 breaks Windows build on Vs2010 Reviewed-by: serb, alexsch ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp Changeset: bbf040535813 Author: ddehaven Date: 2017-03-27 12:06 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/bbf040535813 Merge Changeset: b3a70b0fd710 Author: prr Date: 2017-03-28 09:45 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b3a70b0fd710 8043773: Deprecate JComponent.AccessibleJComponent.AccessibleFocusHandler Reviewed-by: alexsch, azvegint ! src/java.desktop/share/classes/javax/swing/JComponent.java Changeset: 5ca3a286b761 Author: serb Date: 2017-03-29 17:30 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5ca3a286b761 8177766: [TEST_BUG] JPopupMenu tests fails intermittently Reviewed-by: alexsch, yan ! test/javax/swing/JPopupMenu/4458079/bug4458079.java ! test/javax/swing/JPopupMenu/6827786/bug6827786.java Changeset: cdb6fd420176 Author: dmarkov Date: 2017-03-29 19:00 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/cdb6fd420176 8176490: [macosx] Sometimes NSWindow.isZoomed hangs Reviewed-by: serb, azvegint ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java + test/java/awt/Window/WindowDeadlockTest/WindowDeadlockTest.java Changeset: 87801ca8520c Author: alexsch Date: 2017-03-29 21:08 +0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/87801ca8520c 8177625: apple.laf.JRSUIConstants.getConstantName(int) checks for THUMB_START twice Reviewed-by: prr, serb, azvegint ! src/java.desktop/macosx/classes/apple/laf/JRSUIConstants.java Changeset: 19042d75c724 Author: serb Date: 2017-03-30 16:40 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/19042d75c724 8177461: Wrong references are used in the javadoc in the java.desktop module Reviewed-by: alexsch ! src/java.desktop/macosx/classes/com/apple/eawt/Application.java ! src/java.desktop/macosx/classes/com/apple/eawt/ApplicationAdapter.java ! src/java.desktop/macosx/classes/com/apple/eawt/ApplicationEvent.java ! src/java.desktop/macosx/classes/com/apple/eawt/ApplicationListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/FullScreenAdapter.java ! src/java.desktop/macosx/classes/com/apple/eawt/FullScreenListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/FullScreenUtilities.java ! src/java.desktop/macosx/classes/com/apple/eawt/MacQuitResponse.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GestureAdapter.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GestureEvent.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GesturePhaseListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/MagnificationListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/RotationListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/SwipeListener.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenMenuPropertyListener.java ! src/java.desktop/share/classes/com/sun/awt/AWTUtilities.java ! src/java.desktop/share/classes/com/sun/awt/SecurityWarning.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/common/PaletteBuilder.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/common/SingleTileRenderedImage.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFDecompressor.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriter.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorType.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifGraphicsUtils.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/XPStyle.java ! src/java.desktop/share/classes/com/sun/media/sound/AbstractMixer.java ! src/java.desktop/share/classes/com/sun/media/sound/AudioSynthesizer.java ! src/java.desktop/share/classes/com/sun/media/sound/SunFileReader.java ! src/java.desktop/share/classes/com/sun/media/sound/SunFileWriter.java ! src/java.desktop/share/classes/com/sun/media/sound/Toolkit.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/Desktop.java ! src/java.desktop/share/classes/java/awt/Font.java ! src/java.desktop/share/classes/java/awt/Menu.java ! src/java.desktop/share/classes/java/awt/MenuBar.java ! src/java.desktop/share/classes/java/awt/PaintContext.java ! src/java.desktop/share/classes/java/awt/SystemTray.java ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/java/awt/desktop/FilesEvent.java ! src/java.desktop/share/classes/java/awt/font/CharArrayIterator.java ! src/java.desktop/share/classes/java/awt/peer/DesktopPeer.java ! src/java.desktop/share/classes/java/awt/print/PrinterJob.java ! src/java.desktop/share/classes/java/beans/ChangeListenerMap.java ! src/java.desktop/share/classes/javax/accessibility/AccessibleContext.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MediaPrintableArea.java ! src/java.desktop/share/classes/javax/swing/Action.java ! src/java.desktop/share/classes/javax/swing/ActionPropertyChangeListener.java ! src/java.desktop/share/classes/javax/swing/JSpinner.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/LazyActionMap.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalFontDesktopProperty.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalRootPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java ! src/java.desktop/share/classes/javax/swing/text/DefaultEditorKit.java ! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/java.desktop/share/classes/javax/swing/text/GlyphPainter1.java ! src/java.desktop/share/classes/javax/swing/text/GlyphPainter2.java ! src/java.desktop/share/classes/javax/swing/text/ParagraphView.java ! src/java.desktop/share/classes/javax/swing/text/PlainView.java ! src/java.desktop/share/classes/javax/swing/text/TextLayoutStrategy.java ! src/java.desktop/share/classes/javax/swing/text/Utilities.java ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java ! src/java.desktop/share/classes/javax/swing/text/html/FormView.java ! src/java.desktop/share/classes/javax/swing/text/html/FrameView.java ! src/java.desktop/share/classes/javax/swing/text/html/NoFramesView.java ! src/java.desktop/share/classes/javax/swing/text/rtf/RTFGenerator.java ! src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java ! src/java.desktop/share/classes/sun/awt/image/BytePackedRaster.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java Changeset: 41703cb17ee1 Author: serb Date: 2017-03-31 18:23 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/41703cb17ee1 8177560: @headful key can be removed from the tests for JavaSound Reviewed-by: prr ! test/javax/sound/midi/Devices/InitializationHang.java ! test/javax/sound/midi/Sequencer/SeqRecordDoesNotCopy.java ! test/javax/sound/midi/Sequencer/SeqRecordsRealTimeEvents.java ! test/javax/sound/midi/Sequencer/SeqStartRecording.java ! test/javax/sound/midi/Synthesizer/bug4685396.java ! test/javax/sound/sampled/Clip/ClipCloseLoss.java ! test/javax/sound/sampled/Clip/bug5070081.java ! test/javax/sound/sampled/DataLine/LongFramePosition.java ! test/javax/sound/sampled/DirectAudio/bug6372428.java Changeset: e0f119ab7b1c Author: alitvinov Date: 2017-03-31 19:42 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e0f119ab7b1c 8167102: [macosx] PrintRequestAttributeSet breaks page size set using PageFormat Reviewed-by: psadhukhan, prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java + test/java/awt/print/PageFormat/WrongPaperPrintingTest.java Changeset: 9ccf8c6e7d7e Author: serb Date: 2017-04-05 20:33 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9ccf8c6e7d7e 8177672: DataFlavor.imageFlavor is null when the java.desktop module is not resolved Reviewed-by: prr, mchung, alanb ! src/java.datatransfer/share/classes/java/awt/datatransfer/DataFlavor.java Changeset: 204b01546b68 Author: rsingh Date: 2017-04-10 16:20 +0530 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/204b01546b68 8177386: [TESTBUG] The "Undo" menu item in the context menu is disable Reviewed-by: serb, aghaisas Contributed-by: rahul.d.singh at oracle.com ! test/java/awt/TextField/DisabledUndoTest/DisabledUndoTest.java Changeset: f19cf7eaf0e3 Author: ssadetsky Date: 2017-04-10 08:30 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f19cf7eaf0e3 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java Reviewed-by: yan, serb ! test/java/awt/MouseInfo/JContainerMousePositionTest.java Changeset: da335cb02480 Author: prr Date: 2017-04-10 08:31 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/da335cb02480 Merge - src/java.base/share/classes/java/lang/reflect/Layer.java - src/java.base/share/classes/java/lang/reflect/LayerInstantiationException.java - src/java.base/share/classes/java/lang/reflect/Module.java - src/java.base/share/classes/java/lang/reflect/WeakPairMap.java - src/java.base/share/classes/jdk/internal/misc/JavaLangReflectModuleAccess.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor.java ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/javax/swing/text/PlainView.java - test/java/lang/reflect/Layer/BasicLayerTest.java - test/java/lang/reflect/Layer/LayerAndLoadersTest.java - test/java/lang/reflect/Layer/LayerControllerTest.java - test/java/lang/reflect/Layer/layertest/Test.java - test/java/lang/reflect/Layer/src/m1/module-info.java - test/java/lang/reflect/Layer/src/m1/p/Main.java - test/java/lang/reflect/Layer/src/m1/p/Service.java - test/java/lang/reflect/Layer/src/m2/module-info.java - test/java/lang/reflect/Layer/src/m2/q/Hello.java - test/java/lang/reflect/Layer/src/m3/module-info.java - test/java/lang/reflect/Layer/src/m3/w/Hello.java - test/java/lang/reflect/Layer/src/m4/impl/ServiceImpl.java - test/java/lang/reflect/Layer/src/m4/module-info.java - test/java/lang/reflect/Module/AddExportsTest.java - test/java/lang/reflect/Module/AnnotationsTest.java - test/java/lang/reflect/Module/BasicModuleTest.java - test/java/lang/reflect/Module/WithSecurityManager.java - test/java/lang/reflect/Module/access/AccessTest.java - test/java/lang/reflect/Module/access/src/target/module-info.java - test/java/lang/reflect/Module/access/src/target/p1/Helper.java - test/java/lang/reflect/Module/access/src/target/p1/Public.java - test/java/lang/reflect/Module/access/src/target/p2/NonPublic.java - test/java/lang/reflect/Module/access/src/target/q1/Public.java - test/java/lang/reflect/Module/access/src/target/q2/NonPublic.java - test/java/lang/reflect/Module/access/src/test/module-info.java - test/java/lang/reflect/Module/access/src/test/test/Main.java - test/java/lang/reflect/Module/addXXX/Driver.java - test/java/lang/reflect/Module/addXXX/m1/module-info.java - test/java/lang/reflect/Module/addXXX/m1/p1/C.java - test/java/lang/reflect/Module/addXXX/m2/module-info.java - test/java/lang/reflect/Module/addXXX/m2/p2/C.java - test/java/lang/reflect/Module/addXXX/m2/p2/internal/C.java - test/java/lang/reflect/Module/addXXX/m3/module-info.java - test/java/lang/reflect/Module/addXXX/m3/p3/C.java - test/java/lang/reflect/Module/addXXX/m4/module-info.java - test/java/lang/reflect/Module/addXXX/m4/p4/C.java - test/java/lang/reflect/Module/addXXX/test/module-info.java - test/java/lang/reflect/Module/addXXX/test/test/C.java - test/java/lang/reflect/Module/addXXX/test/test/Main.java - test/java/lang/reflect/Module/addXXX/test/test/Service.java - test/java/lang/reflect/Module/allow.policy - test/java/lang/reflect/Module/annotation/Basic.java - test/java/lang/reflect/Module/annotation/src/m/module-info.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Bar.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Baz.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Foo.java - test/java/lang/reflect/WeakPairMap/Driver.java - test/java/lang/reflect/WeakPairMap/java.base/java/lang/reflect/WeakPairMapTest.java Changeset: c69e8ca0008e Author: prr Date: 2017-04-10 09:05 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/c69e8ca0008e Merge Changeset: 79e099ab284b Author: mcherkas Date: 2017-04-11 00:05 +0300 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/79e099ab284b 8177450: javax.swing.text.html.parser.Parser parseScript ignores a character after commend end Reviewed-by: prr, alexsch ! src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java + test/javax/swing/text/html/parser/Parser/HtmlCommentTagParseTest/HtmlCommentTagParseTest.java + test/javax/swing/text/html/parser/Parser/HtmlCommentTagParseTest/test.html Changeset: b289db56c862 Author: prr Date: 2017-04-13 10:01 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b289db56c862 Merge Changeset: 413e8af4fc3c Author: darcy Date: 2017-04-13 10:59 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/413e8af4fc3c 8177683: Suppress lint removal warnings in jdk.security and jdk.policytool Reviewed-by: weijun ! src/jdk.policytool/share/classes/sun/security/tools/policytool/PolicyTool.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisLoginModule.java Changeset: 5bfdd4e83008 Author: darcy Date: 2017-04-13 11:05 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5bfdd4e83008 8177684: Suppress lint removal warnings in AppletSecurity Reviewed-by: mchung, mullan ! src/java.desktop/share/classes/sun/applet/AppletSecurity.java Changeset: 2c28af3a1e5d Author: darcy Date: 2017-04-13 11:08 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/2c28af3a1e5d 8177682: Suppress removal warning for System.runFinalizersOnExit Reviewed-by: mchung, smarks ! src/java.base/share/classes/java/lang/System.java Changeset: 2b4bacfcbe17 Author: darcy Date: 2017-04-13 11:16 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/2b4bacfcbe17 8177723: Suppress lint removal warning in java.se.ee and jdk.unsupported Reviewed-by: lancea, chegar ! src/java.se.ee/share/classes/module-info.java ! src/jdk.unsupported/share/classes/sun/reflect/Reflection.java Changeset: 5f24e5bf62bd Author: amlu Date: 2017-04-14 15:30 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5f24e5bf62bd 8169971: JLinkMultiReleaseJarTest.java fails intermittently at the final clean up Reviewed-by: chegar, psandoz ! test/ProblemList.txt ! test/tools/jlink/multireleasejar/JLinkMultiReleaseJarTest.java Changeset: fc53a0468c1f Author: tidu Date: 2017-04-14 00:05 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fc53a0468c1f 8178083: Remove intermittent key from java/security/SignedObject/Chain.java Reviewed-by: xuelei Contributed-by: Tim Du ! test/java/security/SignedObject/Chain.java Changeset: 389b078873a0 Author: chegar Date: 2017-04-14 10:47 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/389b078873a0 8177536: Avoid Apple Peer-to-Peer interfaces in networking tests Reviewed-by: michaelm, rriggs ! test/java/net/Inet6Address/B6206527.java ! test/java/net/Inet6Address/B6558853.java ! test/java/net/InetAddress/CheckJNI.java ! test/java/net/MulticastSocket/B6427403.java - test/java/net/MulticastSocket/JoinGroup.java + test/java/net/MulticastSocket/JoinLeave.java - test/java/net/MulticastSocket/Leave.java + test/java/net/NetworkConfigurationProbe.java ! test/java/net/Socket/LinkLocal.java ! test/java/net/SocketPermission/SocketPermissionTest.java ! test/java/net/ipv6tests/B6521014.java ! test/java/net/ipv6tests/Tests.java + test/lib/testlibrary/jdk/testlibrary/NetworkConfiguration.java ! test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java Changeset: 2a96f24cea2e Author: mli Date: 2017-04-14 04:07 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/2a96f24cea2e 8145163: Test Task for Platform Logging API and Service -- for moduralization Reviewed-by: dfuchs + test/java/lang/System/LoggerFinder/modules/Base.java + test/java/lang/System/LoggerFinder/modules/JDKLoggerForImageTest.java + test/java/lang/System/LoggerFinder/modules/JDKLoggerForJDKTest.java + test/java/lang/System/LoggerFinder/modules/LoggerInImageTest.java + test/java/lang/System/LoggerFinder/modules/NamedLoggerForImageTest.java + test/java/lang/System/LoggerFinder/modules/NamedLoggerForJDKTest.java + test/java/lang/System/LoggerFinder/modules/UnnamedLoggerForImageTest.java + test/java/lang/System/LoggerFinder/modules/UnnamedLoggerForJDKTest.java + test/java/lang/System/LoggerFinder/modules/boot_client/BootClient.java + test/java/lang/System/LoggerFinder/modules/boot_usage/BootUsage.java + test/java/lang/System/LoggerFinder/modules/named_client/m.t.a/module-info.java + test/java/lang/System/LoggerFinder/modules/named_client/m.t.a/pkg/a/t/TestA.java + test/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/module-info.java + test/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/pkg/a/l/LoggerA.java + test/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/pkg/a/p/LoggerFinderA.java + test/java/lang/System/LoggerFinder/modules/patched_client/PatchedClient.java + test/java/lang/System/LoggerFinder/modules/patched_usage/java.base/java/lang/PatchedUsage.java + test/java/lang/System/LoggerFinder/modules/unnamed_client/pkg/b/t/TestB.java + test/java/lang/System/LoggerFinder/modules/unnamed_logger/META-INF/services/java.lang.System$LoggerFinder + test/java/lang/System/LoggerFinder/modules/unnamed_logger/pkg/b/l/LoggerB.java + test/java/lang/System/LoggerFinder/modules/unnamed_logger/pkg/b/p/LoggerFinderB.java Changeset: d7add8d9ab22 Author: weijun Date: 2017-04-15 00:58 +0800 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d7add8d9ab22 8178795: krb5 Basic.java test should be basic Reviewed-by: xuelei ! test/sun/security/krb5/auto/Basic.java + test/sun/security/krb5/auto/ModuleName.java Changeset: d1c491ec39d2 Author: bpb Date: 2017-04-14 14:02 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d1c491ec39d2 8178783: Java_sun_nio_ch_EPoll_close0 definition, but no sun.nio.ch.EPoll.close0 declaration. Summary: Delete unused method. Reviewed-by: rriggs, chegar ! src/java.base/linux/native/libnio/ch/EPoll.c Changeset: 9ba6760481a8 Author: lancea Date: 2017-04-15 16:54 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9ba6760481a8 8164390: Add module javadoc to jdk.internal.jvmstat Reviewed-by: alanb, mchung ! src/jdk.internal.jvmstat/share/classes/module-info.java Changeset: d57893482534 Author: mli Date: 2017-04-17 01:02 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d57893482534 8178840: Adds FieldSetAccessibleTest.java and VerifyJimage.java to ProblemList Summary: Adds FieldSetAccessibleTest.java and VerifyJimage.java to ProblemList due to JDK-8178776 Reviewed-by: alanb Contributed-by: John Jiang ! test/ProblemList.txt Changeset: 5d2b48f1f0a3 Author: naoto Date: 2017-04-17 14:46 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5d2b48f1f0a3 8177314: java VM fails to start with a Japanese ShiftJIS locale Reviewed-by: sherman, mchung ! make/data/charsetmapping/stdcs-linux Changeset: b4a7d4678a43 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/b4a7d4678a43 Added tag jdk-9+166 for changeset 5d2b48f1f0a3 ! .hgtags Changeset: 329609d00aef Author: lana Date: 2017-04-22 00:22 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/329609d00aef Merge ! .hgtags - src/java.base/macosx/native/launcher/jexec.c ! src/java.base/share/classes/java/lang/System.java - src/java.base/unix/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java ! test/ProblemList.txt ! test/lib/testlibrary/jdk/testlibrary/ProcessTools.java From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:02 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:02 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704220058.v3M0w2F4012022@aojmv0008.oracle.com> Changeset: a91f8cfed7c4 Author: langtools Date: 2017-04-22 02:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/a91f8cfed7c4 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:03 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704220058.v3M0w3g7012084@aojmv0008.oracle.com> Changeset: 3df483a23790 Author: langtools Date: 2017-04-22 02:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/3df483a23790 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:04 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704220058.v3M0w4m6012135@aojmv0008.oracle.com> Changeset: a9b5c05c7807 Author: langtools Date: 2017-04-22 02:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/a9b5c05c7807 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:04 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704220058.v3M0w5Ut012202@aojmv0008.oracle.com> Changeset: 5ae9d87572a2 Author: langtools Date: 2017-04-22 02:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/5ae9d87572a2 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:06 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:06 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704220058.v3M0w6ce012265@aojmv0008.oracle.com> Changeset: a126624e8701 Author: langtools Date: 2017-04-22 02:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/a126624e8701 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:06 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:06 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704220058.v3M0w6fG012262@aojmv0008.oracle.com> Changeset: 9e57160c9223 Author: langtools Date: 2017-04-22 02:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/9e57160c9223 Automatic merge with default - test/java/net/MulticastSocket/JoinGroup.java - test/java/net/MulticastSocket/Leave.java From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:07 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:07 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704220058.v3M0w7Hr012269@aojmv0008.oracle.com> Changeset: 1e9898a1d52c Author: langtools Date: 2017-04-22 02:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/1e9898a1d52c Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:08 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:08 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704220058.v3M0w8KB012281@aojmv0008.oracle.com> Changeset: b9e430e614a7 Author: langtools Date: 2017-04-22 02:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/b9e430e614a7 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:34 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704220058.v3M0wYnw013567@aojmv0008.oracle.com> Changeset: 2b32083867d0 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/2b32083867d0 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:35 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704220058.v3M0wZij013631@aojmv0008.oracle.com> Changeset: 2d766324e053 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/2d766324e053 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:36 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:36 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704220058.v3M0wag5013707@aojmv0008.oracle.com> Changeset: 53352f95d991 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/53352f95d991 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:37 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:37 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704220058.v3M0wbeZ013833@aojmv0008.oracle.com> Changeset: b7c18be861f6 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/b7c18be861f6 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:37 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:37 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704220058.v3M0wbmV013781@aojmv0008.oracle.com> Changeset: 3b1a5a429d87 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/3b1a5a429d87 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:38 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:38 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704220058.v3M0wcxt013859@aojmv0008.oracle.com> Changeset: 634a0bcece02 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/634a0bcece02 Automatic merge with default - test/java/net/MulticastSocket/JoinGroup.java - test/java/net/MulticastSocket/Leave.java From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:40 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:40 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704220058.v3M0wex1013884@aojmv0008.oracle.com> Changeset: 676921b8ce1a Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/676921b8ce1a Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:58:39 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:58:39 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704220058.v3M0wdEZ013878@aojmv0008.oracle.com> Changeset: 00e825863160 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/00e825863160 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:08 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:08 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704220059.v3M0x8Rq015154@aojmv0008.oracle.com> Changeset: 3ce735f91c9b Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/3ce735f91c9b Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:07 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:07 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704220059.v3M0x7di015097@aojmv0008.oracle.com> Changeset: 425890d7ccc8 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/425890d7ccc8 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:10 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:10 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704220059.v3M0xAKI015275@aojmv0008.oracle.com> Changeset: 00cdf1dbbaa2 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/00cdf1dbbaa2 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:09 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:09 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704220059.v3M0x9Cb015217@aojmv0008.oracle.com> Changeset: 72d9132ff359 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/72d9132ff359 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:11 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:11 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704220059.v3M0xB3g015347@aojmv0008.oracle.com> Changeset: c2d0a936007e Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/c2d0a936007e Automatic merge with default - test/java/net/MulticastSocket/JoinGroup.java - test/java/net/MulticastSocket/Leave.java From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:11 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:11 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704220059.v3M0xBIF015355@aojmv0008.oracle.com> Changeset: da7835030ce9 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/da7835030ce9 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:12 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:12 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704220059.v3M0xCkJ015360@aojmv0008.oracle.com> Changeset: 5b03749c8365 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/5b03749c8365 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:13 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:13 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704220059.v3M0xDkv015363@aojmv0008.oracle.com> Changeset: f1080b829bb1 Author: langtools Date: 2017-04-22 02:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/f1080b829bb1 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:39 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:39 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704220059.v3M0xdXq016511@aojmv0008.oracle.com> Changeset: 93709acb6dd9 Author: langtools Date: 2017-04-22 02:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/93709acb6dd9 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:40 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:40 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704220059.v3M0xexG016564@aojmv0008.oracle.com> Changeset: 6f923011c18a Author: langtools Date: 2017-04-22 02:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/6f923011c18a Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:42 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:42 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704220059.v3M0xg2T016702@aojmv0008.oracle.com> Changeset: c9b55cea3f47 Author: langtools Date: 2017-04-22 02:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/c9b55cea3f47 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:41 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:41 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704220059.v3M0xgaR016662@aojmv0008.oracle.com> Changeset: a34b095d55db Author: langtools Date: 2017-04-22 02:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a34b095d55db Automatic merge with default ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/String.java - test/java/net/MulticastSocket/JoinGroup.java - test/java/net/MulticastSocket/Leave.java From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:42 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:42 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704220059.v3M0xg5k016676@aojmv0008.oracle.com> Changeset: 1f0278bf8ab5 Author: langtools Date: 2017-04-22 02:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/1f0278bf8ab5 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:43 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:43 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704220059.v3M0xiDh016748@aojmv0008.oracle.com> Changeset: 4266e2e083aa Author: langtools Date: 2017-04-22 02:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/4266e2e083aa Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:45 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:45 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704220059.v3M0xjHX016757@aojmv0008.oracle.com> Changeset: 214a4b932235 Author: langtools Date: 2017-04-22 02:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/214a4b932235 Automatic merge with default From maurizio.cimadamore at oracle.com Sat Apr 22 00:59:44 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Sat, 22 Apr 2017 00:59:44 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704220059.v3M0xi9E016753@aojmv0008.oracle.com> Changeset: f77bc23e0a15 Author: langtools Date: 2017-04-22 02:57 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/f77bc23e0a15 Automatic merge with default From amaembo at gmail.com Mon Apr 24 04:57:32 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Mon, 24 Apr 2017 11:57:32 +0700 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber Message-ID: Hello! > Does it work if you get rid of the class literals, and use strings? Yes, if I change code the following way: MethodTypeConstant mtc = MethodTypeConstant.of(ClassConstant.of("V")); MethodHandleConstant mhc = MethodHandleConstant.ofStatic( ClassConstant.of("LTestConst;"), "test", mtc); MethodHandle mh = Intrinsics.ldc(mhc); Then it compiles and runs correctly. Of course, bytecode still contains these constants created explicitly: 0: ldc #2 // String V 2: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of 5: iconst_0 6: anewarray #4 // class j/l/i/Constables$ClassConstant 9: invokestatic #5 // Method j/l/i/Constables$MethodTypeConstant.of 12: astore_1 13: ldc #6 // String LTestConst; 15: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of 18: ldc #7 // String test 20: aload_1 21: invokestatic #8 // Method j/l/i/Constables$ MethodHandleConstant.ofStatic 24: astore_2 25: ldc #9 // MethodHandle REF_invokeStatic TestConst.test:()V 27: astore_3 28: aload_3 29: invokevirtual #10 // Method j/l/i/MethodHandle.invokeExact:()V 32: return Of these only bytecodes after offset 25 are actually needed. Though probably optimizing out intermediate constables is too much... With best regards, Tagir Valeev. On Fri, Apr 21, 2017 at 6:37 PM, Brian Goetz wrote: > Does it work if you get rid of the class literals, and use strings? > > On 4/21/2017 1:03 AM, Tagir Valeev wrote: > > Seems that it does not work if I use intermediate variable for > MethodTypeConstant. Consider the following code: > > import java.lang.invoke.*; > import static java.lang.invoke.Constables.*; > import static java.lang.invoke.Intrinsics.*; > > public class TestConst { > public static void main(String[] args) throws Throwable { > MethodTypeConstant mtc = MethodTypeConstant.of(void.class); > MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, > "test", mtc); > MethodHandle mh = Intrinsics.ldc(mhc); > mh.invokeExact(); > } > > static void test() { > System.out.println("Hello"); > } > } > > It's compiled without errors and ldc intrinsic is generated correctly. > However for non-intrinsified variables class type is not wrapped into > ClassConstant: > > 0: getstatic #2 // Field > void.class:Ljava/lang/Class; > 3: iconst_0 > 4: anewarray #3 // class > java/lang/invoke/Constables$ClassConstant > 7: invokestatic #4 // Method > java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lan > g/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constab > les$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; > > This, of course, results in verification errors: > > Exception in thread "main" java.lang.VerifyError: Bad type on operand stack > Exception Details: > Location: > TestConst.main([Ljava/lang/String;)V @7: invokestatic > Reason: > Type 'java/lang/Class' (current frame, stack[0]) is not assignable to > 'java/lang/invoke/Constables$ClassConstant' > Current Frame: > bci: @7 > flags: { } > locals: { '[Ljava/lang/String;' } > stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' > } > > Probably it would be easier to declare class Class as implements > Constable> and replace ClassConstant with Constable> in > method signatures where applicable? Or introduce some intermediate > interface? > > With best regards, > Tagir Valeev. > > > On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: > >> Thanks! Works fine for me. >> >> With best regards, >> Tagir Valeev. >> >> On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero < >> vicente.romero at oracle.com> wrote: >> >>> Hi all, >>> >>> I have just pushed a patch that converts class literals into a poly >>> expression. Meaning that now you can pass a class literal where a >>> ClassConstant is expected. This will simplify the use of the API making the >>> user code less verbose. Taking as an example the test case sent by Tagir, >>> it could be now rewritten as: >>> >>> import java.lang.invoke.*; >>> import java.lang.invoke.Constables.*; >>> import java.lang.reflect.*; >>> >>> public class MH { >>> private static void test() { >>> System.out.println("Hello"); >>> } >>> >>> public static void main(String[] args) throws Throwable { >>> final MethodHandle handle = Intrinsics.ldc( >>> MethodHandleConstant.ofStatic(MH.class, "test", >>> MethodTypeConstant.of(void.class))); >>> handle.invokeExact(); >>> } >>> } >>> >>> Thanks, >>> Vicente >>> >>> >>> >>> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >>> >>> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >>> does not work either and VarHandles are not supported yet. However the >>> following sample finally worked for me: >>> >>> >>> import java.lang.invoke.*; >>> import java.lang.invoke.Constables.*; >>> import java.lang.reflect.*; >>> >>> public class MH { >>> private static void test() { >>> System.out.println("Hello"); >>> } >>> >>> public static void main(String[] args) throws Throwable { >>> final MethodHandle handle = Intrinsics.ldc( >>> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >>> MethodTypeConstant.of(ClassConstant.of("V")))); >>> handle.invokeExact(); >>> } >>> } >>> >>> With best regards, >>> Tagir Valeev. >>> >>> >>> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >>> wrote: >>> >>>> The primitive fields (Constables.VOID and friends) are not yet hooked >>>> up; for the time being, replace with ClassConstant.of("V"). >>>> >>>> >>>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>>> >>>>> Hello! >>>>> >>>>> I tried to play with this, but still no success. Fresh build from >>>>> constant-folding branch. I tried to compile the following files: >>>>> >>>>> // MH.java >>>>> >>>>> import java.lang.invoke.*; >>>>> import java.lang.invoke.Constables.*; >>>>> import java.lang.reflect.*; >>>>> >>>>> public class MH { >>>>> private static void test() { >>>>> System.out.println("Hello"); >>>>> } >>>>> >>>>> >>>>> public static void main(String[] args) throws Throwable { >>>>> final MethodHandle handle = Intrinsics.ldc( >>>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >>>>> "test", >>>>> MethodTypeConstant.of(Constables.VOID))); >>>>> handle.invokeExact(); >>>>> } >>>>> >>>>> } >>>>> >>>>> // VH.java >>>>> import java.lang.invoke.*; >>>>> import java.lang.invoke.Constables.*; >>>>> import java.lang.reflect.*; >>>>> >>>>> public class VH { >>>>> private static volatile int counter; >>>>> >>>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>>> "counter", >>>>> Constables.INT)); >>>>> >>>>> public static void main(String[] args) { >>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>> } >>>>> } >>>>> >>>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>>> -XDdoConstantFold=true VH.java", >>>>> javac silently exists without producing .class file or reporting any >>>>> error. >>>>> Tried with -verbose, the output ends like this: >>>>> >>>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.clas >>>>> s] >>>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>>> [checking VH] >>>>> [loading /modules/java.base/java/io/Serializable.class] >>>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>>> [loading /modules/java.base/java/lang/Class.class] >>>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>>> [total 1484ms] >>>>> >>>>> Without -XDdoConstantFold=true the class file is produced and dies >>>>> like >>>>> >>>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>>> reflective access >>>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>>> at MH.main(MH.java:12) >>>>> >>>>> Which is expected behavior, I guess. >>>>> >>>>> Am I doing something wrong? Could you compile these files on your side? >>>>> Sorry if my tries look lame: I'm very new to this. >>>>> >>>>> With best regards, >>>>> Tagir Valeev. >>>>> >>>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>>> vicente.romero at oracle.com> >>>>> wrote: >>>>> >>>>> Hi, >>>>>> >>>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>>> name >>>>>> is 'constant-folding'). The development is mature although there are >>>>>> some >>>>>> fresh areas like using reflection for accessing the API methods. >>>>>> Reflection >>>>>> is needed as the classes defined in the API see [1] are not available >>>>>> in >>>>>> the boot JDK. There is still some ongoing research so some changes to >>>>>> the >>>>>> API and the code are to be expected in the near future, >>>>>> >>>>>> Thanks, >>>>>> Vicente >>>>>> >>>>>> >>>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>>> >>>>>> >>>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>>> >>>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>>> Project Amber. >>>>>>> >>>>>>> A first draft of the API can be found at: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>>> >>>>>>> Prototype implementation coming soon. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>> >>> >>> >> > > From vicente.romero at oracle.com Mon Apr 24 13:28:55 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Mon, 24 Apr 2017 09:28:55 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: Message-ID: <0503181b-d428-b2d4-bbbd-5c48d21ddcf4@oracle.com> Hi Tagir, On 04/24/2017 12:57 AM, Tagir Valeev wrote: > Hello! > >> Does it work if you get rid of the class literals, and use strings? > Yes, if I change code the following way: > > MethodTypeConstant mtc = MethodTypeConstant.of(ClassConstant.of("V")); > MethodHandleConstant mhc = MethodHandleConstant.ofStatic( > ClassConstant.of("LTestConst;"), "test", mtc); > MethodHandle mh = Intrinsics.ldc(mhc); > > Then it compiles and runs correctly. Of course, bytecode still contains > these constants created explicitly: > > 0: ldc #2 // String V > 2: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of > 5: iconst_0 > 6: anewarray #4 // class j/l/i/Constables$ClassConstant > 9: invokestatic #5 // Method j/l/i/Constables$MethodTypeConstant.of > 12: astore_1 > 13: ldc #6 // String LTestConst; > 15: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of > 18: ldc #7 // String test > 20: aload_1 > 21: invokestatic #8 // Method j/l/i/Constables$ > MethodHandleConstant.ofStatic > 24: astore_2 > 25: ldc #9 // MethodHandle REF_invokeStatic TestConst.test:()V > 27: astore_3 > 28: aload_3 > 29: invokevirtual #10 // Method j/l/i/MethodHandle.invokeExact:()V > 32: return > > Of these only bytecodes after offset 25 are actually needed. Though > probably optimizing out intermediate constables is too much... we decided not to optimize the intermediate constables because we wanted to be explicit about the fact that the magic would happen only for ldc() or invokedynamic(). Clearing up all the code and reducing it to an ldc or indy invocation was considered too magical. > > With best regards, > Tagir Valeev. Thanks, Vicente > > > On Fri, Apr 21, 2017 at 6:37 PM, Brian Goetz wrote: > >> Does it work if you get rid of the class literals, and use strings? >> >> On 4/21/2017 1:03 AM, Tagir Valeev wrote: >> >> Seems that it does not work if I use intermediate variable for >> MethodTypeConstant. Consider the following code: >> >> import java.lang.invoke.*; >> import static java.lang.invoke.Constables.*; >> import static java.lang.invoke.Intrinsics.*; >> >> public class TestConst { >> public static void main(String[] args) throws Throwable { >> MethodTypeConstant mtc = MethodTypeConstant.of(void.class); >> MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, >> "test", mtc); >> MethodHandle mh = Intrinsics.ldc(mhc); >> mh.invokeExact(); >> } >> >> static void test() { >> System.out.println("Hello"); >> } >> } >> >> It's compiled without errors and ldc intrinsic is generated correctly. >> However for non-intrinsified variables class type is not wrapped into >> ClassConstant: >> >> 0: getstatic #2 // Field >> void.class:Ljava/lang/Class; >> 3: iconst_0 >> 4: anewarray #3 // class >> java/lang/invoke/Constables$ClassConstant >> 7: invokestatic #4 // Method >> java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lan >> g/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constab >> les$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; >> >> This, of course, results in verification errors: >> >> Exception in thread "main" java.lang.VerifyError: Bad type on operand stack >> Exception Details: >> Location: >> TestConst.main([Ljava/lang/String;)V @7: invokestatic >> Reason: >> Type 'java/lang/Class' (current frame, stack[0]) is not assignable to >> 'java/lang/invoke/Constables$ClassConstant' >> Current Frame: >> bci: @7 >> flags: { } >> locals: { '[Ljava/lang/String;' } >> stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' >> } >> >> Probably it would be easier to declare class Class as implements >> Constable> and replace ClassConstant with Constable> in >> method signatures where applicable? Or introduce some intermediate >> interface? >> >> With best regards, >> Tagir Valeev. >> >> >> On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: >> >>> Thanks! Works fine for me. >>> >>> With best regards, >>> Tagir Valeev. >>> >>> On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero < >>> vicente.romero at oracle.com> wrote: >>> >>>> Hi all, >>>> >>>> I have just pushed a patch that converts class literals into a poly >>>> expression. Meaning that now you can pass a class literal where a >>>> ClassConstant is expected. This will simplify the use of the API making the >>>> user code less verbose. Taking as an example the test case sent by Tagir, >>>> it could be now rewritten as: >>>> >>>> import java.lang.invoke.*; >>>> import java.lang.invoke.Constables.*; >>>> import java.lang.reflect.*; >>>> >>>> public class MH { >>>> private static void test() { >>>> System.out.println("Hello"); >>>> } >>>> >>>> public static void main(String[] args) throws Throwable { >>>> final MethodHandle handle = Intrinsics.ldc( >>>> MethodHandleConstant.ofStatic(MH.class, "test", >>>> MethodTypeConstant.of(void.class))); >>>> handle.invokeExact(); >>>> } >>>> } >>>> >>>> Thanks, >>>> Vicente >>>> >>>> >>>> >>>> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >>>> >>>> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >>>> does not work either and VarHandles are not supported yet. However the >>>> following sample finally worked for me: >>>> >>>> >>>> import java.lang.invoke.*; >>>> import java.lang.invoke.Constables.*; >>>> import java.lang.reflect.*; >>>> >>>> public class MH { >>>> private static void test() { >>>> System.out.println("Hello"); >>>> } >>>> >>>> public static void main(String[] args) throws Throwable { >>>> final MethodHandle handle = Intrinsics.ldc( >>>> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >>>> MethodTypeConstant.of(ClassConstant.of("V")))); >>>> handle.invokeExact(); >>>> } >>>> } >>>> >>>> With best regards, >>>> Tagir Valeev. >>>> >>>> >>>> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >>>> wrote: >>>> >>>>> The primitive fields (Constables.VOID and friends) are not yet hooked >>>>> up; for the time being, replace with ClassConstant.of("V"). >>>>> >>>>> >>>>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>>>> >>>>>> Hello! >>>>>> >>>>>> I tried to play with this, but still no success. Fresh build from >>>>>> constant-folding branch. I tried to compile the following files: >>>>>> >>>>>> // MH.java >>>>>> >>>>>> import java.lang.invoke.*; >>>>>> import java.lang.invoke.Constables.*; >>>>>> import java.lang.reflect.*; >>>>>> >>>>>> public class MH { >>>>>> private static void test() { >>>>>> System.out.println("Hello"); >>>>>> } >>>>>> >>>>>> >>>>>> public static void main(String[] args) throws Throwable { >>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >>>>>> "test", >>>>>> MethodTypeConstant.of(Constables.VOID))); >>>>>> handle.invokeExact(); >>>>>> } >>>>>> >>>>>> } >>>>>> >>>>>> // VH.java >>>>>> import java.lang.invoke.*; >>>>>> import java.lang.invoke.Constables.*; >>>>>> import java.lang.reflect.*; >>>>>> >>>>>> public class VH { >>>>>> private static volatile int counter; >>>>>> >>>>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>>>> "counter", >>>>>> Constables.INT)); >>>>>> >>>>>> public static void main(String[] args) { >>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>> } >>>>>> } >>>>>> >>>>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>>>> -XDdoConstantFold=true VH.java", >>>>>> javac silently exists without producing .class file or reporting any >>>>>> error. >>>>>> Tried with -verbose, the output ends like this: >>>>>> >>>>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.clas >>>>>> s] >>>>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>>>> [checking VH] >>>>>> [loading /modules/java.base/java/io/Serializable.class] >>>>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>>>> [loading /modules/java.base/java/lang/Class.class] >>>>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>>>> [total 1484ms] >>>>>> >>>>>> Without -XDdoConstantFold=true the class file is produced and dies >>>>>> like >>>>>> >>>>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>>>> reflective access >>>>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>>>> at MH.main(MH.java:12) >>>>>> >>>>>> Which is expected behavior, I guess. >>>>>> >>>>>> Am I doing something wrong? Could you compile these files on your side? >>>>>> Sorry if my tries look lame: I'm very new to this. >>>>>> >>>>>> With best regards, >>>>>> Tagir Valeev. >>>>>> >>>>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>>>> vicente.romero at oracle.com> >>>>>> wrote: >>>>>> >>>>>> Hi, >>>>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>>>> name >>>>>>> is 'constant-folding'). The development is mature although there are >>>>>>> some >>>>>>> fresh areas like using reflection for accessing the API methods. >>>>>>> Reflection >>>>>>> is needed as the classes defined in the API see [1] are not available >>>>>>> in >>>>>>> the boot JDK. There is still some ongoing research so some changes to >>>>>>> the >>>>>>> API and the code are to be expected in the near future, >>>>>>> >>>>>>> Thanks, >>>>>>> Vicente >>>>>>> >>>>>>> >>>>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>>>> >>>>>>> >>>>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>>>> >>>>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>>>> Project Amber. >>>>>>>> >>>>>>>> A first draft of the API can be found at: >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>>>> >>>>>>>> Prototype implementation coming soon. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>> >> From vicente.romero at oracle.com Mon Apr 24 14:38:42 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 24 Apr 2017 14:38:42 +0000 Subject: hg: amber/amber/langtools: adding support for the invocation of trackable instance methods Message-ID: <201704241438.v3OEcg9Z023450@aojmv0008.oracle.com> Changeset: cbbe24c57daf Author: vromero Date: 2017-04-24 07:22 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/cbbe24c57daf adding support for the invocation of trackable instance methods ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/DescriptorUtils.java ! test/tools/javac/specialConstantFolding/harness/ConstantFoldingHarness.java + test/tools/javac/specialConstantFolding/harness/tests/InstanceTrackableMethodsTest.java From brian.goetz at oracle.com Mon Apr 24 14:41:28 2017 From: brian.goetz at oracle.com (brian.goetz at oracle.com) Date: Mon, 24 Apr 2017 14:41:28 +0000 Subject: hg: amber/amber/langtools: Move unit tests for constables to JDK Message-ID: <201704241441.v3OEfSBu023915@aojmv0008.oracle.com> Changeset: 1971ca5f84d5 Author: briangoetz Date: 2017-04-24 10:23 -0400 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/1971ca5f84d5 Move unit tests for constables to JDK - test/tools/javac/specialConstantFolding/constable/ClassConstantTest.java - test/tools/javac/specialConstantFolding/constable/TEST.properties From brian.goetz at oracle.com Mon Apr 24 14:42:47 2017 From: brian.goetz at oracle.com (brian.goetz at oracle.com) Date: Mon, 24 Apr 2017 14:42:47 +0000 Subject: hg: amber/amber/jdk: Move Constables unit test to JDK Message-ID: <201704241442.v3OEgmSp024253@aojmv0008.oracle.com> Changeset: 5e1b743dfd6d Author: briangoetz Date: 2017-04-24 10:24 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5e1b743dfd6d Move Constables unit test to JDK ! src/java.base/share/classes/java/lang/invoke/Constables.java + test/java/lang/invoke/ConstablesTest.java From vicente.romero at oracle.com Mon Apr 24 14:48:15 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Mon, 24 Apr 2017 10:48:15 -0400 Subject: hg: amber/amber/langtools: adding support for the invocation of trackable instance methods In-Reply-To: <201704241438.v3OEcg9Z023450@aojmv0008.oracle.com> References: <201704241438.v3OEcg9Z023450@aojmv0008.oracle.com> Message-ID: Hi all, I have added another patch to provide for uncovered functionality in the constant folding project. The class java.lang.invoke.Constable contain several classes must of which contain on their own several methods annotated with the @TrackableConstant constant annotation. Must of them are factory methods but some others are instance methods. In all cases the compiler must track the resulting constants in case they are used as components to create other constants that could be ldc'ed or indyfied. So far there was support for the factory, static, methods but not for the instance ones. This patch aims at filling that gap. So now it will be possible to write: ClassConstant stringClass = ClassConstant.of("Ljava/lang/String;"); Class stringArrClass = ldc(stringClass.arrayOf()); and the compiler will ldc'ed an String[] class literal. Thanks in advance for your feedback, Vicente On 04/24/2017 10:38 AM, vicente.romero at oracle.com wrote: > Changeset: cbbe24c57daf > Author: vromero > Date: 2017-04-24 07:22 -0700 > URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/cbbe24c57daf > > adding support for the invocation of trackable instance methods > > ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java > ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java > ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/DescriptorUtils.java > ! test/tools/javac/specialConstantFolding/harness/ConstantFoldingHarness.java > + test/tools/javac/specialConstantFolding/harness/tests/InstanceTrackableMethodsTest.java > From vicente.romero at oracle.com Mon Apr 24 18:29:55 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 24 Apr 2017 18:29:55 +0000 Subject: hg: amber/amber/langtools: fixing array class generation error when in constant folding mode Message-ID: <201704241829.v3OITttF010372@aojmv0008.oracle.com> Changeset: a027788d6d28 Author: vromero Date: 2017-04-24 11:11 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/a027788d6d28 fixing array class generation error when in constant folding mode ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java From vicente.romero at oracle.com Mon Apr 24 19:26:38 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 24 Apr 2017 19:26:38 +0000 Subject: hg: amber/amber/langtools: rewrite class literal trees if the target type is ClassConstant Message-ID: <201704241926.v3OJQd2j000149@aojmv0008.oracle.com> Changeset: b998e852ac91 Author: vromero Date: 2017-04-24 12:10 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/b998e852ac91 rewrite class literal trees if the target type is ClassConstant ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java + test/tools/javac/specialConstantFolding/ClassConstantAsTarget01.java From vicente.romero at oracle.com Mon Apr 24 20:18:11 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Mon, 24 Apr 2017 16:18:11 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: Hi Tagir, I have pushed [1] to address the problem reported below. The compiler is basically rewriting a class literal tree to a ClassConstant.of("respectiveDescriptor") invocation. This way the code generation phase at the compiler won't see a class literal at all if its target is of type ClassConstant. Thanks again for your feedback, Vicente [1] http://hg.openjdk.java.net/amber/amber/langtools/rev/b998e852ac91 On 04/21/2017 01:03 AM, Tagir Valeev wrote: > Seems that it does not work if I use intermediate variable for > MethodTypeConstant. Consider the following code: > > import java.lang.invoke.*; > import static java.lang.invoke.Constables.*; > import static java.lang.invoke.Intrinsics.*; > > public class TestConst { > public static void main(String[] args) throws Throwable { > MethodTypeConstant mtc = MethodTypeConstant.of(void.class); > MethodHandleConstant mhc = > MethodHandleConstant.ofStatic(TestConst.class, "test", mtc); > MethodHandle mh = Intrinsics.ldc(mhc); > mh.invokeExact(); > } > > static void test() { > System.out.println("Hello"); > } > } > > It's compiled without errors and ldc intrinsic is generated correctly. > However for non-intrinsified variables class type is not wrapped into > ClassConstant: > > 0: getstatic #2 // Field > void.class:Ljava/lang/Class; > 3: iconst_0 > 4: anewarray #3 // class > java/lang/invoke/Constables$ClassConstant > 7: invokestatic #4 // Method > java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lang/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constables$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; > > This, of course, results in verification errors: > > Exception in thread "main" java.lang.VerifyError: Bad type on operand > stack > Exception Details: > Location: > TestConst.main([Ljava/lang/String;)V @7: invokestatic > Reason: > Type 'java/lang/Class' (current frame, stack[0]) is not assignable > to 'java/lang/invoke/Constables$ClassConstant' > Current Frame: > bci: @7 > flags: { } > locals: { '[Ljava/lang/String;' } > stack: { 'java/lang/Class', > '[Ljava/lang/invoke/Constables$ClassConstant;' } > > Probably it would be easier to declare class Class as implements > Constable> and replace ClassConstant with Constable> > in method signatures where applicable? Or introduce some intermediate > interface? > > With best regards, > Tagir Valeev. > > > On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev > wrote: > > Thanks! Works fine for me. > > With best regards, > Tagir Valeev. > > On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero > > wrote: > > Hi all, > > I have just pushed a patch that converts class literals into a > poly expression. Meaning that now you can pass a class literal > where a ClassConstant is expected. This will simplify the use > of the API making the user code less verbose. Taking as an > example the test case sent by Tagir, it could be now rewritten as: > > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > import java.lang.reflect.*; > > public class MH { > private static void test() { > System.out.println("Hello"); > } > > public static void main(String[] args) throws Throwable { > final MethodHandle handle = Intrinsics.ldc( > MethodHandleConstant.ofStatic(MH.class, "test", > MethodTypeConstant.of(void.class))); > handle.invokeExact(); > } > } > > Thanks, > Vicente > > > > On 04/18/2017 11:14 PM, Tagir Valeev wrote: >> Thank you for the hint! It also seems that >> ClassConstant.of(MH.class) does not work either and >> VarHandles are not supported yet. However the following >> sample finally worked for me: >> >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> public static void main(String[] args) throws Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), >> "test", MethodTypeConstant.of(ClassConstant.of("V")))); >> handle.invokeExact(); >> } >> } >> >> With best regards, >> Tagir Valeev. >> >> >> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >> > wrote: >> >> The primitive fields (Constables.VOID and friends) are >> not yet hooked up; for the time being, replace with >> ClassConstant.of("V"). >> >> >> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >> >> Hello! >> >> I tried to play with this, but still no success. >> Fresh build from >> constant-folding branch. I tried to compile the >> following files: >> >> // MH.java >> >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class MH { >> private static void test() { >> System.out.println("Hello"); >> } >> >> >> public static void main(String[] args) throws >> Throwable { >> final MethodHandle handle = Intrinsics.ldc( >> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >> "test", >> MethodTypeConstant.of(Constables.VOID))); >> handle.invokeExact(); >> } >> >> } >> >> // VH.java >> import java.lang.invoke.*; >> import java.lang.invoke.Constables.*; >> import java.lang.reflect.*; >> >> public class VH { >> private static volatile int counter; >> >> private static final VarHandle COUNTER = >> Intrinsics.ldc( >> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >> "counter", >> Constables.INT)); >> >> public static void main(String[] args) { >> System.out.println(COUNTER.getAndAdd(1)); >> System.out.println(COUNTER.getAndAdd(1)); >> } >> } >> >> Building with "javac -XDdoConstantFold=true MH.java" >> or "javac >> -XDdoConstantFold=true VH.java", >> javac silently exists without producing .class file >> or reporting any error. >> Tried with -verbose, the output ends like this: >> >> [loading >> /modules/java.base/java/lang/annotation/RetentionPolicy.class] >> [loading >> /modules/java.base/java/lang/annotation/Target.class] >> [loading >> /modules/java.base/java/lang/annotation/ElementType.class] >> [checking VH] >> [loading /modules/java.base/java/io/Serializable.class] >> [loading >> /modules/java.base/java/lang/AutoCloseable.class] >> [loading /modules/java.base/java/lang/Class.class] >> [loading >> /modules/java.base/java/lang/invoke/Constable.class] >> [loading >> /modules/java.base/java/lang/invoke/Intrinsics.class] >> [total 1484ms] >> >> Without -XDdoConstantFold=true the class file is >> produced and dies like >> >> Exception in thread "main" >> java.lang.UnsupportedOperationException: no >> reflective access >> at java.base/java.lang.invoke.Int >> rinsics.ldc(Intrinsics.java:42) >> at MH.main(MH.java:12) >> >> Which is expected behavior, I guess. >> >> Am I doing something wrong? Could you compile these >> files on your side? >> Sorry if my tries look lame: I'm very new to this. >> >> With best regards, >> Tagir Valeev. >> >> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero >> > > >> wrote: >> >> Hi, >> >> Support for JEP 303 has been pushed in the amber >> repo [1, 2] (branch name >> is 'constant-folding'). The development is mature >> although there are some >> fresh areas like using reflection for accessing >> the API methods. Reflection >> is needed as the classes defined in the API see >> [1] are not available in >> the boot JDK. There is still some ongoing >> research so some changes to the >> API and the code are to be expected in the near >> future, >> >> Thanks, >> Vicente >> >> >> [1] >> http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >> >> [2] >> http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >> >> >> >> On 04/17/2017 04:22 PM, Brian Goetz wrote: >> >> JEP 303 (Intrinsics for LDC and >> INVOKEDYNAMIC) is hereby adopted into >> Project Amber. >> >> A first draft of the API can be found at: >> >> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >> >> >> Prototype implementation coming soon. >> >> >> >> >> > > > From forax at univ-mlv.fr Mon Apr 24 21:03:52 2017 From: forax at univ-mlv.fr (Remi Forax) Date: Mon, 24 Apr 2017 23:03:52 +0200 (CEST) Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <0503181b-d428-b2d4-bbbd-5c48d21ddcf4@oracle.com> References: <0503181b-d428-b2d4-bbbd-5c48d21ddcf4@oracle.com> Message-ID: <218113886.512707.1493067832350.JavaMail.zimbra@u-pem.fr> Hi Vicente, The problem of letting intermediary construction is that you keep link to classes that are present at compile time (to represent intermediary states) but may not be present at runtime. cheers, R?mi ----- Mail original ----- > De: "Vicente Romero" > ?: "Tagir Valeev" , amber-dev at openjdk.java.net > Envoy?: Lundi 24 Avril 2017 15:28:55 > Objet: Re: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber > Hi Tagir, > > On 04/24/2017 12:57 AM, Tagir Valeev wrote: >> Hello! >> >>> Does it work if you get rid of the class literals, and use strings? >> Yes, if I change code the following way: >> >> MethodTypeConstant mtc = MethodTypeConstant.of(ClassConstant.of("V")); >> MethodHandleConstant mhc = MethodHandleConstant.ofStatic( >> ClassConstant.of("LTestConst;"), "test", mtc); >> MethodHandle mh = Intrinsics.ldc(mhc); >> >> Then it compiles and runs correctly. Of course, bytecode still contains >> these constants created explicitly: >> >> 0: ldc #2 // String V >> 2: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of >> 5: iconst_0 >> 6: anewarray #4 // class j/l/i/Constables$ClassConstant >> 9: invokestatic #5 // Method j/l/i/Constables$MethodTypeConstant.of >> 12: astore_1 >> 13: ldc #6 // String LTestConst; >> 15: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of >> 18: ldc #7 // String test >> 20: aload_1 >> 21: invokestatic #8 // Method j/l/i/Constables$ >> MethodHandleConstant.ofStatic >> 24: astore_2 >> 25: ldc #9 // MethodHandle REF_invokeStatic TestConst.test:()V >> 27: astore_3 >> 28: aload_3 >> 29: invokevirtual #10 // Method j/l/i/MethodHandle.invokeExact:()V >> 32: return >> >> Of these only bytecodes after offset 25 are actually needed. Though >> probably optimizing out intermediate constables is too much... > > we decided not to optimize the intermediate constables because we wanted > to be explicit about the fact that the magic would happen only for ldc() > or invokedynamic(). Clearing up all the code and reducing it to an ldc > or indy invocation was considered too magical. > >> >> With best regards, >> Tagir Valeev. > > Thanks, > Vicente > >> >> >> On Fri, Apr 21, 2017 at 6:37 PM, Brian Goetz wrote: >> >>> Does it work if you get rid of the class literals, and use strings? >>> >>> On 4/21/2017 1:03 AM, Tagir Valeev wrote: >>> >>> Seems that it does not work if I use intermediate variable for >>> MethodTypeConstant. Consider the following code: >>> >>> import java.lang.invoke.*; >>> import static java.lang.invoke.Constables.*; >>> import static java.lang.invoke.Intrinsics.*; >>> >>> public class TestConst { >>> public static void main(String[] args) throws Throwable { >>> MethodTypeConstant mtc = MethodTypeConstant.of(void.class); >>> MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, >>> "test", mtc); >>> MethodHandle mh = Intrinsics.ldc(mhc); >>> mh.invokeExact(); >>> } >>> >>> static void test() { >>> System.out.println("Hello"); >>> } >>> } >>> >>> It's compiled without errors and ldc intrinsic is generated correctly. >>> However for non-intrinsified variables class type is not wrapped into >>> ClassConstant: >>> >>> 0: getstatic #2 // Field >>> void.class:Ljava/lang/Class; >>> 3: iconst_0 >>> 4: anewarray #3 // class >>> java/lang/invoke/Constables$ClassConstant >>> 7: invokestatic #4 // Method >>> java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lan >>> g/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constab >>> les$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; >>> >>> This, of course, results in verification errors: >>> >>> Exception in thread "main" java.lang.VerifyError: Bad type on operand stack >>> Exception Details: >>> Location: >>> TestConst.main([Ljava/lang/String;)V @7: invokestatic >>> Reason: >>> Type 'java/lang/Class' (current frame, stack[0]) is not assignable to >>> 'java/lang/invoke/Constables$ClassConstant' >>> Current Frame: >>> bci: @7 >>> flags: { } >>> locals: { '[Ljava/lang/String;' } >>> stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' >>> } >>> >>> Probably it would be easier to declare class Class as implements >>> Constable> and replace ClassConstant with Constable> in >>> method signatures where applicable? Or introduce some intermediate >>> interface? >>> >>> With best regards, >>> Tagir Valeev. >>> >>> >>> On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: >>> >>>> Thanks! Works fine for me. >>>> >>>> With best regards, >>>> Tagir Valeev. >>>> >>>> On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero < >>>> vicente.romero at oracle.com> wrote: >>>> >>>>> Hi all, >>>>> >>>>> I have just pushed a patch that converts class literals into a poly >>>>> expression. Meaning that now you can pass a class literal where a >>>>> ClassConstant is expected. This will simplify the use of the API making the >>>>> user code less verbose. Taking as an example the test case sent by Tagir, >>>>> it could be now rewritten as: >>>>> >>>>> import java.lang.invoke.*; >>>>> import java.lang.invoke.Constables.*; >>>>> import java.lang.reflect.*; >>>>> >>>>> public class MH { >>>>> private static void test() { >>>>> System.out.println("Hello"); >>>>> } >>>>> >>>>> public static void main(String[] args) throws Throwable { >>>>> final MethodHandle handle = Intrinsics.ldc( >>>>> MethodHandleConstant.ofStatic(MH.class, "test", >>>>> MethodTypeConstant.of(void.class))); >>>>> handle.invokeExact(); >>>>> } >>>>> } >>>>> >>>>> Thanks, >>>>> Vicente >>>>> >>>>> >>>>> >>>>> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >>>>> >>>>> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >>>>> does not work either and VarHandles are not supported yet. However the >>>>> following sample finally worked for me: >>>>> >>>>> >>>>> import java.lang.invoke.*; >>>>> import java.lang.invoke.Constables.*; >>>>> import java.lang.reflect.*; >>>>> >>>>> public class MH { >>>>> private static void test() { >>>>> System.out.println("Hello"); >>>>> } >>>>> >>>>> public static void main(String[] args) throws Throwable { >>>>> final MethodHandle handle = Intrinsics.ldc( >>>>> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >>>>> MethodTypeConstant.of(ClassConstant.of("V")))); >>>>> handle.invokeExact(); >>>>> } >>>>> } >>>>> >>>>> With best regards, >>>>> Tagir Valeev. >>>>> >>>>> >>>>> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >>>>> wrote: >>>>> >>>>>> The primitive fields (Constables.VOID and friends) are not yet hooked >>>>>> up; for the time being, replace with ClassConstant.of("V"). >>>>>> >>>>>> >>>>>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>>>>> >>>>>>> Hello! >>>>>>> >>>>>>> I tried to play with this, but still no success. Fresh build from >>>>>>> constant-folding branch. I tried to compile the following files: >>>>>>> >>>>>>> // MH.java >>>>>>> >>>>>>> import java.lang.invoke.*; >>>>>>> import java.lang.invoke.Constables.*; >>>>>>> import java.lang.reflect.*; >>>>>>> >>>>>>> public class MH { >>>>>>> private static void test() { >>>>>>> System.out.println("Hello"); >>>>>>> } >>>>>>> >>>>>>> >>>>>>> public static void main(String[] args) throws Throwable { >>>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >>>>>>> "test", >>>>>>> MethodTypeConstant.of(Constables.VOID))); >>>>>>> handle.invokeExact(); >>>>>>> } >>>>>>> >>>>>>> } >>>>>>> >>>>>>> // VH.java >>>>>>> import java.lang.invoke.*; >>>>>>> import java.lang.invoke.Constables.*; >>>>>>> import java.lang.reflect.*; >>>>>>> >>>>>>> public class VH { >>>>>>> private static volatile int counter; >>>>>>> >>>>>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>>>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>>>>> "counter", >>>>>>> Constables.INT)); >>>>>>> >>>>>>> public static void main(String[] args) { >>>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>>>>> -XDdoConstantFold=true VH.java", >>>>>>> javac silently exists without producing .class file or reporting any >>>>>>> error. >>>>>>> Tried with -verbose, the output ends like this: >>>>>>> >>>>>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.clas >>>>>>> s] >>>>>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>>>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>>>>> [checking VH] >>>>>>> [loading /modules/java.base/java/io/Serializable.class] >>>>>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>>>>> [loading /modules/java.base/java/lang/Class.class] >>>>>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>>>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>>>>> [total 1484ms] >>>>>>> >>>>>>> Without -XDdoConstantFold=true the class file is produced and dies >>>>>>> like >>>>>>> >>>>>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>>>>> reflective access >>>>>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>>>>> at MH.main(MH.java:12) >>>>>>> >>>>>>> Which is expected behavior, I guess. >>>>>>> >>>>>>> Am I doing something wrong? Could you compile these files on your side? >>>>>>> Sorry if my tries look lame: I'm very new to this. >>>>>>> >>>>>>> With best regards, >>>>>>> Tagir Valeev. >>>>>>> >>>>>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>>>>> vicente.romero at oracle.com> >>>>>>> wrote: >>>>>>> >>>>>>> Hi, >>>>>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>>>>> name >>>>>>>> is 'constant-folding'). The development is mature although there are >>>>>>>> some >>>>>>>> fresh areas like using reflection for accessing the API methods. >>>>>>>> Reflection >>>>>>>> is needed as the classes defined in the API see [1] are not available >>>>>>>> in >>>>>>>> the boot JDK. There is still some ongoing research so some changes to >>>>>>>> the >>>>>>>> API and the code are to be expected in the near future, >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Vicente >>>>>>>> >>>>>>>> >>>>>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>>>>> >>>>>>>> >>>>>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>>>>> >>>>>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>>>>> Project Amber. >>>>>>>>> >>>>>>>>> A first draft of the API can be found at: >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>>>>> >>>>>>>>> Prototype implementation coming soon. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>> From vicente.romero at oracle.com Mon Apr 24 21:14:11 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Mon, 24 Apr 2017 17:14:11 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <218113886.512707.1493067832350.JavaMail.zimbra@u-pem.fr> References: <0503181b-d428-b2d4-bbbd-5c48d21ddcf4@oracle.com> <218113886.512707.1493067832350.JavaMail.zimbra@u-pem.fr> Message-ID: <0f1421b9-84df-7692-3dc0-89b4bdc315dc@oracle.com> Hi Remi, On 04/24/2017 05:03 PM, Remi Forax wrote: > Hi Vicente, > The problem of letting intermediary construction is that you keep link to classes that are present at compile time (to represent intermediary states) but may not be present at runtime. but in this case we are using a class that is / will be part of a public API, and if it's not present at run time there is no point in executing the given code. Probably I'm not following you but I believe that in this particular case we should be fine > > cheers, > R?mi Vicente > > > ----- Mail original ----- >> De: "Vicente Romero" >> ?: "Tagir Valeev" , amber-dev at openjdk.java.net >> Envoy?: Lundi 24 Avril 2017 15:28:55 >> Objet: Re: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber >> Hi Tagir, >> >> On 04/24/2017 12:57 AM, Tagir Valeev wrote: >>> Hello! >>> >>>> Does it work if you get rid of the class literals, and use strings? >>> Yes, if I change code the following way: >>> >>> MethodTypeConstant mtc = MethodTypeConstant.of(ClassConstant.of("V")); >>> MethodHandleConstant mhc = MethodHandleConstant.ofStatic( >>> ClassConstant.of("LTestConst;"), "test", mtc); >>> MethodHandle mh = Intrinsics.ldc(mhc); >>> >>> Then it compiles and runs correctly. Of course, bytecode still contains >>> these constants created explicitly: >>> >>> 0: ldc #2 // String V >>> 2: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of >>> 5: iconst_0 >>> 6: anewarray #4 // class j/l/i/Constables$ClassConstant >>> 9: invokestatic #5 // Method j/l/i/Constables$MethodTypeConstant.of >>> 12: astore_1 >>> 13: ldc #6 // String LTestConst; >>> 15: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of >>> 18: ldc #7 // String test >>> 20: aload_1 >>> 21: invokestatic #8 // Method j/l/i/Constables$ >>> MethodHandleConstant.ofStatic >>> 24: astore_2 >>> 25: ldc #9 // MethodHandle REF_invokeStatic TestConst.test:()V >>> 27: astore_3 >>> 28: aload_3 >>> 29: invokevirtual #10 // Method j/l/i/MethodHandle.invokeExact:()V >>> 32: return >>> >>> Of these only bytecodes after offset 25 are actually needed. Though >>> probably optimizing out intermediate constables is too much... >> we decided not to optimize the intermediate constables because we wanted >> to be explicit about the fact that the magic would happen only for ldc() >> or invokedynamic(). Clearing up all the code and reducing it to an ldc >> or indy invocation was considered too magical. >> >>> With best regards, >>> Tagir Valeev. >> Thanks, >> Vicente >> >>> >>> On Fri, Apr 21, 2017 at 6:37 PM, Brian Goetz wrote: >>> >>>> Does it work if you get rid of the class literals, and use strings? >>>> >>>> On 4/21/2017 1:03 AM, Tagir Valeev wrote: >>>> >>>> Seems that it does not work if I use intermediate variable for >>>> MethodTypeConstant. Consider the following code: >>>> >>>> import java.lang.invoke.*; >>>> import static java.lang.invoke.Constables.*; >>>> import static java.lang.invoke.Intrinsics.*; >>>> >>>> public class TestConst { >>>> public static void main(String[] args) throws Throwable { >>>> MethodTypeConstant mtc = MethodTypeConstant.of(void.class); >>>> MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, >>>> "test", mtc); >>>> MethodHandle mh = Intrinsics.ldc(mhc); >>>> mh.invokeExact(); >>>> } >>>> >>>> static void test() { >>>> System.out.println("Hello"); >>>> } >>>> } >>>> >>>> It's compiled without errors and ldc intrinsic is generated correctly. >>>> However for non-intrinsified variables class type is not wrapped into >>>> ClassConstant: >>>> >>>> 0: getstatic #2 // Field >>>> void.class:Ljava/lang/Class; >>>> 3: iconst_0 >>>> 4: anewarray #3 // class >>>> java/lang/invoke/Constables$ClassConstant >>>> 7: invokestatic #4 // Method >>>> java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lan >>>> g/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constab >>>> les$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; >>>> >>>> This, of course, results in verification errors: >>>> >>>> Exception in thread "main" java.lang.VerifyError: Bad type on operand stack >>>> Exception Details: >>>> Location: >>>> TestConst.main([Ljava/lang/String;)V @7: invokestatic >>>> Reason: >>>> Type 'java/lang/Class' (current frame, stack[0]) is not assignable to >>>> 'java/lang/invoke/Constables$ClassConstant' >>>> Current Frame: >>>> bci: @7 >>>> flags: { } >>>> locals: { '[Ljava/lang/String;' } >>>> stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' >>>> } >>>> >>>> Probably it would be easier to declare class Class as implements >>>> Constable> and replace ClassConstant with Constable> in >>>> method signatures where applicable? Or introduce some intermediate >>>> interface? >>>> >>>> With best regards, >>>> Tagir Valeev. >>>> >>>> >>>> On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: >>>> >>>>> Thanks! Works fine for me. >>>>> >>>>> With best regards, >>>>> Tagir Valeev. >>>>> >>>>> On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero < >>>>> vicente.romero at oracle.com> wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> I have just pushed a patch that converts class literals into a poly >>>>>> expression. Meaning that now you can pass a class literal where a >>>>>> ClassConstant is expected. This will simplify the use of the API making the >>>>>> user code less verbose. Taking as an example the test case sent by Tagir, >>>>>> it could be now rewritten as: >>>>>> >>>>>> import java.lang.invoke.*; >>>>>> import java.lang.invoke.Constables.*; >>>>>> import java.lang.reflect.*; >>>>>> >>>>>> public class MH { >>>>>> private static void test() { >>>>>> System.out.println("Hello"); >>>>>> } >>>>>> >>>>>> public static void main(String[] args) throws Throwable { >>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>> MethodHandleConstant.ofStatic(MH.class, "test", >>>>>> MethodTypeConstant.of(void.class))); >>>>>> handle.invokeExact(); >>>>>> } >>>>>> } >>>>>> >>>>>> Thanks, >>>>>> Vicente >>>>>> >>>>>> >>>>>> >>>>>> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >>>>>> >>>>>> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >>>>>> does not work either and VarHandles are not supported yet. However the >>>>>> following sample finally worked for me: >>>>>> >>>>>> >>>>>> import java.lang.invoke.*; >>>>>> import java.lang.invoke.Constables.*; >>>>>> import java.lang.reflect.*; >>>>>> >>>>>> public class MH { >>>>>> private static void test() { >>>>>> System.out.println("Hello"); >>>>>> } >>>>>> >>>>>> public static void main(String[] args) throws Throwable { >>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >>>>>> MethodTypeConstant.of(ClassConstant.of("V")))); >>>>>> handle.invokeExact(); >>>>>> } >>>>>> } >>>>>> >>>>>> With best regards, >>>>>> Tagir Valeev. >>>>>> >>>>>> >>>>>> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >>>>>> wrote: >>>>>> >>>>>>> The primitive fields (Constables.VOID and friends) are not yet hooked >>>>>>> up; for the time being, replace with ClassConstant.of("V"). >>>>>>> >>>>>>> >>>>>>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>>>>>> >>>>>>>> Hello! >>>>>>>> >>>>>>>> I tried to play with this, but still no success. Fresh build from >>>>>>>> constant-folding branch. I tried to compile the following files: >>>>>>>> >>>>>>>> // MH.java >>>>>>>> >>>>>>>> import java.lang.invoke.*; >>>>>>>> import java.lang.invoke.Constables.*; >>>>>>>> import java.lang.reflect.*; >>>>>>>> >>>>>>>> public class MH { >>>>>>>> private static void test() { >>>>>>>> System.out.println("Hello"); >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> public static void main(String[] args) throws Throwable { >>>>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >>>>>>>> "test", >>>>>>>> MethodTypeConstant.of(Constables.VOID))); >>>>>>>> handle.invokeExact(); >>>>>>>> } >>>>>>>> >>>>>>>> } >>>>>>>> >>>>>>>> // VH.java >>>>>>>> import java.lang.invoke.*; >>>>>>>> import java.lang.invoke.Constables.*; >>>>>>>> import java.lang.reflect.*; >>>>>>>> >>>>>>>> public class VH { >>>>>>>> private static volatile int counter; >>>>>>>> >>>>>>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>>>>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>>>>>> "counter", >>>>>>>> Constables.INT)); >>>>>>>> >>>>>>>> public static void main(String[] args) { >>>>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>>>>>> -XDdoConstantFold=true VH.java", >>>>>>>> javac silently exists without producing .class file or reporting any >>>>>>>> error. >>>>>>>> Tried with -verbose, the output ends like this: >>>>>>>> >>>>>>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.clas >>>>>>>> s] >>>>>>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>>>>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>>>>>> [checking VH] >>>>>>>> [loading /modules/java.base/java/io/Serializable.class] >>>>>>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>>>>>> [loading /modules/java.base/java/lang/Class.class] >>>>>>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>>>>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>>>>>> [total 1484ms] >>>>>>>> >>>>>>>> Without -XDdoConstantFold=true the class file is produced and dies >>>>>>>> like >>>>>>>> >>>>>>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>>>>>> reflective access >>>>>>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>>>>>> at MH.main(MH.java:12) >>>>>>>> >>>>>>>> Which is expected behavior, I guess. >>>>>>>> >>>>>>>> Am I doing something wrong? Could you compile these files on your side? >>>>>>>> Sorry if my tries look lame: I'm very new to this. >>>>>>>> >>>>>>>> With best regards, >>>>>>>> Tagir Valeev. >>>>>>>> >>>>>>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>>>>>> vicente.romero at oracle.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>>>>>> name >>>>>>>>> is 'constant-folding'). The development is mature although there are >>>>>>>>> some >>>>>>>>> fresh areas like using reflection for accessing the API methods. >>>>>>>>> Reflection >>>>>>>>> is needed as the classes defined in the API see [1] are not available >>>>>>>>> in >>>>>>>>> the boot JDK. There is still some ongoing research so some changes to >>>>>>>>> the >>>>>>>>> API and the code are to be expected in the near future, >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Vicente >>>>>>>>> >>>>>>>>> >>>>>>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>>>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>>>>>> >>>>>>>>> >>>>>>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>>>>>> >>>>>>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>>>>>> Project Amber. >>>>>>>>>> >>>>>>>>>> A first draft of the API can be found at: >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>>>>>> >>>>>>>>>> Prototype implementation coming soon. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> From forax at univ-mlv.fr Mon Apr 24 21:29:20 2017 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Mon, 24 Apr 2017 23:29:20 +0200 (CEST) Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <0f1421b9-84df-7692-3dc0-89b4bdc315dc@oracle.com> References: <0503181b-d428-b2d4-bbbd-5c48d21ddcf4@oracle.com> <218113886.512707.1493067832350.JavaMail.zimbra@u-pem.fr> <0f1421b9-84df-7692-3dc0-89b4bdc315dc@oracle.com> Message-ID: <773878919.514884.1493069360561.JavaMail.zimbra@u-pem.fr> ----- Mail original ----- > De: "Vicente Romero" > ?: "Remi Forax" > Cc: "Tagir Valeev" , amber-dev at openjdk.java.net > Envoy?: Lundi 24 Avril 2017 23:14:11 > Objet: Re: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber > Hi Remi, > > On 04/24/2017 05:03 PM, Remi Forax wrote: >> Hi Vicente, >> The problem of letting intermediary construction is that you keep link to >> classes that are present at compile time (to represent intermediary states) but >> may not be present at runtime. > > but in this case we are using a class that is / will be part of a public > API, and if it's not present at run time there is no point in executing > the given code. Probably I'm not following you but I believe that in > this particular case we should be fine. if i create a class that implement Constable and represent an intermediary state that will be used to create the bootstrap arguments on an invokedynamic, i see no point to provide that class at runtime. > >> >> cheers, >> R?mi > > Vicente R?mi > >> >> >> ----- Mail original ----- >>> De: "Vicente Romero" >>> ?: "Tagir Valeev" , amber-dev at openjdk.java.net >>> Envoy?: Lundi 24 Avril 2017 15:28:55 >>> Objet: Re: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber >>> Hi Tagir, >>> >>> On 04/24/2017 12:57 AM, Tagir Valeev wrote: >>>> Hello! >>>> >>>>> Does it work if you get rid of the class literals, and use strings? >>>> Yes, if I change code the following way: >>>> >>>> MethodTypeConstant mtc = MethodTypeConstant.of(ClassConstant.of("V")); >>>> MethodHandleConstant mhc = MethodHandleConstant.ofStatic( >>>> ClassConstant.of("LTestConst;"), "test", mtc); >>>> MethodHandle mh = Intrinsics.ldc(mhc); >>>> >>>> Then it compiles and runs correctly. Of course, bytecode still contains >>>> these constants created explicitly: >>>> >>>> 0: ldc #2 // String V >>>> 2: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of >>>> 5: iconst_0 >>>> 6: anewarray #4 // class j/l/i/Constables$ClassConstant >>>> 9: invokestatic #5 // Method j/l/i/Constables$MethodTypeConstant.of >>>> 12: astore_1 >>>> 13: ldc #6 // String LTestConst; >>>> 15: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of >>>> 18: ldc #7 // String test >>>> 20: aload_1 >>>> 21: invokestatic #8 // Method j/l/i/Constables$ >>>> MethodHandleConstant.ofStatic >>>> 24: astore_2 >>>> 25: ldc #9 // MethodHandle REF_invokeStatic TestConst.test:()V >>>> 27: astore_3 >>>> 28: aload_3 >>>> 29: invokevirtual #10 // Method j/l/i/MethodHandle.invokeExact:()V >>>> 32: return >>>> >>>> Of these only bytecodes after offset 25 are actually needed. Though >>>> probably optimizing out intermediate constables is too much... >>> we decided not to optimize the intermediate constables because we wanted >>> to be explicit about the fact that the magic would happen only for ldc() >>> or invokedynamic(). Clearing up all the code and reducing it to an ldc >>> or indy invocation was considered too magical. >>> >>>> With best regards, >>>> Tagir Valeev. >>> Thanks, >>> Vicente >>> >>>> >>>> On Fri, Apr 21, 2017 at 6:37 PM, Brian Goetz wrote: >>>> >>>>> Does it work if you get rid of the class literals, and use strings? >>>>> >>>>> On 4/21/2017 1:03 AM, Tagir Valeev wrote: >>>>> >>>>> Seems that it does not work if I use intermediate variable for >>>>> MethodTypeConstant. Consider the following code: >>>>> >>>>> import java.lang.invoke.*; >>>>> import static java.lang.invoke.Constables.*; >>>>> import static java.lang.invoke.Intrinsics.*; >>>>> >>>>> public class TestConst { >>>>> public static void main(String[] args) throws Throwable { >>>>> MethodTypeConstant mtc = MethodTypeConstant.of(void.class); >>>>> MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, >>>>> "test", mtc); >>>>> MethodHandle mh = Intrinsics.ldc(mhc); >>>>> mh.invokeExact(); >>>>> } >>>>> >>>>> static void test() { >>>>> System.out.println("Hello"); >>>>> } >>>>> } >>>>> >>>>> It's compiled without errors and ldc intrinsic is generated correctly. >>>>> However for non-intrinsified variables class type is not wrapped into >>>>> ClassConstant: >>>>> >>>>> 0: getstatic #2 // Field >>>>> void.class:Ljava/lang/Class; >>>>> 3: iconst_0 >>>>> 4: anewarray #3 // class >>>>> java/lang/invoke/Constables$ClassConstant >>>>> 7: invokestatic #4 // Method >>>>> java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lan >>>>> g/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constab >>>>> les$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; >>>>> >>>>> This, of course, results in verification errors: >>>>> >>>>> Exception in thread "main" java.lang.VerifyError: Bad type on operand stack >>>>> Exception Details: >>>>> Location: >>>>> TestConst.main([Ljava/lang/String;)V @7: invokestatic >>>>> Reason: >>>>> Type 'java/lang/Class' (current frame, stack[0]) is not assignable to >>>>> 'java/lang/invoke/Constables$ClassConstant' >>>>> Current Frame: >>>>> bci: @7 >>>>> flags: { } >>>>> locals: { '[Ljava/lang/String;' } >>>>> stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' >>>>> } >>>>> >>>>> Probably it would be easier to declare class Class as implements >>>>> Constable> and replace ClassConstant with Constable> in >>>>> method signatures where applicable? Or introduce some intermediate >>>>> interface? >>>>> >>>>> With best regards, >>>>> Tagir Valeev. >>>>> >>>>> >>>>> On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: >>>>> >>>>>> Thanks! Works fine for me. >>>>>> >>>>>> With best regards, >>>>>> Tagir Valeev. >>>>>> >>>>>> On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero < >>>>>> vicente.romero at oracle.com> wrote: >>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> I have just pushed a patch that converts class literals into a poly >>>>>>> expression. Meaning that now you can pass a class literal where a >>>>>>> ClassConstant is expected. This will simplify the use of the API making the >>>>>>> user code less verbose. Taking as an example the test case sent by Tagir, >>>>>>> it could be now rewritten as: >>>>>>> >>>>>>> import java.lang.invoke.*; >>>>>>> import java.lang.invoke.Constables.*; >>>>>>> import java.lang.reflect.*; >>>>>>> >>>>>>> public class MH { >>>>>>> private static void test() { >>>>>>> System.out.println("Hello"); >>>>>>> } >>>>>>> >>>>>>> public static void main(String[] args) throws Throwable { >>>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>>> MethodHandleConstant.ofStatic(MH.class, "test", >>>>>>> MethodTypeConstant.of(void.class))); >>>>>>> handle.invokeExact(); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> Thanks, >>>>>>> Vicente >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >>>>>>> >>>>>>> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >>>>>>> does not work either and VarHandles are not supported yet. However the >>>>>>> following sample finally worked for me: >>>>>>> >>>>>>> >>>>>>> import java.lang.invoke.*; >>>>>>> import java.lang.invoke.Constables.*; >>>>>>> import java.lang.reflect.*; >>>>>>> >>>>>>> public class MH { >>>>>>> private static void test() { >>>>>>> System.out.println("Hello"); >>>>>>> } >>>>>>> >>>>>>> public static void main(String[] args) throws Throwable { >>>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>>> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >>>>>>> MethodTypeConstant.of(ClassConstant.of("V")))); >>>>>>> handle.invokeExact(); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> With best regards, >>>>>>> Tagir Valeev. >>>>>>> >>>>>>> >>>>>>> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >>>>>>> wrote: >>>>>>> >>>>>>>> The primitive fields (Constables.VOID and friends) are not yet hooked >>>>>>>> up; for the time being, replace with ClassConstant.of("V"). >>>>>>>> >>>>>>>> >>>>>>>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>>>>>>> >>>>>>>>> Hello! >>>>>>>>> >>>>>>>>> I tried to play with this, but still no success. Fresh build from >>>>>>>>> constant-folding branch. I tried to compile the following files: >>>>>>>>> >>>>>>>>> // MH.java >>>>>>>>> >>>>>>>>> import java.lang.invoke.*; >>>>>>>>> import java.lang.invoke.Constables.*; >>>>>>>>> import java.lang.reflect.*; >>>>>>>>> >>>>>>>>> public class MH { >>>>>>>>> private static void test() { >>>>>>>>> System.out.println("Hello"); >>>>>>>>> } >>>>>>>>> >>>>>>>>> >>>>>>>>> public static void main(String[] args) throws Throwable { >>>>>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>>>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >>>>>>>>> "test", >>>>>>>>> MethodTypeConstant.of(Constables.VOID))); >>>>>>>>> handle.invokeExact(); >>>>>>>>> } >>>>>>>>> >>>>>>>>> } >>>>>>>>> >>>>>>>>> // VH.java >>>>>>>>> import java.lang.invoke.*; >>>>>>>>> import java.lang.invoke.Constables.*; >>>>>>>>> import java.lang.reflect.*; >>>>>>>>> >>>>>>>>> public class VH { >>>>>>>>> private static volatile int counter; >>>>>>>>> >>>>>>>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>>>>>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>>>>>>> "counter", >>>>>>>>> Constables.INT)); >>>>>>>>> >>>>>>>>> public static void main(String[] args) { >>>>>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>>>>>>> -XDdoConstantFold=true VH.java", >>>>>>>>> javac silently exists without producing .class file or reporting any >>>>>>>>> error. >>>>>>>>> Tried with -verbose, the output ends like this: >>>>>>>>> >>>>>>>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.clas >>>>>>>>> s] >>>>>>>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>>>>>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>>>>>>> [checking VH] >>>>>>>>> [loading /modules/java.base/java/io/Serializable.class] >>>>>>>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>>>>>>> [loading /modules/java.base/java/lang/Class.class] >>>>>>>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>>>>>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>>>>>>> [total 1484ms] >>>>>>>>> >>>>>>>>> Without -XDdoConstantFold=true the class file is produced and dies >>>>>>>>> like >>>>>>>>> >>>>>>>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>>>>>>> reflective access >>>>>>>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>>>>>>> at MH.main(MH.java:12) >>>>>>>>> >>>>>>>>> Which is expected behavior, I guess. >>>>>>>>> >>>>>>>>> Am I doing something wrong? Could you compile these files on your side? >>>>>>>>> Sorry if my tries look lame: I'm very new to this. >>>>>>>>> >>>>>>>>> With best regards, >>>>>>>>> Tagir Valeev. >>>>>>>>> >>>>>>>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>>>>>>> vicente.romero at oracle.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi, >>>>>>>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>>>>>>> name >>>>>>>>>> is 'constant-folding'). The development is mature although there are >>>>>>>>>> some >>>>>>>>>> fresh areas like using reflection for accessing the API methods. >>>>>>>>>> Reflection >>>>>>>>>> is needed as the classes defined in the API see [1] are not available >>>>>>>>>> in >>>>>>>>>> the boot JDK. There is still some ongoing research so some changes to >>>>>>>>>> the >>>>>>>>>> API and the code are to be expected in the near future, >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Vicente >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>>>>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>>>>>>> >>>>>>>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>>>>>>> Project Amber. >>>>>>>>>>> >>>>>>>>>>> A first draft of the API can be found at: >>>>>>>>>>> >>>>>>>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>>>>>>> >>>>>>>>>>> Prototype implementation coming soon. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> From vicente.romero at oracle.com Mon Apr 24 21:52:30 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 24 Apr 2017 21:52:30 +0000 Subject: hg: amber/amber/langtools: check if ConstantClass instances refer to primitive classes Message-ID: <201704242152.v3OLqUZo019024@aojmv0008.oracle.com> Changeset: 2bdbfcb0e37d Author: vromero Date: 2017-04-24 14:32 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/2bdbfcb0e37d check if ConstantClass instances refer to primitive classes ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java From vicente.romero at oracle.com Mon Apr 24 23:06:00 2017 From: vicente.romero at oracle.com (Vicente Romero) Date: Mon, 24 Apr 2017 19:06:00 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: <773878919.514884.1493069360561.JavaMail.zimbra@u-pem.fr> References: <0503181b-d428-b2d4-bbbd-5c48d21ddcf4@oracle.com> <218113886.512707.1493067832350.JavaMail.zimbra@u-pem.fr> <0f1421b9-84df-7692-3dc0-89b4bdc315dc@oracle.com> <773878919.514884.1493069360561.JavaMail.zimbra@u-pem.fr> Message-ID: On 04/24/2017 05:29 PM, forax at univ-mlv.fr wrote: > ----- Mail original ----- >> De: "Vicente Romero" >> ?: "Remi Forax" >> Cc: "Tagir Valeev" , amber-dev at openjdk.java.net >> Envoy?: Lundi 24 Avril 2017 23:14:11 >> Objet: Re: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber >> Hi Remi, >> >> On 04/24/2017 05:03 PM, Remi Forax wrote: >>> Hi Vicente, >>> The problem of letting intermediary construction is that you keep link to >>> classes that are present at compile time (to represent intermediary states) but >>> may not be present at runtime. >> but in this case we are using a class that is / will be part of a public >> API, and if it's not present at run time there is no point in executing >> the given code. Probably I'm not following you but I believe that in >> this particular case we should be fine. > if i create a class that implement Constable and represent an intermediary state that will be used to create the bootstrap arguments on an invokedynamic, > i see no point to provide that class at runtime. the problem we are addressing is very specific and narrow, the tree X.class will be rewritten as ClassConstant.of("descriptorOfX") as ClassConstant is a final class in the Constables API, I don't see the problem you are considering > >>> cheers, >>> R?mi thanks, Vicente >> Vicente > R?mi > >>> >>> >>> ----- Mail original ----- >>>> De: "Vicente Romero" >>>> ?: "Tagir Valeev" , amber-dev at openjdk.java.net >>>> Envoy?: Lundi 24 Avril 2017 15:28:55 >>>> Objet: Re: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber >>>> Hi Tagir, >>>> >>>> On 04/24/2017 12:57 AM, Tagir Valeev wrote: >>>>> Hello! >>>>> >>>>>> Does it work if you get rid of the class literals, and use strings? >>>>> Yes, if I change code the following way: >>>>> >>>>> MethodTypeConstant mtc = MethodTypeConstant.of(ClassConstant.of("V")); >>>>> MethodHandleConstant mhc = MethodHandleConstant.ofStatic( >>>>> ClassConstant.of("LTestConst;"), "test", mtc); >>>>> MethodHandle mh = Intrinsics.ldc(mhc); >>>>> >>>>> Then it compiles and runs correctly. Of course, bytecode still contains >>>>> these constants created explicitly: >>>>> >>>>> 0: ldc #2 // String V >>>>> 2: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of >>>>> 5: iconst_0 >>>>> 6: anewarray #4 // class j/l/i/Constables$ClassConstant >>>>> 9: invokestatic #5 // Method j/l/i/Constables$MethodTypeConstant.of >>>>> 12: astore_1 >>>>> 13: ldc #6 // String LTestConst; >>>>> 15: invokestatic #3 // Method j/l/i/Constables$ClassConstant.of >>>>> 18: ldc #7 // String test >>>>> 20: aload_1 >>>>> 21: invokestatic #8 // Method j/l/i/Constables$ >>>>> MethodHandleConstant.ofStatic >>>>> 24: astore_2 >>>>> 25: ldc #9 // MethodHandle REF_invokeStatic TestConst.test:()V >>>>> 27: astore_3 >>>>> 28: aload_3 >>>>> 29: invokevirtual #10 // Method j/l/i/MethodHandle.invokeExact:()V >>>>> 32: return >>>>> >>>>> Of these only bytecodes after offset 25 are actually needed. Though >>>>> probably optimizing out intermediate constables is too much... >>>> we decided not to optimize the intermediate constables because we wanted >>>> to be explicit about the fact that the magic would happen only for ldc() >>>> or invokedynamic(). Clearing up all the code and reducing it to an ldc >>>> or indy invocation was considered too magical. >>>> >>>>> With best regards, >>>>> Tagir Valeev. >>>> Thanks, >>>> Vicente >>>> >>>>> On Fri, Apr 21, 2017 at 6:37 PM, Brian Goetz wrote: >>>>> >>>>>> Does it work if you get rid of the class literals, and use strings? >>>>>> >>>>>> On 4/21/2017 1:03 AM, Tagir Valeev wrote: >>>>>> >>>>>> Seems that it does not work if I use intermediate variable for >>>>>> MethodTypeConstant. Consider the following code: >>>>>> >>>>>> import java.lang.invoke.*; >>>>>> import static java.lang.invoke.Constables.*; >>>>>> import static java.lang.invoke.Intrinsics.*; >>>>>> >>>>>> public class TestConst { >>>>>> public static void main(String[] args) throws Throwable { >>>>>> MethodTypeConstant mtc = MethodTypeConstant.of(void.class); >>>>>> MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, >>>>>> "test", mtc); >>>>>> MethodHandle mh = Intrinsics.ldc(mhc); >>>>>> mh.invokeExact(); >>>>>> } >>>>>> >>>>>> static void test() { >>>>>> System.out.println("Hello"); >>>>>> } >>>>>> } >>>>>> >>>>>> It's compiled without errors and ldc intrinsic is generated correctly. >>>>>> However for non-intrinsified variables class type is not wrapped into >>>>>> ClassConstant: >>>>>> >>>>>> 0: getstatic #2 // Field >>>>>> void.class:Ljava/lang/Class; >>>>>> 3: iconst_0 >>>>>> 4: anewarray #3 // class >>>>>> java/lang/invoke/Constables$ClassConstant >>>>>> 7: invokestatic #4 // Method >>>>>> java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lan >>>>>> g/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constab >>>>>> les$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; >>>>>> >>>>>> This, of course, results in verification errors: >>>>>> >>>>>> Exception in thread "main" java.lang.VerifyError: Bad type on operand stack >>>>>> Exception Details: >>>>>> Location: >>>>>> TestConst.main([Ljava/lang/String;)V @7: invokestatic >>>>>> Reason: >>>>>> Type 'java/lang/Class' (current frame, stack[0]) is not assignable to >>>>>> 'java/lang/invoke/Constables$ClassConstant' >>>>>> Current Frame: >>>>>> bci: @7 >>>>>> flags: { } >>>>>> locals: { '[Ljava/lang/String;' } >>>>>> stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' >>>>>> } >>>>>> >>>>>> Probably it would be easier to declare class Class as implements >>>>>> Constable> and replace ClassConstant with Constable> in >>>>>> method signatures where applicable? Or introduce some intermediate >>>>>> interface? >>>>>> >>>>>> With best regards, >>>>>> Tagir Valeev. >>>>>> >>>>>> >>>>>> On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: >>>>>> >>>>>>> Thanks! Works fine for me. >>>>>>> >>>>>>> With best regards, >>>>>>> Tagir Valeev. >>>>>>> >>>>>>> On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero < >>>>>>> vicente.romero at oracle.com> wrote: >>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> I have just pushed a patch that converts class literals into a poly >>>>>>>> expression. Meaning that now you can pass a class literal where a >>>>>>>> ClassConstant is expected. This will simplify the use of the API making the >>>>>>>> user code less verbose. Taking as an example the test case sent by Tagir, >>>>>>>> it could be now rewritten as: >>>>>>>> >>>>>>>> import java.lang.invoke.*; >>>>>>>> import java.lang.invoke.Constables.*; >>>>>>>> import java.lang.reflect.*; >>>>>>>> >>>>>>>> public class MH { >>>>>>>> private static void test() { >>>>>>>> System.out.println("Hello"); >>>>>>>> } >>>>>>>> >>>>>>>> public static void main(String[] args) throws Throwable { >>>>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>>>> MethodHandleConstant.ofStatic(MH.class, "test", >>>>>>>> MethodTypeConstant.of(void.class))); >>>>>>>> handle.invokeExact(); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Vicente >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >>>>>>>> >>>>>>>> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >>>>>>>> does not work either and VarHandles are not supported yet. However the >>>>>>>> following sample finally worked for me: >>>>>>>> >>>>>>>> >>>>>>>> import java.lang.invoke.*; >>>>>>>> import java.lang.invoke.Constables.*; >>>>>>>> import java.lang.reflect.*; >>>>>>>> >>>>>>>> public class MH { >>>>>>>> private static void test() { >>>>>>>> System.out.println("Hello"); >>>>>>>> } >>>>>>>> >>>>>>>> public static void main(String[] args) throws Throwable { >>>>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>>>> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >>>>>>>> MethodTypeConstant.of(ClassConstant.of("V")))); >>>>>>>> handle.invokeExact(); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> With best regards, >>>>>>>> Tagir Valeev. >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >>>>>>>> wrote: >>>>>>>> >>>>>>>>> The primitive fields (Constables.VOID and friends) are not yet hooked >>>>>>>>> up; for the time being, replace with ClassConstant.of("V"). >>>>>>>>> >>>>>>>>> >>>>>>>>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>>>>>>>> >>>>>>>>>> Hello! >>>>>>>>>> >>>>>>>>>> I tried to play with this, but still no success. Fresh build from >>>>>>>>>> constant-folding branch. I tried to compile the following files: >>>>>>>>>> >>>>>>>>>> // MH.java >>>>>>>>>> >>>>>>>>>> import java.lang.invoke.*; >>>>>>>>>> import java.lang.invoke.Constables.*; >>>>>>>>>> import java.lang.reflect.*; >>>>>>>>>> >>>>>>>>>> public class MH { >>>>>>>>>> private static void test() { >>>>>>>>>> System.out.println("Hello"); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> public static void main(String[] args) throws Throwable { >>>>>>>>>> final MethodHandle handle = Intrinsics.ldc( >>>>>>>>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >>>>>>>>>> "test", >>>>>>>>>> MethodTypeConstant.of(Constables.VOID))); >>>>>>>>>> handle.invokeExact(); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> // VH.java >>>>>>>>>> import java.lang.invoke.*; >>>>>>>>>> import java.lang.invoke.Constables.*; >>>>>>>>>> import java.lang.reflect.*; >>>>>>>>>> >>>>>>>>>> public class VH { >>>>>>>>>> private static volatile int counter; >>>>>>>>>> >>>>>>>>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>>>>>>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>>>>>>>> "counter", >>>>>>>>>> Constables.INT)); >>>>>>>>>> >>>>>>>>>> public static void main(String[] args) { >>>>>>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>>>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>>>>>>> } >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>>>>>>>> -XDdoConstantFold=true VH.java", >>>>>>>>>> javac silently exists without producing .class file or reporting any >>>>>>>>>> error. >>>>>>>>>> Tried with -verbose, the output ends like this: >>>>>>>>>> >>>>>>>>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.clas >>>>>>>>>> s] >>>>>>>>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>>>>>>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>>>>>>>> [checking VH] >>>>>>>>>> [loading /modules/java.base/java/io/Serializable.class] >>>>>>>>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>>>>>>>> [loading /modules/java.base/java/lang/Class.class] >>>>>>>>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>>>>>>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>>>>>>>> [total 1484ms] >>>>>>>>>> >>>>>>>>>> Without -XDdoConstantFold=true the class file is produced and dies >>>>>>>>>> like >>>>>>>>>> >>>>>>>>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>>>>>>>> reflective access >>>>>>>>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>>>>>>>> at MH.main(MH.java:12) >>>>>>>>>> >>>>>>>>>> Which is expected behavior, I guess. >>>>>>>>>> >>>>>>>>>> Am I doing something wrong? Could you compile these files on your side? >>>>>>>>>> Sorry if my tries look lame: I'm very new to this. >>>>>>>>>> >>>>>>>>>> With best regards, >>>>>>>>>> Tagir Valeev. >>>>>>>>>> >>>>>>>>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>>>>>>>> vicente.romero at oracle.com> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>>>>>>>> name >>>>>>>>>>> is 'constant-folding'). The development is mature although there are >>>>>>>>>>> some >>>>>>>>>>> fresh areas like using reflection for accessing the API methods. >>>>>>>>>>> Reflection >>>>>>>>>>> is needed as the classes defined in the API see [1] are not available >>>>>>>>>>> in >>>>>>>>>>> the boot JDK. There is still some ongoing research so some changes to >>>>>>>>>>> the >>>>>>>>>>> API and the code are to be expected in the near future, >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Vicente >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>>>>>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>>>>>>>> >>>>>>>>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>>>>>>>> Project Amber. >>>>>>>>>>>> >>>>>>>>>>>> A first draft of the API can be found at: >>>>>>>>>>>> >>>>>>>>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>>>>>>>> >>>>>>>>>>>> Prototype implementation coming soon. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> From vicente.romero at oracle.com Tue Apr 25 00:13:25 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 25 Apr 2017 00:13:25 +0000 Subject: hg: amber/amber/langtools: intrinsify chain of combinators Message-ID: <201704250013.v3P0DPcM004481@aojmv0008.oracle.com> Changeset: bab1eaf5964a Author: vromero Date: 2017-04-24 16:57 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/bab1eaf5964a intrinsify chain of combinators ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java From amaembo at gmail.com Tue Apr 25 05:39:44 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Tue, 25 Apr 2017 12:39:44 +0700 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber Message-ID: Thank you, now it works. While my Singleton sample still cannot be compiled, I can compile simpler indy sample when BSM is not parameterized by additional method handle: import java.util.*; import java.lang.reflect.*; import java.lang.invoke.*; import java.lang.invoke.Constables.*; public class Singleton2 { static final MethodHandleConstant FACTORY = MethodHandleConstant.ofStatic(Singleton2.class, "singletonFactory", MethodTypeConstant.of(CallSite.class, MethodHandles.Lookup.class, String.class, MethodType.class)); public static CallSite singletonFactory(MethodHandles.Lookup lookup, String name, MethodType type) { return new ConstantCallSite(MethodHandles.constant(Singleton2.class, new Singleton2())); } private Singleton2() { System.out.println("Created!"); } public static Singleton2 instance() { BootstrapSpecifier indyDescr = BootstrapSpecifier.of( FACTORY, "singletonFactory", MethodTypeConstant.of(Singleton2.class)); return (Singleton2)Intrinsics.invokedynamic(indyDescr); } public static void main(String[] args) { Set set = new HashSet<>(); for(int i=0; i<100; i++) { set.add(instance()); } System.out.println(set.size()); } } This compiles and works as expected. The interesting thing is that we can omit declaring "throws Throwable" for invokedynamic intrinsic, so the "sneaky throw" of undeclared checked exception is possible: import java.util.*; import java.lang.reflect.*; import java.lang.invoke.*; import java.lang.invoke.Constables.*; public class ThrowTest { static final MethodHandleConstant FACTORY = MethodHandleConstant.ofStatic(ThrowTest.class, "bsm", MethodTypeConstant.of(CallSite.class, MethodHandles.Lookup.class, String.class, MethodType.class)); public static CallSite bsm(MethodHandles.Lookup lookup, String name, MethodType type) { return new ConstantCallSite(Intrinsics.ldc( MethodHandleConstant.ofConstructor(ThrowTest.class, MethodTypeConstant.of(void.class)))); } private ThrowTest() throws Exception { throw new Exception("Checked exception!"); } public static ThrowTest instance() { BootstrapSpecifier indyDescr = BootstrapSpecifier.of( FACTORY, "bsm", MethodTypeConstant.of(ThrowTest.class)); return (ThrowTest)Intrinsics.invokedynamic(indyDescr); } public static void main(String[] args) { instance(); } } It indeed compiles, runs and throws. I'm not sure whether it's intended, but guarding every indy with "throws Throwable" looks cumbersome and, I feel, it's not possible to check statically which kinds of exceptions dynamic call site can throw. After all there are already ways in Java to sneaky throw undeclared checked exception. With best regards, Tagir Valeev. On Tue, Apr 25, 2017 at 3:18 AM, Vicente Romero wrote: > Hi Tagir, > > I have pushed [1] to address the problem reported below. The compiler is > basically rewriting a class literal tree to a ClassConstant.of("respectiveDescriptor") > invocation. This way the code generation phase at the compiler won't see a > class literal at all if its target is of type ClassConstant. > > Thanks again for your feedback, > Vicente > > [1] http://hg.openjdk.java.net/amber/amber/langtools/rev/b998e852ac91 > > > On 04/21/2017 01:03 AM, Tagir Valeev wrote: > > Seems that it does not work if I use intermediate variable for > MethodTypeConstant. Consider the following code: > > import java.lang.invoke.*; > import static java.lang.invoke.Constables.*; > import static java.lang.invoke.Intrinsics.*; > > public class TestConst { > public static void main(String[] args) throws Throwable { > MethodTypeConstant mtc = MethodTypeConstant.of(void.class); > MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, > "test", mtc); > MethodHandle mh = Intrinsics.ldc(mhc); > mh.invokeExact(); > } > > static void test() { > System.out.println("Hello"); > } > } > > It's compiled without errors and ldc intrinsic is generated correctly. > However for non-intrinsified variables class type is not wrapped into > ClassConstant: > > 0: getstatic #2 // Field > void.class:Ljava/lang/Class; > 3: iconst_0 > 4: anewarray #3 // class > java/lang/invoke/Constables$ClassConstant > 7: invokestatic #4 // Method > java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lan > g/invoke/Constables$ClassConstant;[Ljava/lang/invoke/ > Constables$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; > > This, of course, results in verification errors: > > Exception in thread "main" java.lang.VerifyError: Bad type on operand stack > Exception Details: > Location: > TestConst.main([Ljava/lang/String;)V @7: invokestatic > Reason: > Type 'java/lang/Class' (current frame, stack[0]) is not assignable to > 'java/lang/invoke/Constables$ClassConstant' > Current Frame: > bci: @7 > flags: { } > locals: { '[Ljava/lang/String;' } > stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' > } > > Probably it would be easier to declare class Class as implements > Constable> and replace ClassConstant with Constable> in > method signatures where applicable? Or introduce some intermediate > interface? > > With best regards, > Tagir Valeev. > > From maurizio.cimadamore at oracle.com Tue Apr 25 06:57:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 06:57:30 +0000 Subject: hg: amber/amber/jdk: 8130084: javax/management/MBeanServer/NotifDeadlockTest.java timed out Message-ID: <201704250657.v3P6vUHK009122@aojmv0008.oracle.com> Changeset: fab0553702e6 Author: uvangapally Date: 2017-04-25 12:22 +0530 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fab0553702e6 8130084: javax/management/MBeanServer/NotifDeadlockTest.java timed out Summary: Changed 2 seconds timeout for deadlock to JTREG default timeout Reviewed-by: dholmes, dfuchs Contributed-by: ujwal.vangapally at oracle.com ! test/javax/management/MBeanServer/NotifDeadlockTest.java From maurizio.cimadamore at oracle.com Tue Apr 25 06:57:59 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 06:57:59 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704250657.v3P6vxBP010596@aojmv0008.oracle.com> Changeset: 973cbb6e9da1 Author: langtools Date: 2017-04-25 08:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/973cbb6e9da1 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 06:58:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 06:58:30 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704250658.v3P6wUIA012043@aojmv0008.oracle.com> Changeset: a32ddbc1e012 Author: langtools Date: 2017-04-25 08:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a32ddbc1e012 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 06:58:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 06:58:55 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704250658.v3P6wuXJ013286@aojmv0008.oracle.com> Changeset: 12f82b238dbb Author: langtools Date: 2017-04-25 08:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/12f82b238dbb Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 06:59:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 06:59:30 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704250659.v3P6xUjO015080@aojmv0008.oracle.com> Changeset: f27f150913e3 Author: langtools Date: 2017-04-25 08:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f27f150913e3 Automatic merge with default From amaembo at gmail.com Tue Apr 25 07:01:42 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Tue, 25 Apr 2017 14:01:42 +0700 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: Message-ID: I'm still trying to get running the original singleton sample with parameterized BSM. After last JDK update and some code changes the compiler fails with different exception: import java.util.*; import java.lang.reflect.*; import java.lang.invoke.*; import java.lang.invoke.Constables.*; public class Singleton3 { // library code starts static final MethodHandleConstant FACTORY = MethodHandleConstant.ofStatic(Singleton3.class, "singletonFactory", MethodTypeConstant.of(CallSite.class, MethodHandles.Lookup.class, String.class, MethodType.class, MethodHandle.class)); static final MethodTypeConstant OBJECT_TYPE = MethodTypeConstant.of(Object.class); static final MethodTypeConstant VOID_TYPE = MethodTypeConstant.of(void.class); public static CallSite singletonFactory( MethodHandles.Lookup lookup, String name, MethodType type, MethodHandle ctor) throws Throwable { Object obj = ctor.invokeExact(); return new ConstantCallSite(MethodHandles.constant(Object.class, obj)); } // library code ends private Singleton3() { System.out.println("Created!"); } public static Singleton3 instance() throws Throwable { BootstrapSpecifier indyDescr = BootstrapSpecifier.of( FACTORY, "", OBJECT_TYPE, MethodHandleConstant.ofConstructor(Singleton3.class, VOID_TYPE)); return (Singleton3)Intrinsics.invokedynamic(indyDescr); } public static void main(String[] args) throws Throwable { Set set = new HashSet<>(); for(int i=0; i<100; i++) { set.add(instance()); } System.out.println(set.size()); } } $ javac -XDdoConstantFold Singleton3.java An exception has occurred in the compiler (10-internal). <...> Thank you. java.lang.AssertionError: writePool java.lang.invoke.Constables$MethodHandleConstant at 30c15d8b at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:162) at jdk.compiler/com.sun.tools.javac.jvm.ClassWriter.writePool(ClassWriter.java:489) at jdk.compiler/com.sun.tools.javac.jvm.ClassWriter.writeClassFile(ClassWriter.java:1831) at jdk.compiler/com.sun.tools.javac.jvm.ClassWriter.writeClass(ClassWriter.java:1682) at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:743) at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1621) at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1589) at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:959) at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:305) By the way in this sample I try to separate "library code" (a part which can generate any type of singletons) and "user code" (where we define which singleton exactly do we want to create). Now it's moreless good, but to make it better it would be nice to have something like "BootstrapSpecifier.withArguments()" foldable instance method which would replace (or add) BSM arguments. In this case I could create a basic BootstrapSpecifier in library code: static final BootstrapSpecifier BSM = BootstrapSpecifier.of(FACTORY, "", OBJECT_TYPE); (no need to expose FACTORY and OBJECT_TYPE constants anymore). then specialize it to concrete arguments in the user code: BootstrapSpecifier indyDescr = BSM.withArguments(MethodHandleConstant.ofConstructor(Singleton3.class, VOID_TYPE)); With best regards, Tagir Valeev. On Tue, Apr 25, 2017 at 12:39 PM, Tagir Valeev wrote: > Thank you, now it works. While my Singleton sample still cannot be > compiled, I can compile simpler indy sample when BSM is not parameterized > by additional method handle: > > import java.util.*; > import java.lang.reflect.*; > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > > public class Singleton2 { > static final MethodHandleConstant FACTORY = > MethodHandleConstant.ofStatic(Singleton2.class, "singletonFactory", > MethodTypeConstant.of(CallSite.class, > MethodHandles.Lookup.class, String.class, MethodType.class)); > > public static CallSite singletonFactory(MethodHandles.Lookup lookup, > String name, MethodType type) { > return new ConstantCallSite(MethodHandles.constant(Singleton2.class, > new Singleton2())); > } > > private Singleton2() { > System.out.println("Created!"); > } > > public static Singleton2 instance() { > BootstrapSpecifier indyDescr = BootstrapSpecifier.of( > FACTORY, "singletonFactory", > MethodTypeConstant.of(Singleton2.class)); > > return (Singleton2)Intrinsics.invokedynamic(indyDescr); > } > > public static void main(String[] args) { > Set set = new HashSet<>(); > for(int i=0; i<100; i++) { > set.add(instance()); > } > System.out.println(set.size()); > } > } > > This compiles and works as expected. The interesting thing is that we can > omit declaring "throws Throwable" for invokedynamic intrinsic, so the > "sneaky throw" of undeclared checked exception is possible: > > import java.util.*; > import java.lang.reflect.*; > import java.lang.invoke.*; > import java.lang.invoke.Constables.*; > > public class ThrowTest { > static final MethodHandleConstant FACTORY = > MethodHandleConstant.ofStatic(ThrowTest.class, "bsm", > MethodTypeConstant.of(CallSite.class, > MethodHandles.Lookup.class, String.class, MethodType.class)); > > public static CallSite bsm(MethodHandles.Lookup lookup, > String name, MethodType type) { > return new ConstantCallSite(Intrinsics.ldc( > MethodHandleConstant.ofConstructor(ThrowTest.class, > MethodTypeConstant.of(void.class)))); > } > > private ThrowTest() throws Exception { > throw new Exception("Checked exception!"); > } > > public static ThrowTest instance() { > BootstrapSpecifier indyDescr = BootstrapSpecifier.of( > FACTORY, "bsm", MethodTypeConstant.of(ThrowTest.class)); > > return (ThrowTest)Intrinsics.invokedynamic(indyDescr); > } > > public static void main(String[] args) { > instance(); > } > } > > It indeed compiles, runs and throws. I'm not sure whether it's intended, > but guarding every indy with "throws Throwable" looks cumbersome and, I > feel, it's not possible to check statically which kinds of exceptions > dynamic call site can throw. After all there are already ways in Java to > sneaky throw undeclared checked exception. > > With best regards, > Tagir Valeev. > > > > On Tue, Apr 25, 2017 at 3:18 AM, Vicente Romero > wrote: > >> Hi Tagir, >> >> I have pushed [1] to address the problem reported below. The compiler is >> basically rewriting a class literal tree to a ClassConstant.of("respectiveDescriptor") >> invocation. This way the code generation phase at the compiler won't see a >> class literal at all if its target is of type ClassConstant. >> >> Thanks again for your feedback, >> Vicente >> >> [1] http://hg.openjdk.java.net/amber/amber/langtools/rev/b998e852ac91 >> >> >> On 04/21/2017 01:03 AM, Tagir Valeev wrote: >> >> Seems that it does not work if I use intermediate variable for >> MethodTypeConstant. Consider the following code: >> >> import java.lang.invoke.*; >> import static java.lang.invoke.Constables.*; >> import static java.lang.invoke.Intrinsics.*; >> >> public class TestConst { >> public static void main(String[] args) throws Throwable { >> MethodTypeConstant mtc = MethodTypeConstant.of(void.class); >> MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, >> "test", mtc); >> MethodHandle mh = Intrinsics.ldc(mhc); >> mh.invokeExact(); >> } >> >> static void test() { >> System.out.println("Hello"); >> } >> } >> >> It's compiled without errors and ldc intrinsic is generated correctly. >> However for non-intrinsified variables class type is not wrapped into >> ClassConstant: >> >> 0: getstatic #2 // Field >> void.class:Ljava/lang/Class; >> 3: iconst_0 >> 4: anewarray #3 // class >> java/lang/invoke/Constables$ClassConstant >> 7: invokestatic #4 // Method >> java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/lan >> g/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constab >> les$ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; >> >> This, of course, results in verification errors: >> >> Exception in thread "main" java.lang.VerifyError: Bad type on operand >> stack >> Exception Details: >> Location: >> TestConst.main([Ljava/lang/String;)V @7: invokestatic >> Reason: >> Type 'java/lang/Class' (current frame, stack[0]) is not assignable to >> 'java/lang/invoke/Constables$ClassConstant' >> Current Frame: >> bci: @7 >> flags: { } >> locals: { '[Ljava/lang/String;' } >> stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' >> } >> >> Probably it would be easier to declare class Class as implements >> Constable> and replace ClassConstant with Constable> in >> method signatures where applicable? Or introduce some intermediate >> interface? >> >> With best regards, >> Tagir Valeev. >> >> > From maurizio.cimadamore at oracle.com Tue Apr 25 10:57:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:57:30 +0000 Subject: hg: amber/amber/langtools: 2 new changesets Message-ID: <201704251057.v3PAvUXM002092@aojmv0008.oracle.com> Changeset: 9bac091f01b7 Author: lana Date: 2017-04-25 07:38 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/9bac091f01b7 Added tag jdk-10+1 for changeset ce999290d1c3 ! .hgtags Changeset: 96739a12981e Author: lana Date: 2017-04-25 08:22 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/96739a12981e Merge ! .hgtags From maurizio.cimadamore at oracle.com Tue Apr 25 10:57:28 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:57:28 +0000 Subject: hg: amber/amber/corba: 2 new changesets Message-ID: <201704251057.v3PAvSjM001998@aojmv0008.oracle.com> Changeset: 11e88bffa281 Author: lana Date: 2017-04-25 07:38 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/11e88bffa281 Added tag jdk-10+1 for changeset 37c9962586a4 ! .hgtags Changeset: b46142514fae Author: lana Date: 2017-04-25 08:24 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/b46142514fae Merge ! .hgtags From maurizio.cimadamore at oracle.com Tue Apr 25 10:57:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:57:31 +0000 Subject: hg: amber/amber/hotspot: 2 new changesets Message-ID: <201704251057.v3PAvVad002200@aojmv0008.oracle.com> Changeset: 2dfd08baa59e Author: lana Date: 2017-04-25 07:38 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/2dfd08baa59e Added tag jdk-10+1 for changeset 1ea217626ba0 ! .hgtags Changeset: a05f40bb8608 Author: lana Date: 2017-04-25 08:18 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/a05f40bb8608 Merge ! .hgtags From maurizio.cimadamore at oracle.com Tue Apr 25 10:57:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:57:31 +0000 Subject: hg: amber/amber/jaxp: 2 new changesets Message-ID: <201704251057.v3PAvVl9002210@aojmv0008.oracle.com> Changeset: 5a68bda463ea Author: lana Date: 2017-04-25 07:38 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/5a68bda463ea Added tag jdk-10+1 for changeset b4257a40e55d ! .hgtags Changeset: d2a67a93bdcd Author: lana Date: 2017-04-25 08:23 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/d2a67a93bdcd Merge ! .hgtags From maurizio.cimadamore at oracle.com Tue Apr 25 10:57:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:57:31 +0000 Subject: hg: amber/amber/jdk: 3 new changesets Message-ID: <201704251057.v3PAvWva002216@aojmv0008.oracle.com> Changeset: 80e2c51d28a3 Author: lana Date: 2017-04-25 07:38 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/80e2c51d28a3 Added tag jdk-10+1 for changeset e209a98d40a1 ! .hgtags Changeset: 486e816e7d8d Author: lana Date: 2017-04-25 08:19 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/486e816e7d8d Merge ! .hgtags Changeset: d61b2ccb9e70 Author: dfuchs Date: 2017-04-25 11:54 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d61b2ccb9e70 8179222: SimpleConsoleLogger should protect against MissingResourceException Summary: SimpleConsoleLogger now emulates the behaviour of java.util.logging.Formatter, trapping MissingResourceException and using the key as the message if the ResourceBundle has no match for that key. Reviewed-by: naoto ! src/java.base/share/classes/jdk/internal/logger/SimpleConsoleLogger.java ! test/java/lang/System/LoggerFinder/LoggerFinderAPI/LoggerFinderAPI.java From maurizio.cimadamore at oracle.com Tue Apr 25 10:57:32 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:57:32 +0000 Subject: hg: amber/amber: 2 new changesets Message-ID: <201704251057.v3PAvWtD002220@aojmv0008.oracle.com> Changeset: a083245e22c3 Author: lana Date: 2017-04-25 07:38 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/a083245e22c3 Added tag jdk-10+1 for changeset 4df5f619c9ea ! .hgtags Changeset: 79f5a79343a8 Author: lana Date: 2017-04-25 08:25 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/79f5a79343a8 Merge ! .hgtags From maurizio.cimadamore at oracle.com Tue Apr 25 10:57:33 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:57:33 +0000 Subject: hg: amber/amber/jaxws: 2 new changesets Message-ID: <201704251057.v3PAvXoL002230@aojmv0008.oracle.com> Changeset: 86ed75fc0ed6 Author: lana Date: 2017-04-25 07:38 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/86ed75fc0ed6 Added tag jdk-10+1 for changeset 6afc1d9b8c41 ! .hgtags Changeset: 774f6a3fd270 Author: lana Date: 2017-04-25 08:23 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/774f6a3fd270 Merge ! .hgtags From maurizio.cimadamore at oracle.com Tue Apr 25 10:57:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:57:34 +0000 Subject: hg: amber/amber/nashorn: 2 new changesets Message-ID: <201704251057.v3PAvYss002235@aojmv0008.oracle.com> Changeset: 45eecc979818 Author: lana Date: 2017-04-25 07:38 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/45eecc979818 Added tag jdk-10+1 for changeset ac893c3a86dd ! .hgtags Changeset: 356a5f4ffc65 Author: lana Date: 2017-04-25 08:21 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/356a5f4ffc65 Merge ! .hgtags From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:00 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:00 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704251058.v3PAw0xF003501@aojmv0008.oracle.com> Changeset: 049856d36de1 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/049856d36de1 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:00 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:00 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704251058.v3PAw09W003569@aojmv0008.oracle.com> Changeset: 9b8d5783cb19 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/9b8d5783cb19 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:02 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:02 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704251058.v3PAw2jh003720@aojmv0008.oracle.com> Changeset: 7238347260ac Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/7238347260ac Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:01 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:01 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704251058.v3PAw1eI003664@aojmv0008.oracle.com> Changeset: fd02f6131372 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/fd02f6131372 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:03 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704251058.v3PAw3mp003779@aojmv0008.oracle.com> Changeset: bdf732744296 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/bdf732744296 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:04 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704251058.v3PAw4oa003784@aojmv0008.oracle.com> Changeset: ca6356060720 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/ca6356060720 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:05 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704251058.v3PAw5TZ003788@aojmv0008.oracle.com> Changeset: 3f7a803a89be Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/3f7a803a89be Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:05 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704251058.v3PAw5B7003791@aojmv0008.oracle.com> Changeset: e4f9393922e5 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/e4f9393922e5 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:30 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704251058.v3PAwU4g005073@aojmv0008.oracle.com> Changeset: 5d943ff953be Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/5d943ff953be Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:31 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704251058.v3PAwVdF005123@aojmv0008.oracle.com> Changeset: 021cc9c342de Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/021cc9c342de Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:32 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:32 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704251058.v3PAwWFc005172@aojmv0008.oracle.com> Changeset: 4b13e9f954a0 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/4b13e9f954a0 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:32 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:32 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704251058.v3PAwWr9005215@aojmv0008.oracle.com> Changeset: 501c65b93d79 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/501c65b93d79 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:33 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:33 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704251058.v3PAwXHM005263@aojmv0008.oracle.com> Changeset: 33f71e866602 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/33f71e866602 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:34 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704251058.v3PAwYFO005267@aojmv0008.oracle.com> Changeset: baf7e305fa32 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/baf7e305fa32 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:35 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704251058.v3PAwZtj005272@aojmv0008.oracle.com> Changeset: 50002e4d0cc9 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/50002e4d0cc9 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:58:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:58:35 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704251058.v3PAwawD005277@aojmv0008.oracle.com> Changeset: 3b41d7562cc4 Author: langtools Date: 2017-04-25 12:55 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/3b41d7562cc4 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:02 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:02 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704251059.v3PAx2MD006541@aojmv0008.oracle.com> Changeset: 082ec98498c7 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/082ec98498c7 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:01 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:01 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704251059.v3PAx13j006486@aojmv0008.oracle.com> Changeset: 07139d4c3624 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/07139d4c3624 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:00 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:00 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704251059.v3PAx1p1006437@aojmv0008.oracle.com> Changeset: 2573a1b78c8d Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/2573a1b78c8d Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:03 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704251059.v3PAx3pq006590@aojmv0008.oracle.com> Changeset: c36bd0e29650 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/c36bd0e29650 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:04 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704251059.v3PAx424006655@aojmv0008.oracle.com> Changeset: 54796d51dbc7 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/54796d51dbc7 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:05 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704251059.v3PAx5G7006662@aojmv0008.oracle.com> Changeset: b71f1c51c2d6 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/b71f1c51c2d6 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:06 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:06 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704251059.v3PAx6XJ006669@aojmv0008.oracle.com> Changeset: 8c9d322cdc7d Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/8c9d322cdc7d Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:06 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:06 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704251059.v3PAx64d006666@aojmv0008.oracle.com> Changeset: 2480f174d62a Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/2480f174d62a Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:33 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:33 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704251059.v3PAxXfI008112@aojmv0008.oracle.com> Changeset: b27386677ad9 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/b27386677ad9 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:32 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:32 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704251059.v3PAxWZL008047@aojmv0008.oracle.com> Changeset: 6eb18e304c73 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/6eb18e304c73 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:33 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:33 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704251059.v3PAxX6K008171@aojmv0008.oracle.com> Changeset: 5530ce217f39 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/5530ce217f39 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:35 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704251059.v3PAxZMN008260@aojmv0008.oracle.com> Changeset: cdff579e1748 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/cdff579e1748 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:34 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704251059.v3PAxYWw008238@aojmv0008.oracle.com> Changeset: 51a019ad9802 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/51a019ad9802 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:36 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:36 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704251059.v3PAxaRq008268@aojmv0008.oracle.com> Changeset: 9f893c719ad7 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/9f893c719ad7 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:36 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:36 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704251059.v3PAxaug008264@aojmv0008.oracle.com> Changeset: a2b0a4635898 Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a2b0a4635898 Automatic merge with default From maurizio.cimadamore at oracle.com Tue Apr 25 10:59:37 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 25 Apr 2017 10:59:37 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704251059.v3PAxbLc008272@aojmv0008.oracle.com> Changeset: 21ed211eb01e Author: langtools Date: 2017-04-25 12:56 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/21ed211eb01e Automatic merge with default From brian.goetz at oracle.com Tue Apr 25 13:44:24 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Tue, 25 Apr 2017 09:44:24 -0400 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: <1e311c54-1f6f-0020-7f3d-1d4b772fe7cb@oracle.com> Good catch. This is an API error, will fix. > The interesting thing is that we can omit declaring "throws Throwable" > for invokedynamic intrinsic, so the "sneaky throw" of undeclared > checked exception is possible: > From vicente.romero at oracle.com Tue Apr 25 19:06:34 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 25 Apr 2017 19:06:34 +0000 Subject: hg: amber/amber/langtools: adding LDC negative tests Message-ID: <201704251906.v3PJ6YA0012100@aojmv0008.oracle.com> Changeset: fbf319e5efd3 Author: vromero Date: 2017-04-25 11:45 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/fbf319e5efd3 adding LDC negative tests ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/specialConstantFolding/LDCNegativeTest.java + test/tools/javac/specialConstantFolding/LDCNegativeTest.out From vicente.romero at oracle.com Tue Apr 25 22:59:27 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 25 Apr 2017 22:59:27 +0000 Subject: hg: amber/amber/langtools: updating misleading comment at test LDCNegativeTest Message-ID: <201704252259.v3PMxRKr000339@aojmv0008.oracle.com> Changeset: ef928aa8de12 Author: vromero Date: 2017-04-25 15:43 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/ef928aa8de12 updating misleading comment at test LDCNegativeTest ! test/tools/javac/specialConstantFolding/LDCNegativeTest.java From vicente.romero at oracle.com Wed Apr 26 01:15:31 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 01:15:31 +0000 Subject: hg: amber/amber/langtools: a constant string inside a special constant should behave as a constant in a constant expression Message-ID: <201704260115.v3Q1FWD5013793@aojmv0008.oracle.com> Changeset: 2b2a816e844d Author: vromero Date: 2017-04-25 17:54 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/2b2a816e844d a constant string inside a special constant should behave as a constant in a constant expression ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java + test/tools/javac/specialConstantFolding/harness/tests/StringFoldingTest.java From vicente.romero at oracle.com Wed Apr 26 02:22:46 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 02:22:46 +0000 Subject: hg: amber/amber/langtools: javac is crashing when trying to invoke a constable method with a primitive parameter type Message-ID: <201704260222.v3Q2Mktd007058@aojmv0008.oracle.com> Changeset: 76590f98522d Author: vromero Date: 2017-04-25 19:06 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/76590f98522d javac is crashing when trying to invoke a constable method with a primitive parameter type ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeTag.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java + test/tools/javac/specialConstantFolding/CrashWithPrimitiveArgumentsTest.java From vicente.romero at oracle.com Wed Apr 26 02:25:47 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 02:25:47 +0000 Subject: hg: amber/amber/langtools: minor fix at test CrashWithPrimitiveArgumentsTest Message-ID: <201704260225.v3Q2Pl7N007956@aojmv0008.oracle.com> Changeset: 9d25e22ea9c4 Author: vromero Date: 2017-04-25 19:08 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/9d25e22ea9c4 minor fix at test CrashWithPrimitiveArgumentsTest ! test/tools/javac/specialConstantFolding/CrashWithPrimitiveArgumentsTest.java From maurizio.cimadamore at oracle.com Wed Apr 26 09:37:30 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:37:30 +0000 Subject: hg: amber/amber/hotspot: 8030750: SA: Alternate hashing not implemented Message-ID: <201704260937.v3Q9bUVv027607@aojmv0008.oracle.com> Changeset: f8b62710e186 Author: sballal Date: 2017-04-26 14:59 +0530 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/f8b62710e186 8030750: SA: Alternate hashing not implemented Summary: Implement alternate hashing in SA Reviewed-by: dsamersoff Contributed-by: sharath.ballal at oracle.com + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/AltHashing.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/hashtable.hpp From maurizio.cimadamore at oracle.com Wed Apr 26 09:37:32 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:37:32 +0000 Subject: hg: amber/amber/jdk: 8030750: SA: Alternate hashing not implemented Message-ID: <201704260937.v3Q9bWfK027721@aojmv0008.oracle.com> Changeset: 051c8291f378 Author: sballal Date: 2017-04-26 15:01 +0530 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/051c8291f378 8030750: SA: Alternate hashing not implemented Summary: Implement alternate hashing in SA Reviewed-by: dsamersoff Contributed-by: sharath.ballal at oracle.com + test/sun/tools/jhsdb/AlternateHashingTest.java + test/sun/tools/jhsdb/LingeredAppWithAltHashing.java From maurizio.cimadamore at oracle.com Wed Apr 26 09:38:06 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:38:06 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704260938.v3Q9c6r2029243@aojmv0008.oracle.com> Changeset: 93d3500402d7 Author: langtools Date: 2017-04-26 11:35 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/93d3500402d7 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 09:38:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:38:05 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704260938.v3Q9c66e029239@aojmv0008.oracle.com> Changeset: f02487c0ffb1 Author: langtools Date: 2017-04-26 11:35 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/f02487c0ffb1 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 09:38:38 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:38:38 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704260938.v3Q9ccTG000704@aojmv0008.oracle.com> Changeset: 5170d1d7d803 Author: langtools Date: 2017-04-26 11:35 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5170d1d7d803 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 09:38:39 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:38:39 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704260938.v3Q9cd0E000720@aojmv0008.oracle.com> Changeset: 32bb4ff7703c Author: langtools Date: 2017-04-26 11:35 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/32bb4ff7703c Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 09:39:10 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:39:10 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704260939.v3Q9dA7H002167@aojmv0008.oracle.com> Changeset: 31872d0f2f89 Author: langtools Date: 2017-04-26 11:36 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/31872d0f2f89 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 09:39:10 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:39:10 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704260939.v3Q9dAKQ002170@aojmv0008.oracle.com> Changeset: 3f990f6ae870 Author: langtools Date: 2017-04-26 11:36 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/3f990f6ae870 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 09:39:41 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:39:41 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704260939.v3Q9dfHH003698@aojmv0008.oracle.com> Changeset: b5c34c96f0ab Author: langtools Date: 2017-04-26 11:36 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/b5c34c96f0ab Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 09:39:41 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 09:39:41 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704260939.v3Q9dft5003695@aojmv0008.oracle.com> Changeset: e4ca30d04e64 Author: langtools Date: 2017-04-26 11:36 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/e4ca30d04e64 Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 10:17:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 10:17:34 +0000 Subject: hg: amber/amber/jdk: 8179273: sun.net.httpserver.LeftOverInputStream should stop attempting to drain the stream when the server is stopped Message-ID: <201704261017.v3QAHY4T018645@aojmv0008.oracle.com> Changeset: 44538ec462d4 Author: dfuchs Date: 2017-04-26 11:10 +0100 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/44538ec462d4 8179273: sun.net.httpserver.LeftOverInputStream should stop attempting to drain the stream when the server is stopped Reviewed-by: chegar ! src/jdk.httpserver/share/classes/sun/net/httpserver/LeftOverInputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java From maurizio.cimadamore at oracle.com Wed Apr 26 10:18:06 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 10:18:06 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704261018.v3QAI6qd020204@aojmv0008.oracle.com> Changeset: 5979cb3ed75b Author: langtools Date: 2017-04-26 12:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/5979cb3ed75b Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 10:18:37 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 10:18:37 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704261018.v3QAIbWm021699@aojmv0008.oracle.com> Changeset: 8bb4f32ac9be Author: langtools Date: 2017-04-26 12:15 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/8bb4f32ac9be Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 10:19:10 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 10:19:10 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704261019.v3QAJAPM023267@aojmv0008.oracle.com> Changeset: 13c4e409a86c Author: langtools Date: 2017-04-26 12:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/13c4e409a86c Automatic merge with default From maurizio.cimadamore at oracle.com Wed Apr 26 10:19:41 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 26 Apr 2017 10:19:41 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704261019.v3QAJfRS024786@aojmv0008.oracle.com> Changeset: 8f2b624b1ef6 Author: langtools Date: 2017-04-26 12:16 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/8f2b624b1ef6 Automatic merge with default From vicente.romero at oracle.com Wed Apr 26 14:46:26 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 14:46:26 +0000 Subject: hg: amber/amber/langtools: javac is crashing for incorrect indy Message-ID: <201704261446.v3QEkQJo004732@aojmv0008.oracle.com> Changeset: 7798531f6e0b Author: vromero Date: 2017-04-26 07:29 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/7798531f6e0b javac is crashing for incorrect indy ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/specialConstantFolding/IndyCrashTest.java + test/tools/javac/specialConstantFolding/IndyCrashTest.out From vicente.romero at oracle.com Wed Apr 26 15:44:45 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 15:44:45 +0000 Subject: hg: amber/amber/jdk: adding a throws clause to method invokedynamic Message-ID: <201704261544.v3QFijb8027036@aojmv0008.oracle.com> Changeset: 39efc509af30 Author: vromero Date: 2017-04-26 08:04 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/39efc509af30 adding a throws clause to method invokedynamic ! src/java.base/share/classes/java/lang/invoke/Intrinsics.java From vicente.romero at oracle.com Wed Apr 26 20:01:47 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 20:01:47 +0000 Subject: hg: amber/amber/jdk: simplifying BootstrapSpecifier methods Message-ID: <201704262001.v3QK1lEV027882@aojmv0008.oracle.com> Changeset: 1acfe1068d12 Author: vromero Date: 2017-04-26 12:42 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/1acfe1068d12 simplifying BootstrapSpecifier methods ! src/java.base/share/classes/java/lang/invoke/Constables.java ! src/java.base/share/classes/java/lang/invoke/Intrinsics.java From vicente.romero at oracle.com Wed Apr 26 20:02:17 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 20:02:17 +0000 Subject: hg: amber/amber/langtools: adapting to changes in BootstrapSpecifier API Message-ID: <201704262002.v3QK2HPm028509@aojmv0008.oracle.com> Changeset: 0435b05fc640 Author: vromero Date: 2017-04-26 12:43 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/0435b05fc640 adapting to changes in BootstrapSpecifier API ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/specialConstantFolding/IndyCodeGenerationTest.java ! test/tools/javac/specialConstantFolding/IndyCrashTest.java From vicente.romero at oracle.com Wed Apr 26 20:36:10 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 20:36:10 +0000 Subject: hg: amber/amber/langtools: additional negative test for invokedynamic Message-ID: <201704262036.v3QKaAXX011899@aojmv0008.oracle.com> Changeset: 954c1ff26e34 Author: vromero Date: 2017-04-26 13:14 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/954c1ff26e34 additional negative test for invokedynamic ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/specialConstantFolding/IndyNegativeTest.java + test/tools/javac/specialConstantFolding/IndyNegativeTest.out ! test/tools/javac/specialConstantFolding/ReportIncorrectMHForIndyTest.java From brian.goetz at oracle.com Wed Apr 26 20:40:33 2017 From: brian.goetz at oracle.com (brian.goetz at oracle.com) Date: Wed, 26 Apr 2017 20:40:33 +0000 Subject: hg: amber/amber/jdk: Add tests for Intrinsics Message-ID: <201704262040.v3QKeYfZ015073@aojmv0008.oracle.com> Changeset: be06ba1cf97d Author: briangoetz Date: 2017-04-26 16:39 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/be06ba1cf97d Add tests for Intrinsics ! src/java.base/share/classes/java/lang/invoke/Constable.java ! src/java.base/share/classes/java/lang/invoke/Intrinsics.java + test/java/lang/invoke/IntrinsicsTest.java From vicente.romero at oracle.com Wed Apr 26 22:40:56 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 26 Apr 2017 22:40:56 +0000 Subject: hg: amber/amber/langtools: refactoring: moving common code to class SpecialConstUtils, former DescriptorUtils Message-ID: <201704262240.v3QMevAk028262@aojmv0008.oracle.com> Changeset: e2d25f1a0682 Author: vromero Date: 2017-04-26 15:21 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/e2d25f1a0682 refactoring: moving common code to class SpecialConstUtils, former DescriptorUtils in addition type and number of dynamic arguments passed to invoke dynamic are validated ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties - src/jdk.compiler/share/classes/com/sun/tools/javac/util/DescriptorUtils.java + src/jdk.compiler/share/classes/com/sun/tools/javac/util/SpecialConstantUtils.java ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/specialConstantFolding/IndyNegativeTest01.java < test/tools/javac/specialConstantFolding/IndyNegativeTest.java ! test/tools/javac/specialConstantFolding/IndyNegativeTest01.out < test/tools/javac/specialConstantFolding/IndyNegativeTest.out + test/tools/javac/specialConstantFolding/IndyNegativeTest02.java + test/tools/javac/specialConstantFolding/IndyNegativeTest02.out From vicente.romero at oracle.com Thu Apr 27 06:17:26 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 27 Apr 2017 06:17:26 +0000 Subject: hg: amber/amber/jdk: remove method type argument from invokedynamic, it should be inferred as a signature polymorphic method Message-ID: <201704270617.v3R6HQew026861@aojmv0008.oracle.com> Changeset: ffd6b71f97c2 Author: vromero Date: 2017-04-26 22:22 -0700 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/ffd6b71f97c2 remove method type argument from invokedynamic, it should be inferred as a signature polymorphic method ! src/java.base/share/classes/java/lang/invoke/Intrinsics.java From vicente.romero at oracle.com Thu Apr 27 06:18:20 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 27 Apr 2017 06:18:20 +0000 Subject: hg: amber/amber/langtools: infer method type from invocation of invokedynamic Message-ID: <201704270618.v3R6IKHA027446@aojmv0008.oracle.com> Changeset: 964f55ac18ca Author: vromero Date: 2017-04-26 22:22 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/964f55ac18ca infer method type from invocation of invokedynamic ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/SpecialConstantUtils.java ! test/tools/javac/specialConstantFolding/IndyCodeGenerationTest.java ! test/tools/javac/specialConstantFolding/IndyNegativeTest01.java ! test/tools/javac/specialConstantFolding/IndyNegativeTest01.out - test/tools/javac/specialConstantFolding/IndyNegativeTest02.java - test/tools/javac/specialConstantFolding/IndyNegativeTest02.out From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:21 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:21 +0000 Subject: hg: amber/amber/nashorn: Added tag jdk-10+2 for changeset 47277bbced66 Message-ID: <201704270623.v3R6NLem029064@aojmv0008.oracle.com> Changeset: b08dbf03d478 Author: lana Date: 2017-04-27 05:31 +0000 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/b08dbf03d478 Added tag jdk-10+2 for changeset 47277bbced66 ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:20 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:20 +0000 Subject: hg: amber/amber/hotspot: Added tag jdk-10+2 for changeset 48809c513ed5 Message-ID: <201704270623.v3R6NK9v029018@aojmv0008.oracle.com> Changeset: bc476471160c Author: lana Date: 2017-04-27 05:31 +0000 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/bc476471160c Added tag jdk-10+2 for changeset 48809c513ed5 ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:19 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:19 +0000 Subject: hg: amber/amber/jdk: Added tag jdk-10+2 for changeset 5adecda6cf9a Message-ID: <201704270623.v3R6NJi9028881@aojmv0008.oracle.com> Changeset: 42ffb45db3ee Author: lana Date: 2017-04-27 05:31 +0000 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/42ffb45db3ee Added tag jdk-10+2 for changeset 5adecda6cf9a ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:19 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:19 +0000 Subject: hg: amber/amber/jaxws: Added tag jdk-10+2 for changeset 06b9f0de66d3 Message-ID: <201704270623.v3R6NJp5028908@aojmv0008.oracle.com> Changeset: 1dc8a36b4505 Author: lana Date: 2017-04-27 05:31 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/1dc8a36b4505 Added tag jdk-10+2 for changeset 06b9f0de66d3 ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:22 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:22 +0000 Subject: hg: amber/amber/jaxp: Added tag jdk-10+2 for changeset fb8f87183981 Message-ID: <201704270623.v3R6NMDk029125@aojmv0008.oracle.com> Changeset: 43abc6866902 Author: lana Date: 2017-04-27 05:31 +0000 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/43abc6866902 Added tag jdk-10+2 for changeset fb8f87183981 ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:23 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:23 +0000 Subject: hg: amber/amber/corba: Added tag jdk-10+2 for changeset 56a8bf532268 Message-ID: <201704270623.v3R6NNT6029147@aojmv0008.oracle.com> Changeset: 3ffb5f519a83 Author: lana Date: 2017-04-27 05:31 +0000 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/3ffb5f519a83 Added tag jdk-10+2 for changeset 56a8bf532268 ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:23 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:23 +0000 Subject: hg: amber/amber/langtools: Added tag jdk-10+2 for changeset 657b68876fe3 Message-ID: <201704270623.v3R6NN6f029180@aojmv0008.oracle.com> Changeset: 68e103ad2fe3 Author: lana Date: 2017-04-27 05:31 +0000 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/68e103ad2fe3 Added tag jdk-10+2 for changeset 657b68876fe3 ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:24 +0000 Subject: hg: amber/amber: Added tag jdk-10+2 for changeset 9c7248b787c3 Message-ID: <201704270623.v3R6NOg9029185@aojmv0008.oracle.com> Changeset: e639a2576287 Author: lana Date: 2017-04-27 05:31 +0000 URL: http://hg.openjdk.java.net/amber/amber/rev/e639a2576287 Added tag jdk-10+2 for changeset 9c7248b787c3 ! .hgtags From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:50 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:50 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704270623.v3R6Np6k000475@aojmv0008.oracle.com> Changeset: 8c8000127dc1 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/8c8000127dc1 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:51 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:51 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704270623.v3R6NpSd000528@aojmv0008.oracle.com> Changeset: 444aeadfff8b Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/444aeadfff8b Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:52 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:52 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704270623.v3R6Nqle000579@aojmv0008.oracle.com> Changeset: 152240d8472b Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/152240d8472b Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:53 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:53 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704270623.v3R6NrQt000638@aojmv0008.oracle.com> Changeset: 0d78cb76d873 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/0d78cb76d873 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:53 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:53 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704270623.v3R6NsRd000685@aojmv0008.oracle.com> Changeset: caecb93dc4ba Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/caecb93dc4ba Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:55 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704270623.v3R6NtIw000690@aojmv0008.oracle.com> Changeset: 626ec33960ba Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/626ec33960ba Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:56 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:56 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704270623.v3R6Nu8F000699@aojmv0008.oracle.com> Changeset: 39900e28fd83 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/39900e28fd83 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:23:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:23:55 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704270623.v3R6Nt8b000695@aojmv0008.oracle.com> Changeset: 78ea4d51f3c4 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/78ea4d51f3c4 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:23 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:23 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704270624.v3R6ONn6002134@aojmv0008.oracle.com> Changeset: 00cfb0c6cc4f Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/00cfb0c6cc4f Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:22 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:22 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704270624.v3R6OMoN002076@aojmv0008.oracle.com> Changeset: ceccbc99ae1d Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/ceccbc99ae1d Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:21 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:21 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704270624.v3R6OLYe002022@aojmv0008.oracle.com> Changeset: 0140627989f6 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/0140627989f6 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:23 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:23 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704270624.v3R6OOVq002181@aojmv0008.oracle.com> Changeset: 5de07b749cb8 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/5de07b749cb8 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:25 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:25 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704270624.v3R6OPCZ002238@aojmv0008.oracle.com> Changeset: 4f85888d199e Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/4f85888d199e Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:24 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704270624.v3R6OOjW002233@aojmv0008.oracle.com> Changeset: fa2610e1e384 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/fa2610e1e384 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:26 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:26 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704270624.v3R6OQYr002243@aojmv0008.oracle.com> Changeset: c0c10bb83403 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/c0c10bb83403 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:27 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:27 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704270624.v3R6OR16002247@aojmv0008.oracle.com> Changeset: d125c91c2a88 Author: langtools Date: 2017-04-27 08:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/d125c91c2a88 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:53 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:53 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704270624.v3R6OrnZ003485@aojmv0008.oracle.com> Changeset: 5af2d7233ba0 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/5af2d7233ba0 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:54 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:54 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704270624.v3R6OspR003524@aojmv0008.oracle.com> Changeset: 046a47689687 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/046a47689687 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:53 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:53 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704270624.v3R6OrMJ003428@aojmv0008.oracle.com> Changeset: 32920c3d43d2 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/32920c3d43d2 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:55 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704270624.v3R6Oubp003634@aojmv0008.oracle.com> Changeset: fac0cefd9629 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/fac0cefd9629 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:55 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:55 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704270624.v3R6Otvs003612@aojmv0008.oracle.com> Changeset: 6734a62b8139 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/6734a62b8139 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:56 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:56 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704270624.v3R6OuIH003639@aojmv0008.oracle.com> Changeset: fc3689644a1d Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/fc3689644a1d Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:58 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:58 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704270624.v3R6Ow7q003655@aojmv0008.oracle.com> Changeset: afaa040dcbe9 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/afaa040dcbe9 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:24:57 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:24:57 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704270624.v3R6OvF4003643@aojmv0008.oracle.com> Changeset: a203a4d93d68 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/a203a4d93d68 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:25:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:25:24 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704270625.v3R6POtE004854@aojmv0008.oracle.com> Changeset: 005d1a096d48 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/005d1a096d48 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:25:25 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:25:25 +0000 Subject: hg: amber/amber/jaxws: Automatic merge with default Message-ID: <201704270625.v3R6PPme004979@aojmv0008.oracle.com> Changeset: e200de90e7e3 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxws/rev/e200de90e7e3 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:25:24 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:25:24 +0000 Subject: hg: amber/amber/jaxp: Automatic merge with default Message-ID: <201704270625.v3R6POP2004920@aojmv0008.oracle.com> Changeset: 0b82d69d43e0 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/jaxp/rev/0b82d69d43e0 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:25:27 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:25:27 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704270625.v3R6PRe0005064@aojmv0008.oracle.com> Changeset: 5adafa52982c Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/5adafa52982c Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:25:26 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:25:26 +0000 Subject: hg: amber/amber/corba: Automatic merge with default Message-ID: <201704270625.v3R6PQsq005028@aojmv0008.oracle.com> Changeset: 22847c723cea Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/corba/rev/22847c723cea Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:25:27 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:25:27 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704270625.v3R6PRfE005069@aojmv0008.oracle.com> Changeset: bc736c8c7241 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/bc736c8c7241 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:25:29 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:25:29 +0000 Subject: hg: amber/amber/nashorn: Automatic merge with default Message-ID: <201704270625.v3R6PTkk005076@aojmv0008.oracle.com> Changeset: e3e60788c776 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/nashorn/rev/e3e60788c776 Automatic merge with default From maurizio.cimadamore at oracle.com Thu Apr 27 06:25:28 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 27 Apr 2017 06:25:28 +0000 Subject: hg: amber/amber/jdk: Automatic merge with default Message-ID: <201704270625.v3R6PSb1005072@aojmv0008.oracle.com> Changeset: a6c1cd130292 Author: langtools Date: 2017-04-27 08:22 +0200 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/a6c1cd130292 Automatic merge with default From vicente.romero at oracle.com Thu Apr 27 06:41:31 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 27 Apr 2017 06:41:31 +0000 Subject: hg: amber/amber/langtools: removing wrong check for invokedynamic Message-ID: <201704270641.v3R6fVtj010168@aojmv0008.oracle.com> Changeset: 1deaa1383706 Author: vromero Date: 2017-04-26 23:21 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/1deaa1383706 removing wrong check for invokedynamic ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java From brian.goetz at oracle.com Thu Apr 27 13:59:41 2017 From: brian.goetz at oracle.com (brian.goetz at oracle.com) Date: Thu, 27 Apr 2017 13:59:41 +0000 Subject: hg: amber/amber/jdk: Update intrinsics test Message-ID: <201704271359.v3RDxgHA022733@aojmv0008.oracle.com> Changeset: 604f4a972ff4 Author: briangoetz Date: 2017-04-27 09:44 -0400 URL: http://hg.openjdk.java.net/amber/amber/jdk/rev/604f4a972ff4 Update intrinsics test ! src/java.base/share/classes/java/lang/invoke/Intrinsics.java ! test/java/lang/invoke/IntrinsicsTest.java From maurizio.cimadamore at oracle.com Fri Apr 28 05:27:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 05:27:34 +0000 Subject: hg: amber/amber/langtools: 8179000: Reversion of langtools test changes for limited win32 address space Message-ID: <201704280527.v3S5RYMc003273@aojmv0008.oracle.com> Changeset: d22f80d042ca Author: amlu Date: 2017-04-28 13:22 +0800 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/d22f80d042ca 8179000: Reversion of langtools test changes for limited win32 address space Reviewed-by: darcy ! test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java ! test/tools/javac/tree/JavacTreeScannerTest.java ! test/tools/javac/tree/SourceTreeScannerTest.java ! test/tools/javac/tree/TreePosTest.java ! test/tools/javac/varargs/7043922/T7043922.java From maurizio.cimadamore at oracle.com Fri Apr 28 05:28:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 05:28:05 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704280528.v3S5S5HQ004720@aojmv0008.oracle.com> Changeset: f2ce97f546dc Author: langtools Date: 2017-04-28 07:25 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/f2ce97f546dc Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 05:28:33 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 05:28:33 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704280528.v3S5SXId006042@aojmv0008.oracle.com> Changeset: 23d236226c0e Author: langtools Date: 2017-04-28 07:25 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/23d236226c0e Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 05:29:04 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 05:29:04 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704280529.v3S5T4kf007602@aojmv0008.oracle.com> Changeset: c082b8c222ec Author: langtools Date: 2017-04-28 07:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/c082b8c222ec Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 05:29:36 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 05:29:36 +0000 Subject: hg: amber/amber/langtools: Automatic merge with default Message-ID: <201704280529.v3S5Ta37009070@aojmv0008.oracle.com> Changeset: 2a492bd46fcd Author: langtools Date: 2017-04-28 07:26 +0200 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/2a492bd46fcd Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 13:47:39 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 13:47:39 +0000 Subject: hg: amber/amber: 8179079: Incremental HotSpot builds broken on Windows Message-ID: <201704281347.v3SDldMu026400@aojmv0008.oracle.com> Changeset: 6426c94ee05f Author: erikj Date: 2017-04-28 15:42 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/6426c94ee05f 8179079: Incremental HotSpot builds broken on Windows Reviewed-by: tbell ! make/common/NativeCompilation.gmk From maurizio.cimadamore at oracle.com Fri Apr 28 13:48:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 13:48:05 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704281348.v3SDm5An027659@aojmv0008.oracle.com> Changeset: 8ede589e0a08 Author: langtools Date: 2017-04-28 15:45 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/8ede589e0a08 Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 13:48:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 13:48:35 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704281348.v3SDmZas029258@aojmv0008.oracle.com> Changeset: 147f381aa6d6 Author: langtools Date: 2017-04-28 15:45 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/147f381aa6d6 Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 13:49:08 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 13:49:08 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704281349.v3SDn8Ew001069@aojmv0008.oracle.com> Changeset: 89713fc3a6f6 Author: langtools Date: 2017-04-28 15:46 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/89713fc3a6f6 Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 13:49:40 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 13:49:40 +0000 Subject: hg: amber/amber: Automatic merge with default Message-ID: <201704281349.v3SDneJw002595@aojmv0008.oracle.com> Changeset: d556c5ea70df Author: langtools Date: 2017-04-28 15:46 +0200 URL: http://hg.openjdk.java.net/amber/amber/rev/d556c5ea70df Automatic merge with default From scolebourne at joda.org Fri Apr 28 15:13:53 2017 From: scolebourne at joda.org (Stephen Colebourne) Date: Fri, 28 Apr 2017 16:13:53 +0100 Subject: Enhanced Enums -- use cases In-Reply-To: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> References: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> Message-ID: I have examined the uses of Enum in our codebase as best I can. I remain skeptical that this feature adds enough value, although the ability to use different generic types on each instance would no doubt be useful on occasion. In every case I examined (about 150 enum types), the enum methods needed to be on the enum itself. There were no cases I could find where a method made sense to be pushed down to the constant, nor where a field on the constant made sense. This is not surprising as the enum is the type, and as such should have the behaviour. There were a couple of occasions where I thought it might apply. However, on further examination I convinced myself that a standard method on the enum with different implementations for each enum constant was a better solution (thus no need for this feature). The fundamental reason for this is two-fold. Firsty, enums are mostly used to restrict a set of standard codes, typically to meet a business requirement, thus they have no behaviour. Secondly, most enums that do have behaviour I can see reduces to: SomeEnumType t = obtainEnumFromString(); // t passed around through lots of other code t.doSomething(); ie. the method must be called on the enum type. There is rarely the opportunity to use a sharper type, because the constant itself is rarely used directly in the code. (The main places where the constants are used is in tests) What is annoying about the current implementations is the ceremony of setting up per instance data. public enum Status { BAD_USAGE(64), BAD_OR_MISSING_DATA(65), GENERAL_ERROR(70), VALIDATION_FAIL(75); private final int exitCode; Status(int exitCode) { this.exitCode = exitCode; } public int getExitCode() { return exitCode; } } It seems that the constructor and/or private field and/or method are information that could be inferred to some degree. Stephen On 11 April 2017 at 20:11, Brian Goetz wrote: > As you may have noticed, we pushed an implementation of Enhanced Enums some > time ago. We're hoping to get user feedback on the feature as it is now > implemented. > > To get things started, here are some typical use cases where generic enums > might be useful. Please contribute others, as well as places in the JDK > where code could be refactored using this feature. > > An obvious example is com.sun.tools.javac.code.Dynamic > (http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l51), > where we have an enum that represents the kinds of types representable in > the constant pool. > > In that case, these factory methods: > > http://hg.openjdk.java.net/valhalla/valhalla/langtools/file/85cc92a65da8/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Dynamic.java#l137 > > should be collapsible to a single generic method: > > static BootstrapArgument constant(Kind kind, D data). > > > Another example is command line parsing; for command line arguments, we can > represent them as enums whose type represents the type of an (optional) > parameter: > > enum Args { > QUIET("quiet", "q"), > FILE("file", "f"), > COUNT("count", "c"), .... > } > > (though its not obvious what the type arg of QUIET should be.) > > > If anyone wants to experiment and offer their experience in applying (or > misapplying) this feature, either to the JDK or their own codebase, that > would be appreciated.... > > From brian.goetz at oracle.com Fri Apr 28 16:00:26 2017 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 28 Apr 2017 12:00:26 -0400 Subject: Enhanced Enums -- use cases In-Reply-To: References: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> Message-ID: <64443aa8-6402-d07f-7459-71ab79842790@oracle.com> > I have examined the uses of Enum in our codebase as best I can. I > remain skeptical that this feature adds enough value, although the > ability to use different generic types on each instance would no doubt > be useful on occasion. Thanks for your thoughts, Stephen. The tricky thing about evaluating this feature is that it is more likely to apply to classes that might like to be enums, but can't currently, rather than those that already fit within the constraints of enums. That means the examples are harder to find. Subjectively, I know that I have encountered that feeling of "GRRR, have to refactor this enum to classes" when I crossed the line. Of course, this feature won't even address all of those -- but it will address some. > What is annoying about the current implementations is the ceremony of > setting up per instance data. Good point. This interacts nicely with the planned "data class" feature; seems likely we can dish some of those goodies to enums at the same time. From maurizio.cimadamore at oracle.com Fri Apr 28 17:22:34 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 17:22:34 +0000 Subject: hg: amber/amber/hotspot: 2 new changesets Message-ID: <201704281722.v3SHMYYn021992@aojmv0008.oracle.com> Changeset: c65a199452d0 Author: aph Date: 2017-04-19 16:41 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/c65a199452d0 8178968: AArch64: Remove non-standard code cache size Reviewed-by: roland ! src/cpu/aarch64/vm/globalDefinitions_aarch64.hpp Changeset: 6f412fc77f23 Author: aph Date: 2017-04-28 18:10 +0100 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/6f412fc77f23 Merge From maurizio.cimadamore at oracle.com Fri Apr 28 17:23:03 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 17:23:03 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704281723.v3SHN38f023460@aojmv0008.oracle.com> Changeset: 265fdbaf5d7f Author: langtools Date: 2017-04-28 19:20 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/265fdbaf5d7f Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 17:23:31 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 17:23:31 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704281723.v3SHNVGq024804@aojmv0008.oracle.com> Changeset: a489325b8877 Author: langtools Date: 2017-04-28 19:20 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/a489325b8877 Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 17:24:05 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 17:24:05 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704281724.v3SHO5Gp026594@aojmv0008.oracle.com> Changeset: c7f8d8de690b Author: langtools Date: 2017-04-28 19:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/c7f8d8de690b Automatic merge with default From maurizio.cimadamore at oracle.com Fri Apr 28 17:24:35 2017 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 28 Apr 2017 17:24:35 +0000 Subject: hg: amber/amber/hotspot: Automatic merge with default Message-ID: <201704281724.v3SHOZJ8028066@aojmv0008.oracle.com> Changeset: 88b9e8ad316f Author: langtools Date: 2017-04-28 19:21 +0200 URL: http://hg.openjdk.java.net/amber/amber/hotspot/rev/88b9e8ad316f Automatic merge with default From forax at univ-mlv.fr Fri Apr 28 18:43:42 2017 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 28 Apr 2017 20:43:42 +0200 (CEST) Subject: Enhanced Enums -- use cases In-Reply-To: <64443aa8-6402-d07f-7459-71ab79842790@oracle.com> References: <696a6fa3-0701-48ab-8b2a-1865cf1cc2a3@oracle.com> <64443aa8-6402-d07f-7459-71ab79842790@oracle.com> Message-ID: <1067828201.3131595.1493405022893.JavaMail.zimbra@u-pem.fr> I will not say domething negative about the frankenum in the mail, wait, doh :) [..] >> What is annoying about the current implementations is the ceremony of >> setting up per instance data. > > Good point. This interacts nicely with the planned "data class" > feature; seems likely we can dish some of those goodies to enums at the > same time. Yes, C#, Scala, Ceylon, Kotlin all have a notion of principal/primary constructor, like this public enum Status(int exitCode) { BAD_USAGE(64), BAD_OR_MISSING_DATA(65), GENERAL_ERROR(70), VALIDATION_FAIL(75) } regards, R?mi From vicente.romero at oracle.com Fri Apr 28 20:50:13 2017 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 28 Apr 2017 20:50:13 +0000 Subject: hg: amber/amber/langtools: 2 new changesets Message-ID: <201704282050.v3SKoDfg014260@aojmv0008.oracle.com> Changeset: 4f55ed2a39b6 Author: vromero Date: 2017-04-28 13:28 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/4f55ed2a39b6 adding listener to fold constants after inference if resultInfo has free variables ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ConstFold.java Changeset: 504346f9943a Author: vromero Date: 2017-04-28 13:28 -0700 URL: http://hg.openjdk.java.net/amber/amber/langtools/rev/504346f9943a refactoring method utility convertConstant ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/SpecialConstantUtils.java From amaembo at gmail.com Tue Apr 25 05:13:49 2017 From: amaembo at gmail.com (Tagir Valeev) Date: Tue, 25 Apr 2017 05:13:49 -0000 Subject: Adopting JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) into Amber In-Reply-To: References: <89d512d8-73d4-ad6f-8a5d-5d5bd08adda4@oracle.com> <6a55ffe8-3e73-e69e-1459-1d437bb8aab6@oracle.com> <40f9f014-1945-e779-517f-aa9f547d8b7d@oracle.com> Message-ID: Thank you, now it works. While my Singleton sample still cannot be compiled, I can compile simpler indy sample when BSM is not parameterized by additional method handle: import java.util.*; import java.lang.reflect.*; import java.lang.invoke.*; import java.lang.invoke.Constables.*; public class Singleton2 { static final MethodHandleConstant FACTORY = MethodHandleConstant.ofStatic(Singleton2.class, "singletonFactory", MethodTypeConstant.of(CallSite.class, MethodHandles.Lookup.class, String.class, MethodType.class)); public static CallSite singletonFactory(MethodHandles.Lookup lookup, String name, MethodType type) { return new ConstantCallSite(MethodHandles.constant(Singleton2.class, new Singleton2())); } private Singleton2() { System.out.println("Created!"); } public static Singleton2 instance() { BootstrapSpecifier indyDescr = BootstrapSpecifier.of( FACTORY, "singletonFactory", MethodTypeConstant.of(Singleton2.class)); return (Singleton2)Intrinsics.invokedynamic(indyDescr); } public static void main(String[] args) { Set set = new HashSet<>(); for(int i=0; i<100; i++) { set.add(instance()); } System.out.println(set.size()); } } This compiles and works as expected. The interesting thing is that we can omit declaring "throws Throwable" for invokedynamic intrinsic, so the "sneaky throw" of undeclared checked exception is possible: import java.util.*; import java.lang.reflect.*; import java.lang.invoke.*; import java.lang.invoke.Constables.*; public class ThrowTest { static final MethodHandleConstant FACTORY = MethodHandleConstant.ofStatic(ThrowTest.class, "bsm", MethodTypeConstant.of(CallSite.class, MethodHandles.Lookup.class, String.class, MethodType.class)); public static CallSite bsm(MethodHandles.Lookup lookup, String name, MethodType type) { return new ConstantCallSite(Intrinsics.ldc( MethodHandleConstant.ofConstructor(ThrowTest.class, MethodTypeConstant.of(void.class)))); } private ThrowTest() throws Exception { throw new Exception("Checked exception!"); } public static ThrowTest instance() { BootstrapSpecifier indyDescr = BootstrapSpecifier.of( FACTORY, "bsm", MethodTypeConstant.of(ThrowTest.class)); return (ThrowTest)Intrinsics.invokedynamic(indyDescr); } public static void main(String[] args) { instance(); } } It indeed compiles, runs and throws. I'm not sure whether it's intended, but guarding every indy with "throws Throwable" looks cumbersome and, I feel, it's not possible to check statically which kinds of exceptions dynamic call site can throw. After all there are already ways in Java to sneaky throw undeclared checked exception. With best regards, Tagir Valeev. On Tue, Apr 25, 2017 at 3:18 AM, Vicente Romero wrote: > Hi Tagir, > > I have pushed [1] to address the problem reported below. The compiler is > basically rewriting a class literal tree to a ClassConstant.of("respectiveDescriptor") > invocation. This way the code generation phase at the compiler won't see a > class literal at all if its target is of type ClassConstant. > > Thanks again for your feedback, > Vicente > > [1] http://hg.openjdk.java.net/amber/amber/langtools/rev/b998e852ac91 > > > On 04/21/2017 01:03 AM, Tagir Valeev wrote: > > Seems that it does not work if I use intermediate variable for > MethodTypeConstant. Consider the following code: > > import java.lang.invoke.*; > import static java.lang.invoke.Constables.*; > import static java.lang.invoke.Intrinsics.*; > > public class TestConst { > public static void main(String[] args) throws Throwable { > MethodTypeConstant mtc = MethodTypeConstant.of(void.class); > MethodHandleConstant mhc = MethodHandleConstant.ofStatic(TestConst.class, > "test", mtc); > MethodHandle mh = Intrinsics.ldc(mhc); > mh.invokeExact(); > } > > static void test() { > System.out.println("Hello"); > } > } > > It's compiled without errors and ldc intrinsic is generated correctly. > However for non-intrinsified variables class type is not wrapped into > ClassConstant: > > 0: getstatic #2 // Field > void.class:Ljava/lang/Class; > 3: iconst_0 > 4: anewarray #3 // class > java/lang/invoke/Constables$ClassConstant > 7: invokestatic #4 // Method > java/lang/invoke/Constables$MethodTypeConstant.of:(Ljava/ > lang/invoke/Constables$ClassConstant;[Ljava/lang/invoke/Constables$ > ClassConstant;)Ljava/lang/invoke/Constables$MethodTypeConstant; > > This, of course, results in verification errors: > > Exception in thread "main" java.lang.VerifyError: Bad type on operand stack > Exception Details: > Location: > TestConst.main([Ljava/lang/String;)V @7: invokestatic > Reason: > Type 'java/lang/Class' (current frame, stack[0]) is not assignable to > 'java/lang/invoke/Constables$ClassConstant' > Current Frame: > bci: @7 > flags: { } > locals: { '[Ljava/lang/String;' } > stack: { 'java/lang/Class', '[Ljava/lang/invoke/Constables$ClassConstant;' > } > > Probably it would be easier to declare class Class as implements > Constable> and replace ClassConstant with Constable> in > method signatures where applicable? Or introduce some intermediate > interface? > > With best regards, > Tagir Valeev. > > > On Fri, Apr 21, 2017 at 10:47 AM, Tagir Valeev wrote: > >> Thanks! Works fine for me. >> >> With best regards, >> Tagir Valeev. >> >> On Thu, Apr 20, 2017 at 8:37 PM, Vicente Romero < >> vicente.romero at oracle.com> wrote: >> >>> Hi all, >>> >>> I have just pushed a patch that converts class literals into a poly >>> expression. Meaning that now you can pass a class literal where a >>> ClassConstant is expected. This will simplify the use of the API making the >>> user code less verbose. Taking as an example the test case sent by Tagir, >>> it could be now rewritten as: >>> >>> import java.lang.invoke.*; >>> import java.lang.invoke.Constables.*; >>> import java.lang.reflect.*; >>> >>> public class MH { >>> private static void test() { >>> System.out.println("Hello"); >>> } >>> >>> public static void main(String[] args) throws Throwable { >>> final MethodHandle handle = Intrinsics.ldc( >>> MethodHandleConstant.ofStatic(MH.class, "test", >>> MethodTypeConstant.of(void.class))); >>> handle.invokeExact(); >>> } >>> } >>> >>> Thanks, >>> Vicente >>> >>> >>> >>> On 04/18/2017 11:14 PM, Tagir Valeev wrote: >>> >>> Thank you for the hint! It also seems that ClassConstant.of(MH.class) >>> does not work either and VarHandles are not supported yet. However the >>> following sample finally worked for me: >>> >>> >>> import java.lang.invoke.*; >>> import java.lang.invoke.Constables.*; >>> import java.lang.reflect.*; >>> >>> public class MH { >>> private static void test() { >>> System.out.println("Hello"); >>> } >>> >>> public static void main(String[] args) throws Throwable { >>> final MethodHandle handle = Intrinsics.ldc( >>> MethodHandleConstant.ofStatic(ClassConstant.of("LMH;"), "test", >>> MethodTypeConstant.of(ClassConstant.of("V")))); >>> handle.invokeExact(); >>> } >>> } >>> >>> With best regards, >>> Tagir Valeev. >>> >>> >>> On Tue, Apr 18, 2017 at 9:13 PM, Brian Goetz >>> wrote: >>> >>>> The primitive fields (Constables.VOID and friends) are not yet hooked >>>> up; for the time being, replace with ClassConstant.of("V"). >>>> >>>> >>>> On 4/18/2017 2:17 AM, Tagir Valeev wrote: >>>> >>>>> Hello! >>>>> >>>>> I tried to play with this, but still no success. Fresh build from >>>>> constant-folding branch. I tried to compile the following files: >>>>> >>>>> // MH.java >>>>> >>>>> import java.lang.invoke.*; >>>>> import java.lang.invoke.Constables.*; >>>>> import java.lang.reflect.*; >>>>> >>>>> public class MH { >>>>> private static void test() { >>>>> System.out.println("Hello"); >>>>> } >>>>> >>>>> >>>>> public static void main(String[] args) throws Throwable { >>>>> final MethodHandle handle = Intrinsics.ldc( >>>>> MethodHandleConstant.ofStatic(ClassConstant.of(MH.class), >>>>> "test", >>>>> MethodTypeConstant.of(Constables.VOID))); >>>>> handle.invokeExact(); >>>>> } >>>>> >>>>> } >>>>> >>>>> // VH.java >>>>> import java.lang.invoke.*; >>>>> import java.lang.invoke.Constables.*; >>>>> import java.lang.reflect.*; >>>>> >>>>> public class VH { >>>>> private static volatile int counter; >>>>> >>>>> private static final VarHandle COUNTER = Intrinsics.ldc( >>>>> VarHandleConstant.ofStaticField(ClassConstant.of(VH.class), >>>>> "counter", >>>>> Constables.INT)); >>>>> >>>>> public static void main(String[] args) { >>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>> System.out.println(COUNTER.getAndAdd(1)); >>>>> } >>>>> } >>>>> >>>>> Building with "javac -XDdoConstantFold=true MH.java" or "javac >>>>> -XDdoConstantFold=true VH.java", >>>>> javac silently exists without producing .class file or reporting any >>>>> error. >>>>> Tried with -verbose, the output ends like this: >>>>> >>>>> [loading /modules/java.base/java/lang/annotation/RetentionPolicy.clas >>>>> s] >>>>> [loading /modules/java.base/java/lang/annotation/Target.class] >>>>> [loading /modules/java.base/java/lang/annotation/ElementType.class] >>>>> [checking VH] >>>>> [loading /modules/java.base/java/io/Serializable.class] >>>>> [loading /modules/java.base/java/lang/AutoCloseable.class] >>>>> [loading /modules/java.base/java/lang/Class.class] >>>>> [loading /modules/java.base/java/lang/invoke/Constable.class] >>>>> [loading /modules/java.base/java/lang/invoke/Intrinsics.class] >>>>> [total 1484ms] >>>>> >>>>> Without -XDdoConstantFold=true the class file is produced and dies >>>>> like >>>>> >>>>> Exception in thread "main" java.lang.UnsupportedOperationException: no >>>>> reflective access >>>>> at java.base/java.lang.invoke.Intrinsics.ldc(Intrinsics.java:42) >>>>> at MH.main(MH.java:12) >>>>> >>>>> Which is expected behavior, I guess. >>>>> >>>>> Am I doing something wrong? Could you compile these files on your side? >>>>> Sorry if my tries look lame: I'm very new to this. >>>>> >>>>> With best regards, >>>>> Tagir Valeev. >>>>> >>>>> On Tue, Apr 18, 2017 at 9:07 AM, Vicente Romero < >>>>> vicente.romero at oracle.com> >>>>> wrote: >>>>> >>>>> Hi, >>>>>> >>>>>> Support for JEP 303 has been pushed in the amber repo [1, 2] (branch >>>>>> name >>>>>> is 'constant-folding'). The development is mature although there are >>>>>> some >>>>>> fresh areas like using reflection for accessing the API methods. >>>>>> Reflection >>>>>> is needed as the classes defined in the API see [1] are not available >>>>>> in >>>>>> the boot JDK. There is still some ongoing research so some changes to >>>>>> the >>>>>> API and the code are to be expected in the near future, >>>>>> >>>>>> Thanks, >>>>>> Vicente >>>>>> >>>>>> >>>>>> [1] http://hg.openjdk.java.net/amber/amber/jdk/rev/2eeb80b82c9c >>>>>> [2] http://hg.openjdk.java.net/amber/amber/langtools/rev/7be70b52c760 >>>>>> >>>>>> >>>>>> On 04/17/2017 04:22 PM, Brian Goetz wrote: >>>>>> >>>>>> JEP 303 (Intrinsics for LDC and INVOKEDYNAMIC) is hereby adopted into >>>>>>> Project Amber. >>>>>>> >>>>>>> A first draft of the API can be found at: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~briangoetz/JDK-8178320/webrev/ >>>>>>> >>>>>>> Prototype implementation coming soon. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>> >>> >>> >> > >