From mandy.chung at oracle.com Fri Apr 1 02:28:02 2016 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Fri, 01 Apr 2016 02:28:02 +0000 Subject: hg: jigsaw/jake: 2 new changesets Message-ID: <201604010228.u312S2Aw028905@aojmv0008.oracle.com> Changeset: fb3b49e0593e Author: mchung Date: 2016-03-31 18:15 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/fb3b49e0593e Use jtreg 4.2 nightly ! common/conf/jib-profiles.js Changeset: 97b420bd2845 Author: mchung Date: 2016-03-31 14:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/97b420bd2845 8153217: javafx modules are not included in the jre Reviewed-by: alanb ! make/Images.gmk ! make/common/Modules.gmk From mandy.chung at oracle.com Fri Apr 1 02:28:53 2016 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Fri, 01 Apr 2016 02:28:53 +0000 Subject: hg: jigsaw/jake/jdk: 3 new changesets Message-ID: <201604010228.u312Srox029342@aojmv0008.oracle.com> Changeset: 20ec0c69d3e2 Author: mchung Date: 2016-03-31 11:49 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/20ec0c69d3e2 8153125: rmic from bootcycle build should launch with -m jdk.rmic/sun.rmi.rmic.Main Reviewed-by: alanb, erikj ! make/rmic/RmicCommon.gmk Changeset: 8e865b6d3ead Author: mchung Date: 2016-03-31 11:50 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8e865b6d3ead 8153211: Convert build tool to use the new -XaddExports syntax in bootcycle build Reviewed-by: alanb ! make/gendata/GendataBreakIterator.gmk Changeset: ac512b5fa6d5 Author: mchung Date: 2016-03-31 14:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ac512b5fa6d5 8153217: javafx modules are not included in the jre Reviewed-by: alanb ! make/gensrc/GensrcModuleLoaderMap.gmk From mandy.chung at oracle.com Fri Apr 1 02:29:11 2016 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Fri, 01 Apr 2016 02:29:11 +0000 Subject: hg: jigsaw/jake/nashorn: 8153211: Convert build tool to use the new -XaddExports syntax in bootcycle build Message-ID: <201604010229.u312TBsd029501@aojmv0008.oracle.com> Changeset: 38fb8799f2c1 Author: mchung Date: 2016-03-31 11:50 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/38fb8799f2c1 8153211: Convert build tool to use the new -XaddExports syntax in bootcycle build Reviewed-by: alanb ! make/BuildNashorn.gmk From sundararajan.athijegannathan at oracle.com Fri Apr 1 02:52:49 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 1 Apr 2016 08:22:49 +0530 Subject: RFR 8136645: jlink tool should create windows os compatible launcher In-Reply-To: <56FD97C5.3080700@oracle.com> References: <56FD608A.60901@oracle.com> <56FD97C5.3080700@oracle.com> Message-ID: <56FDE281.1050802@oracle.com> Hi, Comments below.. On 4/1/2016 3:03 AM, Dmitry Samersoff wrote: > Sundararajan, > > Occasionally put my nose in. Just $0.2 ... > > 1. Do we really need separate .append("\n")? Also Windows convention is > "\r\n" I think so. Perhaps System.getProperty("line.separator") could be used. I'll fix it. Didn't realize it because cygwin is my development shell and did just "cat" on the generated file to view it :) Thanks! > 2. Is it possible to name a module using other languages (e.g. Russian > or Japanese). Is StandardCharsets.ISO_8859_1 appropriate in this case? Hmm.. This part remains the same as in Unix shell script generation (just above the newly added code). Not sure if that is practically a big issue... > 3. Is PosixFileAttributeView.class appropriate here? If yes - please add > a comment, because name is misleading. Changing executable bits on? I'll add comment. Thanks, -Sundar > -Dmitry > > On 2016-03-31 20:38, Sundararajan Athijegannathan wrote: >> Please review http://cr.openjdk.java.net/~sundar/8136645/webrev.00/ for >> https://bugs.openjdk.java.net/browse/JDK-8136645 >> >> Thanks, >> -Sundar >> > From sundararajan.athijegannathan at oracle.com Fri Apr 1 04:20:59 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 1 Apr 2016 09:50:59 +0530 Subject: RFR 8136645: jlink tool should create windows os compatible launcher In-Reply-To: <56FDE281.1050802@oracle.com> References: <56FD608A.60901@oracle.com> <56FD97C5.3080700@oracle.com> <56FDE281.1050802@oracle.com> Message-ID: <56FDF72B.2070100@oracle.com> Please review the updated webrev @ http://cr.openjdk.java.net/~sundar/8136645/webrev.02/ * Changed "\n" to "\r\n" * Removed POSIX/bits change code Thanks, -Sundar On 4/1/2016 8:22 AM, Sundararajan Athijegannathan wrote: > Hi, > > Comments below.. > > On 4/1/2016 3:03 AM, Dmitry Samersoff wrote: >> Sundararajan, >> >> Occasionally put my nose in. Just $0.2 ... >> >> 1. Do we really need separate .append("\n")? Also Windows convention is >> "\r\n" > I think so. Perhaps System.getProperty("line.separator") could be used. > I'll fix it. > > Didn't realize it because cygwin is my development shell and did just > "cat" on the generated file to view it :) Thanks! > >> 2. Is it possible to name a module using other languages (e.g. Russian >> or Japanese). Is StandardCharsets.ISO_8859_1 appropriate in this case? > Hmm.. This part remains the same as in Unix shell script generation > (just above the newly added code). Not sure if that is practically a > big issue... > >> 3. Is PosixFileAttributeView.class appropriate here? If yes - please add >> a comment, because name is misleading. > Changing executable bits on? I'll add comment. > > Thanks, > -Sundar > >> -Dmitry >> >> On 2016-03-31 20:38, Sundararajan Athijegannathan wrote: >>> Please review http://cr.openjdk.java.net/~sundar/8136645/webrev.00/ for >>> https://bugs.openjdk.java.net/browse/JDK-8136645 >>> >>> Thanks, >>> -Sundar >>> From mandy.chung at oracle.com Fri Apr 1 05:24:49 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 31 Mar 2016 22:24:49 -0700 Subject: RFR 8136645: jlink tool should create windows os compatible launcher In-Reply-To: <56FDF72B.2070100@oracle.com> References: <56FD608A.60901@oracle.com> <56FD97C5.3080700@oracle.com> <56FDE281.1050802@oracle.com> <56FDF72B.2070100@oracle.com> Message-ID: <3A34BA17-83A0-4993-A023-C0E40A386798@oracle.com> > On Mar 31, 2016, at 9:20 PM, Sundararajan Athijegannathan wrote: > > Please review the updated webrev @ > http://cr.openjdk.java.net/~sundar/8136645/webrev.02/ This version still generates .bat for all platforms as opposed to generate it for windows only. Mandy From sundararajan.athijegannathan at oracle.com Fri Apr 1 05:27:31 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 1 Apr 2016 10:57:31 +0530 Subject: RFR 8136645: jlink tool should create windows os compatible launcher In-Reply-To: <3A34BA17-83A0-4993-A023-C0E40A386798@oracle.com> References: <56FD608A.60901@oracle.com> <56FD97C5.3080700@oracle.com> <56FDE281.1050802@oracle.com> <56FDF72B.2070100@oracle.com> <3A34BA17-83A0-4993-A023-C0E40A386798@oracle.com> Message-ID: <56FE06C3.1040802@oracle.com> That is true of shell scripts too. i.e., existing code generates shell scripts on Windows too (although those shell scripts seem to run fine under Cygwin). Do you think we should filter out? Cross-platform image generation scenario? -Sundar On 4/1/2016 10:54 AM, Mandy Chung wrote: >> On Mar 31, 2016, at 9:20 PM, Sundararajan Athijegannathan wrote: >> >> Please review the updated webrev @ >> http://cr.openjdk.java.net/~sundar/8136645/webrev.02/ > > This version still generates .bat for all platforms as opposed to generate it for windows only. > > Mandy From mandy.chung at oracle.com Fri Apr 1 05:50:56 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 31 Mar 2016 22:50:56 -0700 Subject: RFR 8136645: jlink tool should create windows os compatible launcher In-Reply-To: <56FE06C3.1040802@oracle.com> References: <56FD608A.60901@oracle.com> <56FD97C5.3080700@oracle.com> <56FDE281.1050802@oracle.com> <56FDF72B.2070100@oracle.com> <3A34BA17-83A0-4993-A023-C0E40A386798@oracle.com> <56FE06C3.1040802@oracle.com> Message-ID: I think we should generate .bat on windows and shell scripts on other platforms. Generating two scripts are confusing. Mandy > On Mar 31, 2016, at 10:27 PM, Sundararajan Athijegannathan wrote: > > That is true of shell scripts too. i.e., existing code generates shell > scripts on Windows too (although those shell scripts seem to run fine > under Cygwin). > > Do you think we should filter out? Cross-platform image generation scenario? > > -Sundar > > On 4/1/2016 10:54 AM, Mandy Chung wrote: >>> On Mar 31, 2016, at 9:20 PM, Sundararajan Athijegannathan wrote: >>> >>> Please review the updated webrev @ >>> http://cr.openjdk.java.net/~sundar/8136645/webrev.02/ >> >> This version still generates .bat for all platforms as opposed to generate it for windows only. >> >> Mandy > From Alan.Bateman at oracle.com Fri Apr 1 06:37:37 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 1 Apr 2016 07:37:37 +0100 Subject: RFR 8136645: jlink tool should create windows os compatible launcher In-Reply-To: <56FE06C3.1040802@oracle.com> References: <56FD608A.60901@oracle.com> <56FD97C5.3080700@oracle.com> <56FDE281.1050802@oracle.com> <56FDF72B.2070100@oracle.com> <3A34BA17-83A0-4993-A023-C0E40A386798@oracle.com> <56FE06C3.1040802@oracle.com> Message-ID: <56FE1731.9050700@oracle.com> On 01/04/2016 06:27, Sundararajan Athijegannathan wrote: > That is true of shell scripts too. i.e., existing code generates shell > scripts on Windows too (although those shell scripts seem to run fine > under Cygwin). > > Do you think we should filter out? Cross-platform image generation scenario? > As I recall, the .sh is generated on Windows for those that might run it from Cygwin so I think okay to leave that. The main thing is only generate the .bat on Windows. I think we can rid of the !Files.exists test for both the shell and .bat case. -Alan. From sundararajan.athijegannathan at oracle.com Fri Apr 1 08:38:15 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 1 Apr 2016 14:08:15 +0530 Subject: RFR 8136645: jlink tool should create windows os compatible launcher In-Reply-To: <56FE1731.9050700@oracle.com> References: <56FD608A.60901@oracle.com> <56FD97C5.3080700@oracle.com> <56FDE281.1050802@oracle.com> <56FDF72B.2070100@oracle.com> <3A34BA17-83A0-4993-A023-C0E40A386798@oracle.com> <56FE06C3.1040802@oracle.com> <56FE1731.9050700@oracle.com> Message-ID: <56FE3377.1090704@oracle.com> Thanks for your comments. * Removed !Files.exists * Added isWindows check for .bat files Updated webrev: http://cr.openjdk.java.net/~sundar/8136645/webrev.03/ Thanks, -Sundar On 4/1/2016 12:07 PM, Alan Bateman wrote: > > > On 01/04/2016 06:27, Sundararajan Athijegannathan wrote: >> That is true of shell scripts too. i.e., existing code generates shell >> scripts on Windows too (although those shell scripts seem to run fine >> under Cygwin). >> >> Do you think we should filter out? Cross-platform image generation >> scenario? >> > As I recall, the .sh is generated on Windows for those that might run > it from Cygwin so I think okay to leave that. The main thing is only > generate the .bat on Windows. > > I think we can rid of the !Files.exists test for both the shell and > .bat case. > > -Alan. From Alan.Bateman at oracle.com Fri Apr 1 08:46:03 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 1 Apr 2016 09:46:03 +0100 Subject: RFR 8136645: jlink tool should create windows os compatible launcher In-Reply-To: <56FE3377.1090704@oracle.com> References: <56FD608A.60901@oracle.com> <56FD97C5.3080700@oracle.com> <56FDE281.1050802@oracle.com> <56FDF72B.2070100@oracle.com> <3A34BA17-83A0-4993-A023-C0E40A386798@oracle.com> <56FE06C3.1040802@oracle.com> <56FE1731.9050700@oracle.com> <56FE3377.1090704@oracle.com> Message-ID: <56FE354B.1060308@oracle.com> On 01/04/2016 09:38, Sundararajan Athijegannathan wrote: > Thanks for your comments. > > * Removed !Files.exists > * Added isWindows check for .bat files > > Updated webrev: http://cr.openjdk.java.net/~sundar/8136645/webrev.03/ > This looks okay. At some point then we need to change this so that it generates based on the target OS but it is a bit of a corner case to be generating a Windows runtime image when not on Windows. On the other hand, one might be creating a runtime image for an embedded system, say linux-arm, when on Windows, so that should work. We probably need other issues to track some of the residual issues to make that work. -Alan From sundararajan.athijegannathan at oracle.com Fri Apr 1 12:12:54 2016 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Fri, 01 Apr 2016 12:12:54 +0000 Subject: hg: jigsaw/jake/jdk: 8136645: jlink tool should create windows os compatible launcher Message-ID: <201604011212.u31CCtU9019245@aojmv0008.oracle.com> Changeset: 1525539374b6 Author: sundar Date: 2016-04-01 17:42 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1525539374b6 8136645: jlink tool should create windows os compatible launcher Reviewed-by: dsamersoff, mchung, alanb ! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/DefaultImageBuilder.java From georgiy.rakov at oracle.com Fri Apr 1 12:33:45 2016 From: georgiy.rakov at oracle.com (Georgiy Rakov) Date: Fri, 1 Apr 2016 15:33:45 +0300 Subject: javac accepts enums, annotations and final classes being referenced by 'uses' statement In-Reply-To: <56FD3DDD.8050001@oracle.com> References: <56FBB606.7030000@oracle.com> <56FD3DDD.8050001@oracle.com> Message-ID: <56FE6AA9.3060608@oracle.com> Hello, the issue is filed: https://bugs.openjdk.java.net/browse/JDK-8153268 Thanks, Georgiy. On 31.03.2016 18:10, Jonathan Gibbons wrote: > Georgiy, > > Please file this as an issue against javac, and we'll take it from > there. The case of the final class has previously been considered > and considered "silly but not wrong", but the other two have not been > explicitly considered. > > Alex has previously said in this forum that 'uses' and 'provides' are > just a convenient front-end for the ServiceLoader API, so I would > expect that to be taken into account when considering what should be > accepted as legal here. > > -- Jon > > On 03/30/2016 04:18 AM, Georgiy Rakov wrote: >> Hello, >> >> currently JDK9b111 javac successfully compiles following code: >> >> a/module-info.java: >> module a { >> uses pkg.FinalClassST; >> uses pkg.EnumST; >> uses pkg.AnnotationST; >> } >> >> a/pkg/AnnotationST.java: >> package pkg; >> public @interface AnnotationST{} >> >> a/pkg/EnumST.java: >> package pkg; >> public enum EnumST {A,B} >> >> a/pkg/FinalClassST.java: >> package pkg; >> public final class FinalClassST{} >> >> >> Could you please tell if this is javac, spec or both issue that type >> being referenced by 'uses' statement is not checked at compile-time >> for ability to be a service interface. >> >> The minimized testcase is attached; in order to run it please: >> 1. unzip attached archive on Windows machine; >> 2. rename test9\test_bat to test9\test.bat; >> 3. modify test.bat by changing JDK_HOME variable to point to your JDK >> installation; >> 4. run test.bat. >> >> BTW: provided the type name references non existing type javac does >> produce compile error. >> >> Thanks, >> Georgiy. > From claes.redestad at oracle.com Fri Apr 1 12:32:08 2016 From: claes.redestad at oracle.com (Claes Redestad) Date: Fri, 1 Apr 2016 14:32:08 +0200 Subject: RFR: 8152641: Plugin to generate BMH$Species classes ahead-of-time In-Reply-To: References: <56F3EEAB.4090600@oracle.com> <1FE3F7A6-1C7B-4DC6-875C-E3FAEDED08F5@oracle.com> <56F50EC5.6020500@gmail.com> <56F5520D.3080205@oracle.com> <56F676CA.5000803@gmail.com> <56FB09D3.4090000@oracle.com> <56FB82FE.5010209@gmail.com> <56FB8607.8030000@gmail.com> <56FBB014.6050002@oracle.com> <56FBC4D8.8010603@gmail.com> <56FBDF98.4090102@oracle.com> <56FBEE08.7010600@gmail.com> <56FBFC23.5090104@oracle.com> Message-ID: <56FE6A48.4040007@oracle.com> Hi Mandy et al, On 2016-04-01 01:10, Mandy Chung wrote: > GenerateBMHClassesPlugin::configure > The plugin should validate of the input argument and throw an exception if it?s invalid. The plugin API is still being revised and JDK-8152800 is related to the exception case. The existing plugins throw PluginException. GenerateBMHClassesPlugin can do the same. > > Perhaps the expanded signatures should be stored after validation. > > GenerateBMHClassesPlugin::generateConcreteClass > It issues a warning if any exception thrown. If the user specifies the types in the command line, they should specify the valid values (I would expect). I prefer it to be an error and throw PluginException. > > It may be time to rename this plugin to ?-generate-jli-classes plugin, as John suggests. A jlink plugin can define its sub options e.g. ?-generate-jli-classes=bmh[:species=LL,LLL]. > > Can you add a test to sanity test if the classes are generated (both the default species types as well as specified in the input argument)? > > Mandy http://cr.openjdk.java.net/~redestad/8152641/webrev.06/ - Renamed GenerateBMHClassesPlugin to GenerateJLIClassesPlugin, --generate-bmh -> --generate-jli-classes - Implement control of BMH species with sub-parameters --generate-jli-classes=bmh:bmh-species=LL,L3,L5 etc. This will be easy to extend into something like --generate-jli-classes=all:bmh-species=LL,L3,...:invokers=??,...:lambda-forms=??,... as we add other things to this plugin - Expand and validate input in the plugin - Add a test which tests default, explicit, invalid and disabled cases - Add a defaultSpecies() method for testing convenience together with a comment alluding to how it was generated. - Bumped the counter in JLinkTest...[1] To try and answer John's other comments: Yes, I intend to file RFEs and work on adding support to generate other j.l.i classes in the near future as time allows, and also have some na?ve hope that we can add support to generate the default input arguments at build-time. Thanks for all the feedback and reviews! /Claes [1] Mandy filed https://bugs.openjdk.java.net/browse/JDK-8153238 to improve this test. From georgiy.rakov at oracle.com Fri Apr 1 14:52:06 2016 From: georgiy.rakov at oracle.com (Georgiy Rakov) Date: Fri, 1 Apr 2016 17:52:06 +0300 Subject: Inner classes are allowed to be specified in 'uses' statement Message-ID: <56FE8B16.1050008@oracle.com> Hello, currently inner classes are allowed to be specified in 'uses' statement, for instance following code is compiled successfully by JDKb111 javac: a/module-info.java: module a { uses pkg.Outer.Inner; } a/pkg/Outer.java: package pkg; public class Outer{ public class Inner{} } Spec doesn't prevent it either. However in 1.1.3 it prevents implementations specified in 'provides' statement to be inner classes. According to my understanding inner class cannot be extended by non-inner class, for instance "public class Impl extends Outer.Inner { } " would cause: error: an enclosing instance that contains Outer.Inner is required class Implem extends Outer.Inner {} ^ 1 error So could you please tell what is the purpose of allowing inner classes to be specified in 'uses' statement, there seem to be no way to create its implementation. Should it be prohibited by spec? The minimized testcase is attached; in order to run it please: 1. unzip attached archive on Windows machine; 2. rename test12\test_bat to test12\test.bat; 3. modify test.bat by changing JDK_HOME variable to point to your JDK installation; 4. run test.bat. Thank you, Georgiy. From mandy.chung at oracle.com Fri Apr 1 14:57:07 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 1 Apr 2016 07:57:07 -0700 Subject: RFR: 8152641: Plugin to generate BMH$Species classes ahead-of-time In-Reply-To: <56FE6A48.4040007@oracle.com> References: <56F3EEAB.4090600@oracle.com> <1FE3F7A6-1C7B-4DC6-875C-E3FAEDED08F5@oracle.com> <56F50EC5.6020500@gmail.com> <56F5520D.3080205@oracle.com> <56F676CA.5000803@gmail.com> <56FB09D3.4090000@oracle.com> <56FB82FE.5010209@gmail.com> <56FB8607.8030000@gmail.com> <56FBB014.6050002@oracle.com> <56FBC4D8.8010603@gmail.com> <56FBDF98.4090102@oracle.com> <56FBEE08.7010600@gmail.com> <56FBFC23.5090104@oracle.com> <56FE6A48.4040007@oracle.com> Message-ID: > On Apr 1, 2016, at 5:32 AM, Claes Redestad wrote: > > http://cr.openjdk.java.net/~redestad/8152641/webrev.06/ > Looks good except the new test with 2015 copyright start year. > > [1] Mandy filed https://bugs.openjdk.java.net/browse/JDK-8153238 to improve this test. Yes the test should be revised to validate a well-known list of plugins rather than hardcoding the number of plugins. Mandy From claes.redestad at oracle.com Fri Apr 1 15:04:58 2016 From: claes.redestad at oracle.com (Claes Redestad) Date: Fri, 1 Apr 2016 17:04:58 +0200 Subject: RFR: 8152641: Plugin to generate BMH$Species classes ahead-of-time In-Reply-To: References: <56F3EEAB.4090600@oracle.com> <1FE3F7A6-1C7B-4DC6-875C-E3FAEDED08F5@oracle.com> <56F50EC5.6020500@gmail.com> <56F5520D.3080205@oracle.com> <56F676CA.5000803@gmail.com> <56FB09D3.4090000@oracle.com> <56FB82FE.5010209@gmail.com> <56FB8607.8030000@gmail.com> <56FBB014.6050002@oracle.com> <56FBC4D8.8010603@gmail.com> <56FBDF98.4090102@oracle.com> <56FBEE08.7010600@gmail.com> <56FBFC23.5090104@oracle.com> <56FE6A48.4040007@oracle.com> Message-ID: <56FE8E1A.1010808@oracle.com> On 2016-04-01 16:57, Mandy Chung wrote: >> On Apr 1, 2016, at 5:32 AM, Claes Redestad wrote: >> >> http://cr.openjdk.java.net/~redestad/8152641/webrev.06/ >> > Looks good except the new test with 2015 copyright start year. Fixed. Thanks Mandy! /Claes From naoto.sato at oracle.com Fri Apr 1 21:20:02 2016 From: naoto.sato at oracle.com (Naoto Sato) Date: Fri, 1 Apr 2016 14:20:02 -0700 Subject: RFR 8152742: jlink --include-locales th fails with ArrayIndexOutOfBoundsException Message-ID: <56FEE602.8010000@oracle.com> Hello, Please review the fix for the following issue: https://bugs.openjdk.java.net/browse/JDK-8152742 The fix is located at: http://cr.openjdk.java.net/~naoto/8152742/webrev.00/ Naoto From forax at univ-mlv.fr Fri Apr 1 21:55:07 2016 From: forax at univ-mlv.fr (forax at univ-mlv.fr) Date: Fri, 1 Apr 2016 23:55:07 +0200 (CEST) Subject: modulepath and classpath mixture In-Reply-To: <56FC7D93.6010802@oracle.com> References: <0CC4E4A6-4152-4BB0-BB42-B9E284540BB6@oracle.com> <6FB0B05A-6850-42F4-A6A3-42B7486CCDAA@oracle.com> <56FBD85F.6070103@oracle.com> <583721482.2221663.1459347179231.JavaMail.zimbra@u-pem.fr> <56FC7D93.6010802@oracle.com> Message-ID: <984065804.797611.1459547707302.JavaMail.zimbra@u-pem.fr> Hi Jon, thanks for taking the time to explain the whole picture, as you know, you are probably the one with most experience about testing in the modular world. This threads starts with this question, how to do unit testing with Maven when everything is a module, your case 3, so i will focus on that case. Here is my question, in case of 3a or 3b, i don't see how to explain to javac how to compile if there are some specific dependencies for the test (that are also modules). regards, R?mi ----- Mail original ----- > De: "Jonathan Gibbons" > ?: "Remi Forax" , "Alan Bateman" > Cc: "Russell Gold" , "jigsaw-dev" > Envoy?: Jeudi 31 Mars 2016 03:29:55 > Objet: Re: modulepath and classpath mixture > > I have been following this thread, and it strongly reminds me of Joe > Darcy's parables of elephants and blind men. [1,2] > > In this context, the discussion has been about testing, and the > underlying presumption that one size fits all. > > I venture to suggest that one size does /not/ fit all, and that we have > to be able to support a wide range of testing paradigms. > > 1) Some folk will want to do black box testing, with their tests > contained in their own first class module, to exercise the code the way > that real clients might do > > 2) Some folk will want to do black box testing, with their test code on > the classpath, in the unnamed module, because they don't want to update > their test code > > 3) Some folk will want to do white box testing, using code conventions > is widespread use today, where the test code is alongside the code being > tested, in the same package. This generates two sub-cases: a) is the > test code compiled into the module itself, in a special test-specific > build, or b) is the test code dynamically patched into the module > > 4) Some folk will want to do white box testing, but will be less > concerned about the package used to contain the package. That has the > same two sub-cases: a) is the test code compiled into the module > itself, in a special test-specific build, or b) is the test code > dynamically patched into the module > > Now you take all those scenarios, and cross-product them with issues > like, is there a test framework involved, such as JUnit or TestNG, and, > where should that framework be placed: can it be an automatic module, or > it is sufficient to put the framework on the classpath, in the unnamed > module? > > When you understand all that, then you begin to see the shape of the > elephant in the room that is the testing problem. > > But, to stretch the analogy to breaking point, it's not the only > elephant in the room. There's another, different, elephant called > "strong encapsulation", and there is a strong conflict between the > desire for easy white box testing and the desire for strong > encapsulation. While the past 20 years of Java have led to easy simple > white box testing, leveraging split packages by adding jars onto the > class path, we've also seen the the problems that such techniques can > lead to ... hence the desire for Project Jigsaw, and the requirement [3] > for strong encapsulation. We have to accept that the better we succeed > at strong encapsulation, the harder it will be to use the old ways of > white box testing. Conversely, the more we hold to the old ways of > working, the less we will succeed at satisfying the goal of strong > encapsulation. > > So, ultimately, the trick is to figure out how to walk the tightrope > between the two elephants in the room. Previously, as a community, > we've built tools to help manage the task. Now, it is time for the tools > and our practices to evolve, to meet the new demands of testing in a > modular world. > > Do we have all the answers today? Almost certainly not. But I will note > one of the unheralded success stories of Jigsaw and OpenJDK. Testing has > always been important, and we have managed to keep running almost all of > the JDK unit and regression tests with little to no change in > functionality in almost all of the tests, and we have started supporting > new testing scenarios as well. Looking back at the list I gave at the > beginning, support for 1 is coming available, but not yet widely used, > many JDK tests use case 2, JDK has a number of tests that use 3b and > 4b, and we have tests that use JUnit and TestNG. > > So, command line options like -XaddExports, -Xpatch, -Xmodule, etc, may > not be pretty, but they can be composed to cover a wide range of testing > scenarios, without giving up too much on the goal of strong > encapsulation, and that at least is some degree of success. > > -- Jon > > [1] > https://blogs.oracle.com/darcy/entry/project_coin_elephants_knapsacks_language > [2] http://en.wikipedia.org/wiki/Blind_Men_and_an_Elephant > [3] http://openjdk.java.net/projects/jigsaw/spec/reqs/ > From jonathan.gibbons at oracle.com Fri Apr 1 22:51:10 2016 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 01 Apr 2016 15:51:10 -0700 Subject: modulepath and classpath mixture In-Reply-To: <984065804.797611.1459547707302.JavaMail.zimbra@u-pem.fr> References: <0CC4E4A6-4152-4BB0-BB42-B9E284540BB6@oracle.com> <6FB0B05A-6850-42F4-A6A3-42B7486CCDAA@oracle.com> <56FBD85F.6070103@oracle.com> <583721482.2221663.1459347179231.JavaMail.zimbra@u-pem.fr> <56FC7D93.6010802@oracle.com> <984065804.797611.1459547707302.JavaMail.zimbra@u-pem.fr> Message-ID: <56FEFB5E.90100@oracle.com> R?mi, I think all of us working on Jigsaw have equally shared the experience of figuring out how to do testing in this modular world. Currently, the solution to your problem is to use javac's -XaddReads option, which is to javac's compilation environment what the launcher's -XaddReads option is to the execution environment. Just as the runtime provides a family of options to configure the modules is use at runtime, -upgrademodulepath -modulepath -addmods -limitmods -XaddReads -XaddExports -Xpatch etc so too does javac have an equivalent set of options to configure the modules in use at compile time. The primary additions/differences at compile time: -modulesourcepath (obviously source in not applicable at runtime) -system (when compiling, you can override the default target system) -Xmodule for compiling additional classes to patch into a module -- Jon On 04/01/2016 02:55 PM, forax at univ-mlv.fr wrote: > Hi Jon, > thanks for taking the time to explain the whole picture, as you know, you are probably the one with most experience about testing in the modular world. > > This threads starts with this question, how to do unit testing with Maven when everything is a module, your case 3, so i will focus on that case. > Here is my question, in case of 3a or 3b, i don't see how to explain to javac how to compile if there are some specific dependencies for the test (that are also modules). > > regards, > R?mi > > ----- Mail original ----- >> De: "Jonathan Gibbons" >> ?: "Remi Forax" , "Alan Bateman" >> Cc: "Russell Gold" , "jigsaw-dev" >> Envoy?: Jeudi 31 Mars 2016 03:29:55 >> Objet: Re: modulepath and classpath mixture >> >> I have been following this thread, and it strongly reminds me of Joe >> Darcy's parables of elephants and blind men. [1,2] >> >> In this context, the discussion has been about testing, and the >> underlying presumption that one size fits all. >> >> I venture to suggest that one size does /not/ fit all, and that we have >> to be able to support a wide range of testing paradigms. >> >> 1) Some folk will want to do black box testing, with their tests >> contained in their own first class module, to exercise the code the way >> that real clients might do >> >> 2) Some folk will want to do black box testing, with their test code on >> the classpath, in the unnamed module, because they don't want to update >> their test code >> >> 3) Some folk will want to do white box testing, using code conventions >> is widespread use today, where the test code is alongside the code being >> tested, in the same package. This generates two sub-cases: a) is the >> test code compiled into the module itself, in a special test-specific >> build, or b) is the test code dynamically patched into the module >> >> 4) Some folk will want to do white box testing, but will be less >> concerned about the package used to contain the package. That has the >> same two sub-cases: a) is the test code compiled into the module >> itself, in a special test-specific build, or b) is the test code >> dynamically patched into the module >> >> Now you take all those scenarios, and cross-product them with issues >> like, is there a test framework involved, such as JUnit or TestNG, and, >> where should that framework be placed: can it be an automatic module, or >> it is sufficient to put the framework on the classpath, in the unnamed >> module? >> >> When you understand all that, then you begin to see the shape of the >> elephant in the room that is the testing problem. >> >> But, to stretch the analogy to breaking point, it's not the only >> elephant in the room. There's another, different, elephant called >> "strong encapsulation", and there is a strong conflict between the >> desire for easy white box testing and the desire for strong >> encapsulation. While the past 20 years of Java have led to easy simple >> white box testing, leveraging split packages by adding jars onto the >> class path, we've also seen the the problems that such techniques can >> lead to ... hence the desire for Project Jigsaw, and the requirement [3] >> for strong encapsulation. We have to accept that the better we succeed >> at strong encapsulation, the harder it will be to use the old ways of >> white box testing. Conversely, the more we hold to the old ways of >> working, the less we will succeed at satisfying the goal of strong >> encapsulation. >> >> So, ultimately, the trick is to figure out how to walk the tightrope >> between the two elephants in the room. Previously, as a community, >> we've built tools to help manage the task. Now, it is time for the tools >> and our practices to evolve, to meet the new demands of testing in a >> modular world. >> >> Do we have all the answers today? Almost certainly not. But I will note >> one of the unheralded success stories of Jigsaw and OpenJDK. Testing has >> always been important, and we have managed to keep running almost all of >> the JDK unit and regression tests with little to no change in >> functionality in almost all of the tests, and we have started supporting >> new testing scenarios as well. Looking back at the list I gave at the >> beginning, support for 1 is coming available, but not yet widely used, >> many JDK tests use case 2, JDK has a number of tests that use 3b and >> 4b, and we have tests that use JUnit and TestNG. >> >> So, command line options like -XaddExports, -Xpatch, -Xmodule, etc, may >> not be pretty, but they can be composed to cover a wide range of testing >> scenarios, without giving up too much on the goal of strong >> encapsulation, and that at least is some degree of success. >> >> -- Jon >> >> [1] >> https://blogs.oracle.com/darcy/entry/project_coin_elephants_knapsacks_language >> [2] http://en.wikipedia.org/wiki/Blind_Men_and_an_Elephant >> [3] http://openjdk.java.net/projects/jigsaw/spec/reqs/ >> From mandy.chung at oracle.com Fri Apr 1 23:40:58 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 1 Apr 2016 16:40:58 -0700 Subject: RFR 8152742: jlink --include-locales th fails with ArrayIndexOutOfBoundsException In-Reply-To: <56FEE602.8010000@oracle.com> References: <56FEE602.8010000@oracle.com> Message-ID: <0DB6334A-FB01-41BF-BE45-D252AE3729D0@oracle.com> > On Apr 1, 2016, at 2:20 PM, Naoto Sato wrote: > > Hello, > > Please review the fix for the following issue: > > https://bugs.openjdk.java.net/browse/JDK-8152742 > > The fix is located at: > > http://cr.openjdk.java.net/~naoto/8152742/webrev.00/ Looks okay to me. It?d be good to have Masayoshi to review it. Mandy From james.laskey at oracle.com Sat Apr 2 09:24:30 2016 From: james.laskey at oracle.com (James Laskey) Date: Sat, 2 Apr 2016 06:24:30 -0300 Subject: Fwd: RFR: JDK-8151806 - JImage decompress code needs to be revised to be more effective References: Message-ID: Sent from my iPhone Begin forwarded message: > From: "Jim Laskey (Oracle)" > Date: April 1, 2016 at 4:15:50 PM ADT > To: jdk9-dev > Subject: RFR: JDK-8151806 - JImage decompress code needs to be revised to be more effective > > https://bugs.openjdk.java.net/browse/JDK-8151806 > http://cr.openjdk.java.net/~jlaskey/8151806/webrev/index.html > > Clean up some sloppy code. > > From peter.levart at gmail.com Mon Apr 4 08:39:25 2016 From: peter.levart at gmail.com (Peter Levart) Date: Mon, 4 Apr 2016 10:39:25 +0200 Subject: Inner classes are allowed to be specified in 'uses' statement In-Reply-To: <56FE8B16.1050008@oracle.com> References: <56FE8B16.1050008@oracle.com> Message-ID: <5702283D.5000001@gmail.com> Hi Georgiy, On 04/01/2016 04:52 PM, Georgiy Rakov wrote: > Hello, > > currently inner classes are allowed to be specified in 'uses' > statement, for instance following code is compiled successfully by > JDKb111 javac: > > a/module-info.java: > module a { > uses pkg.Outer.Inner; > } > > a/pkg/Outer.java: > package pkg; > public class Outer{ public class Inner{} } > > Spec doesn't prevent it either. However in 1.1.3 > it > prevents implementations specified in 'provides' statement to be inner > classes. According to my understanding inner class cannot be extended > by non-inner class, for instance "public class Impl extends > Outer.Inner { } " would cause: > > error: an enclosing instance > that contains Outer.Inner is required > class Implem extends Outer.Inner {} > ^ > 1 error > > So could you please tell what is the purpose of allowing inner classes > to be specified in 'uses' statement, there seem to be no way to create > its implementation. Should it be prohibited by spec? > > The minimized testcase is attached; in order to run it please: > 1. unzip attached archive on Windows machine; > 2. rename test12\test_bat to test12\test.bat; > 3. modify test.bat by changing JDK_HOME variable to point to your JDK > installation; > 4. run test.bat. > > Thank you, > Georgiy. Not only in 'uses' statement. It would be impossible to specify them in 'provides ... with ...' statement as implementation classes too as they by definition can't be instantiated without an outer instance (their constructors always contain an implicit parameter - the outer instance). What does compiler say for such case? a/module-info.java: module a { exports pkg; provides pkg.Service with pkg.impl.Outer.Inner; } a/pkg/Service.java: package pkg; public interface Service {} a/pkg/impl/Outer.java: package pkg.impl; public class Outer { public class Inner implements pkg.Service { } } Regards, Peter From michael.rasmussen at zeroturnaround.com Mon Apr 4 10:31:01 2016 From: michael.rasmussen at zeroturnaround.com (Michael Rasmussen) Date: Mon, 4 Apr 2016 13:31:01 +0300 Subject: trouble with java -Xpatch In-Reply-To: <56FA502F.6030406@oracle.com> References: <56F96A31.4080309@oracle.com> <56FA502F.6030406@oracle.com> Message-ID: Hi Alan Finally had time today to do some testing of can_generate_early_vmstart. Can you elaborate on which classes I should be able to patch using CFLH with early_vmstart enabled? From the quick testing I did, it appears that most of the core java.lang classes do not generate CFLH events? For instance java.lang.Class or java.lang.reflect.Method. A quick comparison with Java8, there are about 100 classes that do not generate CFLH events. /Michael On 29 March 2016 at 12:51, Alan Bateman wrote: > On 29/03/2016 10:14, Michael Rasmussen wrote: >> >> With the new -Xpatch format, are there any plans to add support for >> adding (or modifying) these from JVMTI in the OnLoad phase? >> >> /Michael > > Not specifically but you can use -Xpatch in conjunction with > -agentlib/-agentpath. > > Also if enable the new can_generate_early_vmstart capability then you can > use the ClassFileLoadHook to patch classes loaded early in the startup. In > previous threads I think you mentioned this was something you were looking > to do. > > -Alan From anthony.vanelverdinghe at gmail.com Mon Apr 4 10:55:31 2016 From: anthony.vanelverdinghe at gmail.com (Anthony Vanelverdinghe) Date: Mon, 4 Apr 2016 12:55:31 +0200 Subject: jdeps -check: add section on exports In-Reply-To: <56F59AB7.8@gmail.com> References: <56F2DFD0.70106@gmail.com> <1652856612.2441234.1458757914364.JavaMail.zimbra@u-pem.fr> <56F441F3.8000103@gmail.com> <56F44651.3050302@oracle.com> <56F59AB7.8@gmail.com> Message-ID: <57024823.7060404@gmail.com> For the record: I've filed this as JI-9034435 Anthony On 25/03/2016 21:08, Anthony Vanelverdinghe wrote: > What's the next step? Will someone with JIRA access file a javac > enhancement for this, or shall I do so myself through bugs.java.com? > (I'm not sure what the preferred option is for issues that have already > been discussed on the mailing list) > > Thanks, > Anthony > > On 24/03/2016 20:56, Alex Buckley wrote: >> I think this is very well argued. >> >> Alex >> >> On 3/24/2016 12:37 PM, Anthony Vanelverdinghe wrote: >>> I believe an error would be too harsh. Suppose I have a method: >>> >>> public CustomList getFoos() { ... } >>> >>> with problematic type CustomList. Then there are multiple options to >>> resolve this, e.g.: >>> - replace CustomList with a super type, likely List/Collection >>> - make the method (package-)private >>> - move CustomList to an exported package >>> - export CustomList's package >>> >>> I believe that the last option would typically not be the best one >>> (assuming the developer has given some thought to which set of packages >>> to export & there are relatively few problematic usages). However, if >>> javac would treat this as an error, some developers would be annoyed by >>> their module not compiling and choose the path of least resistance: add >>> a bunch of "exports" clauses to module-info.java in order to make the >>> compiler happy (especially if the compiler would propose them to do so). >>> If, on the other hand, it were an -Xlint check or warning, those >>> developers wouldn't be bothered, and other developers could still use >>> -Werror to have them treated as an error instead. >>> >>> Moreover, I don't think an issue like this should fail the compilation: >>> even if the example above would make it into a module: at worst a client >>> could treat the result as an accessible super-type & use it (analog, for >>> the case where an inaccessible type is used as a parameter, where a >>> client could try to pass in an accessible subclass instance). But even >>> then: the module could subsequently fix the issue (thereby possibly >>> breaking some clients, but I'd say it wasn't very responsible of them to >>> use inaccessible types in the first place). >>> >>> Kind regards, >>> Anthony >>> >>> On 23/03/2016 19:31, Remi Forax wrote: >>>> In my opinion, it should be a warning (or even an error) in javac, >>>> you should not create a bad module in the first place. >>>> >>>> R?mi >>>> >>>> ----- Mail original ----- >>>>> De: "Anthony Vanelverdinghe" >>>>> ?: jigsaw-dev at openjdk.java.net >>>>> Envoy?: Mercredi 23 Mars 2016 19:26:24 >>>>> Objet: jdeps -check: add section on exports >>>>> >>>>> Hi >>>>> >>>>> It would be great if jdeps -check would also have a section on exports: >>>>> this section would list non-exported packages which contain types that >>>>> are exposed (e.g. through method signatures) by exported packages. >>>>> Ideally, those appearances should be listed under each package, i.e.: >>>>> >>>>> com.foo.impl >>>>> type X is exposed by member Y of exported type Z >>>>> >>>>> Using this, one could easily see whether the package should indeed be >>>>> exported, or whether a method was mistakenly made public, or ... >>>>> >>>>> JDK-8147050 already mentions the similar case of checking whether or not >>>>> a "requires" ought to be public. >>>>> >>>>> What do you think? Should I file an issue for this? >>>>> >>>>> Kind regards, >>>>> Anthony >>>>> > From Alan.Bateman at oracle.com Mon Apr 4 10:57:21 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 4 Apr 2016 11:57:21 +0100 Subject: trouble with java -Xpatch In-Reply-To: References: <56F96A31.4080309@oracle.com> <56FA502F.6030406@oracle.com> Message-ID: <57024891.7090506@oracle.com> On 04/04/2016 11:31, Michael Rasmussen wrote: > Hi Alan > > Finally had time today to do some testing of can_generate_early_vmstart. > > Can you elaborate on which classes I should be able to patch using CFLH > with early_vmstart enabled? From the quick testing I did, it appears that > most of the core java.lang classes do not generate CFLH events? For > instance java.lang.Class or java.lang.reflect.Method. > > A quick comparison with Java8, there are about 100 classes that do not > generate CFLH events. > These are classes that are preloaded by VM in the primordial phase. You'll see a list in systemDictionary.hpp but don't use that list for anything as it highly implementation specific and could change at any time. -Alan. From Alan.Bateman at oracle.com Mon Apr 4 11:09:19 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 4 Apr 2016 12:09:19 +0100 Subject: jdeps -check: add section on exports In-Reply-To: <57024823.7060404@gmail.com> References: <56F2DFD0.70106@gmail.com> <1652856612.2441234.1458757914364.JavaMail.zimbra@u-pem.fr> <56F441F3.8000103@gmail.com> <56F44651.3050302@oracle.com> <56F59AB7.8@gmail.com> <57024823.7060404@gmail.com> Message-ID: <57024B5F.8050306@oracle.com> On 04/04/2016 11:55, Anthony Vanelverdinghe wrote: > For the record: I've filed this as JI-9034435 > I've moved it to the JDK project: https://bugs.openjdk.java.net/browse/JDK-8153362 From michael.rasmussen at zeroturnaround.com Mon Apr 4 11:09:51 2016 From: michael.rasmussen at zeroturnaround.com (Michael Rasmussen) Date: Mon, 4 Apr 2016 14:09:51 +0300 Subject: trouble with java -Xpatch In-Reply-To: <57024891.7090506@oracle.com> References: <56F96A31.4080309@oracle.com> <56FA502F.6030406@oracle.com> <57024891.7090506@oracle.com> Message-ID: So in order to patch any of the well-known preloaded classes, I will need to prepatch them, put them in a folder/jar, and then need to ask the user to specify the -Xpatch jvm option, seeing as I don't have the option to neither patch them via CFLH, nor add -Xpatch myself from jvmti? If that is the case, that is a significant setback from Java8... /Michael On 4 April 2016 at 13:57, Alan Bateman wrote: > > On 04/04/2016 11:31, Michael Rasmussen wrote: >> >> Hi Alan >> >> Finally had time today to do some testing of can_generate_early_vmstart. >> >> Can you elaborate on which classes I should be able to patch using CFLH >> with early_vmstart enabled? From the quick testing I did, it appears that >> most of the core java.lang classes do not generate CFLH events? For >> instance java.lang.Class or java.lang.reflect.Method. >> >> A quick comparison with Java8, there are about 100 classes that do not >> generate CFLH events. >> > These are classes that are preloaded by VM in the primordial phase. You'll > see a list in systemDictionary.hpp but don't use that list for anything as > it highly implementation specific and could change at any time. > > -Alan. From Alan.Bateman at oracle.com Mon Apr 4 11:30:20 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 4 Apr 2016 12:30:20 +0100 Subject: trouble with java -Xpatch In-Reply-To: References: <56F96A31.4080309@oracle.com> <56FA502F.6030406@oracle.com> <57024891.7090506@oracle.com> Message-ID: <5702504C.7070302@oracle.com> On 04/04/2016 12:09, Michael Rasmussen wrote: > So in order to patch any of the well-known preloaded classes, I will need > to prepatch them, put them in a folder/jar, and then need to ask the user > to specify the -Xpatch jvm option, seeing as I don't have the option to > neither patch them via CFLH, nor add -Xpatch myself from jvmti? > As things stand then -Xpatch is the only way to have patched versions of the preloaded classes loaded in the primordial phase. That said, we have enough in place where we could look at allowing GetLoadedClasses and RetransformClasses in the start phase. When combined with can_generate_early_vmstart then it would allow agents to patch classes before any bytecode executes. As per the warnings in the spec then any instrumentation at this point requires great care as it's still too early in the VM startup for code outside of java.base to execute. -Alan From michael.rasmussen at zeroturnaround.com Mon Apr 4 11:47:54 2016 From: michael.rasmussen at zeroturnaround.com (Michael Rasmussen) Date: Mon, 4 Apr 2016 14:47:54 +0300 Subject: trouble with java -Xpatch In-Reply-To: <5702504C.7070302@oracle.com> References: <56F96A31.4080309@oracle.com> <56FA502F.6030406@oracle.com> <57024891.7090506@oracle.com> <5702504C.7070302@oracle.com> Message-ID: But retransform in this phase would still be subject to the same limitations about no structural changes I assume? Meaning no adding of members etc. My preferred solution would still be if adding (and changing) Xpatch would be possible during OnLoad, as that should solve all my problems. /Michael On Apr 4, 2016 14:30, "Alan Bateman" wrote: > On 04/04/2016 12:09, Michael Rasmussen wrote: > >> So in order to patch any of the well-known preloaded classes, I will need >> to prepatch them, put them in a folder/jar, and then need to ask the user >> to specify the -Xpatch jvm option, seeing as I don't have the option to >> neither patch them via CFLH, nor add -Xpatch myself from jvmti? >> >> As things stand then -Xpatch is the only way to have patched versions of > the preloaded classes loaded in the primordial phase. > > That said, we have enough in place where we could look at allowing > GetLoadedClasses and RetransformClasses in the start phase. When combined > with can_generate_early_vmstart then it would allow agents to patch classes > before any bytecode executes. As per the warnings in the spec then any > instrumentation at this point requires great care as it's still too early > in the VM startup for code outside of java.base to execute. > > -Alan > From Alan.Bateman at oracle.com Mon Apr 4 12:20:04 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 4 Apr 2016 13:20:04 +0100 Subject: trouble with java -Xpatch In-Reply-To: References: <56F96A31.4080309@oracle.com> <56FA502F.6030406@oracle.com> <57024891.7090506@oracle.com> <5702504C.7070302@oracle.com> Message-ID: <57025BF4.8010008@oracle.com> On 04/04/2016 12:47, Michael Rasmussen wrote: > > But retransform in this phase would still be subject to the same > limitations about no structural changes I assume? Meaning no adding of > members etc. > > My preferred solution would still be if adding (and changing) Xpatch > would be possible during OnLoad, as that should solve all my problems. > We don't have a proposal yet on if/how the equivalent of the -X options will be exposed to custom launchers. This is tracked as JDK-8136930. Allowing agents to introduce or augment patches in the primordial phase is related albeit in a lot more advanced usage. -Alan, From Alan.Bateman at oracle.com Mon Apr 4 12:33:11 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 4 Apr 2016 13:33:11 +0100 Subject: The root modules when compiling code in the unnamed module or where the initial class is loaded from the class path Message-ID: <57025F07.2000503@oracle.com> Just an FYI that the "Root modules" section of JEP 261 has been updated with a revised policy on the modules to resolve when compiling code in the unnamed module, or at runtime when the main class is loaded from the class path. The key point is that "java.se" will be the only java.* root and means that the modules shared with Java EE won't be resolved by default. As a remainder, the modules that are in the transitive closure of java.se.ee that are not in the transitive closure of java.se are: java.activation java.annotations.common java.corba java.transaction java.xml.bind java.xml.ws This should be a boon to Java EE servers and applications that have historically being built or deployed with the EE versions of these modules. It will be "as if" these modules don't exist in the JDK. On the other hand, applications that use types in any of these 6 modules, and don't deploy with the EE versions of these components, will need to use `-addmods` at compile-time or runtime to ensure that the modules are resolved. This policy is not in place yet. We'll probably need to have it bake in jake for a time before we bring it into JDK 9. -Alan [1] http://openjdk.java.net/jeps/261 From forax at univ-mlv.fr Mon Apr 4 13:30:20 2016 From: forax at univ-mlv.fr (Remi Forax) Date: Mon, 4 Apr 2016 15:30:20 +0200 (CEST) Subject: The root modules when compiling code in the unnamed module or where the initial class is loaded from the class path In-Reply-To: <57025F07.2000503@oracle.com> References: <57025F07.2000503@oracle.com> Message-ID: <1699759417.487141.1459776620279.JavaMail.zimbra@u-pem.fr> Trying to fully understand what it means, Does it means that adding -addmods java.se.ee is enough for applications that use packages from those modules but are not JavaEE applications ? R?mi ----- Mail original ----- > De: "Alan Bateman" > ?: "jigsaw-dev" > Envoy?: Lundi 4 Avril 2016 14:33:11 > Objet: The root modules when compiling code in the unnamed module or where the initial class is loaded from the class > path > > > Just an FYI that the "Root modules" section of JEP 261 has been updated > with a revised policy on the modules to resolve when compiling code in > the unnamed module, or at runtime when the main class is loaded from the > class path. > > The key point is that "java.se" will be the only java.* root and means > that the modules shared with Java EE won't be resolved by default. As a > remainder, the modules that are in the transitive closure of java.se.ee > that are not in the transitive closure of java.se are: > > java.activation > java.annotations.common > java.corba > java.transaction > java.xml.bind > java.xml.ws > > This should be a boon to Java EE servers and applications that have > historically being built or deployed with the EE versions of these > modules. It will be "as if" these modules don't exist in the JDK. > > On the other hand, applications that use types in any of these 6 > modules, and don't deploy with the EE versions of these components, will > need to use `-addmods` at compile-time or runtime to ensure that the > modules are resolved. > > This policy is not in place yet. We'll probably need to have it bake in > jake for a time before we bring it into JDK 9. > > -Alan > > [1] http://openjdk.java.net/jeps/261 > From Alan.Bateman at oracle.com Mon Apr 4 13:34:27 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 4 Apr 2016 14:34:27 +0100 Subject: The root modules when compiling code in the unnamed module or where the initial class is loaded from the class path In-Reply-To: <1699759417.487141.1459776620279.JavaMail.zimbra@u-pem.fr> References: <57025F07.2000503@oracle.com> <1699759417.487141.1459776620279.JavaMail.zimbra@u-pem.fr> Message-ID: <57026D63.3070405@oracle.com> On 04/04/2016 14:30, Remi Forax wrote: > Trying to fully understand what it means, > Does it means that adding -addmods java.se.ee is enough for applications that use packages from those modules but are not JavaEE applications ? Exactly. From Alan.Bateman at oracle.com Mon Apr 4 13:38:36 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 4 Apr 2016 14:38:36 +0100 Subject: 8153370: Drop use of old style -XaddExports from tests Message-ID: <57026E5C.8080307@oracle.com> We still have support in both javac and in the runtime for the old form of -XaddExports and -XaddReads. A first step to removing support for the old form is to update the tests that are still using the old form. The webrev with the changes that I'd like to push to jdk9/dev is here: http://cr.openjdk.java.net/~alanb/8153370/ These changes are already in jake and also a few updates to tests to run with `-addmods ALL-SYTSTEM` too. Thanks, Alan From mandy.chung at oracle.com Mon Apr 4 18:41:35 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 4 Apr 2016 11:41:35 -0700 Subject: 8153370: Drop use of old style -XaddExports from tests In-Reply-To: <57026E5C.8080307@oracle.com> References: <57026E5C.8080307@oracle.com> Message-ID: > On Apr 4, 2016, at 6:38 AM, Alan Bateman wrote: > > > We still have support in both javac and in the runtime for the old form of -XaddExports and -XaddReads. > > A first step to removing support for the old form is to update the tests that are still using the old form. The webrev with the changes that I'd like to push to jdk9/dev is here: > > http://cr.openjdk.java.net/~alanb/8153370/ One typo s/addExpots/addExports/ test/sun/security/tools/keytool/autotest.sh -XaddExpots:java.base/sun.security.x509=ALL-UNNAMED otherwise, looks okay. Mandy From Alan.Bateman at oracle.com Mon Apr 4 18:42:39 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 4 Apr 2016 19:42:39 +0100 Subject: 8153370: Drop use of old style -XaddExports from tests In-Reply-To: References: <57026E5C.8080307@oracle.com> Message-ID: <5702B59F.5070206@oracle.com> On 04/04/2016 19:41, Mandy Chung wrote: > : > One typo s/addExpots/addExports/ > > test/sun/security/tools/keytool/autotest.sh > -XaddExpots:java.base/sun.security.x509=ALL-UNNAMED > > otherwise, looks okay. > Well spotted! That test is on the exclude list so this is why I didn't notice in test runs. -Alan From masayoshi.okutsu at oracle.com Mon Apr 4 23:24:08 2016 From: masayoshi.okutsu at oracle.com (Masayoshi Okutsu) Date: Tue, 5 Apr 2016 08:24:08 +0900 Subject: RFR 8152742: jlink --include-locales th fails with ArrayIndexOutOfBoundsException In-Reply-To: <0DB6334A-FB01-41BF-BE45-D252AE3729D0@oracle.com> References: <56FEE602.8010000@oracle.com> <0DB6334A-FB01-41BF-BE45-D252AE3729D0@oracle.com> Message-ID: <5702F798.1000103@oracle.com> +1 Masayoshi On 4/2/2016 8:40 AM, Mandy Chung wrote: >> On Apr 1, 2016, at 2:20 PM, Naoto Sato wrote: >> >> Hello, >> >> Please review the fix for the following issue: >> >> https://bugs.openjdk.java.net/browse/JDK-8152742 >> >> The fix is located at: >> >> http://cr.openjdk.java.net/~naoto/8152742/webrev.00/ > Looks okay to me. It?d be good to have Masayoshi to review it. > > Mandy > From Alan.Bateman at oracle.com Tue Apr 5 10:17:18 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 5 Apr 2016 11:17:18 +0100 Subject: JMH and JDK9 In-Reply-To: <57038495.40603@redhat.com> References: <56FBFA22.2060204@redhat.com> <56FBFB05.9050706@oracle.com> <56FBFCCD.1000704@oracle.com> <428721B0-47A4-453E-89C2-1D6CA09DEC75@oracle.com> <56FE29EE.1090801@oracle.com> <0C6C1D21-1592-426A-B9DE-33458FC90CF9@oracle.com> <57038495.40603@redhat.com> Message-ID: <570390AE.6050406@oracle.com> On 05/04/2016 10:25, Andrew Dinn wrote: > : > This is actually one example of a more general problem where both Java > EE components and Java EE applications need to employ classes which > extend the class set of a package currently bundled in a Jigsaw module. > > For example, as well as the common annotations classes there is also > package javax.transaction into which package the JDK inserts the 3 TX > Exception (RollbackException etc) classes but omits various other TX > classes such as Synchronization left for EE components to define -- for > more details see this dialogue between Sanne Grinovero and Alan > > http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-March/007156.html > > http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-March/007157.html > > Alan's advice is for EE containers to use -upgrademodule (or -Xpatch) > to override the classes provided in the JDK with the EE implementation > version. > > This is indeed a feasible workaround (EE container implementors should > probably be expected to understand the problem and solution). However, > this neglects the fact that there are also standalone uses of these EE > components The same applies to standalone usages of these EE components (no different to the app server case). There is more on this topic in JEP 261. > e.g. for unit testing or for applications which embed, say, > TX behaviour without employing a full EE container. The test case issue > is the most significant one here (although I am sure that EE component > devs will be unhappy about both) since requiring the general user to > understand and fix this problem is a different order of burden. > > I have asked Sanne to post a note about this to > jpms-spec-comments at openjdk.java.net for inclusion in the list of open > jigsaw issues to be considered by the implementors and expert group. I > think it is important to consider whether there are other ways we can > approach this problem. For example, would it be possible to provide an > escape clause in Jigsaw which allows stub modules such as this to be > tagged so that they can be automatically extended or replaced from the > classpath without needing any intervention on the command line? n.b. I > don't want an answer here but I want to be sure the problem is recorded > and addressed in the proper place. We recently updated JEP 261 proposing that "java.se" be the only java.* root module that is resolved when compiling code in the unnamed module or at runtime when the main class is loaded from the class path [1]. On the surface then it will "appear" to developers that the JDK does not have the EE components but from everything we've seen so far, then those EE components are usually on the class path anyway. -Alan. [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-April/007209.html From sgrinove at redhat.com Tue Apr 5 11:09:53 2016 From: sgrinove at redhat.com (Sanne Grinovero) Date: Tue, 5 Apr 2016 12:09:53 +0100 Subject: Unexpected ClassnotFoundException on reflective Class#getMethod In-Reply-To: <56FD057E.8060602@oracle.com> References: <56FC4E1C.3030301@oracle.com> <56FD057E.8060602@oracle.com> Message-ID: Hi Alan, thank you for the detailed response! I am reassured that there is a reasonable technical solution, yet this seems like quite a burden for end users of JavaSE embedding any of these popular libraries. I'll be looking forward to hear more about this, in the meantime I'll post my doubts to the Java Platform Module System EG. Thanks again, Sanne On Thu, Mar 31, 2016 at 12:09 PM, Alan Bateman wrote: > On 31/03/2016 11:20, Sanne Grinovero wrote: >> >> Thanks Alex, >> that clarifies a lot, I was just about to try with a different dependency. >> >> So this is not a reflection bug, but I'm just realising now that has >> quite significant impact on JavaEE: >> the Synchronization type is defined as public API of the specification >> [1]. >> >> Changing the JavaEE API isn't going to be very popular, so I guess the >> expectation is for >> containers to regularly override the modules? >> This won't affect just the regular EE application servers, as these >> APIs are often used also >> in standalone JavaSE applications, as many components of the JavaEE spec >> can >> be run in "standalone" or "embedded" modes. >> >> For example Hibernate will now have to require the application launcher to >> apply >> customizations to the JVM boot parameters, and probably so any other JPA >> implementation. >> >> 1 - >> http://docs.oracle.com/javaee/7/api/javax/transaction/Synchronization.html >> > Java EE implementations have always upgraded/replaced a number of APIs that > are "shared" with Java SE. The JSR-250 defined "Common Annotations" is > another example where Java SE defines a subset of the API and Java EE > implementations need the deploy with the full API. So there isn't anything > forcing anyone to change APIs, this is really just about how to compile or > run with the Java EE versions of these components. > > With JDK 8 and older then the only supported way of upgrading these > components was the Endorsed Standards Override Mechanism. It turns out that > this wasn't widely used and instead app servers and others have been putting > JAR files on the class path with these components. Incredibly this worked > even though it wasn't actually overriding the classes in the Java SE defined > subset. > > Moving to modules means that EE servers will need to deploy with the EE > versions of these modules. Adding the class path isn't going to work because > the module system will prohibit splitting packages between modules and the > class path. The way to do this is, as Alex mentioned, is the upgrade module > path. > > Patching will work too, at least to get something going. In this case you > can patch the java.transaction module with: > > -Xpatch:java.transaction=transaction-api_1.2.jar > > There aren't any additional packages exported in the EE version so > -XaddExports isn't neded. The equivalent with the Common Annotations would > need -XaddExports because the EE version has APIs in packages that Java SE > does not define. > > One final thing to mention is that there is a proposal in the works to not > resolve the EE modules when compiling code in the unnamed module or running > code where the initial class is on the class path. For existing deployments > then it would looking like that the JDK doesn't have the EE modules. This > isn't fully implemented in the current builds but it is a proposal that will > make migration to JDK 9 much easier for many. For those using the EE > components outside the context of an app server then it would mean using > `-addmods java.se.ee` so that all of the EE modules are resolved. I'm sure > there will be more on this topic soon. > > -Alan > > > > > > > > From Alan.Bateman at oracle.com Tue Apr 5 11:24:05 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 5 Apr 2016 12:24:05 +0100 Subject: Unexpected ClassnotFoundException on reflective Class#getMethod In-Reply-To: References: <56FC4E1C.3030301@oracle.com> <56FD057E.8060602@oracle.com> Message-ID: <5703A055.6030308@oracle.com> On 05/04/2016 12:09, Sanne Grinovero wrote: > Hi Alan, > thank you for the detailed response! I am reassured that there is a > reasonable technical solution, yet this seems like quite a burden for > end users of JavaSE embedding any of these popular libraries. > > I'll be looking forward to hear more about this, in the meantime I'll > post my doubts to the Java Platform Module System EG. I don't know if you saw the recent change to JEP 261 [1] but I think this should make things easier. -Alan [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-April/007209.html From sgrinove at redhat.com Tue Apr 5 11:34:10 2016 From: sgrinove at redhat.com (Sanne Grinovero) Date: Tue, 5 Apr 2016 12:34:10 +0100 Subject: The root modules when compiling code in the unnamed module or where the initial class is loaded from the class path In-Reply-To: <57025F07.2000503@oracle.com> References: <57025F07.2000503@oracle.com> Message-ID: Hi Alan, please note the troublesome package from JTA is named "javax.transaction", not "java.transaction". I really appreciate the effort to improve on this, but even just adding an "-addmods" parameter is a new requirement which will break all the tooling and IDEs out there: people expect to be able to jank on their favourite keyboard shortcut to launch unit tests after automated project imports, and see the tests running fine. It would be great if we could find a solution which doesn't need any parameters. I'm also skeptical that it is a good idea to have the platform switch some part of its implementation depending on which libraries and/or frameworks are going to be used; I realize this is not a new problem but maybe we have an opportunity here to fix that and avoid these complexities: It seems this issue is only affecting some specific packages which are being shared across JavaSE and JavaEE, would it not be nicer to cleanup this mess and incorporate the missing APIs into the JavaSE modules? I think there's no doubt that we would all highly prefer to have a single artifact for each package identity. Not least, I'll admit that it would be nice to no longer have to explicitly add basic APIs like JTA on the classpath and have them incorporated in the SE platform. The "bloating" of JavaSE would hardly still be a problem, since there's a modules system now :) Thanks, Sanne On Mon, Apr 4, 2016 at 1:33 PM, Alan Bateman wrote: > > Just an FYI that the "Root modules" section of JEP 261 has been updated with > a revised policy on the modules to resolve when compiling code in the > unnamed module, or at runtime when the main class is loaded from the class > path. > > The key point is that "java.se" will be the only java.* root and means that > the modules shared with Java EE won't be resolved by default. As a > remainder, the modules that are in the transitive closure of java.se.ee that > are not in the transitive closure of java.se are: > > java.activation > java.annotations.common > java.corba > java.transaction > java.xml.bind > java.xml.ws > > This should be a boon to Java EE servers and applications that have > historically being built or deployed with the EE versions of these modules. > It will be "as if" these modules don't exist in the JDK. > > On the other hand, applications that use types in any of these 6 modules, > and don't deploy with the EE versions of these components, will need to use > `-addmods` at compile-time or runtime to ensure that the modules are > resolved. > > This policy is not in place yet. We'll probably need to have it bake in jake > for a time before we bring it into JDK 9. > > -Alan > > [1] http://openjdk.java.net/jeps/261 From Alan.Bateman at oracle.com Tue Apr 5 12:18:31 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 5 Apr 2016 13:18:31 +0100 Subject: The root modules when compiling code in the unnamed module or where the initial class is loaded from the class path In-Reply-To: References: <57025F07.2000503@oracle.com> Message-ID: <5703AD17.3050508@oracle.com> On 05/04/2016 12:34, Sanne Grinovero wrote: > Hi Alan, > > please note the troublesome package from JTA is named > "javax.transaction", not "java.transaction". The list is my mail is module names rather not packages. In the case of JTA then the module is java.transaction and it exports javax.transaction. The types in package javax.transaction.xa don't come into the discussion as they have subsumed by the java.sql module and that will be resolved by default. > > I really appreciate the effort to improve on this, but even just > adding an "-addmods" parameter is a new requirement which will break > all the tooling and IDEs out there: people expect to be able to jank > on their favourite keyboard shortcut to launch unit tests after > automated project imports, and see the tests running fine. > It would be great if we could find a solution which doesn't need any parameters. The only types that Java SE defines in package javax.transaction are the exceptions required for mapping CORBA system exceptions to RMI exceptions. The Java Language to IDL mapping spec has more details on that topic. If there is a library or application that is only dependent on Java SE subset then that code would need to be compiled and run with `-addmods java.transaction`. On the other hand, if there is code using the EE version of JTA then I assume they must have java.transaction on the class path or deploying it via the endorsed standard mechanism today. The endorsed standard mechanism is gone, its replacement is the upgrade module path mechanism. So going forward with the proposal in JEP 261 then you can deploy JTA on the class path or as a module, the JDK won't care. So at least in the case of the types in package javax.transaction then we may find that few, if anyone, will notice. > > I'm also skeptical that it is a good idea to have the platform switch > some part of its implementation depending on which libraries and/or > frameworks are going to be used; I realize this is not a new problem > but maybe we have an opportunity here to fix that and avoid these > complexities: > > It seems this issue is only affecting some specific packages which are > being shared across JavaSE and JavaEE, would it not be nicer to > cleanup this mess and incorporate the missing APIs into the JavaSE > modules? or the opposite, which is jettison these APIs from Java SE and the JDK. That is something for the platform JSR of course. The only reason that Java SE defines types in package javax.transaction is because of CORBA. The only reason that Java SE defines a subset of the JSR-250 defined Common Annotations or includes the JavaBeans Activation Framework is because of the web services stack (JAXB and JAX-WS). > > I think there's no doubt that we would all highly prefer to have a > single artifact for each package identity. Not least, I'll admit that > it would be nice to no longer have to explicitly add basic APIs like > JTA on the classpath and have them incorporated in the SE platform. I don't know what you mean by "package identity" here but from the core platform perspective then APIs such as JTA shouldn't need to be defined by the core platform. Much better to deploy them as modules that declare their dependences and only export the packages with the APIs that they define. -Alan From alan.bateman at oracle.com Tue Apr 5 12:25:50 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 05 Apr 2016 12:25:50 +0000 Subject: hg: jigsaw/jake/jdk: 2 new changesets Message-ID: <201604051225.u35CPo9p023164@aojmv0008.oracle.com> Changeset: 0f3e3a81e5a2 Author: alanb Date: 2016-04-05 11:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0f3e3a81e5a2 Clean up -XaddExports usages in tests ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/registry/readTest/readTest.sh ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh ! test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh ! test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh ! test/sun/security/tools/jarsigner/ts.sh ! test/sun/security/tools/keytool/autotest.sh ! test/sun/security/tools/keytool/standard.sh Changeset: e042098416c3 Author: alanb Date: 2016-04-05 11:56 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e042098416c3 Skip post resolution checks when checked at link time ! 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/Resolver.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangModuleAccess.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java From Rony.Flatscher at wu.ac.at Tue Apr 5 16:46:07 2016 From: Rony.Flatscher at wu.ac.at (Rony G. Flatscher) Date: Tue, 5 Apr 2016 18:46:07 +0200 Subject: A little suggestion to ease understanding for newcomers even more... (Re: The State of the Module System: Automatic Edition In-Reply-To: <20160308164739.072139DEA4@eggemoggin.niobe.net> References: <20160308164739.072139DEA4@eggemoggin.niobe.net> Message-ID: <5703EBCF.5080903@wu.ac.at> Mark, the document is really very informative and helpful, very well done! Having lurked for quite some time at the fence of this (and the jdk9-dev) e-mail list there are quite a few terms, concepts that occur in the discussions, but which are either not mentioned at all or might need a little bit of further explanation in the document in order to ease the understanding for newcomers to the module system. Maybe adding a little "terms" addendum section at the end of the document for the following terms (some are explained in the document's main body already, however a brief explanation in the suggested terms addendum might be helpful in addition, maybe with a link to the section in the document where e.g. "automatic module" gets explained in detail) might ease newcomers the understanding of some of these e-mail discussions: * "adding a read edge" (why, how?) * "automatic module" (what is it?) * classloaders: which classloaders load what from where and why? o "bootstrap, extension, endorsed mechanisms" (brief purpose; gone? replaced by?) o "module upgrade path mechanism" (why, how?) * "layer API" (why, what do they allow for?) * "modulepath vs. classpath" (brief implications) * "observable" (what is it?) * "split package" (why, what is it?) * "unnamed module" (what is it?) * "upgradable modules" (why, what are they?) Please note, that these suggestions are meant to ease *newcomers* to understand these terms that get used in the various discussions not the experienced experts in this mailing group. [Maybe a clue/hint to the terms and relationships to each other for the terms "jdk9/dev" and "jigsaw/jake" would be helpful too for newcomers, who may feel lost by not being able to understand the terms and what they stand for immediately. As everyone in this list knows about them there are no clues given in the e-mail discussions about them and where to find them, hence difficult to understand/relate to for newcomers.] It would be great, if a single document would contain and explain all information relating to the new module system, hence suggesting such an addendum (appendix) section to the current document. ---rony P.S.: Another idea would be to add another (appendix) section at the end of the document that explains all the new "javac" and "java" switches introduced for the module system (problem and sytnax that each new switch helps solve). Again, it would probably suffice to give brief explanations, definitions (what module related problems can be solved with which switch). On 08.03.2016 17:47, mark.reinhold at oracle.com wrote: > I've posted an update to the State of the Module System document [1]. > > The main change in this edition is the introduction of material on > compatibility and migration, including automatic modules [2]. This > update also revises the description of reflective readability [3], > reorders the text to improve the flow of the narrative, and is > organized into a two-level hierarchy of sections and subsections > for easier navigation. > > Comments and discussion are welcome here on jigsaw-dev but, as usual, > the best way to ensure that the EG sees any specific comment is to > send it to the EG's "suggestion box" list, jpms-spec-comments [4]. > > - Mark > > > [1] http://openjdk.java.net/projects/jigsaw/spec/sotms/ > [2] http://openjdk.java.net/projects/jigsaw/spec/sotms/#compatibility--migration > [3] http://openjdk.java.net/projects/jigsaw/spec/sotms/#reflective-readability > [4] http://mail.openjdk.java.net/mailman/listinfo/jpms-spec-comments From Alan.Bateman at oracle.com Tue Apr 5 20:33:31 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 5 Apr 2016 21:33:31 +0100 Subject: 8153538: module java.httpclient should not be in java.compact3 Message-ID: <5704211B.7000301@oracle.com> The new http client API is module java.httpclient. It was added to the java.compact3 aggregator during a merge when it should have been added to java.se. Attached is the patch to move it. I plan to push this via jdk9/dev. -Alan diff --git a/src/java.compact3/share/classes/module-info.java b/src/java.compact3/share/classes/module-info.java --- a/src/java.compact3/share/classes/module-info.java +++ b/src/java.compact3/share/classes/module-info.java @@ -26,7 +26,6 @@ module java.compact3 { requires public java.compact2; requires public java.compiler; - requires public java.httpclient; requires public java.instrument; requires public java.management; requires public java.naming; diff --git a/src/java.se/share/classes/module-info.java b/src/java.se/share/classes/module-info.java --- a/src/java.se/share/classes/module-info.java +++ b/src/java.se/share/classes/module-info.java @@ -27,4 +27,5 @@ requires public java.compact3; requires public java.datatransfer; requires public java.desktop; + requires public java.httpclient; } From mandy.chung at oracle.com Tue Apr 5 21:50:17 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 5 Apr 2016 14:50:17 -0700 Subject: 8153538: module java.httpclient should not be in java.compact3 In-Reply-To: <5704211B.7000301@oracle.com> References: <5704211B.7000301@oracle.com> Message-ID: <1352941A-C480-4C18-A85E-CAC523BB0713@oracle.com> +1 Mandy > On Apr 5, 2016, at 1:33 PM, Alan Bateman wrote: > > > The new http client API is module java.httpclient. It was added to the java.compact3 aggregator during a merge when it should have been added to java.se. Attached is the patch to move it. I plan to push this via jdk9/dev. > > -Alan > > > diff --git a/src/java.compact3/share/classes/module-info.java b/src/java.compact3/share/classes/module-info.java > --- a/src/java.compact3/share/classes/module-info.java > +++ b/src/java.compact3/share/classes/module-info.java > @@ -26,7 +26,6 @@ > module java.compact3 { > requires public java.compact2; > requires public java.compiler; > - requires public java.httpclient; > requires public java.instrument; > requires public java.management; > requires public java.naming; > diff --git a/src/java.se/share/classes/module-info.java b/src/java.se/share/classes/module-info.java > --- a/src/java.se/share/classes/module-info.java > +++ b/src/java.se/share/classes/module-info.java > @@ -27,4 +27,5 @@ > requires public java.compact3; > requires public java.datatransfer; > requires public java.desktop; > + requires public java.httpclient; > } > From volker.simonis at gmail.com Wed Apr 6 08:55:20 2016 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 6 Apr 2016 10:55:20 +0200 Subject: Build jigsaw ans jdk9 ea builds with '--with-version-patch=1' Message-ID: Hi, I would highly recommend to build the jigsaw andjdk9 ea builds with '--with-version-patch=1'. This will result in a java.version of the form "9.0.0.1-..." and give people a chance to "really" test the new Java versioning scheme. Otherwise they will only detect potential problems with the first update version, which will be the first one to have a more complex version number. Currently, the Java version is simply "9" which is the short hand form of "9.0.0.0" and people are only testing their old code with this simplified version number. But you don't see problems like for example "8149519: Investigate implementation of java.specification.version" [1] as long as we only use the simplified version scheme. Regards, Volker [1] https://bugs.openjdk.java.net/browse/JDK-8149519 From ropalka at redhat.com Wed Apr 6 10:17:16 2016 From: ropalka at redhat.com (Richard Opalka) Date: Wed, 6 Apr 2016 12:17:16 +0200 Subject: JEP-238 & JEP-261 Coexistence Message-ID: <5704E22C.9020900@redhat.com> Hi Experts, I expected if users provide 'multirelease' jar file with modules-info.class placed in its META-INF/versions/9 folder would work without problems. But I'm getting: Caused by: java.lang.IllegalArgumentException: META-INF.versions.9: Invalid package name: Illegal character at index 4 instead. Does it mean JEP238 and JEP-261 cannot coexist? My jar content is: $>jar tf transactions.jar javax/ javax/annotation/ javax/annotation/security/ javax/annotation/security/PermitAll.class javax/annotation/security/DenyAll.class javax/annotation/security/DeclareRoles.class javax/annotation/security/RolesAllowed.class javax/annotation/security/RunAs.class javax/annotation/PostConstruct.class javax/annotation/sql/ javax/annotation/sql/DataSourceDefinition.class javax/annotation/sql/DataSourceDefinitions.class javax/annotation/ManagedBean.class javax/annotation/PreDestroy.class javax/annotation/Resources.class javax/annotation/Resource$AuthenticationType.class javax/annotation/Resource.class javax/annotation/Generated.class javax/annotation/Priority.class META-INF/ META-INF/MANIFEST.MF META-INF/versions/ META-INF/versions/9/ META-INF/versions/9/module-info.class META-INF/LICENSE.txt where javax resources are compiled for JDK8 and META-INF/MANIFEST.MF contains 'Multi-Release: true' entry. Thanks in advance for clarification. Rio From Alan.Bateman at oracle.com Wed Apr 6 10:34:23 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 6 Apr 2016 11:34:23 +0100 Subject: JEP-238 & JEP-261 Coexistence In-Reply-To: <5704E22C.9020900@redhat.com> References: <5704E22C.9020900@redhat.com> Message-ID: <5704E62F.9000106@oracle.com> On 06/04/2016 11:17, Richard Opalka wrote: > Hi Experts, > > I expected if users provide 'multirelease' jar file with > modules-info.class > placed in its META-INF/versions/9 folder would work without problems. > But I'm getting: > > Caused by: java.lang.IllegalArgumentException: META-INF.versions.9: > Invalid package name: Illegal character at index 4 > > instead. Does it mean JEP238 and JEP-261 cannot coexist? There isn't any support yet for modular JAR as multi-release JARs. It's tracked as JDK-8146486 with the main question being whether the compiled module declaration can be in the META-INF/versions tree or not. As things stand then a JAR file that does not have a module-info.class in the top level directory is assumed to be an automatic module so this is why it barps when trying to determine a package name from META-INF/versions/9. BTW: Just looking at the contents of your JAR file then it looks like this is the EE version of the Common Annotations. In that case you shouldn't need a multi-release JAR. Instead you should be able to put the module-info.class in the top level directory and deploy it on the upgrade module path. -Alan From ropalka at redhat.com Wed Apr 6 11:47:08 2016 From: ropalka at redhat.com (Richard Opalka) Date: Wed, 6 Apr 2016 13:47:08 +0200 Subject: JEP-238 & JEP-261 Coexistence In-Reply-To: <5704E62F.9000106@oracle.com> References: <5704E22C.9020900@redhat.com> <5704E62F.9000106@oracle.com> Message-ID: <5704F73C.2030502@redhat.com> Comments below: On 04/06/2016 12:34 PM, Alan Bateman wrote: > On 06/04/2016 11:17, Richard Opalka wrote: >> Hi Experts, >> >> I expected if users provide 'multirelease' jar file with >> modules-info.class >> placed in its META-INF/versions/9 folder would work without problems. >> But I'm getting: >> >> Caused by: java.lang.IllegalArgumentException: META-INF.versions.9: >> Invalid package name: Illegal character at index 4 >> >> instead. Does it mean JEP-238 and JEP-261 cannot coexist? > There isn't any support yet for modular JAR as multi-release JARs. > It's tracked as JDK-8146486 with the main question being whether the > compiled module declaration can be in the META-INF/versions tree or not. > > As things stand then a JAR file that does not have a module-info.class > in the top level directory is assumed to be an automatic module so > this is why it barps when trying to determine a package name from > META-INF/versions/9. IMHO it should be allowed to put module-info.class to META-INF/versions subtree as modules may evolve (their imports/exports) with different JDK versions. // My 2c. > > BTW: Just looking at the contents of your JAR file then it looks like > this is the EE version of the Common Annotations. In that case you > shouldn't need a multi-release JAR. Instead you should be able to put > the module-info.class in the top level directory and deploy it on the > upgrade module path. Yes I know. Our requirement is to support both JDK8 and JDK9 with the same jar. Thus in my experiments I have javax classes compiled for JDK8 and module-info.class for JDK9. Multi-Release jar was my first attempt, when it failed I did what you propose above Alan. > > -Alan Rio From Alan.Bateman at oracle.com Wed Apr 6 11:53:34 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 6 Apr 2016 12:53:34 +0100 Subject: JEP-238 & JEP-261 Coexistence In-Reply-To: <5704F73C.2030502@redhat.com> References: <5704E22C.9020900@redhat.com> <5704E62F.9000106@oracle.com> <5704F73C.2030502@redhat.com> Message-ID: <5704F8BE.4040408@oracle.com> On 06/04/2016 12:47, Richard Opalka wrote: >> >> BTW: Just looking at the contents of your JAR file then it looks like >> this is the EE version of the Common Annotations. In that case you >> shouldn't need a multi-release JAR. Instead you should be able to put >> the module-info.class in the top level directory and deploy it on the >> upgrade module path. > Yes I know. Our requirement is to support both JDK8 and JDK9 with the > same jar. > Thus in my experiments I have javax classes compiled for JDK8 and > module-info.class for JDK9. > Multi-Release jar was my first attempt, when it failed I did what you > propose above Alan. and did this work? In this case then I would expect the same JAR file should just work on the upgrade module path with JDK 9 or via the endorsed standard override mechanism with JDK 8. In the case of the latter then the module-info.class will be ignored. -Alan. From ropalka at redhat.com Wed Apr 6 12:04:16 2016 From: ropalka at redhat.com (Richard Opalka) Date: Wed, 6 Apr 2016 14:04:16 +0200 Subject: JEP-238 & JEP-261 Coexistence In-Reply-To: <5704F73C.2030502@redhat.com> References: <5704E22C.9020900@redhat.com> <5704E62F.9000106@oracle.com> <5704F73C.2030502@redhat.com> Message-ID: <5704FB40.90408@redhat.com> Clarification below: On 04/06/2016 01:47 PM, Richard Opalka wrote: > Comments below: > > On 04/06/2016 12:34 PM, Alan Bateman wrote: >> On 06/04/2016 11:17, Richard Opalka wrote: >>> Hi Experts, >>> >>> I expected if users provide 'multirelease' jar file with >>> modules-info.class >>> placed in its META-INF/versions/9 folder would work without problems. >>> But I'm getting: >>> >>> Caused by: java.lang.IllegalArgumentException: META-INF.versions.9: >>> Invalid package name: Illegal character at index 4 >>> >>> instead. Does it mean JEP-238 and JEP-261 cannot coexist? >> There isn't any support yet for modular JAR as multi-release JARs. >> It's tracked as JDK-8146486 with the main question being whether the >> compiled module declaration can be in the META-INF/versions tree or not. >> >> As things stand then a JAR file that does not have a >> module-info.class in the top level directory is assumed to be an >> automatic module so this is why it barps when trying to determine a >> package name from META-INF/versions/9. > IMHO it should be allowed to put module-info.class to META-INF/versions > subtree as modules may evolve (their imports/exports) with different > JDK versions. // My 2c. 'requires' module section may change with different JDKs if new useful API is introduced in JDK and it is used by the multirelease module (I mean change not affecting the multirelease jar exposed API) >> >> BTW: Just looking at the contents of your JAR file then it looks like >> this is the EE version of the Common Annotations. In that case you >> shouldn't need a multi-release JAR. Instead you should be able to put >> the module-info.class in the top level directory and deploy it on the >> upgrade module path. > Yes I know. Our requirement is to support both JDK8 and JDK9 with the > same jar. > Thus in my experiments I have javax classes compiled for JDK8 and > module-info.class for JDK9. > Multi-Release jar was my first attempt, when it failed I did what you > propose above Alan. >> >> -Alan > Rio Rio From ropalka at redhat.com Wed Apr 6 12:28:09 2016 From: ropalka at redhat.com (Richard Opalka) Date: Wed, 6 Apr 2016 14:28:09 +0200 Subject: JEP-238 & JEP-261 Coexistence In-Reply-To: <5704F8BE.4040408@oracle.com> References: <5704E22C.9020900@redhat.com> <5704E62F.9000106@oracle.com> <5704F73C.2030502@redhat.com> <5704F8BE.4040408@oracle.com> Message-ID: <570500D9.20504@redhat.com> Comments below: On 04/06/2016 01:53 PM, Alan Bateman wrote: > On 06/04/2016 12:47, Richard Opalka wrote: > >>> >>> BTW: Just looking at the contents of your JAR file then it looks >>> like this is the EE version of the Common Annotations. In that case >>> you shouldn't need a multi-release JAR. Instead you should be able >>> to put the module-info.class in the top level directory and deploy >>> it on the upgrade module path. >> Yes I know. Our requirement is to support both JDK8 and JDK9 with the >> same jar. >> Thus in my experiments I have javax classes compiled for JDK8 and >> module-info.class for JDK9. >> Multi-Release jar was my first attempt, when it failed I did what you >> propose above Alan. > and did this work? In this case then I would expect the same JAR file > should just work on the upgrade module path with JDK 9 or via the > endorsed standard override mechanism with JDK 8. In the case of the > latter then the module-info.class will be ignored. Yes, it worked for the usecase (PoC) I'm testing ATM. My next attempt will be to leverage our testsuite FW and test it on both JDK8 and JDK9. > > -Alan. Rio From alan.bateman at oracle.com Wed Apr 6 18:30:58 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 06 Apr 2016 18:30:58 +0000 Subject: hg: jigsaw/jake/jdk: Use java.se as root instead of java.se.ee Message-ID: <201604061830.u36IUwfX014408@aojmv0008.oracle.com> Changeset: a63085ee8347 Author: alanb Date: 2016-04-06 19:30 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a63085ee8347 Use java.se as root instead of java.se.ee ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! test/ProblemList.txt ! test/com/sun/corba/5036554/TestCorbaBug.sh ! test/com/sun/corba/7130985/CorbaExceptionsCompileTest.java ! test/com/sun/corba/se/impl/io/HookPutFieldsTest.java ! test/com/sun/corba/se/impl/orb/SetDefaultORBTest.java ! test/javax/crypto/Cipher/CipherStreamClose.java ! test/javax/rmi/PortableRemoteObject/ConcurrentHashMapTest.java ! test/javax/xml/soap/XmlTest.java ! test/javax/xml/soap/spi/SAAJFactoryTest.java ! test/javax/xml/ws/8043129/MailTest.java ! test/javax/xml/ws/clientjar/TestWsImport.java ! test/javax/xml/ws/publish/WSTest.java ! test/javax/xml/ws/xsanymixed/Test.java ! test/sun/security/pkcs11/KeyStore/SecretKeysBasic.java ! test/sun/security/provider/PolicyFile/Modules.java From dawid.weiss at gmail.com Thu Apr 7 09:40:33 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Thu, 7 Apr 2016 11:40:33 +0200 Subject: Unexpected ClassnotFoundException on reflective Class#getMethod In-Reply-To: <5703A055.6030308@oracle.com> References: <56FC4E1C.3030301@oracle.com> <56FD057E.8060602@oracle.com> <5703A055.6030308@oracle.com> Message-ID: > thank you for the detailed response! I am reassured that there is a > reasonable technical solution, yet this seems like quite a burden for > end users of JavaSE embedding any of these popular libraries. I just hit the same issue with JBoss RestEasy. We have an embedded server (not EE class, a simple servlet with some web services exposed), but RestEasy relies on annotations in jaxrs (javax.annotation.*, javax.ws.rs.*). I tried to somehow make it work, but failed so far. Please correct me if I'm wrong, but from my investigation of this list archives it seems that it's impossible to simply "add" the JAR with the missing annotations to classpath? I need to compile those annotations to a module and then add the module, right? If so then it makes it extra difficult to have an interoperable build script (and tests) for Java 8 and 9. Dawid On Tue, Apr 5, 2016 at 1:24 PM, Alan Bateman wrote: > On 05/04/2016 12:09, Sanne Grinovero wrote: >> >> Hi Alan, >> thank you for the detailed response! I am reassured that there is a >> reasonable technical solution, yet this seems like quite a burden for >> end users of JavaSE embedding any of these popular libraries. >> >> I'll be looking forward to hear more about this, in the meantime I'll >> post my doubts to the Java Platform Module System EG. > > I don't know if you saw the recent change to JEP 261 [1] but I think this > should make things easier. > > -Alan > > [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-April/007209.html From dawid.weiss at gmail.com Thu Apr 7 10:26:58 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Thu, 7 Apr 2016 12:26:58 +0200 Subject: Unexpected ClassnotFoundException on reflective Class#getMethod In-Reply-To: References: <56FC4E1C.3030301@oracle.com> <56FD057E.8060602@oracle.com> <5703A055.6030308@oracle.com> Message-ID: Ok, got it to work by patching the default module this package comes from: -Xpatch:java.annotations.common=mods\javax.annotation.priority at 1.0.jar The name of the module was kind of misleading (different than packages inside). I kept trying to patch javax.annotation... also, I couldn't get it to work with upgrademodulepath, no matter how hard I tried (copied java.annotations.common.jmod verbatim, created a modular jar out of it). Everything falls to pieces with: > java -upgrademodulepath mods -cp . Test Error occurred during initialization of VM java.lang.module.ResolutionException: Unable to compute the hash of module java.base at java.lang.module.Resolver.fail(java.base at 9-ea/Resolver.java:796) at java.lang.module.Resolver.checkHashes(java.base at 9-ea/Resolver.java:457) at java.lang.module.Resolver.finish(java.base at 9-ea/Resolver.java:274) at java.lang.module.Configuration.(java.base at 9-ea/Configuration.java:187) at java.lang.module.Configuration.resolveRequiresAndUses(java.base at 9-ea/Configuration.java:346) at jdk.internal.module.ModuleBootstrap.boot(java.base at 9-ea/ModuleBootstrap.java:217) at java.lang.System.initPhase2(java.base at 9-ea/System.java:1916) Dawid On Thu, Apr 7, 2016 at 11:40 AM, Dawid Weiss wrote: >> thank you for the detailed response! I am reassured that there is a >> reasonable technical solution, yet this seems like quite a burden for >> end users of JavaSE embedding any of these popular libraries. > > I just hit the same issue with JBoss RestEasy. We have an embedded > server (not EE class, a simple servlet with some web services > exposed), but RestEasy relies on annotations in jaxrs > (javax.annotation.*, javax.ws.rs.*). I tried to somehow make it work, > but failed so far. Please correct me if I'm wrong, but from my > investigation of this list archives it seems that it's impossible to > simply "add" the JAR with the missing annotations to classpath? I need > to compile those annotations to a module and then add the module, > right? > > If so then it makes it extra difficult to have an interoperable build > script (and tests) for Java 8 and 9. > > Dawid > > > On Tue, Apr 5, 2016 at 1:24 PM, Alan Bateman wrote: >> On 05/04/2016 12:09, Sanne Grinovero wrote: >>> >>> Hi Alan, >>> thank you for the detailed response! I am reassured that there is a >>> reasonable technical solution, yet this seems like quite a burden for >>> end users of JavaSE embedding any of these popular libraries. >>> >>> I'll be looking forward to hear more about this, in the meantime I'll >>> post my doubts to the Java Platform Module System EG. >> >> I don't know if you saw the recent change to JEP 261 [1] but I think this >> should make things easier. >> >> -Alan >> >> [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-April/007209.html From Alan.Bateman at oracle.com Thu Apr 7 10:46:15 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 7 Apr 2016 11:46:15 +0100 Subject: Unexpected ClassnotFoundException on reflective Class#getMethod In-Reply-To: References: <56FC4E1C.3030301@oracle.com> <56FD057E.8060602@oracle.com> <5703A055.6030308@oracle.com> Message-ID: <57063A77.9040905@oracle.com> On 07/04/2016 10:40, Dawid Weiss wrote: > I just hit the same issue with JBoss RestEasy. We have an embedded > server (not EE class, a simple servlet with some web services > exposed), but RestEasy relies on annotations in jaxrs > (javax.annotation.*, javax.ws.rs.*). I tried to somehow make it work, > but failed so far. Please correct me if I'm wrong, but from my > investigation of this list archives it seems that it's impossible to > simply "add" the JAR with the missing annotations to classpath? I need > to compile those annotations to a module and then add the module, > right? > Right, no splitting of package javax.annotation between the class path and module java.annotations.common (the Java SE subset of the JSR-250 defined "Common Annotations"). To upgrade/override this to the EE version means requires deploying the EE version as a module -upgrademodulepath. As you've read in the various threads, we are trying to get to the point where the 6 modules shared with Java EE are not resolved by default. When we get there then you should be able to put a JAR file on the class path with javax.annotation.* types and it should work as there will be no overlapping with packages in modules. Alternatively, deploy the EE version of module java.annotations.common on the module path, that will work too. -Alan From Alan.Bateman at oracle.com Thu Apr 7 10:55:13 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 7 Apr 2016 11:55:13 +0100 Subject: Unexpected ClassnotFoundException on reflective Class#getMethod In-Reply-To: References: <56FC4E1C.3030301@oracle.com> <56FD057E.8060602@oracle.com> <5703A055.6030308@oracle.com> Message-ID: <57063C91.4020504@oracle.com> On 07/04/2016 11:26, Dawid Weiss wrote: > Ok, got it to work by patching the default module this package comes from: > > -Xpatch:java.annotations.common=mods\javax.annotation.priority at 1.0.jar I'm curious what the following lists for you: java -Xpatch:java.annotations.common=mods/javax.annotation.priority at 1.0.jar -listmods:java.annotations.common The EE version of this API has additional package such as javax.annotation.security and javax.annotation.sql. If your JAR file has those then they will not be exported by default and so you might also need to run with -XaddExports. In any case, the right way to deploy with the upgraded version is: -upgrademodulepath mods/javax.annotation at 1.2.jar where the JAR file has a compiled module declaration to declare the module, its dependences, and exports. > > The name of the module was kind of misleading (different than packages > inside). The naming is unfortunate but that is what JSR-250 claims to be be. > I kept trying to patch javax.annotation... also, I couldn't > get it to work with upgrademodulepath, no matter how hard I tried > (copied java.annotations.common.jmod verbatim, created a modular jar > out of it). Everything falls to pieces with: > >> java -upgrademodulepath mods -cp . Test > Error occurred during initialization of VM > java.lang.module.ResolutionException: Unable to compute the hash of > module java.base > at java.lang.module.Resolver.fail(java.base at 9-ea/Resolver.java:796) > at java.lang.module.Resolver.checkHashes(java.base at 9-ea/Resolver.java:457) > at java.lang.module.Resolver.finish(java.base at 9-ea/Resolver.java:274) > at java.lang.module.Configuration.(java.base at 9-ea/Configuration.java:187) > at java.lang.module.Configuration.resolveRequiresAndUses(java.base at 9-ea/Configuration.java:346) > at jdk.internal.module.ModuleBootstrap.boot(java.base at 9-ea/ModuleBootstrap.java:217) > at java.lang.System.initPhase2(java.base at 9-ea/System.java:1916) > Hacking the packaged modules will fall foul of integrity checks. This suggests to me that you didn't actually create or compile a module-info.java. -Alan From jan.lahoda at oracle.com Thu Apr 7 11:06:38 2016 From: jan.lahoda at oracle.com (jan.lahoda at oracle.com) Date: Thu, 07 Apr 2016 11:06:38 +0000 Subject: hg: jigsaw/jake/langtools: 8152958: Update javac to implement new policy to not resolve the EE modules Message-ID: <201604071106.u37B6cwx021500@aojmv0008.oracle.com> Changeset: 2e84845719f1 Author: jlahoda Date: 2016-04-07 13:03 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2e84845719f1 8152958: Update javac to implement new policy to not resolve the EE modules Summary: Changing root modules set for unnamed module compilation to adhere to runtime approach. ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/modules/AddLimitMods.java ! test/tools/javac/processing/model/testgetallmembers/Main.java From dawid.weiss at gmail.com Thu Apr 7 11:25:05 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Thu, 7 Apr 2016 13:25:05 +0200 Subject: Unexpected ClassnotFoundException on reflective Class#getMethod In-Reply-To: <57063C91.4020504@oracle.com> References: <56FC4E1C.3030301@oracle.com> <56FD057E.8060602@oracle.com> <5703A055.6030308@oracle.com> <57063C91.4020504@oracle.com> Message-ID: > I'm curious what the following lists for you: > > java > -Xpatch:java.annotations.common=mods/javax.annotation.priority at 1.0.jar > -listmods:java.annotations.common I noticed that patch JARs cannot have module-infos so a plain jar file with javax.annotation.Priority annotation inside would print: > java -Xpatch:java.annotations.common=mods/javax.annotation.priority at 1.0.jar -listmods:java.annotations.common java.annotations.common at 9-ea requires mandated java.base exports javax.annotation And this works as expected, that is the Priority class is found properly: > java -Xpatch:java.annotations.common=mods/javax.annotation.priority at 1.0.jar -cp . Test Hello: interface javax.annotation.Priority Let me reorder your e-mail a bit here: > In any case, the right way to deploy with the upgraded version is: > > -upgrademodulepath mods/javax.annotation at 1.2.jar > > where the JAR file has a compiled module declaration to declare the module, > its dependences, and exports. I did create the module info, but I failed to recognize the fact that the name of the module needs to be identical to the one it upgrades (rather than just cover the exported package). My bad, rookie mistake. module javax.annotation.priority { exports javax.annotation; } Tried again, it works. By the way -- jar's help says upgrademodulepath are directories, it's useful to know they can be exact file pointers too. -upgrademodulepath ... A ; separated list of directories, each directory is a directory of modules that replace upgradeable modules in the runtime image > Hacking the packaged modules will fall foul of integrity checks. This > suggests to me that you didn't actually create or compile a > module-info.java. I did. But I also wanted some sanity check so I opened java.annotations.common.jmod and copied everything from classes/* to another zip file (java.annotations.common.jar). I notice there are sha checksums inside module-info.class, but these files are identical and they still produce the same error: Error occurred during initialization of VM java.lang.module.ResolutionException: Unable to compute the hash of module java.base Probably the hashes are computed based on something else than file content alone (?). Thanks for help, Alan. I think I have a better understanding of how it all fits together now. Dawid From dawid.weiss at gmail.com Thu Apr 7 11:39:20 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Thu, 7 Apr 2016 13:39:20 +0200 Subject: Proxy classes and reflection (IllegalAccessException) Message-ID: I don't want to hijack the other thread, so here's a new one I'm stuck with. I get this exception (simplified stack trace a bit): Caused by: java.lang.IllegalAccessException: class org.jboss.resteasy.core.ContextParameterInjector cannot access class com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed module @79ca92b9 at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) at sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) at java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) at java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) at org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) ... 53 more I think RestEasy attempts to do create a new instance of a proxy class here (the complete process here eludes my understanding for now). Any clues how this can be solved? Dawid From Alan.Bateman at oracle.com Thu Apr 7 11:43:05 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 7 Apr 2016 12:43:05 +0100 Subject: Unexpected ClassnotFoundException on reflective Class#getMethod In-Reply-To: References: <56FC4E1C.3030301@oracle.com> <56FD057E.8060602@oracle.com> <5703A055.6030308@oracle.com> <57063C91.4020504@oracle.com> Message-ID: <570647C9.8080107@oracle.com> On 07/04/2016 12:25, Dawid Weiss wrote: > > Tried again, it works. By the way -- jar's help says upgrademodulepath > are directories, it's useful to know they can be exact file pointers > too. > > -upgrademodulepath ... > A ; separated list of directories, each directory > is a directory of modules that replace upgradeable > modules in the runtime image That is java usage output but you are right, it wasn't updated. We'll get that fixed. > : > I did. But I also wanted some sanity check so I opened > java.annotations.common.jmod and copied everything from classes/* to > another zip file (java.annotations.common.jar). I notice there are sha > checksums inside module-info.class, but these files are identical and > they still produce the same error: > > Error occurred during initialization of VM > java.lang.module.ResolutionException: Unable to compute the hash of > module java.base > > Probably the hashes are computed based on something else than file > content alone (?). The hashes are computed from the packaged modules (JMODs or modular JARs). The "Unable to compute ..." here is because the hashes checked at link time but aren't saved in the runtime image. There is a big refresh of the integrity checks come that will clean this up. -Alan. From Alan.Bateman at oracle.com Thu Apr 7 12:05:52 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 7 Apr 2016 13:05:52 +0100 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: Message-ID: <57064D20.6080300@oracle.com> On 07/04/2016 12:39, Dawid Weiss wrote: > I don't want to hijack the other thread, so here's a new one I'm stuck > with. I get this exception (simplified stack trace a bit): > > Caused by: java.lang.IllegalAccessException: class > org.jboss.resteasy.core.ContextParameterInjector cannot access class > com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because > module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed > module @79ca92b9 > at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) > at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) > at sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) > at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) > at java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) > at java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) > at org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) > ... 53 more > > I think RestEasy attempts to do create a new instance of a proxy class > here (the complete process here eludes my understanding for now). Any > clues how this can be solved? I assume it should be using newProxyInstance rather that trying to instantiate the proxy class directly. The reason it can't instantiate it directly is because it has been generated into a "dynamic module" (jdk.proxy2 in this case). I assume you'll find that the proxy was created with an interface that is not in an exported package. The "Package and Module Membership of Proxy Class" and "Dynamic Modules" sections of the Proxy javadoc [1] has all the details. -Alan. [1] http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html From stef at epardaud.fr Thu Apr 7 12:13:23 2016 From: stef at epardaud.fr (Stephane Epardaud) Date: Thu, 7 Apr 2016 14:13:23 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <57064D20.6080300@oracle.com> References: <57064D20.6080300@oracle.com> Message-ID: <57064EE3.2080201@epardaud.fr> IIRC RestEasy needs to add a module read to that Class's module it wants to create a Proxy of. On 07/04/16 14:05, Alan Bateman wrote: > On 07/04/2016 12:39, Dawid Weiss wrote: >> I don't want to hijack the other thread, so here's a new one I'm stuck >> with. I get this exception (simplified stack trace a bit): >> >> Caused by: java.lang.IllegalAccessException: class >> org.jboss.resteasy.core.ContextParameterInjector cannot access class >> com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because >> module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed >> module @79ca92b9 >> at >> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) >> at >> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) >> at >> sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) >> at >> java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) >> at >> java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) >> at >> java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) >> at >> org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) >> ... 53 more >> >> I think RestEasy attempts to do create a new instance of a proxy class >> here (the complete process here eludes my understanding for now). Any >> clues how this can be solved? > I assume it should be using newProxyInstance rather that trying to > instantiate the proxy class directly. The reason it can't instantiate > it directly is because it has been generated into a "dynamic module" > (jdk.proxy2 in this case). I assume you'll find that the proxy was > created with an interface that is not in an exported package. > > The "Package and Module Membership of Proxy Class" and "Dynamic > Modules" sections of the Proxy javadoc [1] has all the details. > > -Alan. > > [1] > http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html > > From alan.bateman at oracle.com Thu Apr 7 12:22:44 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 07 Apr 2016 12:22:44 +0000 Subject: hg: jigsaw/jake/jdk: Update smartcardio tests for new roots policy Message-ID: <201604071222.u37CMi7n026245@aojmv0008.oracle.com> Changeset: 8ff8c4fe9864 Author: alanb Date: 2016-04-07 13:22 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8ff8c4fe9864 Update smartcardio tests for new roots policy ! test/com/sun/net/httpserver/bugs/B6373555.java ! test/javax/smartcardio/CommandAPDUTest.java ! test/javax/smartcardio/HistoricalBytes.java ! test/javax/smartcardio/ResponseAPDUTest.java ! test/javax/smartcardio/Serialize.java ! test/javax/smartcardio/TerminalFactorySpiTest.java ! test/javax/smartcardio/TestCardPermission.java ! test/javax/smartcardio/TestCommandAPDU.java From njbartlett at gmail.com Thu Apr 7 12:25:32 2016 From: njbartlett at gmail.com (Neil Bartlett) Date: Thu, 7 Apr 2016 13:25:32 +0100 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <57064EE3.2080201@epardaud.fr> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> Message-ID: <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> Stephane, I don?t think that would help since the package is not exported: "module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2?. Regards, Neil > On 7 Apr 2016, at 13:13, Stephane Epardaud wrote: > > IIRC RestEasy needs to add a module read to that Class's module it wants to create a Proxy of. > > On 07/04/16 14:05, Alan Bateman wrote: >> On 07/04/2016 12:39, Dawid Weiss wrote: >>> I don't want to hijack the other thread, so here's a new one I'm stuck >>> with. I get this exception (simplified stack trace a bit): >>> >>> Caused by: java.lang.IllegalAccessException: class >>> org.jboss.resteasy.core.ContextParameterInjector cannot access class >>> com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because >>> module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed >>> module @79ca92b9 >>> at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) >>> at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) >>> at sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) >>> at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) >>> at java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) >>> at java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) >>> at org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) >>> ... 53 more >>> >>> I think RestEasy attempts to do create a new instance of a proxy class >>> here (the complete process here eludes my understanding for now). Any >>> clues how this can be solved? >> I assume it should be using newProxyInstance rather that trying to instantiate the proxy class directly. The reason it can't instantiate it directly is because it has been generated into a "dynamic module" (jdk.proxy2 in this case). I assume you'll find that the proxy was created with an interface that is not in an exported package. >> >> The "Package and Module Membership of Proxy Class" and "Dynamic Modules" sections of the Proxy javadoc [1] has all the details. >> >> -Alan. >> >> [1] http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html >> >> > From alan.bateman at oracle.com Thu Apr 7 12:51:06 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 07 Apr 2016 12:51:06 +0000 Subject: hg: jigsaw/jake/jdk: Two additional tests using java.xml.ws Message-ID: <201604071251.u37Cp6F6008253@aojmv0008.oracle.com> Changeset: e4a541d88da3 Author: alanb Date: 2016-04-07 13:50 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e4a541d88da3 Two additional tests using java.xml.ws ! test/javax/xml/soap/spi/SAAJFactoryTest.java ! test/sun/security/provider/PolicyFile/Modules.java From stef at epardaud.fr Thu Apr 7 13:02:28 2016 From: stef at epardaud.fr (Stephane Epardaud) Date: Thu, 7 Apr 2016 15:02:28 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> Message-ID: <57065A64.3000801@epardaud.fr> No, you have to add a read to the module of the class you're proxying, not com.sun.proxy. That'd be your application's module. On 07/04/16 14:25, Neil Bartlett wrote: > Stephane, I don?t think that would help since the package is not exported: "module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2?. > > Regards, > Neil > >> On 7 Apr 2016, at 13:13, Stephane Epardaud wrote: >> >> IIRC RestEasy needs to add a module read to that Class's module it wants to create a Proxy of. >> >> On 07/04/16 14:05, Alan Bateman wrote: >>> On 07/04/2016 12:39, Dawid Weiss wrote: >>>> I don't want to hijack the other thread, so here's a new one I'm stuck >>>> with. I get this exception (simplified stack trace a bit): >>>> >>>> Caused by: java.lang.IllegalAccessException: class >>>> org.jboss.resteasy.core.ContextParameterInjector cannot access class >>>> com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because >>>> module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed >>>> module @79ca92b9 >>>> at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) >>>> at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) >>>> at sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) >>>> at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) >>>> at java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) >>>> at java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) >>>> at org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) >>>> ... 53 more >>>> >>>> I think RestEasy attempts to do create a new instance of a proxy class >>>> here (the complete process here eludes my understanding for now). Any >>>> clues how this can be solved? >>> I assume it should be using newProxyInstance rather that trying to instantiate the proxy class directly. The reason it can't instantiate it directly is because it has been generated into a "dynamic module" (jdk.proxy2 in this case). I assume you'll find that the proxy was created with an interface that is not in an exported package. >>> >>> The "Package and Module Membership of Proxy Class" and "Dynamic Modules" sections of the Proxy javadoc [1] has all the details. >>> >>> -Alan. >>> >>> [1] http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html >>> >>> From Alan.Bateman at oracle.com Thu Apr 7 13:12:17 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 7 Apr 2016 14:12:17 +0100 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <57064EE3.2080201@epardaud.fr> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> Message-ID: <57065CB1.10003@oracle.com> On 07/04/2016 13:13, Stephane Epardaud wrote: > IIRC RestEasy needs to add a module read to that Class's module it > wants to create a Proxy of. It looks like RestEasy is an unnamed modules, maybe the class path, and as we all know here, unnamed modules reads all other modules. One thing to point out is that Constructor::newInstance assumes readability. In any case, the exception suggests the proxy is in a dynamic module so it can't be directly instantiated. All the details are in the javadoc. -Alan From forax at univ-mlv.fr Thu Apr 7 13:29:00 2016 From: forax at univ-mlv.fr (Remi Forax) Date: Thu, 7 Apr 2016 15:29:00 +0200 (CEST) Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <57065A64.3000801@epardaud.fr> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> Message-ID: <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> The problem is that RestEasy is using getProxyClass() which is deprecated in 9. RestEasy want to do a call to Constructor.newInstance on a constructor of the proxy class, and as Stephane said, RestEasy (which is in the unamed module in your case) do not have access to the proxy class which is in a dynamic module quote from the javadoc of j.l.r.Proxy " Dynamic Modules A dynamic module is a named module generated at runtime. A proxy class defined in a dynamic module is encapsulated and not accessible to any module. Calling Constructor.newInstance(Object...) on a proxy class in a dynamic module will throw IllegalAccessException; Proxy.newProxyInstance method should be used instead. " so the solution is easier to add a read edge in the code of RestEasy as Stephane said or to change the code of RestEasy to use newProxyInstance() instead. regards, R?mi ----- Mail original ----- > De: "Stephane Epardaud" > ?: jigsaw-dev at openjdk.java.net > Envoy?: Jeudi 7 Avril 2016 15:02:28 > Objet: Re: Proxy classes and reflection (IllegalAccessException) > > No, you have to add a read to the module of the class you're proxying, > not com.sun.proxy. That'd be your application's module. > > On 07/04/16 14:25, Neil Bartlett wrote: > > Stephane, I don?t think that would help since the package is not exported: > > "module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2?. > > > > Regards, > > Neil > > > >> On 7 Apr 2016, at 13:13, Stephane Epardaud wrote: > >> > >> IIRC RestEasy needs to add a module read to that Class's module it wants > >> to create a Proxy of. > >> > >> On 07/04/16 14:05, Alan Bateman wrote: > >>> On 07/04/2016 12:39, Dawid Weiss wrote: > >>>> I don't want to hijack the other thread, so here's a new one I'm stuck > >>>> with. I get this exception (simplified stack trace a bit): > >>>> > >>>> Caused by: java.lang.IllegalAccessException: class > >>>> org.jboss.resteasy.core.ContextParameterInjector cannot access class > >>>> com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because > >>>> module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed > >>>> module @79ca92b9 > >>>> at > >>>> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) > >>>> at > >>>> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) > >>>> at > >>>> sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) > >>>> at > >>>> java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) > >>>> at > >>>> java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) > >>>> at > >>>> java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) > >>>> at > >>>> org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) > >>>> ... 53 more > >>>> > >>>> I think RestEasy attempts to do create a new instance of a proxy class > >>>> here (the complete process here eludes my understanding for now). Any > >>>> clues how this can be solved? > >>> I assume it should be using newProxyInstance rather that trying to > >>> instantiate the proxy class directly. The reason it can't instantiate it > >>> directly is because it has been generated into a "dynamic module" > >>> (jdk.proxy2 in this case). I assume you'll find that the proxy was > >>> created with an interface that is not in an exported package. > >>> > >>> The "Package and Module Membership of Proxy Class" and "Dynamic Modules" > >>> sections of the Proxy javadoc [1] has all the details. > >>> > >>> -Alan. > >>> > >>> [1] > >>> http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html > >>> > >>> > > From kevin.rushforth at oracle.com Thu Apr 7 16:47:13 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 07 Apr 2016 09:47:13 -0700 Subject: [9] Review request: 8153754: Nashorn needs access to com.sun.javafx.application Message-ID: <57068F11.2080107@oracle.com> Jim L, Please review the following simple change to add the needed qualified exports: http://cr.openjdk.java.net/~kcr/8153754/webrev.00/ -- Kevin From sundararajan.athijegannathan at oracle.com Thu Apr 7 16:58:18 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Thu, 7 Apr 2016 22:28:18 +0530 Subject: [9] Review request: 8153754: Nashorn needs access to com.sun.javafx.application In-Reply-To: <57068F11.2080107@oracle.com> References: <57068F11.2080107@oracle.com> Message-ID: <570691AA.6020407@oracle.com> +1 On 4/7/2016 10:17 PM, Kevin Rushforth wrote: > Jim L, > > Please review the following simple change to add the needed qualified > exports: > > http://cr.openjdk.java.net/~kcr/8153754/webrev.00/ > > -- Kevin > From james.laskey at oracle.com Thu Apr 7 17:01:54 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Thu, 7 Apr 2016 14:01:54 -0300 Subject: [9] Review request: 8153754: Nashorn needs access to com.sun.javafx.application In-Reply-To: <57068F11.2080107@oracle.com> References: <57068F11.2080107@oracle.com> Message-ID: +1 > On Apr 7, 2016, at 1:47 PM, Kevin Rushforth wrote: > > Jim L, > > Please review the following simple change to add the needed qualified exports: > > http://cr.openjdk.java.net/~kcr/8153754/webrev.00/ > > -- Kevin > From dawid.weiss at gmail.com Thu Apr 7 17:48:34 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Thu, 7 Apr 2016 19:48:34 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> Message-ID: Thanks to everyone for contributing. Here's my quick summary: 1) "I assume it should be using newProxyInstance rather that trying to instantiate the proxy class directly." Let's assume I have no control over the code of RestEasy. Yes, I could patch it locally, but I imagine most people (including me) would want to stick to public versions and provide some other kinds of "external" workarounds (like magic switches to java) rather than fork X libraries and keep their custom versions up-to-date until they are fixed. 2) so the solution is easier to add a read edge in the code of RestEasy as Stephane said [...] Hmm... how do I add this "read edge"? And to what? Can -XaddExports or -XaddReads reference module jdk.proxy2? I think I tried to append addExports from jdk.proxy2 to unnamed modules but Java complained there is no such module (jdk.proxy2) to add exports to. Apologies if my questions are lame, sadly I didn't have time to try jigsaw before (or rather: everything worked pretty much fine in Lucene and other self-contained software I tried it on). This code I'm working on now is much more complex. Dawid On Thu, Apr 7, 2016 at 3:29 PM, Remi Forax wrote: > The problem is that RestEasy is using getProxyClass() which is deprecated in 9. > > RestEasy want to do a call to Constructor.newInstance on a constructor of the proxy class, > and as Stephane said, RestEasy (which is in the unamed module in your case) do not have access to the proxy class which is in a dynamic module > > quote from the javadoc of j.l.r.Proxy > " > Dynamic Modules > > A dynamic module is a named module generated at runtime. A proxy class defined in a dynamic module is encapsulated and not accessible to any module. Calling Constructor.newInstance(Object...) on a proxy class in a dynamic module will throw IllegalAccessException; Proxy.newProxyInstance method should be used instead. > " > > so the solution is easier to add a read edge in the code of RestEasy as Stephane said or to change the code of RestEasy to use newProxyInstance() instead. > > regards, > R?mi > > ----- Mail original ----- >> De: "Stephane Epardaud" >> ?: jigsaw-dev at openjdk.java.net >> Envoy?: Jeudi 7 Avril 2016 15:02:28 >> Objet: Re: Proxy classes and reflection (IllegalAccessException) >> >> No, you have to add a read to the module of the class you're proxying, >> not com.sun.proxy. That'd be your application's module. >> >> On 07/04/16 14:25, Neil Bartlett wrote: >> > Stephane, I don?t think that would help since the package is not exported: >> > "module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2?. >> > >> > Regards, >> > Neil >> > >> >> On 7 Apr 2016, at 13:13, Stephane Epardaud wrote: >> >> >> >> IIRC RestEasy needs to add a module read to that Class's module it wants >> >> to create a Proxy of. >> >> >> >> On 07/04/16 14:05, Alan Bateman wrote: >> >>> On 07/04/2016 12:39, Dawid Weiss wrote: >> >>>> I don't want to hijack the other thread, so here's a new one I'm stuck >> >>>> with. I get this exception (simplified stack trace a bit): >> >>>> >> >>>> Caused by: java.lang.IllegalAccessException: class >> >>>> org.jboss.resteasy.core.ContextParameterInjector cannot access class >> >>>> com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because >> >>>> module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed >> >>>> module @79ca92b9 >> >>>> at >> >>>> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) >> >>>> at >> >>>> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) >> >>>> at >> >>>> sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) >> >>>> at >> >>>> java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) >> >>>> at >> >>>> java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) >> >>>> at >> >>>> java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) >> >>>> at >> >>>> org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) >> >>>> ... 53 more >> >>>> >> >>>> I think RestEasy attempts to do create a new instance of a proxy class >> >>>> here (the complete process here eludes my understanding for now). Any >> >>>> clues how this can be solved? >> >>> I assume it should be using newProxyInstance rather that trying to >> >>> instantiate the proxy class directly. The reason it can't instantiate it >> >>> directly is because it has been generated into a "dynamic module" >> >>> (jdk.proxy2 in this case). I assume you'll find that the proxy was >> >>> created with an interface that is not in an exported package. >> >>> >> >>> The "Package and Module Membership of Proxy Class" and "Dynamic Modules" >> >>> sections of the Proxy javadoc [1] has all the details. >> >>> >> >>> -Alan. >> >>> >> >>> [1] >> >>> http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html >> >>> >> >>> >> >> From Alan.Bateman at oracle.com Thu Apr 7 18:17:30 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 7 Apr 2016 19:17:30 +0100 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> Message-ID: <5706A43A.2080902@oracle.com> On 07/04/2016 18:48, Dawid Weiss wrote: > Thanks to everyone for contributing. Here's my quick summary: > > 1) "I assume it should be using newProxyInstance rather that trying to > instantiate the proxy class directly." > Have you been able to establish what the proxy interfaces are? I think this would help this discuss the issue and should explain why the proxy is being generated in a dynamic module. -Alan. From dawid.weiss at gmail.com Thu Apr 7 18:30:05 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Thu, 7 Apr 2016 20:30:05 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <5706A43A.2080902@oracle.com> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706A43A.2080902@oracle.com> Message-ID: > Have you been able to establish what the proxy interfaces are? Considering the full stack trace I see they seem to be some internal initialization services. I'll have to clone the sources of the library and inject some code to debug it (or use runtime injection). I may try to do it tomorrow, it's been a long day. I'll let you know (and very likely ask for more help) once I find out! Dawid From mandy.chung at oracle.com Thu Apr 7 18:38:29 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 7 Apr 2016 11:38:29 -0700 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706A43A.2080902@oracle.com> Message-ID: > On Apr 7, 2016, at 11:30 AM, Dawid Weiss wrote: > >> Have you been able to establish what the proxy interfaces are? > > Considering the full stack trace I see they seem to be some internal > initialization services. I'll have to clone the sources of the library > and inject some code to debug it (or use runtime injection). I may try > to do it tomorrow, it's been a long day. I'll let you know (and very > likely ask for more help) once I find out! Can you also run with -Djdk.proxy.debug=debug that prints out the interfaces and the target module of the proxy class. Mandy From emmanuel at hibernate.org Thu Apr 7 18:44:27 2016 From: emmanuel at hibernate.org (Emmanuel Bernard) Date: Thu, 7 Apr 2016 20:44:27 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> Message-ID: <040D29A7-C333-4CDF-BA23-A5D673C30498@hibernate.org> Hey Dawid, Could you create an issue on the RestEasy tracker. That's useful feedback and we should fix it at the root sooner than later. > On 7 avr. 2016, at 19:48, Dawid Weiss wrote: > > Thanks to everyone for contributing. Here's my quick summary: > > 1) "I assume it should be using newProxyInstance rather that trying to > instantiate the proxy class directly." > > Let's assume I have no control over the code of RestEasy. Yes, I could > patch it locally, but I imagine most people (including me) would want to > stick to public versions and provide some other kinds of "external" workarounds > (like magic switches to java) rather than fork X libraries and keep > their custom versions up-to-date until they are fixed. > > 2) so the solution is easier to add a read edge in the code of > RestEasy as Stephane said [...] > > Hmm... how do I add this "read edge"? And to what? Can -XaddExports or > -XaddReads > reference module jdk.proxy2? I think I tried to append addExports from > jdk.proxy2 to unnamed modules but Java complained there is no such > module (jdk.proxy2) to add exports to. > > Apologies if my questions are lame, sadly I didn't have time to try > jigsaw before (or rather: everything worked pretty much fine in Lucene > and other self-contained software I tried it on). This code I'm > working on now is much more complex. > > Dawid > >> On Thu, Apr 7, 2016 at 3:29 PM, Remi Forax wrote: >> The problem is that RestEasy is using getProxyClass() which is deprecated in 9. >> >> RestEasy want to do a call to Constructor.newInstance on a constructor of the proxy class, >> and as Stephane said, RestEasy (which is in the unamed module in your case) do not have access to the proxy class which is in a dynamic module >> >> quote from the javadoc of j.l.r.Proxy >> " >> Dynamic Modules >> >> A dynamic module is a named module generated at runtime. A proxy class defined in a dynamic module is encapsulated and not accessible to any module. Calling Constructor.newInstance(Object...) on a proxy class in a dynamic module will throw IllegalAccessException; Proxy.newProxyInstance method should be used instead. >> " >> >> so the solution is easier to add a read edge in the code of RestEasy as Stephane said or to change the code of RestEasy to use newProxyInstance() instead. >> >> regards, >> R?mi >> >> ----- Mail original ----- >>> De: "Stephane Epardaud" >>> ?: jigsaw-dev at openjdk.java.net >>> Envoy?: Jeudi 7 Avril 2016 15:02:28 >>> Objet: Re: Proxy classes and reflection (IllegalAccessException) >>> >>> No, you have to add a read to the module of the class you're proxying, >>> not com.sun.proxy. That'd be your application's module. >>> >>>> On 07/04/16 14:25, Neil Bartlett wrote: >>>> Stephane, I don?t think that would help since the package is not exported: >>>> "module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2?. >>>> >>>> Regards, >>>> Neil >>>> >>>>> On 7 Apr 2016, at 13:13, Stephane Epardaud wrote: >>>>> >>>>> IIRC RestEasy needs to add a module read to that Class's module it wants >>>>> to create a Proxy of. >>>>> >>>>>> On 07/04/16 14:05, Alan Bateman wrote: >>>>>>> On 07/04/2016 12:39, Dawid Weiss wrote: >>>>>>> I don't want to hijack the other thread, so here's a new one I'm stuck >>>>>>> with. I get this exception (simplified stack trace a bit): >>>>>>> >>>>>>> Caused by: java.lang.IllegalAccessException: class >>>>>>> org.jboss.resteasy.core.ContextParameterInjector cannot access class >>>>>>> com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because >>>>>>> module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed >>>>>>> module @79ca92b9 >>>>>>> at >>>>>>> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) >>>>>>> at >>>>>>> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) >>>>>>> at >>>>>>> sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) >>>>>>> at >>>>>>> java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) >>>>>>> at >>>>>>> java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) >>>>>>> at >>>>>>> java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) >>>>>>> at >>>>>>> org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) >>>>>>> ... 53 more >>>>>>> >>>>>>> I think RestEasy attempts to do create a new instance of a proxy class >>>>>>> here (the complete process here eludes my understanding for now). Any >>>>>>> clues how this can be solved? >>>>>> I assume it should be using newProxyInstance rather that trying to >>>>>> instantiate the proxy class directly. The reason it can't instantiate it >>>>>> directly is because it has been generated into a "dynamic module" >>>>>> (jdk.proxy2 in this case). I assume you'll find that the proxy was >>>>>> created with an interface that is not in an exported package. >>>>>> >>>>>> The "Package and Module Membership of Proxy Class" and "Dynamic Modules" >>>>>> sections of the Proxy javadoc [1] has all the details. >>>>>> >>>>>> -Alan. >>>>>> >>>>>> [1] >>>>>> http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html >>> >>> From david.lloyd at redhat.com Thu Apr 7 20:22:12 2016 From: david.lloyd at redhat.com (David M. Lloyd) Date: Thu, 7 Apr 2016 15:22:12 -0500 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> Message-ID: <5706C174.6030103@redhat.com> Having the proxy class be public in most circumstances is a 15-plus-year-old contract. You can't justify breaking it out of the blue by saying "well it's deprecated now". Deprecating this method is fine, but you can't break it at the same time. There are two problems here, and they're both Jigsaw problems. The first problem is that a magic dynamic module is created for proxy classes. This is a bit of a punt because of the natural dissonance/chaos that arises from decoupling the module from the class loader; however there's possibly a better way to mitigate this: let the layer decide how to place the proxy class into a *real* module the same way that in the past, the proxy class was placed into the real class loader as a normal (usually public) class. The second problem is that the requirement for adding read edges all over the place for reflection is unreasonable (and has already been recognized as such by the EG). I'd argue that this should be completely generalized: read edges as a whole are not a good solution to the encapsulation problem; the "friend" package approach which has been proposed by myself and others has many clear advantages, not the least of which is to guarantee that "public" means "public" in all circumstances, and that encapsulation enforcement can be done by the JVM by the classic team of the bytecode verifier and the linker, which do this job well today for all non-public relationships. Fixing this problem not only means that the first problem essentially goes away (because public is public no matter what module it's in), but also that more powerful proxy classes could be constructed which have access to multiple non-public package classes, using the more elegant security mechanism. On 04/07/2016 08:29 AM, Remi Forax wrote: > The problem is that RestEasy is using getProxyClass() which is deprecated in 9. > > RestEasy want to do a call to Constructor.newInstance on a constructor of the proxy class, > and as Stephane said, RestEasy (which is in the unamed module in your case) do not have access to the proxy class which is in a dynamic module > > quote from the javadoc of j.l.r.Proxy > " > Dynamic Modules > > A dynamic module is a named module generated at runtime. A proxy class defined in a dynamic module is encapsulated and not accessible to any module. Calling Constructor.newInstance(Object...) on a proxy class in a dynamic module will throw IllegalAccessException; Proxy.newProxyInstance method should be used instead. > " > > so the solution is easier to add a read edge in the code of RestEasy as Stephane said or to change the code of RestEasy to use newProxyInstance() instead. > > regards, > R?mi > > ----- Mail original ----- >> De: "Stephane Epardaud" >> ?: jigsaw-dev at openjdk.java.net >> Envoy?: Jeudi 7 Avril 2016 15:02:28 >> Objet: Re: Proxy classes and reflection (IllegalAccessException) >> >> No, you have to add a read to the module of the class you're proxying, >> not com.sun.proxy. That'd be your application's module. >> >> On 07/04/16 14:25, Neil Bartlett wrote: >>> Stephane, I don?t think that would help since the package is not exported: >>> "module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2?. >>> >>> Regards, >>> Neil >>> >>>> On 7 Apr 2016, at 13:13, Stephane Epardaud wrote: >>>> >>>> IIRC RestEasy needs to add a module read to that Class's module it wants >>>> to create a Proxy of. >>>> >>>> On 07/04/16 14:05, Alan Bateman wrote: >>>>> On 07/04/2016 12:39, Dawid Weiss wrote: >>>>>> I don't want to hijack the other thread, so here's a new one I'm stuck >>>>>> with. I get this exception (simplified stack trace a bit): >>>>>> >>>>>> Caused by: java.lang.IllegalAccessException: class >>>>>> org.jboss.resteasy.core.ContextParameterInjector cannot access class >>>>>> com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because >>>>>> module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed >>>>>> module @79ca92b9 >>>>>> at >>>>>> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411) >>>>>> at >>>>>> sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402) >>>>>> at >>>>>> sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99) >>>>>> at >>>>>> java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355) >>>>>> at >>>>>> java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347) >>>>>> at >>>>>> java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444) >>>>>> at >>>>>> org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94) >>>>>> ... 53 more >>>>>> >>>>>> I think RestEasy attempts to do create a new instance of a proxy class >>>>>> here (the complete process here eludes my understanding for now). Any >>>>>> clues how this can be solved? >>>>> I assume it should be using newProxyInstance rather that trying to >>>>> instantiate the proxy class directly. The reason it can't instantiate it >>>>> directly is because it has been generated into a "dynamic module" >>>>> (jdk.proxy2 in this case). I assume you'll find that the proxy was >>>>> created with an interface that is not in an exported package. >>>>> >>>>> The "Package and Module Membership of Proxy Class" and "Dynamic Modules" >>>>> sections of the Proxy javadoc [1] has all the details. >>>>> >>>>> -Alan. >>>>> >>>>> [1] >>>>> http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html >>>>> >>>>> >> >> -- - DML From Alan.Bateman at oracle.com Thu Apr 7 20:47:26 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 7 Apr 2016 21:47:26 +0100 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <5706C174.6030103@redhat.com> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> Message-ID: <5706C75E.6030408@oracle.com> On 07/04/2016 21:22, David M. Lloyd wrote: > Having the proxy class be public in most circumstances is a > 15-plus-year-old contract. Proxy classes were specified to be public up to Java SE 7. There was a significant update in Java SE 8 to specify that the proxy classes be non-public when any of the interfaces is not public. The draft changes in JDK 9 is further evolution to specify the proxy class accessibility based on the least accessible interface. > : > > The first problem is that a magic dynamic module is created for proxy > classes. This is a bit of a punt because of the natural > dissonance/chaos that arises from decoupling the module from the class > loader; however there's possibly a better way to mitigate this: let > the layer decide how to place the proxy class into a *real* module the > same way that in the past, the proxy class was placed into the real > class loader as a normal (usually public) class. There are cases where the proxy class will be generated in the same package/module as the proxy interface. Hopefully the "Package and Module Membership of Proxy Class" section in the javadoc is clear on all the cases. > > > The second problem is that the requirement for adding read edges all > over the place for reflection is unreasonable (and has already been > recognized as such by the EG). This is #ReflectionWithoutReadability on the issues list and has already been resolved [1]. -Alan [1] http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2016-March/000248.html From felix.yang at oracle.com Fri Apr 8 07:52:20 2016 From: felix.yang at oracle.com (Felix Yang) Date: Fri, 8 Apr 2016 15:52:20 +0800 Subject: RFR 8078812, Test RMI with client and servers as modules In-Reply-To: <56D64FC0.2050609@oracle.com> References: <56D5312E.9030508@oracle.com> <56D64FC0.2050609@oracle.com> Message-ID: <57076334.2080607@oracle.com> Hi Stuart, thanks for the comments. I adjusted the test. The test failed with NoClassDefFoundErr if client/server are in named module but dummy app in unnamed module. See https://bugs.openjdk.java.net/browse/JDK-8153833 New webrev: http://cr.openjdk.java.net/~xiaofeya/8078812/webrev.01/ About simplifying the scenario, I replaced inheritance by moving classes in runtime. Thanks, Felix On 2016/3/2 10:28, Stuart Marks wrote: > Hi Felix, sorry for the delay. > > Several comments below. > > -------------------------------------------------- > > 119 // wait for rmiregistry to be fully ready > 120 Thread.sleep(3000); > > There are some RMI test utilities that will handle starting up and > waiting for the registry to be ready. Unfortunately they're in the > unnamed package (still haven't cleaned that up) so you can't use them > from this test. > > For now I'd recommend scaling the timeout by the test.timeout.factor, > so that this won't fail on slow systems. There's a test utility for > that; see Utils.adjustTimeout(). > > -------------------------------------------------- > > The directory "unamed" is misspelled; it has classes in the unnamed > module. This misspelling is reflected in variable names and values, e.g., > > 59 private static final Path UNAMED_SRC_DIR = > Paths.get(TEST_SRC, "unamed"); > 60 private static final Path MODS_OUTPUT_DIR = Paths.get("mods"); > 61 private static final Path UNAMED_OUTPUT_DIR = > Paths.get("unamed"); > > While spelling errors aren't that big a deal, since this involves file > and directory names, I'd recommend fixing this now. It'll just be > harder to fix it later. > > Also, "SeperateModuleClient" => "SeparateModuleClient" > > -------------------------------------------------- > > Overall the structure of the test seems reasonable to test various > clients and servers in combinations of the same, different, and > unnamed modules. > > I'm not entirely sure what p2.SeperateModuleClient is testing. It > extends p1.Client and its constructor and testStub() method simply > call the corresponding methods on super, so it doesn't seem to be > testing anything different from p1.Client running against p3.Server. > > Also, p4.UnamedModuleClient seems to want to run the client from the > unnamed module, but it too extends p1.Client and simply defers all of > its execution to its superclass. So I don't think this actually > testing an RMI client call originating from an unnamed module. > > There is an uncomfortable amount of duplication between > mtest/test/DummyApp.java and p4/UnamedModuleDummyApp. I see what this > is trying to do, which is to test a RMI server from an unnamed module. > It instantiates p3.Server, which resides in a named module, but > exports it from an unnamed module. > > So I think there's some tension here. There's subclassing among the > clients that attempts to avoid duplication, which is good, but it > doesn't truly seem to be testing clients in different modules and in > an unnamed module. The server, on the other hand, does seem to be > testing things properly in different modules, at the cost of > duplicating all the code into another class that resides in a > different (unnamed) module. > > I'm not entirely sure what the best approach is here. Ideally you'd > want to have a single implementation of client, server + remote > interface, and application, and compile each of them once. Then since > you're invoking a new JVM for each test, invoke it with different > options to put the client, or the server, or the app, into modules, or > onto the classpath (to get into an unnamed module). You might have to > copy compiled class files to different locations so that different > classes can be either on the classpath or in a named module without > causing any conflicts. > > I'm willing to entertain some simplifications here as well. It might > be sufficient to deal with just clients and servers in > different/unnamed modules, and not worry about putting the application > into different modules. That should reduce the number of cases to cover. > > s'marks > > On 2/29/16 10:05 PM, Felix Yang wrote: >> Ping... >> >> -Felix >> On 2016/2/24 14:06, Felix Yang wrote: >>> Hi all, >>> please review the new tests to use RMI in module world. >>> >>> Webrev: >>> http://cr.openjdk.java.net/~xiaofeya/8078812/webrev.00/ >>> Bug: >>> https://bugs.openjdk.java.net/browse/JDK-8078812 >>> >>> Thanks, >>> Felix >> From alan.bateman at oracle.com Fri Apr 8 07:55:03 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 07:55:03 +0000 Subject: hg: jigsaw/jake: 7 new changesets Message-ID: <201604080755.u387t3UF010091@aojmv0008.oracle.com> Changeset: d360f7499380 Author: mchung Date: 2016-03-31 14:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/d360f7499380 8153217: javafx modules are not included in the jre Reviewed-by: alanb ! make/Images.gmk ! make/common/Modules.gmk Changeset: 1e97e2ae06f9 Author: erikj Date: 2016-04-01 17:06 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/1e97e2ae06f9 8153257: Jib profiles config broken after JDK-8031767 Reviewed-by: tbell ! common/conf/jib-profiles.js Changeset: 7cd13f24127f Author: erikj Date: 2016-04-01 17:08 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/7cd13f24127f 8153261: Clean up fix for JDK-8153217 Reviewed-by: tbell ! make/Images.gmk ! make/common/Modules.gmk Changeset: 6cf3e6866c37 Author: erikj Date: 2016-04-01 17:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/6cf3e6866c37 8153273: Test lib compilations trigger find crash on Solaris Reviewed-by: tbell ! make/test/BuildTestLib.gmk Changeset: 55b6d550828d Author: tbell Date: 2016-04-01 12:25 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/55b6d550828d 8153303: Jib profiles config broken after JDK-8153257 after JDK-8031767 Reviewed-by: mchung ! common/conf/jib-profiles.js Changeset: 51fb48619b0e Author: lana Date: 2016-04-07 10:06 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/51fb48619b0e Added tag jdk-9+113 for changeset 55b6d550828d ! .hgtags Changeset: 76006a6ddec1 Author: alanb Date: 2016-04-08 08:26 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/76006a6ddec1 Merge ! common/conf/jib-profiles.js ! make/Images.gmk ! make/common/Modules.gmk From alan.bateman at oracle.com Fri Apr 8 07:55:04 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 07:55:04 +0000 Subject: hg: jigsaw/jake/jaxp: 4 new changesets Message-ID: <201604080755.u387t4Fj010189@aojmv0008.oracle.com> Changeset: ccd848271666 Author: joehw Date: 2016-03-30 11:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/ccd848271666 8147431: javax/xml/jaxp/isolatedjdk/catalog/PropertiesTest.sh copied JDK failed Reviewed-by: rriggs ! test/ProblemList.txt ! test/javax/xml/jaxp/isolatedjdk/catalog/PropertiesTest.sh Changeset: 28626780e245 Author: lana Date: 2016-03-31 08:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/28626780e245 Merge Changeset: bf08e8fdd47a Author: lana Date: 2016-04-07 10:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/bf08e8fdd47a Added tag jdk-9+113 for changeset 28626780e245 ! .hgtags Changeset: 2ad648dfb667 Author: alanb Date: 2016-04-08 07:33 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/2ad648dfb667 Merge From alan.bateman at oracle.com Fri Apr 8 07:55:04 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 07:55:04 +0000 Subject: hg: jigsaw/jake/corba: 2 new changesets Message-ID: <201604080755.u387t4gI010109@aojmv0008.oracle.com> Changeset: 5df43ffe48c4 Author: lana Date: 2016-04-07 10:06 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/5df43ffe48c4 Added tag jdk-9+113 for changeset cc30faa2da49 ! .hgtags Changeset: 14e394516f38 Author: alanb Date: 2016-04-08 07:34 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/14e394516f38 Merge From alan.bateman at oracle.com Fri Apr 8 07:55:06 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 07:55:06 +0000 Subject: hg: jigsaw/jake/jaxws: 2 new changesets Message-ID: <201604080755.u387t6jr010237@aojmv0008.oracle.com> Changeset: b314bb02182b Author: lana Date: 2016-04-07 10:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/b314bb02182b Added tag jdk-9+113 for changeset e980062475c1 ! .hgtags Changeset: a5a9add894df Author: alanb Date: 2016-04-08 07:33 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/a5a9add894df Merge From alan.bateman at oracle.com Fri Apr 8 07:55:08 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 07:55:08 +0000 Subject: hg: jigsaw/jake/langtools: 8 new changesets Message-ID: <201604080755.u387t81Q010309@aojmv0008.oracle.com> Changeset: 305e9e96a7f6 Author: mchung Date: 2016-03-31 11:50 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/305e9e96a7f6 8153211: Convert build tool to use the new -XaddExports syntax in bootcycle build Reviewed-by: alanb ! make/gendata/Gendata-jdk.compiler.gmk Changeset: f31075169c33 Author: vromero Date: 2016-03-31 17:25 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/f31075169c33 8150733: NPE when compiling module-info.java with a class declaration in a non-module mode Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/tools/javac/modules/NPECompilingModuleInfoTest.java Changeset: 0ef6f9a479f8 Author: darcy Date: 2016-03-31 14:56 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/0ef6f9a479f8 6818181: Update naming convention annotation processing samples for modules Reviewed-by: jjg ! src/sample/share/javac/processing/src/CheckNamesProcessor.java Changeset: 97ec97671022 Author: jjg Date: 2016-03-31 15:20 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/97ec97671022 8152897: refactor ToolBox to allow reduced documented dependencies Reviewed-by: vromero ! test/jdk/jshell/ClassPathTest.java ! test/jdk/jshell/CommandCompletionTest.java ! test/jdk/jshell/Compiler.java ! test/jdk/jshell/CompletionSuggestionTest.java ! test/jdk/jshell/ComputeFQNsTest.java ! test/jdk/jshell/ErrorTranslationTest.java ! test/jdk/jshell/ImportTest.java ! test/jdk/jshell/InferTypeTest.java ! test/jdk/jshell/StartOptionTest.java ! test/jdk/jshell/ToolBasicTest.java ! test/jdk/jshell/ToolFormatTest.java ! test/jdk/jshell/ToolReloadTest.java ! test/tools/doclint/tool/PathsTest.java ! test/tools/javac/4846262/CheckEBCDICLocaleTest.java ! test/tools/javac/6302184/HiddenOptionsShouldUseGivenEncodingTest.java ! test/tools/javac/6508981/TestInferBinaryName.java ! test/tools/javac/AnonymousSubclassTest.java ! test/tools/javac/ClassPathTest/ClassPathTest.java ! test/tools/javac/ConstFoldTest.java ! test/tools/javac/ExtDirs/ExtDirTest.java ! test/tools/javac/IncorrectInheritance/IncorrectInheritanceTest.java ! test/tools/javac/MissingInclude/MissingIncludeTest.java ! test/tools/javac/Paths/AbsolutePathTest.java ! test/tools/javac/ProtectedInnerClass/ProtectedInnerClassesTest.java ! test/tools/javac/T5090006/AssertionFailureTest.java ! test/tools/javac/T6558476.java ! test/tools/javac/T6725036.java ! test/tools/javac/T6970173/DebugPointerAtBadPositionTest.java ! test/tools/javac/T7008643/InlinedFinallyConfuseDebuggersTest.java ! test/tools/javac/T8009640/CheckRejectProfileBCPOptionsIfUsedTogetherTest.java ! test/tools/javac/T8010659/CompilerCrashWhenMixingBinariesAndSourcesTest.java ! test/tools/javac/T8013394/CompileErrorWithIteratorTest.java ! test/tools/javac/T8019486/WrongLNTForLambdaTest.java ! test/tools/javac/T8022162/IncorrectSignatureDeterminationForInnerClassesTest.java ! test/tools/javac/T8024039/NoDeadCodeGenerationOnTrySmtTest.java ! test/tools/javac/T8024437/ExceptionInferenceFromClassFileTest.java ! test/tools/javac/annotations/typeAnnotations/classfile/NestedLambdasCastedTest.java ! test/tools/javac/api/ToolProvider/HelloWorldTest.java ! test/tools/javac/api/ToolProvider/ToolProviderTest1.java ! test/tools/javac/api/ToolProvider/ToolProviderTest2.java ! test/tools/javac/boxing/IncrementBoxedAndAccess.java ! test/tools/javac/classfiles/InnerClasses/T8068517.java ! test/tools/javac/classfiles/attributes/AnnotationDefault/AnnotationDefaultTest.java ! test/tools/javac/classfiles/attributes/EnclosingMethod/EnclosingMethodTest.java ! test/tools/javac/classfiles/attributes/LineNumberTable/LineNumberTest.java ! test/tools/javac/classfiles/attributes/LocalVariableTable/LocalVariableTableTest.java ! test/tools/javac/classfiles/attributes/LocalVariableTable/LocalVariableTypeTableTest.java ! test/tools/javac/classfiles/attributes/Module/ModuleFlagTest.java ! test/tools/javac/classfiles/attributes/Module/ModuleTest.java ! test/tools/javac/classfiles/attributes/Module/ModuleTestBase.java ! test/tools/javac/classfiles/attributes/Signature/ConstructorTest.java ! test/tools/javac/classfiles/attributes/Signature/EnumTest.java ! test/tools/javac/classfiles/attributes/Signature/ExceptionTest.java ! test/tools/javac/classfiles/attributes/Signature/FieldTest.java ! test/tools/javac/classfiles/attributes/Signature/InnerClassTest.java ! test/tools/javac/classfiles/attributes/Signature/MethodParameterTest.java ! test/tools/javac/classfiles/attributes/Signature/MethodTypeBoundTest.java ! test/tools/javac/classfiles/attributes/Signature/ReturnTypeTest.java ! test/tools/javac/classfiles/attributes/SourceFile/AnonymousClassTest.java ! test/tools/javac/classfiles/attributes/SourceFile/InnerClassTest.java ! test/tools/javac/classfiles/attributes/SourceFile/LocalClassTest.java ! test/tools/javac/classfiles/attributes/SourceFile/MixTest.java ! test/tools/javac/classfiles/attributes/SourceFile/ModuleInfoTest.java ! test/tools/javac/classfiles/attributes/SourceFile/NoSourceFileAttribute.java ! test/tools/javac/classfiles/attributes/SourceFile/SourceFileTestBase.java ! test/tools/javac/classfiles/attributes/SourceFile/SyntheticClassTest.java ! test/tools/javac/classfiles/attributes/SourceFile/TopLevelClassesOneFileTest.java ! test/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateInnerClassMembersTest.java ! test/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateSiblingsTest.java ! test/tools/javac/classfiles/attributes/Synthetic/AssertFieldTest.java ! test/tools/javac/classfiles/attributes/Synthetic/BridgeMethodForGenericMethodTest.java ! test/tools/javac/classfiles/attributes/Synthetic/BridgeMethodsForLambdaTest.java ! test/tools/javac/classfiles/attributes/Synthetic/EnumTest.java ! test/tools/javac/classfiles/attributes/Synthetic/PackageInfoTest.java ! test/tools/javac/classfiles/attributes/Synthetic/ThisFieldTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForGenericMethodTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForInnerAnnotationTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForInnerClassTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForInnerEnumTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForInnerInterfaceTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForTopLevelClassTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsForGenericMethodTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsForLambdaTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsTest.java ! test/tools/javac/classfiles/attributes/deprecated/DeprecatedPackageTest.java ! test/tools/javac/classfiles/attributes/deprecated/DeprecatedTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerAnnotationsInInnerAnnotationTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerAnnotationsInInnerClassTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerAnnotationsInInnerEnumTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerAnnotationsInInnerInterfaceTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesHierarchyTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesInAnonymousClassTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesInInnerAnnotationTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesInInnerClassTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesInInnerEnumTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesInInnerInterfaceTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesInLocalClassTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesIndexTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerEnumInInnerAnnotationTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerEnumInInnerEnumTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerEnumInInnerInterfaceTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerEnumsInInnerClassTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerInterfacesInInnerAnnotationTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerInterfacesInInnerClassTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerInterfacesInInnerEnumTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerInterfacesInInnerInterfaceTest.java ! test/tools/javac/classfiles/attributes/innerclasses/NoInnerClassesTest.java ! test/tools/javac/classfiles/attributes/lib/TestBase.java ! test/tools/javac/completionDeps/DepsAndAnno.java ! test/tools/javac/defaultMethods/AssertionsTest.java ! test/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java ! test/tools/javac/fatalErrors/NoJavaLangTest.java ! test/tools/javac/file/ExplodedImage.java ! test/tools/javac/importscope/CompletionFailureDuringImport.java ! test/tools/javac/importscope/ImportDependenciesTest.java ! test/tools/javac/importscope/ImportMembersTest.java ! test/tools/javac/importscope/NegativeCyclicDependencyTest.java ! test/tools/javac/innerClassFile/InnerClassFileTest.java ! test/tools/javac/javazip/JavaZipTest.java ! test/tools/javac/lambda/T8129740/SourceToSourceTranslationTest.java ! test/tools/javac/lambda/lambdaNaming/TestNonSerializableLambdaNameStability.java ! test/tools/javac/lambda/lambdaNaming/TestSerializedLambdaNameStability.java ! test/tools/javac/links/LinksTest.java ! test/tools/javac/modules/AbstractOrInnerClassServiceImplTest.java ! test/tools/javac/modules/AddLimitMods.java ! test/tools/javac/modules/AddReadsTest.java ! test/tools/javac/modules/AnnotationProcessing.java ! test/tools/javac/modules/AnnotationProcessorsInModulesTest.java ! test/tools/javac/modules/AutomaticModules.java ! test/tools/javac/modules/DoclintOtherModules.java ! test/tools/javac/modules/DuplicateClassTest.java ! test/tools/javac/modules/EdgeCases.java ! test/tools/javac/modules/GraphsTest.java ! test/tools/javac/modules/HelloWorldTest.java ! test/tools/javac/modules/MOptionTest.java ! test/tools/javac/modules/ModuleFinderTest.java ! test/tools/javac/modules/ModuleInfoTest.java ! test/tools/javac/modules/ModulePathTest.java ! test/tools/javac/modules/ModuleSourcePathTest.java ! test/tools/javac/modules/ModuleTestBase.java ! test/tools/javac/modules/ModulesAndClassPathTest.java ! test/tools/javac/modules/MultiModuleModeTest.java ! test/tools/javac/modules/NPECompilingModuleInfoTest.java ! test/tools/javac/modules/NPEEmptyFileTest.java ! test/tools/javac/modules/OutputDirTest.java ! test/tools/javac/modules/PackageConflictTest.java ! test/tools/javac/modules/PackageMultipleModules.java ! test/tools/javac/modules/PluginsInModulesTest.java ! test/tools/javac/modules/ProvidesTest.java ! test/tools/javac/modules/QueryBeforeEnter.java ! test/tools/javac/modules/RepeatedUsesAndProvidesTest.java ! test/tools/javac/modules/ReportNonExistentPackageTest.java ! test/tools/javac/modules/RequiresPublicTest.java ! test/tools/javac/modules/ResolveTest.java ! test/tools/javac/modules/ServiceInStaticClassErrorTest.java ! test/tools/javac/modules/ServiceProvidedButNotExportedOrUsedTest.java ! test/tools/javac/modules/SingleModuleModeTest.java ! test/tools/javac/modules/SubpackageTest.java ! test/tools/javac/modules/UpgradeModulePathTest.java ! test/tools/javac/modules/UsesTest.java ! test/tools/javac/modules/XModuleTest.java ! test/tools/javac/newlines/NewLineTest.java ! test/tools/javac/platform/PlatformProviderTest.java ! test/tools/javac/plugin/showtype/Test.java ! test/tools/javac/processing/rounds/CompleteOnClosed.java ! test/tools/javac/processing/rounds/OverwriteBetweenCompilations.java ! test/tools/javac/stackmap/StackMapTest.java ! test/tools/javac/sym/ElementStructureTest.java ! test/tools/javac/tree/8067914/NukeExtraCast.java ! test/tools/javadoc/CompletionError.java ! test/tools/javah/6257087/T6257087.java ! test/tools/javah/ModuleClass.java ! test/tools/javah/T4942232/MissingParamClassTest.java ! test/tools/javah/constMacroTest/ConstMacroTest.java ! test/tools/javap/4798312/JavapShouldLoadClassesFromRTJarTest.java ! test/tools/javap/4866831/PublicInterfaceTest.java ! test/tools/javap/T6729471.java ! test/tools/javap/stackmap/StackmapTest.java - test/tools/lib/ToolBox.java + test/tools/lib/toolbox/AbstractTask.java + test/tools/lib/toolbox/ExecTask.java + test/tools/lib/toolbox/JarTask.java + test/tools/lib/toolbox/JavaTask.java + test/tools/lib/toolbox/JavacTask.java + test/tools/lib/toolbox/JavahTask.java + test/tools/lib/toolbox/JavapTask.java + test/tools/lib/toolbox/Task.java + test/tools/lib/toolbox/ToolBox.java ! test/tools/sjavac/ApiExtraction.java ! test/tools/sjavac/ClasspathDependencies.java ! test/tools/sjavac/CompileCircularSources.java ! test/tools/sjavac/CompileExcludingDependency.java ! test/tools/sjavac/CompileWithAtFile.java ! test/tools/sjavac/CompileWithInvisibleSources.java ! test/tools/sjavac/CompileWithOverrideSources.java ! test/tools/sjavac/HiddenFiles.java ! test/tools/sjavac/IncCompInheritance.java ! test/tools/sjavac/IncCompileChangeNative.java ! test/tools/sjavac/IncCompileDropClasses.java ! test/tools/sjavac/IncCompileFullyQualifiedRef.java ! test/tools/sjavac/IncCompileNoChanges.java ! test/tools/sjavac/IncCompileUpdateNative.java ! test/tools/sjavac/IncCompileWithChanges.java ! test/tools/sjavac/IncludeExcludePatterns.java ! test/tools/sjavac/NoState.java ! test/tools/sjavac/OverlappingSrcDst.java ! test/tools/sjavac/PackagePathMismatch.java ! test/tools/sjavac/ParallelCompilations.java ! test/tools/sjavac/PermittedArtifact.java ! test/tools/sjavac/SJavacTester.java ! test/tools/sjavac/StateDir.java Changeset: 8b64ecd96dbe Author: ksrini Date: 2016-03-29 10:24 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/8b64ecd96dbe 8152771: NPE accessing comments on module declarations Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/tools/javac/modules/ModuleInfoTreeAccess.java Changeset: 4e87682893e6 Author: rfield Date: 2016-04-01 09:20 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/4e87682893e6 8152925: JShell: enable corralling of any type declaration, including enum Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/Corraller.java ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! src/jdk.jshell/share/classes/jdk/jshell/Wrap.java ! test/jdk/jshell/ReplaceTest.java Changeset: f534faf33c47 Author: lana Date: 2016-04-07 10:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/f534faf33c47 Added tag jdk-9+113 for changeset 4e87682893e6 ! .hgtags Changeset: b3b9d34868a9 Author: alanb Date: 2016-04-08 08:25 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/b3b9d34868a9 Merge ! .hgtags ! make/gendata/Gendata-jdk.compiler.gmk ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/jdk/jshell/CommandCompletionTest.java ! test/jdk/jshell/CompletionSuggestionTest.java ! test/jdk/jshell/ComputeFQNsTest.java ! test/jdk/jshell/InferTypeTest.java ! test/jdk/jshell/ToolFormatTest.java ! test/tools/doclint/tool/PathsTest.java ! test/tools/javac/ExtDirs/ExtDirTest.java ! test/tools/javac/boxing/IncrementBoxedAndAccess.java ! test/tools/javac/classfiles/attributes/Module/ModuleFlagTest.java ! test/tools/javac/classfiles/attributes/Module/ModuleTest.java ! test/tools/javac/classfiles/attributes/Module/ModuleTestBase.java ! test/tools/javac/classfiles/attributes/SourceFile/ModuleInfoTest.java ! test/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateInnerClassMembersTest.java ! test/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateSiblingsTest.java ! test/tools/javac/classfiles/attributes/Synthetic/AssertFieldTest.java ! test/tools/javac/classfiles/attributes/Synthetic/BridgeMethodForGenericMethodTest.java ! test/tools/javac/classfiles/attributes/Synthetic/BridgeMethodsForLambdaTest.java ! test/tools/javac/classfiles/attributes/Synthetic/EnumTest.java ! test/tools/javac/classfiles/attributes/Synthetic/PackageInfoTest.java ! test/tools/javac/classfiles/attributes/Synthetic/ThisFieldTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForGenericMethodTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForInnerAnnotationTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForInnerClassTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForInnerEnumTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForInnerInterfaceTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsForTopLevelClassTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsForGenericMethodTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsForLambdaTest.java ! test/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerClassesTest.java ! test/tools/javac/classfiles/attributes/innerclasses/InnerEnumInInnerAnnotationTest.java ! test/tools/javac/fatalErrors/NoJavaLangTest.java ! test/tools/javac/file/ExplodedImage.java ! test/tools/javac/importscope/CompletionFailureDuringImport.java ! test/tools/javac/modules/AbstractOrInnerClassServiceImplTest.java ! test/tools/javac/modules/AddLimitMods.java ! test/tools/javac/modules/AddReadsTest.java ! test/tools/javac/modules/AnnotationProcessing.java ! test/tools/javac/modules/AnnotationProcessorsInModulesTest.java ! test/tools/javac/modules/AutomaticModules.java ! test/tools/javac/modules/DoclintOtherModules.java ! test/tools/javac/modules/DuplicateClassTest.java ! test/tools/javac/modules/EdgeCases.java ! test/tools/javac/modules/GraphsTest.java ! test/tools/javac/modules/HelloWorldTest.java ! test/tools/javac/modules/MOptionTest.java ! test/tools/javac/modules/ModuleFinderTest.java ! test/tools/javac/modules/ModuleInfoTest.java ! test/tools/javac/modules/ModulePathTest.java ! test/tools/javac/modules/ModuleSourcePathTest.java ! test/tools/javac/modules/ModuleTestBase.java ! test/tools/javac/modules/ModulesAndClassPathTest.java ! test/tools/javac/modules/MultiModuleModeTest.java ! test/tools/javac/modules/NPEEmptyFileTest.java ! test/tools/javac/modules/OutputDirTest.java ! test/tools/javac/modules/PackageConflictTest.java ! test/tools/javac/modules/PackageMultipleModules.java ! test/tools/javac/modules/PluginsInModulesTest.java ! test/tools/javac/modules/ProvidesTest.java ! test/tools/javac/modules/QueryBeforeEnter.java ! test/tools/javac/modules/RepeatedUsesAndProvidesTest.java ! test/tools/javac/modules/ReportNonExistentPackageTest.java ! test/tools/javac/modules/RequiresPublicTest.java ! test/tools/javac/modules/ResolveTest.java ! test/tools/javac/modules/ServiceInStaticClassErrorTest.java ! test/tools/javac/modules/ServiceProvidedButNotExportedOrUsedTest.java ! test/tools/javac/modules/SingleModuleModeTest.java ! test/tools/javac/modules/SubpackageTest.java ! test/tools/javac/modules/UpgradeModulePathTest.java ! test/tools/javac/modules/UsesTest.java ! test/tools/javac/modules/XModuleTest.java ! test/tools/javac/platform/PlatformProviderTest.java ! test/tools/javac/plugin/showtype/Test.java ! test/tools/javac/processing/rounds/OverwriteBetweenCompilations.java ! test/tools/javac/sym/ElementStructureTest.java ! test/tools/javah/ModuleClass.java - test/tools/lib/ToolBox.java ! test/tools/sjavac/OverlappingSrcDst.java From alan.bateman at oracle.com Fri Apr 8 07:55:08 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 07:55:08 +0000 Subject: hg: jigsaw/jake/nashorn: 5 new changesets Message-ID: <201604080755.u387t8MF010312@aojmv0008.oracle.com> Changeset: 4fbf7a66d49b Author: sundar Date: 2016-03-28 23:05 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/4fbf7a66d49b 8152533: ant octane target fails with "Unable to load a script engine manager (org.apache.bsf.BSFManager or javax.script.ScriptEngineManager)" Reviewed-by: jlaskey + buildtools/nashorntask/README + buildtools/nashorntask/build.xml + buildtools/nashorntask/project.properties + buildtools/nashorntask/src/jdk/nashorn/ant/NashornTask.java ! make/build-benchmark.xml ! make/project.properties Changeset: c0d57cb54210 Author: lana Date: 2016-03-31 08:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/c0d57cb54210 Merge Changeset: a5d1990fd32d Author: mchung Date: 2016-03-31 11:50 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/a5d1990fd32d 8153211: Convert build tool to use the new -XaddExports syntax in bootcycle build Reviewed-by: alanb ! make/BuildNashorn.gmk Changeset: e015a1c14289 Author: lana Date: 2016-04-07 10:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/e015a1c14289 Added tag jdk-9+113 for changeset a5d1990fd32d ! .hgtags Changeset: 2cc1a597713a Author: alanb Date: 2016-04-08 07:32 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/2cc1a597713a Merge ! .hgtags ! make/BuildNashorn.gmk ! make/project.properties From alan.bateman at oracle.com Fri Apr 8 07:55:10 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 07:55:10 +0000 Subject: hg: jigsaw/jake/hotspot: 2 new changesets Message-ID: <201604080755.u387tApY010323@aojmv0008.oracle.com> Changeset: 7d9d8ad32fe6 Author: lana Date: 2016-04-07 10:06 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7d9d8ad32fe6 Added tag jdk-9+113 for changeset c569f8d89269 ! .hgtags Changeset: fd63df887f7e Author: alanb Date: 2016-04-08 07:33 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fd63df887f7e Merge ! .hgtags From alan.bateman at oracle.com Fri Apr 8 07:55:27 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 07:55:27 +0000 Subject: hg: jigsaw/jake/jdk: 31 new changesets Message-ID: <201604080755.u387tScp010641@aojmv0008.oracle.com> Changeset: 9e73bdac39ec Author: aefimov Date: 2016-03-28 17:12 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9e73bdac39ec 8073872: Schemagen fails with StackOverflowError if element references containing class Reviewed-by: lancea + test/javax/xml/bind/jxc/8073872/Foo.java + test/javax/xml/bind/jxc/8073872/SchemagenStackOverflow.java Changeset: 93230508687d Author: dl Date: 2016-03-28 08:53 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/93230508687d 8152083: Optimize TimeUnit conversions Reviewed-by: martin, shade, forax ! src/java.base/share/classes/java/util/concurrent/TimeUnit.java + test/java/util/concurrent/tck/TimeUnit8Test.java ! test/java/util/concurrent/tck/TimeUnitTest.java Changeset: 91a26000bfb5 Author: rgoel Date: 2016-03-28 12:36 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/91a26000bfb5 8150432: LocaleProviders.sh fails Summary: Updated Windows 10 kernel name. Reviewed-by: okutsu ! test/java/util/Locale/LocaleProviders.sh Changeset: faf6d930aef4 Author: redestad Date: 2016-03-28 22:25 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/faf6d930aef4 8152733: Avoid creating Manifest when checking for Multi-Release attribute Reviewed-by: psandoz, alanb Contributed-by: claes.redestad at oracle.com, steve.drach at oracle.com ! src/java.base/share/classes/java/util/jar/JarFile.java ! test/java/util/jar/JarFile/MultiReleaseJarAPI.java Changeset: ff721bdc4c68 Author: amlu Date: 2016-03-29 10:47 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ff721bdc4c68 8152873: java/util/Locale/LocaleProviders.sh fails after JDK-8150432 Reviewed-by: darcy ! test/java/util/Locale/LocaleProviders.sh Changeset: 271faffbe204 Author: okutsu Date: 2016-03-29 18:04 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/271faffbe204 8152077: (cal) Calendar.roll does not always roll the hours during daylight savings Reviewed-by: peytoia ! src/java.base/share/classes/java/util/GregorianCalendar.java + test/java/util/Calendar/Bug8152077.java Changeset: 841f1fe6d486 Author: redestad Date: 2016-03-29 18:27 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/841f1fe6d486 8152951: Avoid calculating the reverse of StringConcatFactory$Recipe elements Reviewed-by: shade, vlivanov ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java Changeset: fa4686fe4fac Author: mchung Date: 2016-03-29 12:43 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/fa4686fe4fac 8153027: Exclude tools/jimage/JImageTest.java Reviewed-by: lancea ! test/ProblemList.txt Changeset: 380afcaf1507 Author: naoto Date: 2016-03-29 17:06 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/380afcaf1507 8152704: jlink command line output/help message improvement Reviewed-by: mchung ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties ! test/tools/jlink/JLink2Test.java ! test/tools/jlink/plugins/IncludeLocalesPluginTest.java Changeset: 727255af5ed4 Author: rriggs Date: 2016-03-30 12:47 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/727255af5ed4 8152005: sun/misc/SunMiscSignalTest.java failed intermittently Summary: extend timeout and retry Reviewed-by: darcy ! test/sun/misc/SunMiscSignalTest.java Changeset: 81b03502e5e7 Author: alanb Date: 2016-03-30 19:56 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/81b03502e5e7 8141609: Need test for jrtfs that runs on JDK 8 to target a JDK 9 image Reviewed-by: alanb, sundar Contributed-by: felix.yang at oracle.com ! test/Makefile + test/jdk/internal/jrtfs/remote/Main.java + test/jdk/internal/jrtfs/remote/RemoteRuntimeImageTest.java Changeset: 850b61c46092 Author: mchung Date: 2016-03-30 17:23 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/850b61c46092 8153035: GenModuleInfoSource strips away the API comments Reviewed-by: chegar ! make/src/classes/build/tools/module/GenModuleInfoSource.java - make/src/classes/build/tools/module/Module.java - make/src/classes/build/tools/module/ModuleInfoReader.java - make/src/classes/build/tools/module/ModulesXmlReader.java - make/src/classes/build/tools/module/ModulesXmlWriter.java Changeset: 679f9542362b Author: darcy Date: 2016-03-30 18:12 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/679f9542362b 8151763: Use more informative format for problem list Reviewed-by: mchung, serb, chegar, alanb, mullan, jjg ! test/ProblemList.txt Changeset: 1993af50385d Author: mrkam Date: 2016-03-30 19:05 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1993af50385d 8153141: Develop initial set of tests for SwingSet Reviewed-by: prr ! .hgignore + make/netbeans/client_sanity/README + make/netbeans/client_sanity/build.xml + make/netbeans/client_sanity/manifest.mf + make/netbeans/client_sanity/nbproject/build-impl.xml + make/netbeans/client_sanity/nbproject/genfiles.properties + make/netbeans/client_sanity/nbproject/project.properties + make/netbeans/client_sanity/nbproject/project.xml ! test/TEST.groups + test/sanity/client/README + test/sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java + test/sanity/client/SwingSet/src/ButtonDemoTest.java + test/sanity/client/SwingSet/src/ComboBoxDemoTest.java + test/sanity/client/SwingSet/src/ListDemoTest.java + test/sanity/client/SwingSet/src/OptionPaneDemoTest.java + test/sanity/client/SwingSet/src/ProgressBarDemoTest.java + test/sanity/client/SwingSet/src/ScrollPaneDemoTest.java + test/sanity/client/SwingSet/src/SpinnerDemoTest.java + test/sanity/client/SwingSet/src/SplitPaneDemoTest.java + test/sanity/client/SwingSet/src/TabbedPaneDemoTest.java + test/sanity/client/SwingSet/src/TextFieldDemoTest.java + test/sanity/client/SwingSet/src/ToggleButtonDemoTest.java + test/sanity/client/SwingSet/src/TreeDemoTest.java + test/sanity/client/SwingSet/src/WindowDemoTest.java + test/sanity/client/TEST.ROOT.template + test/sanity/client/TEST.properties + test/sanity/client/lib/Jemmy2Ext/src/org/jemmy2ext/JemmyExt.java + test/sanity/client/lib/SwingSet3/README + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/DemoProperties.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/DemoUtilities.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/JGridPanel.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/JHyperlink.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/ResourceManager.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/ButtonDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/ButtonDemo.html + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/ButtonDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/blogs.png + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/document-print.png + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/earth_day.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/earth_night.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/edit-find.png + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/redbutton.png + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/redbutton_dark.png + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/button/resources/images/redbutton_glow.png + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/ComboBoxDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/ComboBoxDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/ComboBoxDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/brenteyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/brenthair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/brentmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/georgeseyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/georgeshair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/georgesmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/hanseyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/hanshair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/hansmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/howardeyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/howardhair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/howardmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/jameseyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/jameshair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/jamesmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/jeffeyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/jeffhair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/jeffmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/joneyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/jonhair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/jonmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/laraeyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/larahair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/laramouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/larryeyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/larryhair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/larrymouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/lisaeyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/lisahair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/lisamouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/michaeleyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/michaelhair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/michaelmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/philipeyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/philiphair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/philipmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/scotteyes.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/scotthair.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/combobox/resources/images/scottmouth.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/ListDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/Permuter.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/ListDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/images/ListDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/images/blue.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/images/cyan.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/images/gray.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/images/green.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/images/magenta.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/images/red.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/list/resources/images/yellow.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/optionpane/OptionPaneDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/optionpane/resources/OptionPaneDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/optionpane/resources/images/OptionPaneDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/optionpane/resources/images/bottle.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/progressbar/ProgressBarDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/progressbar/resources/ProgressBarDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/progressbar/resources/images/ProgressBarDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/ScrollPaneDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/ScrollPaneDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/images/COPYRIGHT + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/images/ScrollPaneDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/images/colheader.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/images/crayons.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/images/lowerleft.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/images/rowheader.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/images/upperleft.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/scrollpane/resources/images/upperright.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/JMandelbrot.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/JPaletteShower.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/JSpinnerPanel.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/MandelbrotControl.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/Palette.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/PaletteChooser.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/SpinnerDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/resources/SpinnerDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/spinner/resources/images/SpinnerDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/splitpane/SplitPaneDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/splitpane/resources/SplitPaneDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/splitpane/resources/images/SplitPaneDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/splitpane/resources/images/day.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/splitpane/resources/images/night.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/TabbedPaneDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/TabbedPaneDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/TabbedPaneDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/blake.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/brooke.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/camille.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/david.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/ewan.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/ewan.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/matthew.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/miranda.jpg + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tabbedpane/resources/images/stephen.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/textfield/JHistoryTextField.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/textfield/TextFieldDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/textfield/resources/TextFieldDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/textfield/resources/images/TextFieldDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/DirectionPanel.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/LayoutControlPanel.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/ToggleButtonDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/ToggleButtonDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/ToggleButtonDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b1.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b1d.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b1p.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b1r.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b2.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b2d.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b2p.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b2r.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b3.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b3d.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b3p.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/b3r.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/bl.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/bldn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/bm.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/bmdn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/br.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/brdn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/c.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/cb.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/cbr.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/cbrs.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/cbs.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/cdn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/ml.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/mldn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/mr.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/mrdn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/rb.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/rbp.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/rbr.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/rbrs.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/rbs.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/tl.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/tldn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/tm.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/tmdn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/tr.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/togglebutton/resources/images/trdn.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tree/TreeDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tree/resources/TreeDemo.properties + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tree/resources/images/TreeDemo.gif + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tree/resources/tree.txt + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/window/WindowDemo.java + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/window/resources/WindowDemo.html + test/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/window/resources/images/WindowDemo.gif + test/sanity/client/lib/jemmy/README + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Action.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/ActionProducer.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Bundle.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/BundleManager.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/CharBindingMap.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/ClassReference.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/ComponentChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/ComponentIsNotFocusedException.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/ComponentIsNotVisibleException.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/ComponentSearcher.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/DefaultCharBindingMap.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/DialogWaiter.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/EventDispatcher.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/EventTool.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/FrameWaiter.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/JemmyException.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/JemmyInputException.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/JemmyProperties.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/NoComponentUnderMouseException.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/ObjectBrowser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Outputable.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/QueueTool.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Scenario.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Test.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/TestCompletedException.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/TestOut.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Timeout.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/TimeoutExpiredException.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Timeoutable.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Timeouts.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Waitable.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/Waiter.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/WindowWaiter.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/accessibility/AccessibilityChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/accessibility/AccessibleDescriptionChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/accessibility/AccessibleNameChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/debug.timeouts + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/APIDriverInstaller.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/ArrayDriverInstaller.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/ButtonDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/DefaultDriverInstaller.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/DescriptablePathChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/Driver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/DriverInstaller.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/DriverManager.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/EditorDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/FocusDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/FrameDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/InputDriverInstaller.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/InternalFrameDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/KeyDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/LightDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/LightSupportiveDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/ListDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/MenuDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/MouseDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/MultiSelListDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/OrderedListDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/PathChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/ScrollDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/SupportiveDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/TableDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/TextDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/TreeDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/UnsupportedOperatorException.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/WindowDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/buttons/ButtonMouseDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/buttons/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/focus/APIFocusDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/focus/MouseFocusDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/focus/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/input/EventDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/input/KeyEventDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/input/KeyRobotDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/input/MouseEventDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/input/MouseRobotDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/input/RobotDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/input/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/ChoiceDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/JComboMouseDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/JListMouseDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/JTabAPIDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/JTabMouseDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/JTableHeaderDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/ListAPIDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/ListKeyboardDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/lists/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/menus/APIJMenuDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/menus/AppleMenuDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/menus/DefaultJMenuDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/menus/QueueJMenuDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/menus/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/AWTScrollDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/AbstractScrollDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/JScrollBarAPIDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/JScrollBarDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/JSliderAPIDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/JSliderDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/JSpinnerDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/JSplitPaneDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/KeyboardJSliderScrollDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/ScrollAdjuster.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/ScrollPaneDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/ScrollbarDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/scrolling/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/tables/JTableMouseDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/tables/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/AWTTextAPIDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/AWTTextKeyboardDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/DownKey.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/EndKey.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/GoAndBackKey.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/HomeKey.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/NavigationKey.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/OffsetKey.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/SwingTextAPIDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/SwingTextKeyboardDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/TextAPIDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/TextKeyboardDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/UpKey.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/text/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/trees/JTreeAPIDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/trees/JTreeMouseDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/trees/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/windows/DefaultFrameDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/windows/DefaultInternalFrameDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/windows/DefaultWindowDriver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/drivers/windows/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/explorer/GUIBrowser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/explorer/TrialListenerManager.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/explorer/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/ColorImageComparator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/FileImageComparator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/ImageComparator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/ImageFinder.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/ImageLoader.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/ImageSaver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/ImageTool.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/PNGImageLoader.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/PNGImageSaver.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/RoughImageComparator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/RoughImageFinder.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/StrictImageComparator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/StrictImageFinder.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/image/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/AbstractButtonOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/ButtonOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/CheckboxOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/ChoiceOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/ComponentOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/ContainerOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/DialogOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/FrameOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JButtonOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JCheckBoxMenuItemOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JCheckBoxOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JColorChooserOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JComboBoxOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JComponentOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JDialogOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JEditorPaneOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JFileChooserOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JFrameOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JInternalFrameOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JLabelOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JListOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JMenuBarOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JMenuItemOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JMenuOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JPasswordFieldOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JPopupMenuOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JProgressBarOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JRadioButtonMenuItemOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JRadioButtonOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JScrollBarOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JScrollPaneOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JSliderOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JSpinnerOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JSplitPaneOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTabbedPaneOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTableHeaderOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTableOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTextAreaOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTextComponentOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTextFieldOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTextPaneOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JToggleButtonOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/JTreeOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/LabelOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/ListOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/Operator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/ScrollPaneOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/ScrollbarOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/TextAreaOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/TextComponentOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/TextFieldOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/WindowOperator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/operators/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/AbstractTextStyleChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/DefaultVisualizer.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/DumpController.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/Dumper.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/EmptyVisualizer.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/MouseVisualizer.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/NameComponentChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/PNGDecoder.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/PNGEncoder.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/PropChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/RegExComparator.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/StringPropChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/TextStyleChooser.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/WindowJob.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/WindowManager.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/util/package-info.java + test/sanity/client/lib/jemmy/src/org/netbeans/jemmy/version_info Changeset: 391525879ab0 Author: chegar Date: 2016-03-31 06:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/391525879ab0 8152190: Move sun.misc.JarIndex and InvalidJarIndexException to an internal package Reviewed-by: alanb ! src/java.base/share/classes/java/util/jar/JarInputStream.java ! src/java.base/share/classes/java/util/jar/JarVerifier.java ! src/java.base/share/classes/jdk/internal/loader/URLClassPath.java + src/java.base/share/classes/jdk/internal/util/jar/InvalidJarIndexError.java + src/java.base/share/classes/jdk/internal/util/jar/JarIndex.java ! src/java.base/share/classes/module-info.java - src/java.base/share/classes/sun/misc/InvalidJarIndexException.java - src/java.base/share/classes/sun/misc/JarIndex.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! test/sun/misc/JarIndex/JarIndexMergeTest.java Changeset: 28f06839e1b3 Author: chegar Date: 2016-03-31 06:30 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/28f06839e1b3 8153118: Remove sun.misc.resources Reviewed-by: naoto, mchung ! make/gensrc/Gensrc-java.base.gmk - src/java.base/share/classes/sun/misc/resources/Messages.java - src/java.base/share/classes/sun/misc/resources/Messages_de.java - src/java.base/share/classes/sun/misc/resources/Messages_es.java - src/java.base/share/classes/sun/misc/resources/Messages_fr.java - src/java.base/share/classes/sun/misc/resources/Messages_it.java - src/java.base/share/classes/sun/misc/resources/Messages_ja.java - src/java.base/share/classes/sun/misc/resources/Messages_ko.java - src/java.base/share/classes/sun/misc/resources/Messages_pt_BR.java - src/java.base/share/classes/sun/misc/resources/Messages_sv.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_CN.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_TW.java Changeset: d7a4b04e3fc9 Author: igerasim Date: 2016-03-31 17:30 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d7a4b04e3fc9 8079136: Accessing a nested sublist leads to StackOverflowError Reviewed-by: psandoz, tvaleev ! src/java.base/share/classes/java/util/AbstractList.java ! src/java.base/share/classes/java/util/ArrayList.java + test/java/util/List/NestedSubList.java + test/java/util/List/SubList.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java Changeset: ba50bcff7726 Author: lana Date: 2016-03-31 09:00 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ba50bcff7726 Merge - make/src/classes/build/tools/module/Module.java - make/src/classes/build/tools/module/ModuleInfoReader.java - make/src/classes/build/tools/module/ModulesXmlReader.java - make/src/classes/build/tools/module/ModulesXmlWriter.java - src/java.base/share/classes/sun/misc/InvalidJarIndexException.java - src/java.base/share/classes/sun/misc/JarIndex.java - src/java.base/share/classes/sun/misc/resources/Messages.java - src/java.base/share/classes/sun/misc/resources/Messages_de.java - src/java.base/share/classes/sun/misc/resources/Messages_es.java - src/java.base/share/classes/sun/misc/resources/Messages_fr.java - src/java.base/share/classes/sun/misc/resources/Messages_it.java - src/java.base/share/classes/sun/misc/resources/Messages_ja.java - src/java.base/share/classes/sun/misc/resources/Messages_ko.java - src/java.base/share/classes/sun/misc/resources/Messages_pt_BR.java - src/java.base/share/classes/sun/misc/resources/Messages_sv.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_CN.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_TW.java Changeset: b312c746bd94 Author: mchung Date: 2016-03-31 11:49 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b312c746bd94 8153125: rmic from bootcycle build should launch with -m jdk.rmic/sun.rmi.rmic.Main Reviewed-by: alanb, erikj ! make/rmic/RmicCommon.gmk Changeset: 1ad48e2856e4 Author: mchung Date: 2016-03-31 11:50 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1ad48e2856e4 8153211: Convert build tool to use the new -XaddExports syntax in bootcycle build Reviewed-by: alanb ! make/gendata/GendataBreakIterator.gmk Changeset: 8ef42eaa6735 Author: mchung Date: 2016-03-31 14:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8ef42eaa6735 8153217: javafx modules are not included in the jre Reviewed-by: alanb ! make/gensrc/GensrcModuleLoaderMap.gmk Changeset: 60336731daeb Author: amlu Date: 2016-04-01 09:14 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/60336731daeb 8153147: Mark java/net/BindException/Test.java as intermittently failing Reviewed-by: darcy ! test/java/net/BindException/Test.java Changeset: 4e7a6ae570c2 Author: okutsu Date: 2016-04-01 14:50 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4e7a6ae570c2 8152817: Locale data loading fails silently when running with a security manager Reviewed-by: mchung, alanb ! src/java.base/share/classes/sun/util/resources/LocaleData.java ! src/jdk.localedata/share/classes/sun/util/resources/provider/LocaleDataProvider.java ! src/jdk.localedata/share/classes/sun/util/resources/provider/SupplementaryLocaleDataProvider.java + test/sun/util/locale/provider/Bug8152817.java Changeset: 4bd4c8c2a922 Author: aefimov Date: 2016-04-01 12:34 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4bd4c8c2a922 8134111: Unmarshaller unmarshalls XML element which doesn't have the expected namespace Reviewed-by: lancea + test/javax/xml/bind/marshal/8134111/UnmarshalTest.java + test/javax/xml/bind/marshal/8134111/testTypes/Root.java + test/javax/xml/bind/marshal/8134111/testTypes/WhenType.java + test/javax/xml/bind/marshal/8134111/testTypes/package-info.java Changeset: 25894e43243f Author: aefimov Date: 2016-04-01 16:46 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/25894e43243f 8153262: javax/xml/bind/marshal/8134111/UnmarshalTest.java fails Reviewed-by: coffeys, amlu + test/javax/xml/bind/marshal/8134111/testTypes/ObjectFactory.java Changeset: 99d87f328523 Author: erikj Date: 2016-04-01 17:08 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/99d87f328523 8153261: Clean up fix for JDK-8153217 Reviewed-by: tbell ! make/gensrc/GensrcModuleLoaderMap.gmk Changeset: 361014daf496 Author: redestad Date: 2016-04-01 20:28 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/361014daf496 8152641: Plugin to generate BMH$Species classes ahead-of-time Reviewed-by: plevart, mchung, forax, vlivanov, jrose ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java + src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties ! src/jdk.jlink/share/classes/module-info.java ! test/tools/jlink/JLinkTest.java + test/tools/jlink/plugins/GenerateJLIClassesPluginTest.java Changeset: 3c5f7bf20f6b Author: redestad Date: 2016-04-01 22:47 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3c5f7bf20f6b 8153317: Two jimage tests have been failing since JDK-8152641 was fixed Reviewed-by: darcy ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin.java Changeset: 68f8be44b6a6 Author: igerasim Date: 2016-04-03 16:38 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/68f8be44b6a6 6483657: MSCAPI provider does not create unique alias names Reviewed-by: vinnie ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/KeyStore.java ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp + test/sun/security/mscapi/nonUniqueAliases/NonUniqueAliases.sh + test/sun/security/mscapi/nonUniqueAliases/nonUniq1.pem + test/sun/security/mscapi/nonUniqueAliases/nonUniq2.pem Changeset: 8c293ee99d5a Author: lana Date: 2016-04-07 10:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8c293ee99d5a Added tag jdk-9+113 for changeset 68f8be44b6a6 ! .hgtags Changeset: e46bfcd22725 Author: alanb Date: 2016-04-08 08:25 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e46bfcd22725 Merge ! .hgignore ! .hgtags ! make/gendata/GendataBreakIterator.gmk ! make/gensrc/Gensrc-java.base.gmk ! make/gensrc/GensrcModuleLoaderMap.gmk ! make/rmic/RmicCommon.gmk ! make/src/classes/build/tools/module/GenModuleInfoSource.java - make/src/classes/build/tools/module/Module.java - make/src/classes/build/tools/module/ModuleInfoReader.java - make/src/classes/build/tools/module/ModulesXmlReader.java - make/src/classes/build/tools/module/ModulesXmlWriter.java ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/jdk/internal/loader/URLClassPath.java ! src/java.base/share/classes/module-info.java - src/java.base/share/classes/sun/misc/InvalidJarIndexException.java - src/java.base/share/classes/sun/misc/JarIndex.java - src/java.base/share/classes/sun/misc/resources/Messages.java - src/java.base/share/classes/sun/misc/resources/Messages_de.java - src/java.base/share/classes/sun/misc/resources/Messages_es.java - src/java.base/share/classes/sun/misc/resources/Messages_fr.java - src/java.base/share/classes/sun/misc/resources/Messages_it.java - src/java.base/share/classes/sun/misc/resources/Messages_ja.java - src/java.base/share/classes/sun/misc/resources/Messages_ko.java - src/java.base/share/classes/sun/misc/resources/Messages_pt_BR.java - src/java.base/share/classes/sun/misc/resources/Messages_sv.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_CN.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_TW.java ! src/java.base/share/classes/sun/util/resources/LocaleData.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties ! src/jdk.jlink/share/classes/module-info.java ! src/jdk.localedata/share/classes/sun/util/resources/provider/LocaleDataProvider.java ! src/jdk.localedata/share/classes/sun/util/resources/provider/SupplementaryLocaleDataProvider.java ! test/Makefile ! test/ProblemList.txt ! test/TEST.groups ! test/java/util/Locale/LocaleProviders.sh ! test/tools/jlink/JLink2Test.java ! test/tools/jlink/JLinkTest.java ! test/tools/jlink/plugins/IncludeLocalesPluginTest.java From jan.lahoda at oracle.com Fri Apr 8 09:26:53 2016 From: jan.lahoda at oracle.com (jan.lahoda at oracle.com) Date: Fri, 08 Apr 2016 09:26:53 +0000 Subject: hg: jigsaw/jake/langtools: Adjusting AddLimitMods to recent change in ToolBox. Message-ID: <201604080926.u389Qrmu016359@aojmv0008.oracle.com> Changeset: eb0210d6eefd Author: jlahoda Date: 2016-04-08 11:26 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/eb0210d6eefd Adjusting AddLimitMods to recent change in ToolBox. ! test/tools/javac/modules/AddLimitMods.java From alan.bateman at oracle.com Fri Apr 8 09:43:22 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 09:43:22 +0000 Subject: hg: jigsaw/jake/jdk: Nimbus generator needs to run with -addmods java.xml.bind in boot cycle builds Message-ID: <201604080943.u389hMk3022815@aojmv0008.oracle.com> Changeset: d093dce37ffd Author: alanb Date: 2016-04-08 10:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d093dce37ffd Nimbus generator needs to run with -addmods java.xml.bind in boot cycle builds ! make/Tools.gmk From alan.bateman at oracle.com Fri Apr 8 09:53:54 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 09:53:54 +0000 Subject: hg: jigsaw/jake: Re-apply 8153261 Message-ID: <201604080953.u389rsfs027608@aojmv0008.oracle.com> Changeset: 108a18872c67 Author: alanb Date: 2016-04-08 10:53 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/108a18872c67 Re-apply 8153261 ! make/Images.gmk From alan.bateman at oracle.com Fri Apr 8 09:54:10 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 09:54:10 +0000 Subject: hg: jigsaw/jake/jdk: Re-apply 8153261 Message-ID: <201604080954.u389sAXv027767@aojmv0008.oracle.com> Changeset: 38e013bf9e9b Author: alanb Date: 2016-04-08 10:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/38e013bf9e9b Re-apply 8153261 ! make/gensrc/GensrcModuleLoaderMap.gmk From alan.bateman at oracle.com Fri Apr 8 09:56:14 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 08 Apr 2016 09:56:14 +0000 Subject: hg: jigsaw/jake/hotspot: Drop -addmods ALL-SYSTEM from -javaagent usages Message-ID: <201604080956.u389uEsI029048@aojmv0008.oracle.com> Changeset: 99c248ee81f2 Author: alanb Date: 2016-04-08 10:55 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/99c248ee81f2 Drop -addmods ALL-SYSTEM from -javaagent usages ! src/share/vm/runtime/arguments.cpp From dawid.weiss at gmail.com Fri Apr 8 11:58:00 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Fri, 8 Apr 2016 13:58:00 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <5706C75E.6030408@oracle.com> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> Message-ID: Thank you for the magic switch, Mandy! Here's the full output, including stack traces: http://pastebin.com/uUb3aLwq The one referencing the problematic class is: PROXY: jdk.proxy2/com.sun.proxy.jdk.proxy2.$Proxy65 defined by jdk.internal.loader.ClassLoaders$PlatformClassLoader at 523884b2 java.annotations.common/javax.ws.rs.ext.Providers module-private loader jdk.internal.loader.ClassLoaders$PlatformClassLoader at 523884b2 RestEasy creates this proxy class in InjectorFactoryImpl.createContextProxy, but its only reason to exist is (presumably) to keep a cache of proxy classes for the same set of interfaces (it later calls ContextParameterInjector with a cached proxy class). This doesn't look correct to me as newProxyInstance reuses proxy classes internally (although the javadoc here could be improved). I modified this locally and removed the proxy cache. On subsequent run everything worked until I hit another problem, this time somewhere inside Groovy (reflective scan of all fields, very likely). java.lang.reflect.InaccessibleObjectException: Unable to make member of class sun.net.spi.DefaultProxySelector accessible: module java.base does not export sun.net.spi to unnamed module @124c278f at sun.reflect.Reflection.throwInaccessibleObjectException(java.base at 9-ea/Reflection.java:420) at java.lang.reflect.AccessibleObject.checkCanSetAccessible(java.base at 9-ea/AccessibleObject.java:174) at java.lang.reflect.Constructor.checkCanSetAccessible(java.base at 9-ea/Constructor.java:183) at java.lang.reflect.Constructor.setAccessible(java.base at 9-ea/Constructor.java:176) at org.codehaus.groovy.reflection.CachedConstructor$1.run(CachedConstructor.java:41) at java.security.AccessController.doPrivileged(java.base at 9-ea/Native Method) at org.codehaus.groovy.reflection.CachedConstructor.(CachedConstructor.java:39) at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:74) at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:64) at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46) at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33) at org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:258) at groovy.lang.MetaClassImpl.(MetaClassImpl.java:213) at groovy.lang.MetaClassImpl.(MetaClassImpl.java:223) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:168) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:158) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:141) ... This is going to be an uphill battle with so many dependencies in the stack... Dawid On Thu, Apr 7, 2016 at 10:47 PM, Alan Bateman wrote: > On 07/04/2016 21:22, David M. Lloyd wrote: >> >> Having the proxy class be public in most circumstances is a >> 15-plus-year-old contract. > > Proxy classes were specified to be public up to Java SE 7. There was a > significant update in Java SE 8 to specify that the proxy classes be > non-public when any of the interfaces is not public. The draft changes in > JDK 9 is further evolution to specify the proxy class accessibility based on > the least accessible interface. > > >> : >> >> The first problem is that a magic dynamic module is created for proxy >> classes. This is a bit of a punt because of the natural dissonance/chaos >> that arises from decoupling the module from the class loader; however >> there's possibly a better way to mitigate this: let the layer decide how to >> place the proxy class into a *real* module the same way that in the past, >> the proxy class was placed into the real class loader as a normal (usually >> public) class. > > There are cases where the proxy class will be generated in the same > package/module as the proxy interface. Hopefully the "Package and Module > Membership of Proxy Class" section in the javadoc is clear on all the cases. > >> >> >> The second problem is that the requirement for adding read edges all over >> the place for reflection is unreasonable (and has already been recognized as >> such by the EG). > > This is #ReflectionWithoutReadability on the issues list and has already > been resolved [1]. > > -Alan > > [1] > http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2016-March/000248.html > > From paul.bakker.nl at gmail.com Fri Apr 8 12:01:37 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Fri, 8 Apr 2016 14:01:37 +0200 Subject: Automatic modules and services Message-ID: <3286FDD2-07ED-40AE-BE09-A98612139C29@gmail.com> Hi, I found an interesting issue with automatic modules that contain services. I have a small application that depends on jackson-core, jackson-databind and jackson-annotations. As an experiment I started the app with only the jackson-databind jar file on the modulepath, which turns it into an automatic module. The application code, and the other two Jackson libs are still on the classpath. java -cp out:lib/jackson-annotations-2.7.3.jar:lib/jackson-core-2.7.3.jar -mp mods -addmods jackson.databind com.javamodularity.demonstrator.Demo This gives the following exception: java.lang.module.ResolutionException: Module jackson.databind does not read a module that exports com.fasterxml.jackson.core This is surprising, because jackson-databind is an automatic module, which should read the unnamed module. The unnamed module should contain jackson-core because it's on the classpath. The real surprise is that this seems to be caused by jackson-databind having a service declaration in it's META-INF of type "com.fasterxml.jackson.core.ObjectCodec". It looks like an automatic module can't declare a service of a type declared in the unnamed module. When I remove the service declaration from the jackson-databind JAR, it runs without exceptions. Is this a bug or desired behaviour? When placing jackson-core on the modulepath as well everything works as expected, but that's besides the point I think. Best regards, Paul Bakker From Alan.Bateman at oracle.com Fri Apr 8 12:15:11 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 8 Apr 2016 13:15:11 +0100 Subject: Automatic modules and services In-Reply-To: <3286FDD2-07ED-40AE-BE09-A98612139C29@gmail.com> References: <3286FDD2-07ED-40AE-BE09-A98612139C29@gmail.com> Message-ID: <5707A0CF.7060601@oracle.com> On 08/04/2016 13:01, Paul Bakker wrote: > Hi, > > I found an interesting issue with automatic modules that contain services. I have a small application that depends on jackson-core, jackson-databind and jackson-annotations. > As an experiment I started the app with only the jackson-databind jar file on the modulepath, which turns it into an automatic module. The application code, and the other two Jackson libs are still on the classpath. > > java -cp out:lib/jackson-annotations-2.7.3.jar:lib/jackson-core-2.7.3.jar -mp mods -addmods jackson.databind com.javamodularity.demonstrator.Demo > > This gives the following exception: > java.lang.module.ResolutionException: Module jackson.databind does not read a module that exports com.fasterxml.jackson.core > > This is surprising, because jackson-databind is an automatic module, which should read the unnamed module. The unnamed module should contain jackson-core because it's on the classpath. > The real surprise is that this seems to be caused by jackson-databind having a service declaration in it's META-INF of type "com.fasterxml.jackson.core.ObjectCodec". It looks like an automatic module can't declare a service of a type declared in the unnamed module. > When I remove the service declaration from the jackson-databind JAR, it runs without exceptions. > > Is this a bug or desired behaviour? When placing jackson-core on the modulepath as well everything works as expected, but that's besides the point I think. > Thanks for the mail. This is (or rather was) a bug. It's fixed in the jake forest but hasn't been brought to JDK 9 yet. We hope to have the EA builds [1] publishing again soon, in which case there will be daily builds for those that don't build from sources. -Alan [1] https://jdk9.java.net/jigsaw/ From paul.bakker.nl at gmail.com Fri Apr 8 12:16:32 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Fri, 8 Apr 2016 14:16:32 +0200 Subject: Automatic modules and services In-Reply-To: <5707A0CF.7060601@oracle.com> References: <3286FDD2-07ED-40AE-BE09-A98612139C29@gmail.com> <5707A0CF.7060601@oracle.com> Message-ID: <600F9343-A870-4A9B-B19D-5062E74CC074@gmail.com> Excellent, thanks for the reply! Paul > On 08 Apr 2016, at 14:15, Alan Bateman wrote: > > On 08/04/2016 13:01, Paul Bakker wrote: >> Hi, >> >> I found an interesting issue with automatic modules that contain services. I have a small application that depends on jackson-core, jackson-databind and jackson-annotations. >> As an experiment I started the app with only the jackson-databind jar file on the modulepath, which turns it into an automatic module. The application code, and the other two Jackson libs are still on the classpath. >> >> java -cp out:lib/jackson-annotations-2.7.3.jar:lib/jackson-core-2.7.3.jar -mp mods -addmods jackson.databind com.javamodularity.demonstrator.Demo >> This gives the following exception: >> java.lang.module.ResolutionException: Module jackson.databind does not read a module that exports com.fasterxml.jackson.core >> >> This is surprising, because jackson-databind is an automatic module, which should read the unnamed module. The unnamed module should contain jackson-core because it's on the classpath. >> The real surprise is that this seems to be caused by jackson-databind having a service declaration in it's META-INF of type "com.fasterxml.jackson.core.ObjectCodec". It looks like an automatic module can't declare a service of a type declared in the unnamed module. >> When I remove the service declaration from the jackson-databind JAR, it runs without exceptions. >> >> Is this a bug or desired behaviour? When placing jackson-core on the modulepath as well everything works as expected, but that's besides the point I think. >> > Thanks for the mail. This is (or rather was) a bug. It's fixed in the jake forest but hasn't been brought to JDK 9 yet. We hope to have the EA builds [1] publishing again soon, in which case there will be daily builds for those that don't build from sources. > > -Alan > > [1] https://jdk9.java.net/jigsaw/ From Alan.Bateman at oracle.com Fri Apr 8 12:43:02 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 8 Apr 2016 13:43:02 +0100 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> Message-ID: <5707A756.6090208@oracle.com> On 08/04/2016 12:58, Dawid Weiss wrote: > : > > The one referencing the problematic class is: > > PROXY: jdk.proxy2/com.sun.proxy.jdk.proxy2.$Proxy65 defined by > jdk.internal.loader.ClassLoaders$PlatformClassLoader at 523884b2 > java.annotations.common/javax.ws.rs.ext.Providers module-private > loader jdk.internal.loader.ClassLoaders$PlatformClassLoader at 523884b2 I don't have time to look it just now but java.annotations.common/javax.ws.rs.ext.Providers is / and I wouldn't have expected to see this type javax.ws.rs.ext.Providers in this module. It makes me wonder if JAX-RS classes have been added or patched into this module. If added to the module then javax.ws.rs.ext won't be exported by default, hence interface javax.ws.rs.ext.Providers is not accessible to anything outside of this module, hence the dynamic module. > : > > I modified this locally and removed the proxy cache. On subsequent run > everything worked until I hit another problem, this time somewhere > inside Groovy (reflective scan of all fields, very likely). There was some discussion on Groovy here a few months ago and it will be challenge. There were originally a few challenges getting Nashorn (JavaScript) to run too but nothing like this. -Alan From Alan.Bateman at oracle.com Fri Apr 8 12:58:59 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 8 Apr 2016 13:58:59 +0100 Subject: trouble with java -Xpatch In-Reply-To: References: <56F96A31.4080309@oracle.com> <56FA502F.6030406@oracle.com> <57024891.7090506@oracle.com> <5702504C.7070302@oracle.com> Message-ID: <5707AB13.2080200@oracle.com> On 04/04/2016 12:47, Michael Rasmussen wrote: > > But retransform in this phase would still be subject to the same > limitations about no structural changes I assume? Meaning no adding of > members etc. > > My preferred solution would still be if adding (and changing) Xpatch > would be possible during OnLoad, as that should solve all my problems. > I think it would be better if we could post CFLH events in the primordial phase but this is only possible if agents opt-in via a new capability, maybe can_generate_early_class_hook_events that would have to be added along with can_generate_all_class_hook_events. This would nicely complement can_generate_early_vmstart so that suitably prepared agents would get CLFH, CompiledMethodLoad and other events during VM startup. -Alan From dawid.weiss at gmail.com Fri Apr 8 13:02:12 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Fri, 8 Apr 2016 15:02:12 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <5707A756.6090208@oracle.com> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> <5707A756.6090208@oracle.com> Message-ID: > I don't have time to look it just now but > java.annotations.common/javax.ws.rs.ext.Providers is > / and I wouldn't have expected to see this type > javax.ws.rs.ext.Providers in this module. Yes, it's a mess, I agree. It comes from the patched module. Why is this such a mess -- I've no idea, I'm just the user of the library. :) > There was some discussion on Groovy here a few months ago and it will be > challenge. I remember this discussion. For now I disabled the tests that involve RestEast on Java9 and everything else passes. What's interesting is that our application (not the individual tests, the whole thing) works out of the box even without all these module-related hacks -- we use a tiny launcher that in turn collects dependencies into a single URLClassLoader, then runs the application from there. I found this out by accident, but I can already see how people may try to abuse this instead of going through the struggle of finding correct JVM switches for modules (until they become more widespread)... Dawid From Alan.Bateman at oracle.com Fri Apr 8 13:42:16 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 8 Apr 2016 14:42:16 +0100 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> <5707A756.6090208@oracle.com> Message-ID: <5707B538.8070404@oracle.com> On 08/04/2016 14:02, Dawid Weiss wrote: >> I don't have time to look it just now but >> java.annotations.common/javax.ws.rs.ext.Providers is >> / and I wouldn't have expected to see this type >> javax.ws.rs.ext.Providers in this module. > Yes, it's a mess, I agree. It comes from the patched module. Why is > this such a mess -- I've no idea, I'm just the user of the library. :) Just so I have it clear. Someone has packaged the annotations with the JAX-RS classes and -Xpatch:java.annotations.common= is used to patch them into java.annotations.common module, is that right? I think explains things as the interface will not be accessible outside of that module and why the generated Proxy class is not accessible. > : > I remember this discussion. For now I disabled the tests that involve > RestEast on Java9 and everything else passes. What's interesting is > that our application (not the individual tests, the whole thing) works > out of the box even without all these module-related hacks -- we use a > tiny launcher that in turn collects dependencies into a single > URLClassLoader, then runs the application from there. I found this out > by accident, but I can already see how people may try to abuse this > instead of going through the struggle of finding correct JVM switches > for modules (until they become more widespread)... > URLClassLoader does parent delegation so I assume the types in package javax.annotation are being split between loaders. This is not going to work if there package private access is required. -Alan From michael.rasmussen at zeroturnaround.com Fri Apr 8 13:50:05 2016 From: michael.rasmussen at zeroturnaround.com (Michael Rasmussen) Date: Fri, 8 Apr 2016 16:50:05 +0300 Subject: trouble with java -Xpatch In-Reply-To: <5707AB13.2080200@oracle.com> References: <56F96A31.4080309@oracle.com> <56FA502F.6030406@oracle.com> <57024891.7090506@oracle.com> <5702504C.7070302@oracle.com> <5707AB13.2080200@oracle.com> Message-ID: On 8 April 2016 at 15:58, Alan Bateman wrote: > I think it would be better if we could post CFLH events in the primordial > phase but this is only possible if agents opt-in via a new capability, maybe > can_generate_early_class_hook_events that would have to be added along with > can_generate_all_class_hook_events. This would nicely complement > can_generate_early_vmstart so that suitably prepared agents would get CLFH, > CompiledMethodLoad and other events during VM startup. So this would mean the agent would be able to get CLFH for _all_ classes, even Object, String, Class etc, that are the very first to be loaded, and potentially instrument the bytes for those classes as well? Of course still following the rules about not introducing any new packages etc at the time, since it would cause the module system verification to fail (yeah, been there, done that). If that is the case, that also seems like a good solution for me, which should still give me access to what I'm looking for. Also, it would basically mean that can_generate_all_class_hook_events would make CLFH work similar to how it does on previous versions. /Michael From dawid.weiss at gmail.com Fri Apr 8 14:01:35 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Fri, 8 Apr 2016 16:01:35 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: <5707B538.8070404@oracle.com> References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> <5707A756.6090208@oracle.com> <5707B538.8070404@oracle.com> Message-ID: > Just so I have it clear. Someone has packaged the annotations with the > JAX-RS classes and -Xpatch:java.annotations.common= is used to patch > them into java.annotations.common module, is that right? The jar with annotations is a maven dependency, here: http://repo1.maven.org/maven2/org/jboss/resteasy/jaxrs-api/3.0.10.Final/ This jar contains: javax.annotation.Priority javax.ws.rs.* (subpackages and classes) So it's definitely not consistent. I added the following to command line to make it all run: -Xpatch:java.annotations.common=[...]/jaxrs-api-3.0.10.Final.jar -XaddExports:java.annotations.common/javax.ws.rs=ALL-UNNAMED -XaddExports:java.annotations.common/javax.ws.rs.client=ALL-UNNAMED ... (other subpackages from javax.ws.rs.*) > I think explains things as the interface will not be accessible outside of that module and > why the generated Proxy class is not accessible. The interface is available outside of the module -- it is used (and is visible) to all classes. The proxy class created for this interface isn't (or rather: the reflective call to the proxy's constructor fails, like explained in the javadoc you pointed to). > URLClassLoader does parent delegation so I assume the types in package > javax.annotation are being split between loaders. This is not going to work > if there package private access is required. These are annotations only, so no package private access is required. It certainly works, unlike the tests (because I can run it and see that it does). Dawid From blackdrag at gmx.org Fri Apr 8 14:23:41 2016 From: blackdrag at gmx.org (Jochen Theodorou) Date: Fri, 8 Apr 2016 16:23:41 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> Message-ID: <5707BEED.5040605@gmx.org> On 08.04.2016 13:58, Dawid Weiss wrote: [...] > I modified this locally and removed the proxy cache. On subsequent run > everything worked until I hit another problem, this time somewhere > inside Groovy (reflective scan of all fields, very likely). > > java.lang.reflect.InaccessibleObjectException: Unable to make member > of class sun.net.spi.DefaultProxySelector accessible: module java.base > does not export sun.net.spi to unnamed module @124c278f > at sun.reflect.Reflection.throwInaccessibleObjectException(java.base at 9-ea/Reflection.java:420) > at java.lang.reflect.AccessibleObject.checkCanSetAccessible(java.base at 9-ea/AccessibleObject.java:174) > at java.lang.reflect.Constructor.checkCanSetAccessible(java.base at 9-ea/Constructor.java:183) > at java.lang.reflect.Constructor.setAccessible(java.base at 9-ea/Constructor.java:176) > at org.codehaus.groovy.reflection.CachedConstructor$1.run(CachedConstructor.java:41) > at java.security.AccessController.doPrivileged(java.base at 9-ea/Native Method) > at org.codehaus.groovy.reflection.CachedConstructor.(CachedConstructor.java:39) > at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:74) > at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:64) > at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46) > at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33) > at org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:258) > at groovy.lang.MetaClassImpl.(MetaClassImpl.java:213) > at groovy.lang.MetaClassImpl.(MetaClassImpl.java:223) > at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:168) > at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:158) > at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:141) > ... > > This is going to be an uphill battle with so many dependencies in the stack... please see https://issues.apache.org/jira/browse/GROOVY-7587 and use Groovy 2.4.6 bye Jochen From Alan.Bateman at oracle.com Fri Apr 8 15:22:21 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 8 Apr 2016 16:22:21 +0100 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> <5707A756.6090208@oracle.com> <5707B538.8070404@oracle.com> Message-ID: <5707CCAD.10604@oracle.com> On 08/04/2016 15:01, Dawid Weiss wrote: > : > > This jar contains: > javax.annotation.Priority > javax.ws.rs.* (subpackages and classes) > > So it's definitely not consistent. I added the following to command > line to make it all run: > > -Xpatch:java.annotations.common=[...]/jaxrs-api-3.0.10.Final.jar > -XaddExports:java.annotations.common/javax.ws.rs=ALL-UNNAMED > -XaddExports:java.annotations.common/javax.ws.rs.client=ALL-UNNAMED > ... (other subpackages from javax.ws.rs.*) The javax.annotation package should be renamed to javax.anarchy :-) Hopefully we will have builds soon that implement the new policy for the root modules when the initial class is on the class path. That will mean that java.annotations.common will not be resolved by default and should help here. > : > The interface is available outside of the module -- it is used (and is > visible) to all classes. The proxy class created for this interface > isn't (or rather: the reflective call to the proxy's constructor > fails, like explained in the javadoc you pointed to). The interface is visible but its package isn't exported by the module to everyone that potentially reads the module. This is subtle but -XaddExports exports packages to specific targets. The "ALL-UNNAMED" token is all unnamed modules, it's not all modules. -Alan. From erik.joelsson at oracle.com Fri Apr 8 16:01:00 2016 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Fri, 08 Apr 2016 16:01:00 +0000 Subject: hg: jigsaw/jake: Fixed cross compile build Message-ID: <201604081601.u38G10XE007917@aojmv0008.oracle.com> Changeset: cb835147c8af Author: erikj Date: 2016-04-08 18:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/cb835147c8af Fixed cross compile build ! make/CreateBuildJdkCopy.gmk From mandy.chung at oracle.com Fri Apr 8 16:25:22 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 8 Apr 2016 09:25:22 -0700 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> Message-ID: > On Apr 8, 2016, at 4:58 AM, Dawid Weiss wrote: > > Thank you for the magic switch, Mandy! Here's the full output, > including stack traces: > > http://pastebin.com/uUb3aLwq > > The one referencing the problematic class is: > > PROXY: jdk.proxy2/com.sun.proxy.jdk.proxy2.$Proxy65 defined by > jdk.internal.loader.ClassLoaders$PlatformClassLoader at 523884b2 > java.annotations.common/javax.ws.rs.ext.Providers module-private > loader jdk.internal.loader.ClassLoaders$PlatformClassLoader at 523884b2 > I see Alan has explained this and the issue is now understood. One thing to add is that a proxy class is only generated in dynamic module if one of the proxy interface is in a named module and not exported. If you see a proxy class generated in a dynamic module and you run your applications as it is today, it would likely invoke creating a proxy class with some interface in JDK modules, like java.annotations.common module in this case. If all proxy interfaces are either in unnamed module, or exported from named modules, the proxy class will be generated in unnamed module and existing code should work as it is today. > RestEasy creates this proxy class in > InjectorFactoryImpl.createContextProxy, but its only reason to exist > is (presumably) to keep a cache of proxy classes for the same set of > interfaces (it later calls ContextParameterInjector with a cached > proxy class). This doesn't look correct to me as newProxyInstance > reuses proxy classes internally (although the javadoc here could be > improved). > A related note to caching of proxy classes: The performance of Proxy::newProxyInstance has been improved in JDK 8 and Peter has a patch that brings jdk9 proxy performance even better than JDK 8 [1]. Mandy [1] http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-April/040015.html From james.laskey at oracle.com Fri Apr 8 17:05:42 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 8 Apr 2016 14:05:42 -0300 Subject: RFR: JDK-8075550 - Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages Message-ID: The code was reworked to use jrtfs: instead of reading from javafx.jar. http://cr.openjdk.java.net/~jlaskey/8075550/webrev/index.html https://bugs.openjdk.java.net/browse/JDK-8075550 From harold.seigel at oracle.com Fri Apr 8 20:06:16 2016 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Fri, 08 Apr 2016 20:06:16 +0000 Subject: hg: jigsaw/jake/hotspot: Look for class jdk.nio.zipfs.ZipPath" because class "javax.activation.DataHandler" is no longer observable. Message-ID: <201604082006.u38K6HYo024584@aojmv0008.oracle.com> Changeset: 46491264f585 Author: hseigel Date: 2016-04-08 15:37 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46491264f585 Look for class jdk.nio.zipfs.ZipPath" because class "javax.activation.DataHandler" is no longer observable. ! test/runtime/getSysPackage/GetSysPkgTest.java From jonathan.gibbons at oracle.com Fri Apr 8 20:58:37 2016 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 08 Apr 2016 20:58:37 +0000 Subject: hg: jigsaw/jake/langtools: 3 new changesets Message-ID: <201604082058.u38Kwbur017089@aojmv0008.oracle.com> Changeset: f896cf730e26 Author: jjg Date: 2016-04-08 13:56 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/f896cf730e26 fix broken test (bad -addmods) ! test/tools/javac/processing/model/testgetallmembers/Main.java Changeset: f32fdd9422b5 Author: jjg Date: 2016-04-08 13:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/f32fdd9422b5 update -XaddExports in tests ! test/tools/all/RunCodingRules.java ! test/tools/javac/T6358024.java ! test/tools/javac/T6358166.java ! test/tools/javac/T6406771.java ! test/tools/javac/T8010737/ParameterNamesAreNotCopiedToAnonymousInitTest.java ! test/tools/javac/api/TestJavacTaskScanner.java ! test/tools/javac/file/T7018098.java ! test/tools/javac/processing/loader/testClose/TestClose.java ! test/tools/javac/processing/loader/testClose/TestClose2.java ! test/tools/javac/util/T6597678.java ! test/tools/jdeps/APIDeps.java Changeset: efafd3965869 Author: jjg Date: 2016-04-08 13:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/efafd3965869 remove javac support for old-style -XaddExports -XaddReads ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java From kevin.rushforth at oracle.com Fri Apr 8 23:35:04 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 08 Apr 2016 16:35:04 -0700 Subject: RFR: JDK-8075550 - Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages In-Reply-To: References: Message-ID: <57084028.90202@oracle.com> There are no public types exported by javafx.deploy so the change to use that module seems unneeded (I see that you used to include the SWT classes, which is likely what you want, but for which we don't yet have a solution in JDK 9). Everything else looks good to me. +1 -- Kevin Jim Laskey (Oracle) wrote: > The code was reworked to use jrtfs: instead of reading from javafx.jar. > > http://cr.openjdk.java.net/~jlaskey/8075550/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8075550 > > > > From jonathan.gibbons at oracle.com Fri Apr 8 23:54:52 2016 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 08 Apr 2016 23:54:52 +0000 Subject: hg: jigsaw/jake/langtools: fix long broken test Message-ID: <201604082354.u38Nsq2C026544@aojmv0008.oracle.com> Changeset: 2894246c04e2 Author: jjg Date: 2016-04-08 16:54 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2894246c04e2 fix long broken test ! make/tools/crules/CodingRulesAnalyzerPlugin.java ! make/tools/crules/MutableFieldsAnalyzer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/ModuleWrappers.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java ! src/jdk.jshell/share/classes/jdk/jshell/MemoryFileManager.java ! test/tools/all/RunCodingRules.java From mandy.chung at oracle.com Sat Apr 9 06:42:48 2016 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 09 Apr 2016 06:42:48 +0000 Subject: hg: jigsaw/jake: Tied modules: record hashes of modules that depend upon the module being Message-ID: <201604090642.u396gmCa001953@aojmv0008.oracle.com> Changeset: c1c0a1fdde90 Author: mchung Date: 2016-04-08 23:42 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/c1c0a1fdde90 Tied modules: record hashes of modules that depend upon the module being created directly and indirectly. Hashes of jdk modules except upgradeable modules and modules transitively depending on them are recorded in java.base. ! .jcheck/conf ! make/CreateJmods.gmk ! make/Main.gmk From mandy.chung at oracle.com Sat Apr 9 06:42:55 2016 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 09 Apr 2016 06:42:55 +0000 Subject: hg: jigsaw/jake/jdk: Tied modules: record hashes of modules that depend upon the module being Message-ID: <201604090642.u396gtxD002049@aojmv0008.oracle.com> Changeset: 208cb2ccab76 Author: mchung Date: 2016-04-08 23:42 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/208cb2ccab76 Tied modules: record hashes of modules that depend upon the module being created directly and indirectly. Hashes of jdk modules except upgradeable modules and modules transitively depending on them are recorded in java.base. ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! src/java.base/share/classes/java/lang/module/ModuleReference.java ! src/java.base/share/classes/java/lang/module/Resolver.java ! src/java.base/share/classes/java/lang/module/SystemModuleFinder.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangModuleAccess.java ! src/java.base/share/classes/jdk/internal/module/Builder.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashes.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/SystemModules.java ! src/java.base/share/classes/module-info.java ! src/jdk.jartool/share/classes/sun/tools/jar/GNUStyleOptions.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModuleDescriptorPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod.properties ! test/tools/jar/modularJar/Basic.java ! test/tools/jar/modularJar/src/bar/jdk/test/bar/Bar.java - test/tools/jlink/hashes/HashesTest.java - test/tools/jlink/hashes/newsrc/m2/module-info.java - test/tools/jlink/hashes/newsrc/m2/org/m2/Util.java - test/tools/jlink/hashes/newsrc/not_matched/module-info.java - test/tools/jlink/hashes/newsrc/not_matched/org/not_matched/Name.java - test/tools/jlink/hashes/src/m1/module-info.java - test/tools/jlink/hashes/src/m1/org/m1/Main.java - test/tools/jlink/hashes/src/m2/module-info.java - test/tools/jlink/hashes/src/m2/org/m2/Util.java - test/tools/jlink/hashes/src/not_matched/module-info.java - test/tools/jlink/hashes/src/not_matched/org/not_matched/Name.java ! test/tools/jmod/JmodNegativeTest.java + test/tools/jmod/hashes/HashesTest.java + test/tools/jmod/hashes/src/m1/module-info.java + test/tools/jmod/hashes/src/m1/org/m1/Main.java + test/tools/jmod/hashes/src/m2/module-info.java + test/tools/jmod/hashes/src/m2/org/m2/Util.java + test/tools/jmod/hashes/src/m3/module-info.java + test/tools/jmod/hashes/src/m3/org/m3/Name.java + test/tools/jmod/hashes/src/org.bar/module-info.java + test/tools/jmod/hashes/src/org.foo/module-info.java ! test/tools/lib/tests/JImageGenerator.java From alan.bateman at oracle.com Sun Apr 10 12:25:56 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sun, 10 Apr 2016 12:25:56 +0000 Subject: hg: jigsaw/jake/jaxp: Translet module doesn't need to use qualified export Message-ID: <201604101225.u3ACPuwp007672@aojmv0008.oracle.com> Changeset: e6b916e4bbce Author: alanb Date: 2016-04-09 17:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/e6b916e4bbce Translet module doesn't need to use qualified export ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java From alan.bateman at oracle.com Sun Apr 10 12:26:11 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sun, 10 Apr 2016 12:26:11 +0000 Subject: hg: jigsaw/jake/jdk: 4 new changesets Message-ID: <201604101226.u3ACQCQp007739@aojmv0008.oracle.com> Changeset: 9a7bbee7d9f6 Author: alanb Date: 2016-04-10 11:57 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9a7bbee7d9f6 NPE when -addmods ALL-MODULE-PATH specific without a module path ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! test/tools/launcher/modules/addmods/AddModsTest.java Changeset: b96bd7c04c0e Author: alanb Date: 2016-04-10 11:59 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b96bd7c04c0e Uses driver class for javax.transaction tests until CODETOOLS-7901647 in place ! test/ProblemList.txt + test/javax/transaction/testng/Driver.java - test/javax/transaction/testng/TEST.properties Changeset: b8683fc3e2c5 Author: alanb Date: 2016-04-10 12:01 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b8683fc3e2c5 Revert patch to jlr.Module to export to modules in parent layers ! src/java.base/share/classes/java/lang/reflect/Module.java Changeset: 3e270fb2fe81 Author: alanb Date: 2016-04-10 12:17 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3e270fb2fe81 Clean up and reduce classes loaded during startup ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! src/java.base/share/classes/java/lang/module/ModuleReference.java ! src/java.base/share/classes/java/lang/module/Resolver.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangModuleAccess.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashes.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/ServicesCatalog.java From blackdrag at gmx.org Sun Apr 10 18:29:55 2016 From: blackdrag at gmx.org (Jochen Theodorou) Date: Sun, 10 Apr 2016 20:29:55 +0200 Subject: running Groovy on JDK9 Message-ID: <570A9BA3.5000009@gmx.org> Hi all, today I had a few hours spare time and decided to invest that in trying to make the Groovy build compile and run tests. I am not trying to make a module on my own yet. for compilation to work my biggest problem was the direct usage of the javac compiler set through gradle. Which is why I had to add options.forkOptions.jvmArgs << > options.forkOptions.jvmArgs << "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" for compileJava and > groovyOptions.forkOptions.jvmArgs << "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" for the groovy compiler (which uses internally he compiler set through gradle) those simple changes (and removing the deprecated jvm options) get me past compilation and into test execution, which completes with 47 failures (of 8566 tests). First error I get is something like this: > Compile error during compilation with javac. > /tmp/stubgentests77510877964035184621460309483098/bar/GroovyClass.java:12: error: package groovy.lang does not exist > groovy.lang.GroovyObject { as an explanation.. at this point there should be a groovy.jar containing GroovyObject on the classpath. There is a GroovyClass.groovy, for which a GroovyClass.java stub is produced. The stub is then used during the compilation of java sources, that depend on groovy sources and the other way around. The stub does have only dummy code. But I am wondering why this compilation fails. We do use the sources option during compilation with javac and javac finds them.. only it seems those sources have no access to the groovy.jar Then of course we have something like this: > org.codehaus.groovy.runtime.m12n.ExtensionModuleTest > testThatModuleCanBeLoadedWithGrab FAILED > java.lang.RuntimeException: Unable to find class loader (module here has nothing to do with jigsaw. This error is caused by not using an URLClassloader anymore in JDK9... I actually would like to know what the jdk9 way of doing this is supposed to be. What I mean is that you had the not really supported option of adding a jar to the highest loader and make its classes available to lower loaders that way. Since that loader is no URLClassloader anymore, this does not work any longer. But is there any way to simulate that? Main usage was for example loading a sql driver jar via Class.forName and the driver then registering itself in the static constructor. How am I supposed to dynamically load database drivers in JDK9 (even if they are not written for JDK9)? Would be one question. But this extends to jars loaded at runtime, not through command line options containing services in general actually. And then I have this one: > > org.codehaus.groovy.runtime.InterfaceConversionTest > testDefaultInterfaceMethodCallOnProxy FAILED > BUG! UNCAUGHT EXCEPTION: access to public member failed: java.util.Comparator.reversed()Comparator/invokeSpecial, from java.util.Comparator/2 (module java.base) > at org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.java:99) > at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:109) > at com.sun.proxy.$Proxy47.reversed(Unknown Source) > at java_util_Comparator$reversed$0.call(Unknown Source) > at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) > at org.codehaus.groovy.runtime.InterfaceConversionTest.testDefaultInterfaceMethodCallOnProxy(InterfaceConversionTest.groovy:52) > > Caused by: > java.lang.IllegalAccessException: access to public member failed: java.util.Comparator.reversed()Comparator/invokeSpecial, from java.util.Comparator/2 (module java.base) > at java.lang.invoke.MemberName.makeAccessException(java.base at 9-ea/MemberName.java:870) > at java.lang.invoke.MethodHandles$Lookup.checkAccess(java.base at 9-ea/MethodHandles.java:1642) > at java.lang.invoke.MethodHandles$Lookup.checkMethod(java.base at 9-ea/MethodHandles.java:1582) > at java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(java.base at 9-ea/MethodHandles.java:1731) > at java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(java.base at 9-ea/MethodHandles.java:1725) > at java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(java.base at 9-ea/MethodHandles.java:1336) > at org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.java:96) > ... 7 more Can somebody explain me what the IllegalAccessException means? Why can I not call unreflectSpecial here? bye Jochen From Alan.Bateman at oracle.com Sun Apr 10 19:44:39 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 10 Apr 2016 20:44:39 +0100 Subject: running Groovy on JDK9 In-Reply-To: <570A9BA3.5000009@gmx.org> References: <570A9BA3.5000009@gmx.org> Message-ID: <570AAD27.2080507@oracle.com> On 10/04/2016 19:29, Jochen Theodorou wrote: > Hi all, > > today I had a few hours spare time and decided to invest that in > trying to make the Groovy build compile and run tests. I am not trying > to make a module on my own yet. > > for compilation to work my biggest problem was the direct usage of the > javac compiler set through gradle. Which is why I had to add > > options.forkOptions.jvmArgs << > options.forkOptions.jvmArgs << > "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" > > for compileJava and >> groovyOptions.forkOptions.jvmArgs << >> "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" > > for the groovy compiler (which uses internally he compiler set through > gradle) There have been a few issues with Gradle using JDK-internal APIs and so failing with JDK 9. Several issues have been fixed but maybe not all. I see the issue you see mentioned at the end of this thread: https://discuss.gradle.org/t/jdk9-jigsaw-build-problem/13054 It would be good to check if there is any open bugs on this. > This error is caused by not using an URLClassloader anymore in JDK9... > I actually would like to know what the jdk9 way of doing this is > supposed to be. What I mean is that you had the not really supported > option of adding a jar to the highest loader and make its classes > available to lower loaders that way. Since that loader is no > URLClassloader anymore, this does not work any longer. But is there > any way to simulate that? Main usage was for example loading a sql > driver jar via Class.forName and the driver then registering itself in > the static constructor. How am I supposed to dynamically load database > drivers in JDK9 (even if they are not written for JDK9)? Would be one > question. But this extends to jars loaded at runtime, not through > command line options containing services in general actually. The only supported way in JDK 8 and older to extend the class path dynamically has been via Instrumentation API. So for URLClassLoader then were you using setAccessible to get at the protected addURL method? Can you describe the JDBC driver scenario a bit more? Can it be deployed as a service provider on the class path? Can it be registered via registerDriver? > >> : >> >> Caused by: >> java.lang.IllegalAccessException: access to public member failed: >> java.util.Comparator.reversed()Comparator/invokeSpecial, from >> java.util.Comparator/2 (module java.base) >> at >> java.lang.invoke.MemberName.makeAccessException(java.base at 9-ea/MemberName.java:870) >> at >> java.lang.invoke.MethodHandles$Lookup.checkAccess(java.base at 9-ea/MethodHandles.java:1642) >> at >> java.lang.invoke.MethodHandles$Lookup.checkMethod(java.base at 9-ea/MethodHandles.java:1582) >> at >> java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(java.base at 9-ea/MethodHandles.java:1731) >> at >> java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(java.base at 9-ea/MethodHandles.java:1725) >> at >> java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(java.base at 9-ea/MethodHandles.java:1336) >> at >> org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.java:96) >> ... 7 more > > Can somebody explain me what the IllegalAccessException means? Why can > I not call unreflectSpecial here? Do you know how this Lookup is created? I'm curious how the lookup mode could be "2" (PRIVATE). Running with -esa might reveal more. -Alan From stephen.felts at oracle.com Sun Apr 10 19:50:05 2016 From: stephen.felts at oracle.com (Stephen Felts) Date: Sun, 10 Apr 2016 12:50:05 -0700 (PDT) Subject: running Groovy on JDK9 In-Reply-To: <570A9BA3.5000009@gmx.org> References: <570A9BA3.5000009@gmx.org> Message-ID: You should start with Gradle 2.10. It has most of the fixes needed to run with JDK9. I found that it was easiest to run with an argument file (though originally I had it all on the command line). It's needed for both gradle and the daemon. export GRADLE_OPTS="@${argsfile} -Xmx2048m -Dorg.gradle.jvmargs=\"@${argsfile} -Xmx2048m \" " The options that you need will vary depending on your application. -----Original Message----- From: Jochen Theodorou [mailto:blackdrag at gmx.org] Sent: Sunday, April 10, 2016 2:30 PM To: jigsaw-dev at openjdk.java.net Subject: running Groovy on JDK9 Hi all, today I had a few hours spare time and decided to invest that in trying to make the Groovy build compile and run tests. I am not trying to make a module on my own yet. for compilation to work my biggest problem was the direct usage of the javac compiler set through gradle. Which is why I had to add options.forkOptions.jvmArgs << > options.forkOptions.jvmArgs << "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" for compileJava and > groovyOptions.forkOptions.jvmArgs << "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" for the groovy compiler (which uses internally he compiler set through gradle) those simple changes (and removing the deprecated jvm options) get me past compilation and into test execution, which completes with 47 failures (of 8566 tests). First error I get is something like this: > Compile error during compilation with javac. > /tmp/stubgentests77510877964035184621460309483098/bar/GroovyClass.java > :12: error: package groovy.lang does not exist > groovy.lang.GroovyObject { as an explanation.. at this point there should be a groovy.jar containing GroovyObject on the classpath. There is a GroovyClass.groovy, for which a GroovyClass.java stub is produced. The stub is then used during the compilation of java sources, that depend on groovy sources and the other way around. The stub does have only dummy code. But I am wondering why this compilation fails. We do use the sources option during compilation with javac and javac finds them.. only it seems those sources have no access to the groovy.jar Then of course we have something like this: > org.codehaus.groovy.runtime.m12n.ExtensionModuleTest > testThatModuleCanBeLoadedWithGrab FAILED > java.lang.RuntimeException: Unable to find class loader (module here has nothing to do with jigsaw. This error is caused by not using an URLClassloader anymore in JDK9... I actually would like to know what the jdk9 way of doing this is supposed to be. What I mean is that you had the not really supported option of adding a jar to the highest loader and make its classes available to lower loaders that way. Since that loader is no URLClassloader anymore, this does not work any longer. But is there any way to simulate that? Main usage was for example loading a sql driver jar via Class.forName and the driver then registering itself in the static constructor. How am I supposed to dynamically load database drivers in JDK9 (even if they are not written for JDK9)? Would be one question. But this extends to jars loaded at runtime, not through command line options containing services in general actually. And then I have this one: > > org.codehaus.groovy.runtime.InterfaceConversionTest > > testDefaultInterfaceMethodCallOnProxy FAILED BUG! UNCAUGHT EXCEPTION: > access to public member failed: > java.util.Comparator.reversed()Comparator/invokeSpecial, from > java.util.Comparator/2 (module java.base) at > org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.jav > a:99) at > org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler > .java:109) at com.sun.proxy.$Proxy47.reversed(Unknown Source) at > java_util_Comparator$reversed$0.call(Unknown Source) at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSit > eArray.java:48) at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCal > lSite.java:113) at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCal > lSite.java:117) at > org.codehaus.groovy.runtime.InterfaceConversionTest.testDefaultInterfa > ceMethodCallOnProxy(InterfaceConversionTest.groovy:52) > > Caused by: > java.lang.IllegalAccessException: access to public member failed: > java.util.Comparator.reversed()Comparator/invokeSpecial, from > java.util.Comparator/2 (module java.base) at > java.lang.invoke.MemberName.makeAccessException(java.base at 9-ea/MemberN > ame.java:870) at > java.lang.invoke.MethodHandles$Lookup.checkAccess(java.base at 9-ea/Metho > dHandles.java:1642) at > java.lang.invoke.MethodHandles$Lookup.checkMethod(java.base at 9-ea/Metho > dHandles.java:1582) at > java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(java.base@ > 9-ea/MethodHandles.java:1731) at > java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager > (java.base at 9-ea/MethodHandles.java:1725) > at > java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(java.base at 9-ea/ > MethodHandles.java:1336) at > org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.jav > a:96) > ... 7 more Can somebody explain me what the IllegalAccessException means? Why can I not call unreflectSpecial here? bye Jochen From stephen.felts at oracle.com Sun Apr 10 21:46:05 2016 From: stephen.felts at oracle.com (Stephen Felts) Date: Sun, 10 Apr 2016 14:46:05 -0700 (PDT) Subject: running Groovy on JDK9 In-Reply-To: References: <570A9BA3.5000009@gmx.org> Message-ID: On the other hand, in a gradle script, you can't use options.compilerArgs << '@/pathname/argsfile' because it will be put into a JDK9 arg file and JDK9 doesn't support an arg file within an argfile. I think that JDK9 should be fixed to support that (and properly handle recursion). -----Original Message----- From: Stephen Felts Sent: Sunday, April 10, 2016 3:50 PM To: Jochen Theodorou; jigsaw-dev at openjdk.java.net Subject: RE: running Groovy on JDK9 You should start with Gradle 2.10. It has most of the fixes needed to run with JDK9. I found that it was easiest to run with an argument file (though originally I had it all on the command line). It's needed for both gradle and the daemon. export GRADLE_OPTS="@${argsfile} -Xmx2048m -Dorg.gradle.jvmargs=\"@${argsfile} -Xmx2048m \" " The options that you need will vary depending on your application. -----Original Message----- From: Jochen Theodorou [mailto:blackdrag at gmx.org] Sent: Sunday, April 10, 2016 2:30 PM To: jigsaw-dev at openjdk.java.net Subject: running Groovy on JDK9 Hi all, today I had a few hours spare time and decided to invest that in trying to make the Groovy build compile and run tests. I am not trying to make a module on my own yet. for compilation to work my biggest problem was the direct usage of the javac compiler set through gradle. Which is why I had to add options.forkOptions.jvmArgs << > options.forkOptions.jvmArgs << "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" for compileJava and > groovyOptions.forkOptions.jvmArgs << "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" for the groovy compiler (which uses internally he compiler set through gradle) those simple changes (and removing the deprecated jvm options) get me past compilation and into test execution, which completes with 47 failures (of 8566 tests). First error I get is something like this: > Compile error during compilation with javac. > /tmp/stubgentests77510877964035184621460309483098/bar/GroovyClass.java > :12: error: package groovy.lang does not exist > groovy.lang.GroovyObject { as an explanation.. at this point there should be a groovy.jar containing GroovyObject on the classpath. There is a GroovyClass.groovy, for which a GroovyClass.java stub is produced. The stub is then used during the compilation of java sources, that depend on groovy sources and the other way around. The stub does have only dummy code. But I am wondering why this compilation fails. We do use the sources option during compilation with javac and javac finds them.. only it seems those sources have no access to the groovy.jar Then of course we have something like this: > org.codehaus.groovy.runtime.m12n.ExtensionModuleTest > testThatModuleCanBeLoadedWithGrab FAILED > java.lang.RuntimeException: Unable to find class loader (module here has nothing to do with jigsaw. This error is caused by not using an URLClassloader anymore in JDK9... I actually would like to know what the jdk9 way of doing this is supposed to be. What I mean is that you had the not really supported option of adding a jar to the highest loader and make its classes available to lower loaders that way. Since that loader is no URLClassloader anymore, this does not work any longer. But is there any way to simulate that? Main usage was for example loading a sql driver jar via Class.forName and the driver then registering itself in the static constructor. How am I supposed to dynamically load database drivers in JDK9 (even if they are not written for JDK9)? Would be one question. But this extends to jars loaded at runtime, not through command line options containing services in general actually. And then I have this one: > > org.codehaus.groovy.runtime.InterfaceConversionTest > > testDefaultInterfaceMethodCallOnProxy FAILED BUG! UNCAUGHT EXCEPTION: > access to public member failed: > java.util.Comparator.reversed()Comparator/invokeSpecial, from > java.util.Comparator/2 (module java.base) at > org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.jav > a:99) at > org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler > .java:109) at com.sun.proxy.$Proxy47.reversed(Unknown Source) at > java_util_Comparator$reversed$0.call(Unknown Source) at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSit > eArray.java:48) at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCal > lSite.java:113) at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCal > lSite.java:117) at > org.codehaus.groovy.runtime.InterfaceConversionTest.testDefaultInterfa > ceMethodCallOnProxy(InterfaceConversionTest.groovy:52) > > Caused by: > java.lang.IllegalAccessException: access to public member failed: > java.util.Comparator.reversed()Comparator/invokeSpecial, from > java.util.Comparator/2 (module java.base) at > java.lang.invoke.MemberName.makeAccessException(java.base at 9-ea/MemberN > ame.java:870) at > java.lang.invoke.MethodHandles$Lookup.checkAccess(java.base at 9-ea/Metho > dHandles.java:1642) at > java.lang.invoke.MethodHandles$Lookup.checkMethod(java.base at 9-ea/Metho > dHandles.java:1582) at > java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(java.base@ > 9-ea/MethodHandles.java:1731) at > java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager > (java.base at 9-ea/MethodHandles.java:1725) > at > java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(java.base at 9-ea/ > MethodHandles.java:1336) at > org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.jav > a:96) > ... 7 more Can somebody explain me what the IllegalAccessException means? Why can I not call unreflectSpecial here? bye Jochen From frank.yuan at oracle.com Mon Apr 11 01:39:37 2016 From: frank.yuan at oracle.com (Frank Yuan) Date: Mon, 11 Apr 2016 09:39:37 +0800 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <028501d18b33$633b5200$29b1f600$@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> Message-ID: <010401d19393$03ec2be0$0bc483a0$@oracle.com> Hi Alan and Joe Would you like to have a look at this review http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? Best Regards Frank > -----Original Message----- > From: Frank Yuan [mailto:frank.yuan at oracle.com] > Sent: Thursday, March 31, 2016 5:55 PM > To: 'Alan Bateman' ; 'huizhe wang' ; jigsaw-dev at openjdk.java.net > Subject: RE: RFR: 8078820: Test deploying a XML parser as a module > > Hi Alan, Joe, and All > > I have produced a new webrev > http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ based on your comments, there are 2 tests: > 1. BasicModularXMLParserTest.java, which is same as the previous one, tests the customized xml provider modules in boot layer 2. > LayerModularXMLParserTest.java, which is suggested by Alan, it tests the different combinations of providers, application and layers. > > Would you like to review it again? Thank you! > > Best Regards > Frank > > From: Alan Bateman [mailto:Alan.Bateman at oracle.com] > Sent: Sunday, March 27, 2016 2:52 PM > To: huizhe wang ; Frank Yuan > Subject: Re: RFR: 8078820: Test deploying a XML parser as a module > > > On 26/03/2016 22:07, huizhe wang wrote: > > On 3/24/2016 2:51 AM, Frank Yuan wrote: > To Joe > > > Need I wait for org.xml.sax.helpers.XMLReaderFactory? or leave it till later? > > Up to you. I don't know how urgent this task is.? The XMLReaderFactory might take a while to get fixed. We may go ahead with our > own plan to update it since I haven't heard from the SAX project yet. Even so, it still might take weeks. > > But once it's in place, it will be exactly the same as other factories with regard to the way it works in modules. > We can always come back to the test once we have a solution for the SAX API. > > So I suggest go ahead and work with Frank to get this test in. I think it should co-locate with the existing unit tests. > > -Alan. From felix.yang at oracle.com Mon Apr 11 03:47:21 2016 From: felix.yang at oracle.com (Felix Yang) Date: Mon, 11 Apr 2016 11:47:21 +0800 Subject: RFR 8153928, test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc Message-ID: <570B1E49.6040001@oracle.com> Hi there, please review the following bug fix. Bug: https://bugs.openjdk.java.net/browse/JDK-8153928 Webrev: http://cr.openjdk.java.net/~xiaofeya/8153928/webrev.00/ After changes in JDK-8153737 , it introduced new dependency of java.base/jdk.internal.misc in test/lib/share/classes/jdk/test/lib/Utils.java. This leads to two test compilation failures. See changeset: http://hg.openjdk.java.net/jdk9/dev/rev/1d992540870f Thanks, Felix From amy.lu at oracle.com Mon Apr 11 04:49:35 2016 From: amy.lu at oracle.com (Amy Lu) Date: Mon, 11 Apr 2016 12:49:35 +0800 Subject: RFR 8153928, test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc In-Reply-To: <570B1E49.6040001@oracle.com> References: <570B1E49.6040001@oracle.com> Message-ID: <570B2CDF.8000705@oracle.com> On 4/11/16 11:47 AM, Felix Yang wrote: > Hi there, > please review the following bug fix. > Bug: https://bugs.openjdk.java.net/browse/JDK-8153928 > Webrev: http://cr.openjdk.java.net/~xiaofeya/8153928/webrev.00/ You might want to do some cleanup to avoid using two @modules tags? BTW. I'm not openjdk reviewer, please wait for reviewer's feedback. Thanks, Amy > > After changes in JDK-8153737 > , it introduced new > dependency of java.base/jdk.internal.misc in > test/lib/share/classes/jdk/test/lib/Utils.java. This leads to two test > compilation failures. > See changeset: http://hg.openjdk.java.net/jdk9/dev/rev/1d992540870f > > Thanks, > Felix From felix.yang at oracle.com Mon Apr 11 05:04:43 2016 From: felix.yang at oracle.com (Felix Yang) Date: Mon, 11 Apr 2016 13:04:43 +0800 Subject: RFR 8153928, test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc In-Reply-To: <570B2CDF.8000705@oracle.com> References: <570B1E49.6040001@oracle.com> <570B2CDF.8000705@oracle.com> Message-ID: <570B306B.3080208@oracle.com> Amy, thanks. I'm not sure which practices are suggested. By searching the existing tests, I found lots of test with 2+ @modules, so I chose to add another @modules. Personally, both ways look clear and transparent for me. Thanks, Felix On 2016/4/11 12:49, Amy Lu wrote: > On 4/11/16 11:47 AM, Felix Yang wrote: >> Hi there, >> please review the following bug fix. >> Bug: https://bugs.openjdk.java.net/browse/JDK-8153928 >> Webrev: http://cr.openjdk.java.net/~xiaofeya/8153928/webrev.00/ > > You might want to do some cleanup to avoid using two @modules tags? > > BTW. I'm not openjdk reviewer, please wait for reviewer's feedback. > > Thanks, > Amy > >> >> After changes in JDK-8153737 >> , it introduced new >> dependency of java.base/jdk.internal.misc in >> test/lib/share/classes/jdk/test/lib/Utils.java. This leads to two >> test compilation failures. >> See changeset: http://hg.openjdk.java.net/jdk9/dev/rev/1d992540870f >> >> Thanks, >> Felix > From Alan.Bateman at oracle.com Mon Apr 11 06:46:04 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 11 Apr 2016 07:46:04 +0100 Subject: RFR 8153928, test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc In-Reply-To: <570B306B.3080208@oracle.com> References: <570B1E49.6040001@oracle.com> <570B2CDF.8000705@oracle.com> <570B306B.3080208@oracle.com> Message-ID: <570B482C.5020600@oracle.com> On 11/04/2016 06:04, Felix Yang wrote: > Amy, > thanks. I'm not sure which practices are suggested. By searching > the existing tests, I found lots of test with 2+ @modules, so I chose > to add another @modules. Personally, both ways look clear and > transparent for me. We've tried to use one @modules per test but there are inconsistencies. I think some of those inconsistencies arose when patches were brought into jdk9/dev early and then subsequently merged. At some point we should do a pass over the existing usages to get them consistent. -Alan From felix.yang at oracle.com Mon Apr 11 06:57:37 2016 From: felix.yang at oracle.com (Felix Yang) Date: Mon, 11 Apr 2016 14:57:37 +0800 Subject: RFR 8153928, test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc In-Reply-To: <570B482C.5020600@oracle.com> References: <570B1E49.6040001@oracle.com> <570B2CDF.8000705@oracle.com> <570B306B.3080208@oracle.com> <570B482C.5020600@oracle.com> Message-ID: <570B4AE1.1060008@oracle.com> Hi Alan and Amy, thanks for figuring this out. Updated to suggested practice. New webrev: http://cr.openjdk.java.net/~xiaofeya/8153928/webrev.01/ Felix On 2016/4/11 14:46, Alan Bateman wrote: > On 11/04/2016 06:04, Felix Yang wrote: >> Amy, >> thanks. I'm not sure which practices are suggested. By searching >> the existing tests, I found lots of test with 2+ @modules, so I chose >> to add another @modules. Personally, both ways look clear and >> transparent for me. > We've tried to use one @modules per test but there are > inconsistencies. I think some of those inconsistencies arose when > patches were brought into jdk9/dev early and then subsequently merged. > At some point we should do a pass over the existing usages to get them > consistent. > > -Alan From Alan.Bateman at oracle.com Mon Apr 11 07:01:11 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 11 Apr 2016 08:01:11 +0100 Subject: RFR 8153928, test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc In-Reply-To: <570B4AE1.1060008@oracle.com> References: <570B1E49.6040001@oracle.com> <570B2CDF.8000705@oracle.com> <570B306B.3080208@oracle.com> <570B482C.5020600@oracle.com> <570B4AE1.1060008@oracle.com> Message-ID: <570B4BB7.6090607@oracle.com> On 11/04/2016 07:57, Felix Yang wrote: > Hi Alan and Amy, > thanks for figuring this out. Updated to suggested practice. > > New webrev: http://cr.openjdk.java.net/~xiaofeya/8153928/webrev.01/ This looks okay. -Alan From amy.lu at oracle.com Mon Apr 11 07:08:58 2016 From: amy.lu at oracle.com (Amy Lu) Date: Mon, 11 Apr 2016 15:08:58 +0800 Subject: RFR 8153928, test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc In-Reply-To: <570B4BB7.6090607@oracle.com> References: <570B1E49.6040001@oracle.com> <570B2CDF.8000705@oracle.com> <570B306B.3080208@oracle.com> <570B482C.5020600@oracle.com> <570B4AE1.1060008@oracle.com> <570B4BB7.6090607@oracle.com> Message-ID: <570B4D8A.8060202@oracle.com> On 4/11/16 3:01 PM, Alan Bateman wrote: > On 11/04/2016 07:57, Felix Yang wrote: >> Hi Alan and Amy, >> thanks for figuring this out. Updated to suggested practice. >> >> New webrev: http://cr.openjdk.java.net/~xiaofeya/8153928/webrev.01/ > This looks okay. > > -Alan Felix, I'll sponsor this for you. Thanks, Amy From chris.hegarty at oracle.com Mon Apr 11 08:03:49 2016 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Mon, 11 Apr 2016 09:03:49 +0100 Subject: RFR 8153928, test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc In-Reply-To: <570B4AE1.1060008@oracle.com> References: <570B1E49.6040001@oracle.com> <570B2CDF.8000705@oracle.com> <570B306B.3080208@oracle.com> <570B482C.5020600@oracle.com> <570B4AE1.1060008@oracle.com> Message-ID: <124FF15E-49E7-4006-B22A-9481743CEFCA@oracle.com> > On 11 Apr 2016, at 07:57, Felix Yang wrote: > > Hi Alan and Amy, > thanks for figuring this out. Updated to suggested practice. > > New webrev: http://cr.openjdk.java.net/~xiaofeya/8153928/webrev.01/ Thanks for jumping on this, Felix. +1 -Chris. > Felix > >> On 2016/4/11 14:46, Alan Bateman wrote: >>> On 11/04/2016 06:04, Felix Yang wrote: >>> Amy, >>> thanks. I'm not sure which practices are suggested. By searching the existing tests, I found lots of test with 2+ @modules, so I chose to add another @modules. Personally, both ways look clear and transparent for me. >> We've tried to use one @modules per test but there are inconsistencies. I think some of those inconsistencies arose when patches were brought into jdk9/dev early and then subsequently merged. At some point we should do a pass over the existing usages to get them consistent. >> >> -Alan > From georgiy.rakov at oracle.com Mon Apr 11 10:42:01 2016 From: georgiy.rakov at oracle.com (Georgiy Rakov) Date: Mon, 11 Apr 2016 13:42:01 +0300 Subject: Inner classes are allowed to be specified in 'uses' statement In-Reply-To: <5702283D.5000001@gmail.com> References: <56FE8B16.1050008@oracle.com> <5702283D.5000001@gmail.com> Message-ID: <570B7F79.8010603@oracle.com> Hi Peter, On 04.04.2016 11:39, Peter Levart wrote: > Hi Georgiy, > > On 04/01/2016 04:52 PM, Georgiy Rakov wrote: >> Hello, >> >> currently inner classes are allowed to be specified in 'uses' >> statement, for instance following code is compiled successfully by >> JDKb111 javac: >> >> a/module-info.java: >> module a { >> uses pkg.Outer.Inner; >> } >> >> a/pkg/Outer.java: >> package pkg; >> public class Outer{ public class Inner{} } >> >> Spec doesn't prevent it either. However in 1.1.3 >> it >> prevents implementations specified in 'provides' statement to be >> inner classes. According to my understanding inner class cannot be >> extended by non-inner class, for instance "public class Impl extends >> Outer.Inner { } " would cause: >> >> error: an enclosing instance >> that contains Outer.Inner is required >> class Implem extends Outer.Inner {} >> ^ >> 1 error >> >> So could you please tell what is the purpose of allowing inner >> classes to be specified in 'uses' statement, there seem to be no way >> to create its implementation. Should it be prohibited by spec? >> >> The minimized testcase is attached; in order to run it please: >> 1. unzip attached archive on Windows machine; >> 2. rename test12\test_bat to test12\test.bat; >> 3. modify test.bat by changing JDK_HOME variable to point to your JDK >> installation; >> 4. run test.bat. >> >> Thank you, >> Georgiy. > > Not only in 'uses' statement. It would be impossible to specify them > in 'provides ... with ...' statement as implementation classes too as > they by definition can't be instantiated without an outer instance > (their constructors always contain an implicit parameter - the outer > instance). What does compiler say for such case? > > a/module-info.java: > module a { > exports pkg; > provides pkg.Service with pkg.impl.Outer.Inner; > } > > a/pkg/Service.java: > package pkg; > public interface Service {} > > a/pkg/impl/Outer.java: > package pkg.impl; > public class Outer { public class Inner implements pkg.Service { } } > > For such case jdk9b113 javac says: a\module-info.java:3: error: the service implementation is an inner class: Outer.Inner provides pkg.Service with pkg.impl.Outer.Inner; ^ 1 error As I've already said this is according to spec: It is a compile-time error if the service implementation named by the |with|clause of a |provides|statement is |abstract|, or is not |public|, or does not have a |public|no-args constructor, or is *an inner class* (JLS 8.1.3). But spec doesn't prevent service interfaces to be inner classes. Thanks, Georgiy. > Regards, Peter > From michael.haupt at oracle.com Mon Apr 11 12:13:08 2016 From: michael.haupt at oracle.com (Michael Haupt) Date: Mon, 11 Apr 2016 14:13:08 +0200 Subject: RFR: JDK-8075550 - Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages In-Reply-To: References: Message-ID: <7CF13757-0071-4E05-8253-945C03D0834B@oracle.com> Hi Jim, lower-case thumbs up! Best, Michael > Am 08.04.2016 um 19:05 schrieb Jim Laskey (Oracle) : > > The code was reworked to use jrtfs: instead of reading from javafx.jar. > > http://cr.openjdk.java.net/~jlaskey/8075550/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8075550 > > > -- Dr. Michael Haupt | Principal Member of Technical Staff Phone: +49 331 200 7277 | Fax: +49 331 200 7561 Oracle Java Platform Group | LangTools Team | Nashorn Oracle Deutschland B.V. & Co. KG | Schiffbauergasse 14 | 14467 Potsdam, Germany ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstra?e 25, D-80992 M?nchen Registergericht: Amtsgericht M?nchen, HRA 95603 Komplement?rin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697 Gesch?ftsf?hrer: Alexander van der Ven, Jan Schultheiss, Val Maher Oracle is committed to developing practices and products that help protect the environment From james.laskey at oracle.com Mon Apr 11 12:43:00 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Mon, 11 Apr 2016 09:43:00 -0300 Subject: RFR: JDK-8075550 - Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages In-Reply-To: <7CF13757-0071-4E05-8253-945C03D0834B@oracle.com> References: <7CF13757-0071-4E05-8253-945C03D0834B@oracle.com> Message-ID: Any one else. > On Apr 11, 2016, at 9:13 AM, Michael Haupt wrote: > > Hi Jim, > > lower-case thumbs up! > > Best, > > Michael > >> Am 08.04.2016 um 19:05 schrieb Jim Laskey (Oracle) >: >> >> The code was reworked to use jrtfs: instead of reading from javafx.jar. >> >> http://cr.openjdk.java.net/~jlaskey/8075550/webrev/index.html >> https://bugs.openjdk.java.net/browse/JDK-8075550 >> >> >> > > -- > > > Dr. Michael Haupt | Principal Member of Technical Staff > Phone: +49 331 200 7277 | Fax: +49 331 200 7561 > Oracle Java Platform Group | LangTools Team | Nashorn > Oracle Deutschland B.V. & Co. KG | Schiffbauergasse 14 | 14467 Potsdam, Germany > > ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstra?e 25, D-80992 M?nchen > Registergericht: Amtsgericht M?nchen, HRA 95603 > > Komplement?rin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering 163/167, 3543 AS Utrecht, Niederlande > Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697 > Gesch?ftsf?hrer: Alexander van der Ven, Jan Schultheiss, Val Maher > Oracle is committed to developing practices and products that help protect the environment > From sundararajan.athijegannathan at oracle.com Mon Apr 11 12:52:12 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Mon, 11 Apr 2016 18:22:12 +0530 Subject: RFR: JDK-8075550 - Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages In-Reply-To: References: <7CF13757-0071-4E05-8253-945C03D0834B@oracle.com> Message-ID: <570B9DFC.8020901@oracle.com> +1 On 4/11/2016 6:13 PM, Jim Laskey (Oracle) wrote: > Any one else. > >> On Apr 11, 2016, at 9:13 AM, Michael Haupt wrote: >> >> Hi Jim, >> >> lower-case thumbs up! >> >> Best, >> >> Michael >> >>> Am 08.04.2016 um 19:05 schrieb Jim Laskey (Oracle) >: >>> >>> The code was reworked to use jrtfs: instead of reading from javafx.jar. >>> >>> http://cr.openjdk.java.net/~jlaskey/8075550/webrev/index.html >>> https://bugs.openjdk.java.net/browse/JDK-8075550 >>> >>> >>> >> -- >> >> >> Dr. Michael Haupt | Principal Member of Technical Staff >> Phone: +49 331 200 7277 | Fax: +49 331 200 7561 >> Oracle Java Platform Group | LangTools Team | Nashorn >> Oracle Deutschland B.V. & Co. KG | Schiffbauergasse 14 | 14467 Potsdam, Germany >> >> ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstra?e 25, D-80992 M?nchen >> Registergericht: Amtsgericht M?nchen, HRA 95603 >> >> Komplement?rin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering 163/167, 3543 AS Utrecht, Niederlande >> Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697 >> Gesch?ftsf?hrer: Alexander van der Ven, Jan Schultheiss, Val Maher >> Oracle is committed to developing practices and products that help protect the environment >> From james.laskey at oracle.com Mon Apr 11 12:56:48 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Mon, 11 Apr 2016 09:56:48 -0300 Subject: RFR: JDK-8075550 - Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages In-Reply-To: <570B9DFC.8020901@oracle.com> References: <7CF13757-0071-4E05-8253-945C03D0834B@oracle.com> <570B9DFC.8020901@oracle.com> Message-ID: <684FC24B-76F7-47D7-8F60-E7E7F67A3491@oracle.com> Thank you. > On Apr 11, 2016, at 9:52 AM, Sundararajan Athijegannathan wrote: > > +1 > > On 4/11/2016 6:13 PM, Jim Laskey (Oracle) wrote: >> Any one else. >> >>> On Apr 11, 2016, at 9:13 AM, Michael Haupt wrote: >>> >>> Hi Jim, >>> >>> lower-case thumbs up! >>> >>> Best, >>> >>> Michael >>> >>>> Am 08.04.2016 um 19:05 schrieb Jim Laskey (Oracle) >: >>>> >>>> The code was reworked to use jrtfs: instead of reading from javafx.jar. >>>> >>>> http://cr.openjdk.java.net/~jlaskey/8075550/webrev/index.html >>>> https://bugs.openjdk.java.net/browse/JDK-8075550 >>>> >>>> >>>> >>> -- >>> >>> >>> Dr. Michael Haupt | Principal Member of Technical Staff >>> Phone: +49 331 200 7277 | Fax: +49 331 200 7561 >>> Oracle Java Platform Group | LangTools Team | Nashorn >>> Oracle Deutschland B.V. & Co. KG | Schiffbauergasse 14 | 14467 Potsdam, Germany >>> >>> ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstra?e 25, D-80992 M?nchen >>> Registergericht: Amtsgericht M?nchen, HRA 95603 >>> >>> Komplement?rin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering 163/167, 3543 AS Utrecht, Niederlande >>> Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697 >>> Gesch?ftsf?hrer: Alexander van der Ven, Jan Schultheiss, Val Maher >>> Oracle is committed to developing practices and products that help protect the environment >>> > From james.laskey at oracle.com Mon Apr 11 13:37:40 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Mon, 11 Apr 2016 10:37:40 -0300 Subject: RFR: JDK-8151807 - ImageBufferCache should release buffers when all classes are loaded Message-ID: http://cr.openjdk.java.net/~jlaskey/8151807/webrev/index.html https://bugs.openjdk.java.net/browse/JDK-8151807 From adinn at redhat.com Tue Apr 5 14:16:17 2016 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 5 Apr 2016 15:16:17 +0100 Subject: JMH and JDK9 In-Reply-To: <570390AE.6050406@oracle.com> References: <56FBFA22.2060204@redhat.com> <56FBFB05.9050706@oracle.com> <56FBFCCD.1000704@oracle.com> <428721B0-47A4-453E-89C2-1D6CA09DEC75@oracle.com> <56FE29EE.1090801@oracle.com> <0C6C1D21-1592-426A-B9DE-33458FC90CF9@oracle.com> <57038495.40603@redhat.com> <570390AE.6050406@oracle.com> Message-ID: <5703C8B1.5080501@redhat.com> On 05/04/16 11:17, Alan Bateman wrote: . . . > We recently updated JEP 261 proposing that "java.se" be the only java.* > root module that is resolved when compiling code in the unnamed module > or at runtime when the main class is loaded from the class path [1]. On > the surface then it will "appear" to developers that the JDK does not > have the EE components but from everything we've seen so far, then those > EE components are usually on the class path anyway. Ah ok, so this means that the problem has been punted to the other foot i.e. the only apps affected will be those which i) don't have an EE jar on their classpath and ii) require the (partial) stub implementations provided by Java SE. That sounds much better since such a configuration is of almost no use to anyone and hence is very unlikely to arise. regards, Andrew Dinn ----------- Senior Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (US), Michael O'Neill (Ireland), Paul Argiry (US) From blackdrag at gmx.org Mon Apr 11 15:57:29 2016 From: blackdrag at gmx.org (Jochen Theodorou) Date: Mon, 11 Apr 2016 17:57:29 +0200 Subject: running Groovy on JDK9 In-Reply-To: <570AAD27.2080507@oracle.com> References: <570A9BA3.5000009@gmx.org> <570AAD27.2080507@oracle.com> Message-ID: <570BC969.40409@gmx.org> On 10.04.2016 21:44, Alan Bateman wrote: > > On 10/04/2016 19:29, Jochen Theodorou wrote: >> Hi all, >> >> today I had a few hours spare time and decided to invest that in >> trying to make the Groovy build compile and run tests. I am not trying >> to make a module on my own yet. >> >> for compilation to work my biggest problem was the direct usage of the >> javac compiler set through gradle. Which is why I had to add >> >> options.forkOptions.jvmArgs << > options.forkOptions.jvmArgs << >> "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" >> >> for compileJava and >>> groovyOptions.forkOptions.jvmArgs << >>> "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" >> >> for the groovy compiler (which uses internally he compiler set through >> gradle) > There have been a few issues with Gradle using JDK-internal APIs and so > failing with JDK 9. Several issues have been fixed but maybe not all. I > see the issue you see mentioned at the end of this thread: > > https://discuss.gradle.org/t/jdk9-jigsaw-build-problem/13054 > > It would be good to check if there is any open bugs on this. yeah, most people I would ask regarding this are away atm. I will do so later. >> This error is caused by not using an URLClassloader anymore in JDK9... >> I actually would like to know what the jdk9 way of doing this is >> supposed to be. What I mean is that you had the not really supported >> option of adding a jar to the highest loader and make its classes >> available to lower loaders that way. Since that loader is no >> URLClassloader anymore, this does not work any longer. But is there >> any way to simulate that? Main usage was for example loading a sql >> driver jar via Class.forName and the driver then registering itself in >> the static constructor. How am I supposed to dynamically load database >> drivers in JDK9 (even if they are not written for JDK9)? Would be one >> question. But this extends to jars loaded at runtime, not through >> command line options containing services in general actually. > The only supported way in JDK 8 and older to extend the class path > dynamically has been via Instrumentation API. > > So for URLClassLoader then were you using setAccessible to get at the > protected addURL method? > > Can you describe the JDBC driver scenario a bit more? Can it be deployed > as a service provider on the class path? Can it be registered via > registerDriver? well http://mrhaki.blogspot.de/2010/04/groovy-goodness-configuring-grape-to.html explains the scenario a little actually. It cannot be deployed on the class path, because that is all this scenario is about actually. Can it be registered via registerDriver? That actually made me wonder why exactly we require the system loader here in the first place. Part of the problem is DriverManager#getConnection, which is @CallerSensitive. So if I want to get a connection from an arbitrary loader, it has to be the same loader, that registered the driver, or a higher one. Here getConnection is done from library code, with a different loader. So it cannot work that way... sigh... not reliably. Caller sensitive code does not really work for Groovy. Even if the call logic is realized through a MethodHandle (which would be ignored for the caller sensitive logic for the most part), the first call has to go through custom code of the runtime since we need runtime types. Subsequent calls use the callsite cache without the custom logic. That means the first call and the second call may make different loaders visible to getConnection. But even this is simplified. Depending on the context, another part of the library may appear in the call logic, and caller sensitive code will again see the groovy runtime class loader. I really really wish there would be a getConnection with additional parameter, which is not caller sensitive But I wonder if it would work out, if we gave the option to set the loader to the same as the groovy runtime. There might be a way around then. Still requires to change all the existing scripts though. And then of course there is the problem of XML parser being loaded dynamically. You get effects like this: https://bugs.openjdk.java.net/browse/JDK-8015099, and we too had already a load of fun with xerces being part of the distribution and the violation of classloading constraints. All that gets worse, if you want to "download" something like xpp3 from the web in your application and then use it directly. >>> Caused by: >>> java.lang.IllegalAccessException: access to public member failed: >>> java.util.Comparator.reversed()Comparator/invokeSpecial, from >>> java.util.Comparator/2 (module java.base) >>> at >>> java.lang.invoke.MemberName.makeAccessException(java.base at 9-ea/MemberName.java:870) >>> at >>> java.lang.invoke.MethodHandles$Lookup.checkAccess(java.base at 9-ea/MethodHandles.java:1642) >>> at >>> java.lang.invoke.MethodHandles$Lookup.checkMethod(java.base at 9-ea/MethodHandles.java:1582) >>> at >>> java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(java.base at 9-ea/MethodHandles.java:1731) >>> at >>> java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(java.base at 9-ea/MethodHandles.java:1725) >>> at >>> java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(java.base at 9-ea/MethodHandles.java:1336) >>> at >>> org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.java:96) >>> >>> ... 7 more >> >> Can somebody explain me what the IllegalAccessException means? Why can >> I not call unreflectSpecial here? > Do you know how this Lookup is created? I'm curious how the lookup mode > could be "2" (PRIVATE). Running with -esa might reveal more. that would then be: > org.codehaus.groovy.runtime.InterfaceConversionTest > testDefaultInterfaceMethodCallOnProxy FAILED > java.lang.AssertionError: java.util.Comparator/2 > at java.lang.invoke.MethodHandles$Lookup.toString(java.base at 9-ea/MethodHandles.java:792) > at java.lang.String.valueOf(java.base at 9-ea/String.java:2806) > at java.lang.StringBuilder.append(java.base at 9-ea/StringBuilder.java:135) > at java.lang.invoke.MemberName.makeAccessException(java.base at 9-ea/MemberName.java:867) > at java.lang.invoke.MethodHandles$Lookup.checkAccess(java.base at 9-ea/MethodHandles.java:1642) > at java.lang.invoke.MethodHandles$Lookup.checkMethod(java.base at 9-ea/MethodHandles.java:1582) > at java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(java.base at 9-ea/MethodHandles.java:1731) > at java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(java.base at 9-ea/MethodHandles.java:1725) > at java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(java.base at 9-ea/MethodHandles.java:1336) > at org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.java:96) > at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:109) > at com.sun.proxy.$Proxy47.reversed(Unknown Source) > at java_util_Comparator$reversed$0.call(Unknown Source) > at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) > at org.codehaus.groovy.runtime.InterfaceConversionTest.testDefaultInterfaceMethodCallOnProxy(InterfaceConversionTest.groovy:52) but if I see the trace correctly, this is already due to a failed access check and just a secondary error, or wrong? bye Jochen From lois.foltan at oracle.com Mon Apr 11 16:51:15 2016 From: lois.foltan at oracle.com (lois.foltan at oracle.com) Date: Mon, 11 Apr 2016 16:51:15 +0000 Subject: hg: jigsaw/jake/hotspot: VM support for -Xpatch:=()*. Message-ID: <201604111651.u3BGpFZS029897@aojmv0008.oracle.com> Changeset: 74b5aac10b48 Author: lfoltan Date: 2016-04-11 12:22 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/74b5aac10b48 VM support for -Xpatch:=()*. ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/init.cpp ! test/runtime/BadObjectClass/BootstrapRedefine.java ! test/runtime/modules/Visibility/XpatchVisibility.java + test/runtime/modules/Xpatch/BasicJarBuilder.java ! test/runtime/modules/Xpatch/Xpatch2Dirs.java + test/runtime/modules/Xpatch/XpatchDupJavaBase.java + test/runtime/modules/Xpatch/XpatchDupModule.java + test/runtime/modules/Xpatch/XpatchJavaBase.java ! test/runtime/modules/Xpatch/XpatchTest.java + test/runtime/modules/Xpatch/XpatchTestJar.java + test/runtime/modules/Xpatch/XpatchTestJarDir.java ! test/runtime/modules/Xpatch/XpatchTraceCL.java ! test/runtime/modules/XpatchCDS.java From alan.bateman at oracle.com Mon Apr 11 17:45:41 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 11 Apr 2016 17:45:41 +0000 Subject: hg: jigsaw/jake/langtools: Configure jtreg to use new form of -Xpatch Message-ID: <201604111745.u3BHjfZk017248@aojmv0008.oracle.com> Changeset: 1a86c367c5c7 Author: alanb Date: 2016-04-11 18:45 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/1a86c367c5c7 Configure jtreg to use new form of -Xpatch ! test/TEST.ROOT From alan.bateman at oracle.com Mon Apr 11 17:46:12 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 11 Apr 2016 17:46:12 +0000 Subject: hg: jigsaw/jake/jdk: Configure jtreg to use new form of -Xpatch Message-ID: <201604111746.u3BHkC0V017771@aojmv0008.oracle.com> Changeset: c58daec21e40 Author: alanb Date: 2016-04-11 18:46 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c58daec21e40 Configure jtreg to use new form of -Xpatch ! test/TEST.ROOT ! test/java/util/ResourceBundle/Bug6299235Test.sh ! test/javax/xml/jaxp/common/8035437/run.sh From alan.bateman at oracle.com Mon Apr 11 17:57:26 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 11 Apr 2016 17:57:26 +0000 Subject: hg: jigsaw/jake/hotspot: Configure jtreg to use new form of -Xpatch Message-ID: <201604111757.u3BHvQ5m021801@aojmv0008.oracle.com> Changeset: 3a948749df6a Author: alanb Date: 2016-04-11 18:56 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3a948749df6a Configure jtreg to use new form of -Xpatch ! test/TEST.ROOT From alan.bateman at oracle.com Mon Apr 11 18:53:48 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 11 Apr 2016 18:53:48 +0000 Subject: hg: jigsaw/jake/jdk: Remove old form of -Xpatch Message-ID: <201604111853.u3BIrmGr014013@aojmv0008.oracle.com> Changeset: 11d574f4e3e8 Author: alanb Date: 2016-04-11 19:53 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/11d574f4e3e8 Remove old form of -Xpatch ! src/java.base/share/classes/java/lang/module/ModuleReference.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! test/tools/launcher/modules/patch/PatchTest.java From peter.levart at gmail.com Mon Apr 11 20:20:07 2016 From: peter.levart at gmail.com (Peter Levart) Date: Mon, 11 Apr 2016 22:20:07 +0200 Subject: Inner classes are allowed to be specified in 'uses' statement In-Reply-To: <570B7F79.8010603@oracle.com> References: <56FE8B16.1050008@oracle.com> <5702283D.5000001@gmail.com> <570B7F79.8010603@oracle.com> Message-ID: <570C06F7.7020205@gmail.com> Hi Georgiy, It turns out that an inner class can be extended by a non-inner class. See JLS "8.8.7.1. Explicit Constructor Invocations": "Qualified superclass constructor invocations begin with a Primary expression or an ExpressionName. They allow a subclass constructor to explicitly specify the newly created object's immediately enclosing instance with respect to the direct superclass (?8.1.3). This may be necessary when the superclass is an inner class." I've never done that in code before, but it seems it works: public class Outer { public class Inner {} } public class Sub extends Outer.Inner { Sub() { new Outer().super(); } } ...so, it seems that a service interface can be an inner class. Regards, Peter On 04/11/2016 12:42 PM, Georgiy Rakov wrote: > Hi Peter, > > On 04.04.2016 11:39, Peter Levart wrote: >> Hi Georgiy, >> >> On 04/01/2016 04:52 PM, Georgiy Rakov wrote: >>> Hello, >>> >>> currently inner classes are allowed to be specified in 'uses' >>> statement, for instance following code is compiled successfully by >>> JDKb111 javac: >>> >>> a/module-info.java: >>> module a { >>> uses pkg.Outer.Inner; >>> } >>> >>> a/pkg/Outer.java: >>> package pkg; >>> public class Outer{ public class Inner{} } >>> >>> Spec doesn't prevent it either. However in 1.1.3 >>> it >>> prevents implementations specified in 'provides' statement to be >>> inner classes. According to my understanding inner class cannot be >>> extended by non-inner class, for instance "public class Impl extends >>> Outer.Inner { } " would cause: >>> >>> error: an enclosing instance >>> that contains Outer.Inner is required >>> class Implem extends Outer.Inner {} >>> ^ >>> 1 error >>> >>> So could you please tell what is the purpose of allowing inner >>> classes to be specified in 'uses' statement, there seem to be no way >>> to create its implementation. Should it be prohibited by spec? >>> >>> The minimized testcase is attached; in order to run it please: >>> 1. unzip attached archive on Windows machine; >>> 2. rename test12\test_bat to test12\test.bat; >>> 3. modify test.bat by changing JDK_HOME variable to point to your >>> JDK installation; >>> 4. run test.bat. >>> >>> Thank you, >>> Georgiy. >> >> Not only in 'uses' statement. It would be impossible to specify them >> in 'provides ... with ...' statement as implementation classes too as >> they by definition can't be instantiated without an outer instance >> (their constructors always contain an implicit parameter - the outer >> instance). What does compiler say for such case? >> >> a/module-info.java: >> module a { >> exports pkg; >> provides pkg.Service with pkg.impl.Outer.Inner; >> } >> >> a/pkg/Service.java: >> package pkg; >> public interface Service {} >> >> a/pkg/impl/Outer.java: >> package pkg.impl; >> public class Outer { public class Inner implements pkg.Service { } } >> >> > For such case jdk9b113 javac says: > > a\module-info.java:3: error: the service implementation is an > inner class: Outer.Inner > provides pkg.Service with pkg.impl.Outer.Inner; > ^ > 1 error > > As I've already said this is according to spec: > > It is a compile-time error if the service implementation named by > the |with|clause of a |provides|statement is |abstract|, or is not > |public|, or does not have a |public|no-args constructor, or is > *an inner class* (JLS 8.1.3). > > But spec doesn't prevent service interfaces to be inner classes. I see. But that could be deduced since service implementations is either the same class or a subtype of service interface (a subclass of or a class implementing service interface). And a subclass of an inner class is > > Thanks, > Georgiy. >> Regards, Peter >> > From dawid.weiss at gmail.com Tue Apr 12 07:14:17 2016 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Tue, 12 Apr 2016 09:14:17 +0200 Subject: Proxy classes and reflection (IllegalAccessException) In-Reply-To: References: <57064D20.6080300@oracle.com> <57064EE3.2080201@epardaud.fr> <2B261F4D-1F3D-4D3C-9080-3E7D51E67EB0@gmail.com> <57065A64.3000801@epardaud.fr> <1642736976.2613560.1460035740671.JavaMail.zimbra@u-pem.fr> <5706C174.6030103@redhat.com> <5706C75E.6030408@oracle.com> Message-ID: This is just to let you know that I have deployed our tests on JDK 1.9. Some of them had to be silenced (ignored) waiting for fixes inside RestEasy, but overall the build is passing after forced upgrades to Groovy and some JVM switch tweaks. Thanks everyone for help. While I still think some of the changes in jigsaw will be painful in practice, I also clearly see the benefits of the new module system. The aesthetics of splitting rt.jar into more manageable pieces is an additional pleasant aspect as well. :) Dawid On Fri, Apr 8, 2016 at 6:25 PM, Mandy Chung wrote: > >> On Apr 8, 2016, at 4:58 AM, Dawid Weiss wrote: >> >> Thank you for the magic switch, Mandy! Here's the full output, >> including stack traces: >> >> http://pastebin.com/uUb3aLwq >> >> The one referencing the problematic class is: >> >> PROXY: jdk.proxy2/com.sun.proxy.jdk.proxy2.$Proxy65 defined by >> jdk.internal.loader.ClassLoaders$PlatformClassLoader at 523884b2 >> java.annotations.common/javax.ws.rs.ext.Providers module-private >> loader jdk.internal.loader.ClassLoaders$PlatformClassLoader at 523884b2 >> > > I see Alan has explained this and the issue is now understood. > > One thing to add is that a proxy class is only generated in dynamic module if one of the proxy interface is in a named module and not exported. If you see a proxy class generated in a dynamic module and you run your applications as it is today, it would likely invoke creating a proxy class with some interface in JDK modules, like java.annotations.common module in this case. > > If all proxy interfaces are either in unnamed module, or exported from named modules, the proxy class will be generated in unnamed module and existing code should work as it is today. > >> RestEasy creates this proxy class in >> InjectorFactoryImpl.createContextProxy, but its only reason to exist >> is (presumably) to keep a cache of proxy classes for the same set of >> interfaces (it later calls ContextParameterInjector with a cached >> proxy class). This doesn't look correct to me as newProxyInstance >> reuses proxy classes internally (although the javadoc here could be >> improved). >> > > A related note to caching of proxy classes: The performance of Proxy::newProxyInstance has been improved in JDK 8 and Peter has a patch that brings jdk9 proxy performance even better than JDK 8 [1]. > > Mandy > [1] http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-April/040015.html > From sundararajan.athijegannathan at oracle.com Tue Apr 12 10:09:58 2016 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Tue, 12 Apr 2016 10:09:58 +0000 Subject: hg: jigsaw/jake/jdk: 8152800: Improve jlink plugin error message on invalid arguments or any other exception Message-ID: <201604121009.u3CA9wQj000065@aojmv0008.oracle.com> Changeset: 70789188976a Author: sundar Date: 2016-04-12 15:38 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/70789188976a 8152800: Improve jlink plugin error message on invalid arguments or any other exception Reviewed-by: alanb, mchung, jlaskey ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/DefaultCompressPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ExcludeVMPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/OptimizationPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugin/Plugin.java ! test/tools/jlink/JLinkTest.java From georgiy.rakov at oracle.com Tue Apr 12 11:02:37 2016 From: georgiy.rakov at oracle.com (Georgiy Rakov) Date: Tue, 12 Apr 2016 14:02:37 +0300 Subject: Inner classes are allowed to be specified in 'uses' statement In-Reply-To: <570C06F7.7020205@gmail.com> References: <56FE8B16.1050008@oracle.com> <5702283D.5000001@gmail.com> <570B7F79.8010603@oracle.com> <570C06F7.7020205@gmail.com> Message-ID: <570CD5CD.5030103@oracle.com> Indeed, it's possible, the sample you provided compiles successfully! Yes, it really looks that service interface can be an inner class. Thanks o lot, Georgiy. On 11.04.2016 23:20, Peter Levart wrote: > Hi Georgiy, > > It turns out that an inner class can be extended by a non-inner class. > See JLS "8.8.7.1. Explicit Constructor Invocations": > > "Qualified superclass constructor invocations begin with a Primary > expression or an ExpressionName. They allow a subclass constructor to > explicitly specify the newly created object's immediately enclosing > instance with respect to the direct superclass (?8.1.3). This may be > necessary when the superclass is an inner class." > > I've never done that in code before, but it seems it works: > > public class Outer { > public class Inner {} > } > > public class Sub extends Outer.Inner { > Sub() { > new Outer().super(); > } > } > > > > ...so, it seems that a service interface can be an inner class. > > > Regards, Peter > > > On 04/11/2016 12:42 PM, Georgiy Rakov wrote: >> Hi Peter, >> >> On 04.04.2016 11:39, Peter Levart wrote: >>> Hi Georgiy, >>> >>> On 04/01/2016 04:52 PM, Georgiy Rakov wrote: >>>> Hello, >>>> >>>> currently inner classes are allowed to be specified in 'uses' >>>> statement, for instance following code is compiled successfully by >>>> JDKb111 javac: >>>> >>>> a/module-info.java: >>>> module a { >>>> uses pkg.Outer.Inner; >>>> } >>>> >>>> a/pkg/Outer.java: >>>> package pkg; >>>> public class Outer{ public class Inner{} } >>>> >>>> Spec doesn't prevent it either. However in 1.1.3 >>>> it >>>> prevents implementations specified in 'provides' statement to be >>>> inner classes. According to my understanding inner class cannot be >>>> extended by non-inner class, for instance "public class Impl >>>> extends Outer.Inner { } " would cause: >>>> >>>> error: an enclosing instance >>>> that contains Outer.Inner is required >>>> class Implem extends Outer.Inner {} >>>> ^ >>>> 1 error >>>> >>>> So could you please tell what is the purpose of allowing inner >>>> classes to be specified in 'uses' statement, there seem to be no >>>> way to create its implementation. Should it be prohibited by spec? >>>> >>>> The minimized testcase is attached; in order to run it please: >>>> 1. unzip attached archive on Windows machine; >>>> 2. rename test12\test_bat to test12\test.bat; >>>> 3. modify test.bat by changing JDK_HOME variable to point to your >>>> JDK installation; >>>> 4. run test.bat. >>>> >>>> Thank you, >>>> Georgiy. >>> >>> Not only in 'uses' statement. It would be impossible to specify them >>> in 'provides ... with ...' statement as implementation classes too >>> as they by definition can't be instantiated without an outer >>> instance (their constructors always contain an implicit parameter - >>> the outer instance). What does compiler say for such case? >>> >>> a/module-info.java: >>> module a { >>> exports pkg; >>> provides pkg.Service with pkg.impl.Outer.Inner; >>> } >>> >>> a/pkg/Service.java: >>> package pkg; >>> public interface Service {} >>> >>> a/pkg/impl/Outer.java: >>> package pkg.impl; >>> public class Outer { public class Inner implements pkg.Service { } } >>> >>> >> For such case jdk9b113 javac says: >> >> a\module-info.java:3: error: the service implementation is an >> inner class: Outer.Inner >> provides pkg.Service with pkg.impl.Outer.Inner; >> ^ >> 1 error >> >> As I've already said this is according to spec: >> >> It is a compile-time error if the service implementation named by >> the |with|clause of a |provides|statement is |abstract|, or is >> not |public|, or does not have a |public|no-args constructor, or >> is *an inner class* (JLS 8.1.3). >> >> But spec doesn't prevent service interfaces to be inner classes. > > I see. But that could be deduced since service implementations is > either the same class or a subtype of service interface (a subclass of > or a class implementing service interface). And a subclass of an inner > class is > >> >> Thanks, >> Georgiy. >>> Regards, Peter >>> >> > From erik.joelsson at oracle.com Tue Apr 12 12:18:45 2016 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Tue, 12 Apr 2016 12:18:45 +0000 Subject: hg: jigsaw/jake: Fixed -Xpatch usage bootcycle build Message-ID: <201604121218.u3CCIjd8006930@aojmv0008.oracle.com> Changeset: fb05bc686bb6 Author: erikj Date: 2016-04-12 14:18 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/fb05bc686bb6 Fixed -Xpatch usage bootcycle build ! common/autoconf/boot-jdk.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in From erik.joelsson at oracle.com Tue Apr 12 12:19:42 2016 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Tue, 12 Apr 2016 12:19:42 +0000 Subject: hg: jigsaw/jake/jdk: Fixed -Xpatch usage bootcycle build Message-ID: <201604121219.u3CCJgw7007345@aojmv0008.oracle.com> Changeset: d8729c2bd09c Author: erikj Date: 2016-04-12 14:18 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d8729c2bd09c Fixed -Xpatch usage bootcycle build ! make/gendata/GendataBreakIterator.gmk From erik.joelsson at oracle.com Tue Apr 12 12:20:07 2016 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Tue, 12 Apr 2016 12:20:07 +0000 Subject: hg: jigsaw/jake/nashorn: Fixed -Xpatch usage bootcycle build Message-ID: <201604121220.u3CCK7M9007700@aojmv0008.oracle.com> Changeset: 8e76d81a938e Author: erikj Date: 2016-04-12 14:18 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/8e76d81a938e Fixed -Xpatch usage bootcycle build ! make/BuildNashorn.gmk From alan.bateman at oracle.com Tue Apr 12 16:17:51 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 12 Apr 2016 16:17:51 +0000 Subject: hg: jigsaw/jake/jaxws: wsgen and wsimport need to invoke javac with -addmods java.xml.ws Message-ID: <201604121617.u3CGHptn027166@aojmv0008.oracle.com> Changeset: d2778721dca2 Author: alanb Date: 2016-04-12 17:17 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/d2778721dca2 wsgen and wsimport need to invoke javac with -addmods java.xml.ws ! src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wscompile/WsgenTool.java ! src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wscompile/WsimportTool.java From Alan.Bateman at oracle.com Tue Apr 12 20:31:30 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 12 Apr 2016 21:31:30 +0100 Subject: Project Jigsaw, build 113 on 04-11-2016 (#4837) Message-ID: <570D5B22.7020202@oracle.com> The EA download on the java.net site [1] has been refreshed. The important change in this build is that root modules when compiling code in the unnamed module, or when running and the main class is loaded from the class path, do not include the EE modules. More on this in JEP 261. The other change in this build is that the -Xpatch option is now aligned with what we have documented in JEP 261, support for the old form has been removed. -Alan [1] https://jdk9.java.net/jigsaw/ From aleksey.shipilev at oracle.com Wed Apr 13 09:08:38 2016 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Wed, 13 Apr 2016 12:08:38 +0300 Subject: Accessing Attach API? Message-ID: <570E0C96.5030101@oracle.com> Hi, OpenJDK JOL is using Attach API to get the access to Instrumentation instance without forcing user to -javaagent: the JAR. I think ByteBuddy is using similar mechanism. How is one supposed to use Attach API these post-Jigsaw days? Before JDK 9, we could poll VirtualMachine from tools.jar, and then use the snippet from the original Javadoc: http://docs.oracle.com/javase/8/docs/jdk/api/attach/spec/com/sun/tools/attach/VirtualMachine.html ...then, after tools.jar was gone in JDK 9, the classes were still available on classpath, and we could do, e.g.: System.getClassloader().loadClass("com.sun.tools.attach.VirtualMachine"). Now, with Jigsaw integrated, this class is not available, because jdk.attach is not a platform module. I see there are attempts to expose SPI via com.sun.tools.attach.spi.AttachProvider -- but of course, AttachProvider is also not available to feed it to ServiceLoader. This hack in JDK 9 build helps, of course: diff -r 1d992540870f make/common/Modules.gmk --- a/make/common/Modules.gmk Sat Apr 09 19:49:32 2016 +0100 +++ b/make/common/Modules.gmk Wed Apr 13 12:07:25 2016 +0300 @@ -68,6 +68,7 @@ jdk.security.jgss \ jdk.unsupported \ jdk.vm.ci \ + jdk.attach \ # # to be deprivileged What is the actual way out? Thanks, -Aleksey From aleksey.shipilev at oracle.com Wed Apr 13 09:26:27 2016 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Wed, 13 Apr 2016 12:26:27 +0300 Subject: Accessing Attach API? In-Reply-To: <570E0C96.5030101@oracle.com> References: <570E0C96.5030101@oracle.com> Message-ID: <570E10C3.1040808@oracle.com> On 04/13/2016 12:08 PM, Aleksey Shipilev wrote: > OpenJDK JOL is using Attach API to get the access to Instrumentation > instance without forcing user to -javaagent: the JAR. I think ByteBuddy > is using similar mechanism. > > How is one supposed to use Attach API these post-Jigsaw days? > > Before JDK 9, we could poll VirtualMachine from tools.jar, and then use > the snippet from the original Javadoc: > http://docs.oracle.com/javase/8/docs/jdk/api/attach/spec/com/sun/tools/attach/VirtualMachine.html > > ...then, after tools.jar was gone in JDK 9, the classes were still > available on classpath, and we could do, e.g.: > System.getClassloader().loadClass("com.sun.tools.attach.VirtualMachine"). > > Now, with Jigsaw integrated, this class is not available, because > jdk.attach is not a platform module. I see there are attempts to expose > SPI via com.sun.tools.attach.spi.AttachProvider -- but of course, > AttachProvider is also not available to feed it to ServiceLoader. Wait, I confused myself with multiple JDK builds here. This actually works in JDK 9b113: Class vmClass = ClassLoader.getSystemClassLoader() .loadClass("com.sun.tools.attach.VirtualMachine"); Therefore, we are fine at the moment. Is this behavior to stay? Thanks, -Aleksey From Alan.Bateman at oracle.com Wed Apr 13 09:53:41 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 13 Apr 2016 10:53:41 +0100 Subject: Accessing Attach API? In-Reply-To: <570E10C3.1040808@oracle.com> References: <570E0C96.5030101@oracle.com> <570E10C3.1040808@oracle.com> Message-ID: <570E1725.8000506@oracle.com> On 13/04/2016 10:26, Aleksey Shipilev wrote: > : > Wait, I confused myself with multiple JDK builds here. This actually > works in JDK 9b113: > > Class vmClass = ClassLoader.getSystemClassLoader() > .loadClass("com.sun.tools.attach.VirtualMachine"); > > Therefore, we are fine at the moment. Is this behavior to stay? > The make file you found is the static configuration to map modules to the boot or platform class loaders. All other modules in the runtime image or on the application module path will be defined to the application class loader. In this case the module is named jdk.attach, you can see what it exports with this command: $ java -listmods:jdk.attach So no changes for existing code. If you ever get to build JOL as a module then you will express the dependency with `requires jdk.attach`. -Alan From alan.bateman at oracle.com Wed Apr 13 10:41:57 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 13 Apr 2016 10:41:57 +0000 Subject: hg: jigsaw/jake/corba: Tempoary fix for idlj issue JDK-8153894 Message-ID: <201604131041.u3DAfvtv025731@aojmv0008.oracle.com> Changeset: bd25ac71c3b7 Author: alanb Date: 2016-04-13 11:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/bd25ac71c3b7 Tempoary fix for idlj issue JDK-8153894 ! src/java.corba/share/classes/com/sun/tools/corba/se/idl/som/cff/FileLocator.java From Alan.Bateman at oracle.com Wed Apr 13 12:10:55 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 13 Apr 2016 13:10:55 +0100 Subject: running Groovy on JDK9 In-Reply-To: <570BC969.40409@gmx.org> References: <570A9BA3.5000009@gmx.org> <570AAD27.2080507@oracle.com> <570BC969.40409@gmx.org> Message-ID: <570E374F.1050002@oracle.com> On 11/04/2016 16:57, Jochen Theodorou wrote: > : > > Can it be registered via registerDriver? That actually made me wonder > why exactly we require the system loader here in the first place. > > Part of the problem is DriverManager#getConnection, which is > @CallerSensitive. So if I want to get a connection from an arbitrary > loader, it has to be the same loader, that registered the driver, or a > higher one. Here getConnection is done from library code, with a > different loader. So it cannot work that way... sigh... not reliably. I need to dig into the history of JDBC to fully understand why this is so. Clearly the original JDBC API used a global registry of JDBC drivers and this falls apart when there are several applications running in the VM, esp. as each might bundle its own drivers and have a different view of the available drivers. In Java EE applications then the TCCL is often used to identify the application and it's not clear why this wasn't done here. > : > > And then of course there is the problem of XML parser being loaded > dynamically. You get effects like this: > https://bugs.openjdk.java.net/browse/JDK-8015099, and we too had > already a load of fun with xerces being part of the distribution and > the violation of classloading constraints. All that gets worse, if you > want to "download" something like xpp3 from the web in your > application and then use it directly. This is very fishy too as this is not how JAXP is intended to work. If there are two web applications in the same VM then they shouldn't interfere. The only obvious interference that I can see in the bug report is the "workaround" as that changes VM wide default. Someone needs to dig into it but it may be that the first app is also setting org.xml.sax.driver to change the VM-wide default. > : > > that would then be: > >> org.codehaus.groovy.runtime.InterfaceConversionTest > >> testDefaultInterfaceMethodCallOnProxy FAILED >> java.lang.AssertionError: java.util.Comparator/2 >> at >> java.lang.invoke.MethodHandles$Lookup.toString(java.base at 9-ea/MethodHandles.java:792) >> at java.lang.String.valueOf(java.base at 9-ea/String.java:2806) >> at >> java.lang.StringBuilder.append(java.base at 9-ea/StringBuilder.java:135) >> at >> java.lang.invoke.MemberName.makeAccessException(java.base at 9-ea/MemberName.java:867) >> at >> java.lang.invoke.MethodHandles$Lookup.checkAccess(java.base at 9-ea/MethodHandles.java:1642) >> at >> java.lang.invoke.MethodHandles$Lookup.checkMethod(java.base at 9-ea/MethodHandles.java:1582) >> at >> java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(java.base at 9-ea/MethodHandles.java:1731) >> at >> java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(java.base at 9-ea/MethodHandles.java:1725) >> at >> java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(java.base at 9-ea/MethodHandles.java:1336) >> at >> org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.java:96) >> at >> org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:109) >> at com.sun.proxy.$Proxy47.reversed(Unknown Source) >> at java_util_Comparator$reversed$0.call(Unknown Source) >> at >> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) >> at >> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) >> at >> org.codehaus.groovy.runtime.InterfaceConversionTest.testDefaultInterfaceMethodCallOnProxy(InterfaceConversionTest.groovy:52) > > but if I see the trace correctly, this is already due to a failed > access check and just a secondary error, or wrong? I suspect there is a bug here as I think how it is possible to have a Lookup with this lookup mode. Are you able to establish where this Lookup is created and if it indeed created with only the PRIVATE mode set. -Alan From Alan.Bateman at oracle.com Wed Apr 13 12:55:20 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 13 Apr 2016 13:55:20 +0100 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <010401d19393$03ec2be0$0bc483a0$@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> Message-ID: <570E41B8.8030406@oracle.com> On 11/04/2016 02:39, Frank Yuan wrote: > Hi Alan and Joe > > Would you like to have a look at this review http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? > > I skimmed through the tests and they are testing the right scenarios. I assume you'll work with Joe to get this into jdk9/dev/jaxp. -Alan From Alan.Bateman at oracle.com Wed Apr 13 13:15:33 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 13 Apr 2016 14:15:33 +0100 Subject: RFR: JDK-8151807 - ImageBufferCache should release buffers when all classes are loaded In-Reply-To: References: Message-ID: <570E4675.9030106@oracle.com> On 11/04/2016 14:37, Jim Laskey (Oracle) wrote: > http://cr.openjdk.java.net/~jlaskey/8151807/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8151807 This looks quite although I'm wondering if there are cases where we need up to 3 buffers. Is it in the decompress code? I'm just wondering if we actually need to cache more than one. -Alan. From james.laskey at oracle.com Wed Apr 13 13:18:29 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Wed, 13 Apr 2016 10:18:29 -0300 Subject: RFR: JDK-8151807 - ImageBufferCache should release buffers when all classes are loaded In-Reply-To: <570E4675.9030106@oracle.com> References: <570E4675.9030106@oracle.com> Message-ID: <2BF8CF51-1872-4D03-BADC-80E65F9C705D@oracle.com> Yes, needed for decompression. > On Apr 13, 2016, at 10:15 AM, Alan Bateman wrote: > > On 11/04/2016 14:37, Jim Laskey (Oracle) wrote: >> http://cr.openjdk.java.net/~jlaskey/8151807/webrev/index.html >> https://bugs.openjdk.java.net/browse/JDK-8151807 > This looks quite although I'm wondering if there are cases where we need up to 3 buffers. Is it in the decompress code? I'm just wondering if we actually need to cache more than one. > > -Alan. From sundararajan.athijegannathan at oracle.com Wed Apr 13 13:19:46 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 13 Apr 2016 18:49:46 +0530 Subject: RFR: JDK-8151807 - ImageBufferCache should release buffers when all classes are loaded In-Reply-To: <570E4675.9030106@oracle.com> References: <570E4675.9030106@oracle.com> Message-ID: <570E4772.2050207@oracle.com> +1 -Sundar On 4/13/2016 6:45 PM, Alan Bateman wrote: > On 11/04/2016 14:37, Jim Laskey (Oracle) wrote: >> http://cr.openjdk.java.net/~jlaskey/8151807/webrev/index.html >> https://bugs.openjdk.java.net/browse/JDK-8151807 > This looks quite although I'm wondering if there are cases where we > need up to 3 buffers. Is it in the decompress code? I'm just wondering > if we actually need to cache more than one. > > -Alan. From Alan.Bateman at oracle.com Wed Apr 13 13:23:41 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 13 Apr 2016 14:23:41 +0100 Subject: RFR: JDK-8151807 - ImageBufferCache should release buffers when all classes are loaded In-Reply-To: <2BF8CF51-1872-4D03-BADC-80E65F9C705D@oracle.com> References: <570E4675.9030106@oracle.com> <2BF8CF51-1872-4D03-BADC-80E65F9C705D@oracle.com> Message-ID: <570E485D.40203@oracle.com> On 13/04/2016 14:18, Jim Laskey (Oracle) wrote: > Yes, needed for decompression. > So how many are in use-case? I'm just wondering if ImageBufferCache actually needs to cache >1 buffer. -Alan From marcus at lagergren.net Wed Apr 13 07:46:28 2016 From: marcus at lagergren.net (Marcus Lagergren) Date: Wed, 13 Apr 2016 09:46:28 +0200 Subject: RFR: JDK-8075550 - Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages In-Reply-To: References: Message-ID: <306D0700-B58E-4BBB-A3BB-C36C98931263@lagergren.net> +1 > On 08 Apr 2016, at 19:05, Jim Laskey (Oracle) wrote: > > The code was reworked to use jrtfs: instead of reading from javafx.jar. > > http://cr.openjdk.java.net/~jlaskey/8075550/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8075550 > > > From james.laskey at oracle.com Wed Apr 13 15:36:13 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Wed, 13 Apr 2016 12:36:13 -0300 Subject: RFR: JDK-8151807 - ImageBufferCache should release buffers when all classes are loaded In-Reply-To: <570E485D.40203@oracle.com> References: <570E4675.9030106@oracle.com> <2BF8CF51-1872-4D03-BADC-80E65F9C705D@oracle.com> <570E485D.40203@oracle.com> Message-ID: <10050D74-01AB-434A-BAB9-16DF4AF416C7@oracle.com> javac uses 3 buffers concurrently even without compression. These seem to be legit (allocated and released properly.) > On Apr 13, 2016, at 10:23 AM, Alan Bateman wrote: > > > On 13/04/2016 14:18, Jim Laskey (Oracle) wrote: >> Yes, needed for decompression. >> > So how many are in use-case? I'm just wondering if ImageBufferCache actually needs to cache >1 buffer. > > -Alan From blackdrag at gmx.org Wed Apr 13 16:05:51 2016 From: blackdrag at gmx.org (Jochen Theodorou) Date: Wed, 13 Apr 2016 18:05:51 +0200 Subject: running Groovy on JDK9 In-Reply-To: <570E374F.1050002@oracle.com> References: <570A9BA3.5000009@gmx.org> <570AAD27.2080507@oracle.com> <570BC969.40409@gmx.org> <570E374F.1050002@oracle.com> Message-ID: <570E6E5F.1060609@gmx.org> On 13.04.2016 14:10, Alan Bateman wrote: > On 11/04/2016 16:57, Jochen Theodorou wrote: [...] >>> org.codehaus.groovy.runtime.InterfaceConversionTest > >>> testDefaultInterfaceMethodCallOnProxy FAILED >>> java.lang.AssertionError: java.util.Comparator/2 >>> at >>> java.lang.invoke.MethodHandles$Lookup.toString(java.base at 9-ea/MethodHandles.java:792) >>> >>> at java.lang.String.valueOf(java.base at 9-ea/String.java:2806) >>> at >>> java.lang.StringBuilder.append(java.base at 9-ea/StringBuilder.java:135) >>> at >>> java.lang.invoke.MemberName.makeAccessException(java.base at 9-ea/MemberName.java:867) >>> >>> at >>> java.lang.invoke.MethodHandles$Lookup.checkAccess(java.base at 9-ea/MethodHandles.java:1642) >>> >>> at >>> java.lang.invoke.MethodHandles$Lookup.checkMethod(java.base at 9-ea/MethodHandles.java:1582) >>> >>> at >>> java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(java.base at 9-ea/MethodHandles.java:1731) >>> >>> at >>> java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(java.base at 9-ea/MethodHandles.java:1725) >>> >>> at >>> java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(java.base at 9-ea/MethodHandles.java:1336) >>> >>> at >>> org.codehaus.groovy.vmplugin.v7.Java7.getInvokeSpecialHandle(Java7.java:96) >>> >>> at >>> org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:109) >>> >>> at com.sun.proxy.$Proxy47.reversed(Unknown Source) >>> at java_util_Comparator$reversed$0.call(Unknown Source) >>> at >>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) >>> >>> at >>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) >>> >>> at >>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) >>> >>> at >>> org.codehaus.groovy.runtime.InterfaceConversionTest.testDefaultInterfaceMethodCallOnProxy(InterfaceConversionTest.groovy:52) >>> >> >> but if I see the trace correctly, this is already due to a failed >> access check and just a secondary error, or wrong? > I suspect there is a bug here as I think how it is possible to have a > Lookup with this lookup mode. Are you able to establish where this > Lookup is created and if it indeed created with only the PRIVATE mode set. hmm... I see now... I had to do some trickery that backfires now - I totally forgot about this (wanted to actually). So I call private Lookup(Class lookupClass, int allowedModes) with PRIVATE mode set only.. exactly as you assumed. I guess, it would need to set the other modes as well... What I would prefer though is a proper generic way to call a default method on an interface without having an implementing instance. A MethodHandles.lookup().in(Comperator.class) won't give me access to invokespecial Comperator#reversed, or am I wrong here? bye Jochen From huizhe.wang at oracle.com Wed Apr 13 16:14:13 2016 From: huizhe.wang at oracle.com (huizhe wang) Date: Wed, 13 Apr 2016 09:14:13 -0700 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <570E41B8.8030406@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> Message-ID: <570E7055.7070704@oracle.com> On 4/13/2016 5:55 AM, Alan Bateman wrote: > > On 11/04/2016 02:39, Frank Yuan wrote: >> Hi Alan and Joe >> >> Would you like to have a look at this review >> http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? >> >> > I skimmed through the tests and they are testing the right scenarios. > > I assume you'll work with Joe to get this into jdk9/dev/jaxp. Frank, Is it because of the use of jdk.testlibrary, e.g. jdk.testlibrary.ProcessTools that you had to put the tests in the jdk repo? Is it possible to make a copy of the testlibrary or the particular functions needed so that we can get this into jdk9/dev/jaxp? -Joe > > -Alan From alex.buckley at oracle.com Wed Apr 13 16:18:20 2016 From: alex.buckley at oracle.com (Alex Buckley) Date: Wed, 13 Apr 2016 09:18:20 -0700 Subject: running Groovy on JDK9 In-Reply-To: <570E6E5F.1060609@gmx.org> References: <570A9BA3.5000009@gmx.org> <570AAD27.2080507@oracle.com> <570BC969.40409@gmx.org> <570E374F.1050002@oracle.com> <570E6E5F.1060609@gmx.org> Message-ID: <570E714C.60404@oracle.com> On 4/13/2016 9:05 AM, Jochen Theodorou wrote: > What I would prefer though is a proper generic way to call a default > method on an interface without having an implementing instance. A > MethodHandles.lookup().in(Comperator.class) won't give me access to > invokespecial Comperator#reversed, or am I wrong here? This is off-topic for jigsaw-dev, but it doesn't make sense to invoke a default method without a receiver, as the method body might aload_0. Alex From alexandre.iline at oracle.com Wed Apr 13 17:29:34 2016 From: alexandre.iline at oracle.com (Alexandre (Shura) Iline) Date: Wed, 13 Apr 2016 10:29:34 -0700 Subject: RFR 8154182: Fix java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java to only use available modules Message-ID: Hi, Could you be so kind to take a look on this fix: http://cr.openjdk.java.net/~shurailine/8154182/webrev.00/ Thank you. Shura From frank.yuan at oracle.com Thu Apr 14 07:43:01 2016 From: frank.yuan at oracle.com (Frank Yuan) Date: Thu, 14 Apr 2016 15:43:01 +0800 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <570E7055.7070704@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> Message-ID: <028601d19621$475b7bc0$d6127340$@oracle.com> > -----Original Message----- > From: huizhe wang [mailto:huizhe.wang at oracle.com] > Subject: Re: RFR: 8078820: Test deploying a XML parser as a module > > > On 4/13/2016 5:55 AM, Alan Bateman wrote: > > > > On 11/04/2016 02:39, Frank Yuan wrote: > >> Hi Alan and Joe > >> > >> Would you like to have a look at this review > >> http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? > >> > >> > > I skimmed through the tests and they are testing the right scenarios. > > > > I assume you'll work with Joe to get this into jdk9/dev/jaxp. > > Frank, > > Is it because of the use of jdk.testlibrary, e.g. > jdk.testlibrary.ProcessTools that you had to put the tests in the jdk repo? Is it possible to make a copy of the testlibrary or the > particular functions needed so that we can get this into jdk9/dev/jaxp? > Hi Joe and Alan I moved the test to jdk9/dev/jaxp with copying the necessary files from jdk/test/lib/testlibrary to jaxp/test/javax/xml/jaxp/libs/jdk/testlibrary, and I have to create a separate directory jaxp/test/javax/xml/jaxp/module for these new tests because the tests under the existent directories use TestNG.dirs property, that causes all java files will be compiled once jtreg runs the test, but the module tests need to control the compilation by itself. Please check the new webrev: http://cr.openjdk.java.net/~fyuan/8078820/webrev.02/ , Thanks! Frank > -Joe > > > > > -Alan From felix.yang at oracle.com Thu Apr 14 08:45:13 2016 From: felix.yang at oracle.com (Felix Yang) Date: Thu, 14 Apr 2016 16:45:13 +0800 Subject: Ping - Re: RFR 8078812, Test RMI with client and servers as modules In-Reply-To: <57076334.2080607@oracle.com> References: <56D5312E.9030508@oracle.com> <56D64FC0.2050609@oracle.com> <57076334.2080607@oracle.com> Message-ID: <570F5899.2000401@oracle.com> Hi Stuart, any comment on the new tests and issue? Thanks, Felix On 2016/4/8 15:52, Felix Yang wrote: > Hi Stuart, > thanks for the comments. I adjusted the test. The test failed > with NoClassDefFoundErr if client/server are in named module but dummy > app in unnamed module. See > https://bugs.openjdk.java.net/browse/JDK-8153833 > > New webrev: http://cr.openjdk.java.net/~xiaofeya/8078812/webrev.01/ > > > About simplifying the scenario, I replaced inheritance by moving > classes in runtime. > > Thanks, > Felix > > On 2016/3/2 10:28, Stuart Marks wrote: >> Hi Felix, sorry for the delay. >> >> Several comments below. >> >> -------------------------------------------------- >> >> 119 // wait for rmiregistry to be fully ready >> 120 Thread.sleep(3000); >> >> There are some RMI test utilities that will handle starting up and >> waiting for the registry to be ready. Unfortunately they're in the >> unnamed package (still haven't cleaned that up) so you can't use them >> from this test. >> >> For now I'd recommend scaling the timeout by the test.timeout.factor, >> so that this won't fail on slow systems. There's a test utility for >> that; see Utils.adjustTimeout(). >> >> -------------------------------------------------- >> >> The directory "unamed" is misspelled; it has classes in the unnamed >> module. This misspelling is reflected in variable names and values, >> e.g., >> >> 59 private static final Path UNAMED_SRC_DIR = >> Paths.get(TEST_SRC, "unamed"); >> 60 private static final Path MODS_OUTPUT_DIR = Paths.get("mods"); >> 61 private static final Path UNAMED_OUTPUT_DIR = >> Paths.get("unamed"); >> >> While spelling errors aren't that big a deal, since this involves >> file and directory names, I'd recommend fixing this now. It'll just >> be harder to fix it later. >> >> Also, "SeperateModuleClient" => "SeparateModuleClient" >> >> -------------------------------------------------- >> >> Overall the structure of the test seems reasonable to test various >> clients and servers in combinations of the same, different, and >> unnamed modules. >> >> I'm not entirely sure what p2.SeperateModuleClient is testing. It >> extends p1.Client and its constructor and testStub() method simply >> call the corresponding methods on super, so it doesn't seem to be >> testing anything different from p1.Client running against p3.Server. >> >> Also, p4.UnamedModuleClient seems to want to run the client from the >> unnamed module, but it too extends p1.Client and simply defers all of >> its execution to its superclass. So I don't think this actually >> testing an RMI client call originating from an unnamed module. >> >> There is an uncomfortable amount of duplication between >> mtest/test/DummyApp.java and p4/UnamedModuleDummyApp. I see what this >> is trying to do, which is to test a RMI server from an unnamed >> module. It instantiates p3.Server, which resides in a named module, >> but exports it from an unnamed module. >> >> So I think there's some tension here. There's subclassing among the >> clients that attempts to avoid duplication, which is good, but it >> doesn't truly seem to be testing clients in different modules and in >> an unnamed module. The server, on the other hand, does seem to be >> testing things properly in different modules, at the cost of >> duplicating all the code into another class that resides in a >> different (unnamed) module. >> >> I'm not entirely sure what the best approach is here. Ideally you'd >> want to have a single implementation of client, server + remote >> interface, and application, and compile each of them once. Then since >> you're invoking a new JVM for each test, invoke it with different >> options to put the client, or the server, or the app, into modules, >> or onto the classpath (to get into an unnamed module). You might have >> to copy compiled class files to different locations so that different >> classes can be either on the classpath or in a named module without >> causing any conflicts. >> >> I'm willing to entertain some simplifications here as well. It might >> be sufficient to deal with just clients and servers in >> different/unnamed modules, and not worry about putting the >> application into different modules. That should reduce the number of >> cases to cover. >> >> s'marks >> >> On 2/29/16 10:05 PM, Felix Yang wrote: >>> Ping... >>> >>> -Felix >>> On 2016/2/24 14:06, Felix Yang wrote: >>>> Hi all, >>>> please review the new tests to use RMI in module world. >>>> >>>> Webrev: >>>> http://cr.openjdk.java.net/~xiaofeya/8078812/webrev.00/ >>>> Bug: >>>> https://bugs.openjdk.java.net/browse/JDK-8078812 >>>> >>>> Thanks, >>>> Felix >>> > From Alan.Bateman at oracle.com Thu Apr 14 14:27:37 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 14 Apr 2016 15:27:37 +0100 Subject: RFR 8154182: Fix java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java to only use available modules In-Reply-To: References: Message-ID: <570FA8D9.4080807@oracle.com> On 13/04/2016 18:29, Alexandre (Shura) Iline wrote: > Hi, > > Could you be so kind to take a look on this fix: > http://cr.openjdk.java.net/~shurailine/8154182/webrev.00/ > What would you think of having this test run with `-addmods ALL-SYSTEM` instead? Your patch is okay but it will mean that the test won't exercise getDeclaredFields on the EE module, at least not when we bring the changes in jake to JDK 9. This option can be used with `-limitmods`. Another test like this is VerifyModuleDelegation. In both cases the tests have been changed to run with `-addmods ALL-SYSTEM` in jake. -Alan From xueming.shen at oracle.com Thu Apr 14 17:47:36 2016 From: xueming.shen at oracle.com (Xueming Shen) Date: Thu, 14 Apr 2016 10:47:36 -0700 Subject: Fwd: RFR: JDK-8147460: Clean-up jrtfs implementation Message-ID: <570FD7B8.1090904@oracle.com> [re-post, including jigsaw list] Hi, Please hep review the cleanup changes for jrtfs implementation. issue: https://bugs.openjdk.java.net/browse/JDK-8147460 webrev: http://cr.openjdk.java.net/~sherman/8147460/webrev Simple benchmark [1] has been run both on jimage and the "exploded modules" directory, the numbers suggest we also get an encouraging performance boost on most of the frequently invoked access methods. [1] http://cr.openjdk.java.net/~sherman/8147460/MyBenchmark.java Benchmark Mode Cnt Score Error Units ------------------------------------------------------------ [jimage/existing] MyBenchmark.testExists avgt 50 18.592 ? 1.213 ms/op MyBenchmark.testIsDirectory avgt 50 17.382 ? 1.178 ms/op MyBenchmark.testIsRegularFile avgt 50 18.576 ? 1.577 ms/op MyBenchmark.testItr avgt 50 58.414 ? 1.638 ms/op MyBenchmark.testLookupPath avgt 50 18.935 ? 1.093 ms/op MyBenchmark.testLookupStr avgt 50 38.597 ? 1.663 ms/op MyBenchmark.testToRealPath avgt 50 30.119 ? 1.196 ms/op [jimage/new] MyBenchmark.testExists avgt 50 10.865 ? 1.125 ms/op MyBenchmark.testIsDirectory avgt 50 11.077 ? 1.101 ms/op MyBenchmark.testIsRegularFile avgt 50 10.967 ? 1.220 ms/op MyBenchmark.testItr avgt 50 49.249 ? 3.753 ms/op MyBenchmark.testLookupPath avgt 50 10.857 ? 1.071 ms/op MyBenchmark.testLookupStr avgt 50 34.367 ? 1.341 ms/op MyBenchmark.testToRealPath avgt 50 11.460 ? 1.081 ms/op ------------------------------------------------------------ [exploded dir/existing] MyBenchmark.testExists avgt 50 23.055 ? 1.707 ms/op MyBenchmark.testIsDirectory avgt 50 23.985 ? 1.593 ms/op MyBenchmark.testIsRegularFile avgt 50 24.200 ? 1.744 ms/op MyBenchmark.testItr avgt 50 210.002 ? 6.954 ms/op MyBenchmark.testLookupPath avgt 50 23.242 ? 1.799 ms/op MyBenchmark.testLookupStr avgt 50 43.026 ? 1.751 ms/op MyBenchmark.testToRealPath avgt 50 56.536 ? 1.679 ms/op [exploded dir/new] MyBenchmark.testExists avgt 50 11.260 ? 1.209 ms/op MyBenchmark.testIsDirectory avgt 50 11.702 ? 1.069 ms/op MyBenchmark.testIsRegularFile avgt 50 12.284 ? 1.333 ms/op MyBenchmark.testItr avgt 50 49.342 ? 1.516 ms/op MyBenchmark.testLookupPath avgt 50 11.041 ? 1.051 ms/op MyBenchmark.testLookupStr avgt 50 35.850 ? 1.618 ms/op MyBenchmark.testToRealPath avgt 50 13.016 ? 1.339 ms/op Thanks, Sherman From james.laskey at oracle.com Thu Apr 14 17:55:17 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Thu, 14 Apr 2016 14:55:17 -0300 Subject: RFR: JDK-8147460: Clean-up jrtfs implementation In-Reply-To: <570FD7B8.1090904@oracle.com> References: <570FD7B8.1090904@oracle.com> Message-ID: +1 > On Apr 14, 2016, at 2:47 PM, Xueming Shen wrote: > > > [re-post, including jigsaw list] > > Hi, > > Please hep review the cleanup changes for jrtfs implementation. > > issue: https://bugs.openjdk.java.net/browse/JDK-8147460 > webrev: http://cr.openjdk.java.net/~sherman/8147460/webrev > > Simple benchmark [1] has been run both on jimage and the "exploded modules" > directory, the numbers suggest we also get an encouraging performance boost > on most of the frequently invoked access methods. > > [1] http://cr.openjdk.java.net/~sherman/8147460/MyBenchmark.java > > Benchmark Mode Cnt Score Error Units > ------------------------------------------------------------ > [jimage/existing] > MyBenchmark.testExists avgt 50 18.592 ? 1.213 ms/op > MyBenchmark.testIsDirectory avgt 50 17.382 ? 1.178 ms/op > MyBenchmark.testIsRegularFile avgt 50 18.576 ? 1.577 ms/op > MyBenchmark.testItr avgt 50 58.414 ? 1.638 ms/op > MyBenchmark.testLookupPath avgt 50 18.935 ? 1.093 ms/op > MyBenchmark.testLookupStr avgt 50 38.597 ? 1.663 ms/op > MyBenchmark.testToRealPath avgt 50 30.119 ? 1.196 ms/op > > [jimage/new] > MyBenchmark.testExists avgt 50 10.865 ? 1.125 ms/op > MyBenchmark.testIsDirectory avgt 50 11.077 ? 1.101 ms/op > MyBenchmark.testIsRegularFile avgt 50 10.967 ? 1.220 ms/op > MyBenchmark.testItr avgt 50 49.249 ? 3.753 ms/op > MyBenchmark.testLookupPath avgt 50 10.857 ? 1.071 ms/op > MyBenchmark.testLookupStr avgt 50 34.367 ? 1.341 ms/op > MyBenchmark.testToRealPath avgt 50 11.460 ? 1.081 ms/op > > ------------------------------------------------------------ > [exploded dir/existing] > MyBenchmark.testExists avgt 50 23.055 ? 1.707 ms/op > MyBenchmark.testIsDirectory avgt 50 23.985 ? 1.593 ms/op > MyBenchmark.testIsRegularFile avgt 50 24.200 ? 1.744 ms/op > MyBenchmark.testItr avgt 50 210.002 ? 6.954 ms/op > MyBenchmark.testLookupPath avgt 50 23.242 ? 1.799 ms/op > MyBenchmark.testLookupStr avgt 50 43.026 ? 1.751 ms/op > MyBenchmark.testToRealPath avgt 50 56.536 ? 1.679 ms/op > > [exploded dir/new] > MyBenchmark.testExists avgt 50 11.260 ? 1.209 ms/op > MyBenchmark.testIsDirectory avgt 50 11.702 ? 1.069 ms/op > MyBenchmark.testIsRegularFile avgt 50 12.284 ? 1.333 ms/op > MyBenchmark.testItr avgt 50 49.342 ? 1.516 ms/op > MyBenchmark.testLookupPath avgt 50 11.041 ? 1.051 ms/op > MyBenchmark.testLookupStr avgt 50 35.850 ? 1.618 ms/op > MyBenchmark.testToRealPath avgt 50 13.016 ? 1.339 ms/op > > Thanks, > Sherman > > From alan.bateman at oracle.com Thu Apr 14 19:04:55 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 14 Apr 2016 19:04:55 +0000 Subject: hg: jigsaw/jake/jdk: 2 new changesets Message-ID: <201604141904.u3EJ4trS017303@aojmv0008.oracle.com> Changeset: cd205de78122 Author: alanb Date: 2016-04-14 15:13 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cd205de78122 Tolerate hidden files in directories on the module path ! src/java.base/share/classes/java/lang/module/ModulePath.java ! test/java/lang/module/ModuleFinderTest.java Changeset: 7e3b7bc89895 Author: alanb Date: 2016-04-14 16:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7e3b7bc89895 ToolsOpts needs to use new form of -Xpatch ! test/tools/launcher/ToolsOpts.java From xueming.shen at oracle.com Thu Apr 14 23:44:03 2016 From: xueming.shen at oracle.com (Xueming Shen) Date: Thu, 14 Apr 2016 16:44:03 -0700 Subject: RFR: JDK-8147460: Clean-up jrtfs implementation In-Reply-To: <570FE825.8050605@oracle.com> References: <570E963C.3050706@oracle.com> <570FE825.8050605@oracle.com> Message-ID: <57102B43.8000404@oracle.com> On 04/14/2016 11:57 AM, Alan Bateman wrote: > > > On 13/04/2016 19:55, Xueming Shen wrote: >> Hi, >> >> Please hep review the cleanup changes for jrtfs implementation. >> > I'm skimmed through the changes and it looks very good. > > My only concern is that we might have not enough tests for jrtfs to exercise it completely. I just checked the coverage it is indeed quite low. I'll create a bug for this. I did not realize that the PathOps.java does not include all the path tests we have in its nio version. I updated it with all of the "unix version" tests. It did trigger couple corner cases (the diff against yesterday's version in JrtPath.java attached ) http://cr.openjdk.java.net/~sherman/8147460/webrev/ sherman ---------------------------------------------------------------------------------------------------------------------- JrtPath.java: 91,93c91 < if (path.length() == 0) < return this; < if (path.length() == 1 && path.charAt(0) == '/') --- > if (path.length() == 0 || path.length() == 1 && path.charAt(0) == '/') 210,212d207 < if (path.length() == 0) { < return o; < } 240a236 > int pos = 0; 243c239 < if (sb.length() < len) { // no tailing slash at the end --- > if (pos < len) { // no tailing slash at the end 267c263 < if (this.path.length() == 0 || o.isAbsolute()) { --- > if (o.isAbsolute()) { 270,272d265 < if (o.path.length() == 0) { < return this; < } 299,301d291 < if (off == 0) { < return tp.length() == 0; < } From Alan.Bateman at oracle.com Fri Apr 15 12:53:45 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 15 Apr 2016 13:53:45 +0100 Subject: RFR: JDK-8147460: Clean-up jrtfs implementation In-Reply-To: <57102B43.8000404@oracle.com> References: <570E963C.3050706@oracle.com> <570FE825.8050605@oracle.com> <57102B43.8000404@oracle.com> Message-ID: <5710E459.1020200@oracle.com> On 15/04/2016 00:44, Xueming Shen wrote: > > I did not realize that the PathOps.java does not include all the path > tests > we have in its nio version. I updated it with all of the "unix > version" tests. > It did trigger couple corner cases (the diff against yesterday's > version in > JrtPath.java attached ) > > http://cr.openjdk.java.net/~sherman/8147460/webrev/ > Thanks, it good to have that test updated as there are many corner cases. A few other areas that don't seem to have tests is the jrt implementation of FileStore and regex usage with DirectoryStream but we can expand on this once you get this update in. -Alan From Alan.Bateman at oracle.com Fri Apr 15 13:05:41 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 15 Apr 2016 14:05:41 +0100 Subject: running Groovy on JDK9 In-Reply-To: <570BC969.40409@gmx.org> References: <570A9BA3.5000009@gmx.org> <570AAD27.2080507@oracle.com> <570BC969.40409@gmx.org> Message-ID: <5710E725.1080900@oracle.com> On 11/04/2016 16:57, Jochen Theodorou wrote: > : > > And then of course there is the problem of XML parser being loaded > dynamically. You get effects like this: > https://bugs.openjdk.java.net/browse/JDK-8015099, and we too had > already a load of fun with xerces being part of the distribution and > the violation of classloading constraints. All that gets worse, if you > want to "download" something like xpp3 from the web in your > application and then use it directly. I had a brief discussion with Joe Wang about this as it seems to be a caching bug in the legacy SAX code. So we think it would be better to just get this bug fixed rather than trying to workaround it by extending the class path at runtime. -Alan From Alan.Bateman at oracle.com Fri Apr 15 13:20:53 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 15 Apr 2016 14:20:53 +0100 Subject: running Groovy on JDK9 In-Reply-To: <570BC969.40409@gmx.org> References: <570A9BA3.5000009@gmx.org> <570AAD27.2080507@oracle.com> <570BC969.40409@gmx.org> Message-ID: <5710EAB5.8010205@oracle.com> On 11/04/2016 16:57, Jochen Theodorou wrote: > : > > Can it be registered via registerDriver? That actually made me wonder > why exactly we require the system loader here in the first place. > > Part of the problem is DriverManager#getConnection, which is > @CallerSensitive. So if I want to get a connection from an arbitrary > loader, it has to be the same loader, that registered the driver, or a > higher one. Here getConnection is done from library code, with a > different loader. So it cannot work that way... sigh... not reliably. > It is indeed surprising that these methods are @CS. It seems this has been the case since JDK 1.1/1.2 then the java.sql API was changed from using the security context. It needs to be re-examined along an investigation on the impact of changing this after all these years. As Lance Andersen often points outs, most EE/web applications are likely to be using javax.sql.DataSource rather than java.sql.Driver these days. -Alan. From huizhe.wang at oracle.com Fri Apr 15 16:39:09 2016 From: huizhe.wang at oracle.com (huizhe wang) Date: Fri, 15 Apr 2016 09:39:09 -0700 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <028601d19621$475b7bc0$d6127340$@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> Message-ID: <5711192D.9070008@oracle.com> On 4/14/2016 12:43 AM, Frank Yuan wrote: >> -----Original Message----- >> From: huizhe wang [mailto:huizhe.wang at oracle.com] >> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module >> >> >> On 4/13/2016 5:55 AM, Alan Bateman wrote: >>> On 11/04/2016 02:39, Frank Yuan wrote: >>>> Hi Alan and Joe >>>> >>>> Would you like to have a look at this review >>>> http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? >>>> >>>> >>> I skimmed through the tests and they are testing the right scenarios. >>> >>> I assume you'll work with Joe to get this into jdk9/dev/jaxp. >> Frank, >> >> Is it because of the use of jdk.testlibrary, e.g. >> jdk.testlibrary.ProcessTools that you had to put the tests in the jdk repo? Is it possible to make a copy of the testlibrary or > the >> particular functions needed so that we can get this into jdk9/dev/jaxp? >> > Hi Joe and Alan > > I moved the test to jdk9/dev/jaxp with copying the necessary files from jdk/test/lib/testlibrary to > jaxp/test/javax/xml/jaxp/libs/jdk/testlibrary, and I have to create a separate directory jaxp/test/javax/xml/jaxp/module for these > new tests because the tests under the existent directories use TestNG.dirs property, that causes all java files will be compiled > once jtreg runs the test, but the module tests need to control the compilation by itself. Is there such a support/plan from jtreg? I wonder if this is the new norm for writing / adding tests with module support. Joe > > Please check the new webrev: http://cr.openjdk.java.net/~fyuan/8078820/webrev.02/ , Thanks! > > > Frank > >> -Joe >> >>> -Alan > From Roger.Riggs at Oracle.com Fri Apr 15 16:44:05 2016 From: Roger.Riggs at Oracle.com (Roger Riggs) Date: Fri, 15 Apr 2016 12:44:05 -0400 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <028601d19621$475b7bc0$d6127340$@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> Message-ID: <57111A55.7050109@Oracle.com> Hi Frank, The test library components seem to duplicate those already in the JDK/test/lib/testlibrary There needs to be a good reason to duplicate the test library. Roger On 4/14/2016 3:43 AM, Frank Yuan wrote: >> -----Original Message----- >> From: huizhe wang [mailto:huizhe.wang at oracle.com] >> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module >> >> >> On 4/13/2016 5:55 AM, Alan Bateman wrote: >>> On 11/04/2016 02:39, Frank Yuan wrote: >>>> Hi Alan and Joe >>>> >>>> Would you like to have a look at this review >>>> http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? >>>> >>>> >>> I skimmed through the tests and they are testing the right scenarios. >>> >>> I assume you'll work with Joe to get this into jdk9/dev/jaxp. >> Frank, >> >> Is it because of the use of jdk.testlibrary, e.g. >> jdk.testlibrary.ProcessTools that you had to put the tests in the jdk repo? Is it possible to make a copy of the testlibrary or > the >> particular functions needed so that we can get this into jdk9/dev/jaxp? >> > Hi Joe and Alan > > I moved the test to jdk9/dev/jaxp with copying the necessary files from jdk/test/lib/testlibrary to > jaxp/test/javax/xml/jaxp/libs/jdk/testlibrary, and I have to create a separate directory jaxp/test/javax/xml/jaxp/module for these > new tests because the tests under the existent directories use TestNG.dirs property, that causes all java files will be compiled > once jtreg runs the test, but the module tests need to control the compilation by itself. > > Please check the new webrev: http://cr.openjdk.java.net/~fyuan/8078820/webrev.02/ , Thanks! > > > Frank > >> -Joe >> >>> -Alan > From alan.bateman at oracle.com Fri Apr 15 21:38:21 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 15 Apr 2016 21:38:21 +0000 Subject: hg: jigsaw/jake/jaxp: 4 new changesets Message-ID: <201604152138.u3FLcLUS021164@aojmv0008.oracle.com> Changeset: bfd3029fa3dd Author: joehw Date: 2016-04-06 14:31 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/bfd3029fa3dd 8150969: DEFER from Features API is taking precedence over defer preference in catalog file Reviewed-by: lancea ! src/java.xml/share/classes/javax/xml/catalog/CatalogReader.java ! test/javax/xml/jaxp/unittest/catalog/CatalogTest.java + test/javax/xml/jaxp/unittest/catalog/bad_cat.xml + test/javax/xml/jaxp/unittest/catalog/defer_del_false.xml + test/javax/xml/jaxp/unittest/catalog/defer_false_2.xml Changeset: 147114dd0641 Author: lana Date: 2016-04-07 11:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/147114dd0641 Merge Changeset: d223a98159eb Author: lana Date: 2016-04-14 09:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/d223a98159eb Added tag jdk-9+114 for changeset 147114dd0641 ! .hgtags Changeset: c8ce75f7316f Author: alanb Date: 2016-04-15 16:05 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/c8ce75f7316f Merge From alan.bateman at oracle.com Fri Apr 15 21:38:22 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 15 Apr 2016 21:38:22 +0000 Subject: hg: jigsaw/jake: 11 new changesets Message-ID: <201604152138.u3FLcMeO021250@aojmv0008.oracle.com> Changeset: 74ccbb7d0ec5 Author: azvegint Date: 2016-03-24 02:04 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/74ccbb7d0ec5 8143227: Platform-Specific Desktop Features Reviewed-by: prr, serb ! make/common/CORE_PKGS.gmk Changeset: 125cc8069745 Author: prr Date: 2016-03-28 08:41 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/125cc8069745 Merge Changeset: 0cd2d5f927ae Author: serb Date: 2016-03-29 17:03 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/0cd2d5f927ae 7179078: Remove @beaninfo processing from the makefiles Reviewed-by: erikj, alexsch ! make/CompileJavaModules.gmk Changeset: 250927400311 Author: prr Date: 2016-04-05 07:51 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/250927400311 Merge Changeset: 4f4adcdff6b4 Author: erikj Date: 2016-04-06 11:16 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/4f4adcdff6b4 8152691: Compare script broken after Module system Reviewed-by: tbell ! common/autoconf/compare.sh.in ! common/bin/compare.sh ! common/bin/compare_exceptions.sh.incl ! make/Main.gmk Changeset: f517c91f6a29 Author: erikj Date: 2016-04-07 13:16 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/f517c91f6a29 8153660: jwdp.so/dll missing from JRE image Reviewed-by: alanb ! make/common/Modules.gmk Changeset: 49664188c2ca Author: lana Date: 2016-04-07 11:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/49664188c2ca Merge Changeset: a82fbccf2e7e Author: jlahoda Date: 2016-04-08 11:51 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/a82fbccf2e7e 8153243: make docs should generate JShell API docs Reviewed-by: erikj ! make/Javadoc.gmk ! make/common/NON_CORE_PKGS.gmk Changeset: 1d992540870f Author: chegar Date: 2016-04-09 19:49 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/1d992540870f 8153737: Unsupported Module Reviewed-by: alanb, mchung, psandoz ! make/common/Modules.gmk ! test/lib/share/classes/jdk/test/lib/Utils.java Changeset: 5161f39afc81 Author: lana Date: 2016-04-14 09:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/5161f39afc81 Added tag jdk-9+114 for changeset 1d992540870f ! .hgtags Changeset: c4b8bfa04084 Author: alanb Date: 2016-04-15 16:05 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/c4b8bfa04084 Merge ! common/bin/compare.sh ! make/CompileJavaModules.gmk ! make/Javadoc.gmk ! make/Main.gmk ! make/common/CORE_PKGS.gmk ! make/common/Modules.gmk ! make/common/NON_CORE_PKGS.gmk From alan.bateman at oracle.com Fri Apr 15 21:38:24 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 15 Apr 2016 21:38:24 +0000 Subject: hg: jigsaw/jake/jaxws: 2 new changesets Message-ID: <201604152138.u3FLcO5x021258@aojmv0008.oracle.com> Changeset: 4ff86e5489e4 Author: lana Date: 2016-04-14 09:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/4ff86e5489e4 Added tag jdk-9+114 for changeset b314bb02182b ! .hgtags Changeset: e08eed35be2d Author: alanb Date: 2016-04-15 16:06 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/e08eed35be2d Merge From alan.bateman at oracle.com Fri Apr 15 21:38:25 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 15 Apr 2016 21:38:25 +0000 Subject: hg: jigsaw/jake/corba: 3 new changesets Message-ID: <201604152138.u3FLcPrF021272@aojmv0008.oracle.com> Changeset: 10d175b0368c Author: chegar Date: 2016-04-09 19:49 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/10d175b0368c 8153737: Unsupported Module Reviewed-by: alanb, mchung, psandoz ! src/java.corba/share/classes/module-info.java Changeset: 17b1ec86c70a Author: lana Date: 2016-04-14 09:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/17b1ec86c70a Added tag jdk-9+114 for changeset 10d175b0368c ! .hgtags Changeset: 9bc658b47276 Author: alanb Date: 2016-04-15 16:06 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/9bc658b47276 Merge ! src/java.corba/share/classes/module-info.java From alan.bateman at oracle.com Fri Apr 15 21:38:24 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 15 Apr 2016 21:38:24 +0000 Subject: hg: jigsaw/jake/langtools: 22 new changesets Message-ID: <201604152138.u3FLcO14021266@aojmv0008.oracle.com> Changeset: 2f6ca5367226 Author: rfield Date: 2016-04-04 10:31 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2f6ca5367226 8147515: JShell: Internationalize Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/Feedback.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/Eval.java ! src/jdk.jshell/share/classes/jdk/jshell/JShell.java + src/jdk.jshell/share/classes/jdk/jshell/resources/l10n.properties ! test/jdk/jshell/ReplToolTesting.java ! test/jdk/jshell/StartOptionTest.java ! test/jdk/jshell/ToolBasicTest.java ! test/jdk/jshell/ToolFormatTest.java + test/jdk/jshell/ToolLocaleMessageTest.java ! test/jdk/jshell/ToolReloadTest.java Changeset: 83c0f2cb6028 Author: jjg Date: 2016-04-04 12:34 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/83c0f2cb6028 8153416: unexport javah from jdk.compiler module Reviewed-by: mchung ! src/jdk.compiler/share/classes/module-info.java ! test/tools/javac/file/ExplodedImage.java ! test/tools/javac/nativeHeaders/javahComparison/CompareTest.java ! test/tools/javah/4942232/Test.java ! test/tools/javah/6257087/T6257087.java ! test/tools/javah/6572945/T6572945.java ! test/tools/javah/ModuleClass.java ! test/tools/javah/T4942232/MissingParamClassTest.java ! test/tools/javah/T6893943.java ! test/tools/javah/T6994608.java ! test/tools/javah/T7126832/T7126832.java ! test/tools/javah/T7185778.java ! test/tools/javah/TestHelpOpts.java ! test/tools/javah/VersionTest.java ! test/tools/javah/constMacroTest/ConstMacroTest.java Changeset: f2ce02ef81e9 Author: rfield Date: 2016-04-04 20:28 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/f2ce02ef81e9 8153417: jshell tool: use test passed locale to retrieve ResourceBundle Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java Changeset: 68696e640592 Author: rfield Date: 2016-04-05 00:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/68696e640592 8153482: jdk/jshell/StartOptionTest.java fails on Windows after JDK-8147515 Reviewed-by: jlahoda ! test/jdk/jshell/StartOptionTest.java Changeset: d5754aaff8ec Author: alanb Date: 2016-04-05 21:17 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/d5754aaff8ec 8153370: Drop use of old style -XaddExports from tests Reviewed-by: mchung ! test/tools/javac/modules/AddLimitMods.java ! test/tools/javac/platform/PlatformProviderTest.java Changeset: 680712ce0386 Author: psandoz Date: 2016-03-24 11:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/680712ce0386 8149644: Integrate VarHandles Reviewed-by: mcimadamore, forax ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.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 Changeset: 82f94333bd7e Author: zmajo Date: 2016-03-24 16:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/82f94333bd7e Merge ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java - src/jdk.compiler/share/classes/com/sun/tools/javac/sym/CreateSymbols.java - src/jdk.compiler/share/classes/com/sun/tools/javac/sym/Profiles.java - src/jdk.compiler/share/classes/com/sun/tools/javac/util/ServiceLoader.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java - src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModulesXmlReader.java - src/jdk.jdeps/share/classes/com/sun/tools/jdeps/PlatformClassPath.java - test/com/sun/javadoc/testLinkOption/java/lang/StringBuilderChild.java - test/com/sun/javadoc/testLinkOption/package-list - test/com/sun/javadoc/testProfiles/TestProfiles.java - test/com/sun/javadoc/testProfiles/TestProfilesConfiguration.java - test/com/sun/javadoc/testProfiles/pkg1/Class1Pkg1.java - test/com/sun/javadoc/testProfiles/pkg1/Class2Pkg1.java - test/com/sun/javadoc/testProfiles/pkg1/Class3Pkg1.java - test/com/sun/javadoc/testProfiles/pkg1/Interface1Pkg1.java - test/com/sun/javadoc/testProfiles/pkg2/Anno1Pkg2.java - test/com/sun/javadoc/testProfiles/pkg2/Anno2Pkg2.java - test/com/sun/javadoc/testProfiles/pkg2/Class1Pkg2.java - test/com/sun/javadoc/testProfiles/pkg2/ClassError.java - test/com/sun/javadoc/testProfiles/pkg2/ClassException.java - test/com/sun/javadoc/testProfiles/pkg3/Class1Pkg3.java - test/com/sun/javadoc/testProfiles/pkg3/Class2Pkg3.java - test/com/sun/javadoc/testProfiles/pkg3/Interface1Pkg3.java - test/com/sun/javadoc/testProfiles/pkg4/Anno1Pkg4.java - test/com/sun/javadoc/testProfiles/pkg4/Class1Pkg4.java - test/com/sun/javadoc/testProfiles/pkg5/Class1Pkg5.java - test/com/sun/javadoc/testProfiles/pkg5/Interface1Pkg5.java - test/com/sun/javadoc/testProfiles/pkgDeprecated/Class1PkgDeprecated.java - test/com/sun/javadoc/testProfiles/pkgDeprecated/package-info.java - test/com/sun/javadoc/testProfiles/profile-rtjar-includes-nopkgs.txt - test/com/sun/javadoc/testProfiles/profile-rtjar-includes.txt - test/jdk/javadoc/doclet/testLinkOption/java/lang/StringBuilderChild.java - test/jdk/javadoc/doclet/testLinkOption/package-list - test/tools/javac/Object1.java - test/tools/javac/Object1.out - test/tools/javac/Object2.java - test/tools/javac/Object2.out - test/tools/javac/profiles/ProfileTest.java - test/tools/javac/proprietary/WarnClass.java - test/tools/javac/proprietary/WarnClass.out - test/tools/javac/proprietary/WarnImport.java - test/tools/javac/proprietary/WarnImport.out - test/tools/javac/proprietary/WarnMethod.java - test/tools/javac/proprietary/WarnMethod.out - test/tools/javac/proprietary/WarnStaticImport.java - test/tools/javac/proprietary/WarnStaticImport.out - test/tools/javac/proprietary/WarnVariable.java - test/tools/javac/proprietary/WarnVariable.out - test/tools/javac/proprietary/WarnWildcard.java - test/tools/javac/proprietary/WarnWildcard.out - test/tools/javac/synthesize/Boolean.java - test/tools/javac/synthesize/Byte.java - test/tools/javac/synthesize/Character.java - test/tools/javac/synthesize/Cloneable.java - test/tools/javac/synthesize/Double.java - test/tools/javac/synthesize/Float.java - test/tools/javac/synthesize/Integer.java - test/tools/javac/synthesize/Long.java - test/tools/javac/synthesize/Number.java - test/tools/javac/synthesize/Object.java - test/tools/javac/synthesize/Serializable.java - test/tools/javac/synthesize/Short.java - test/tools/javac/synthesize/Test.java - test/tools/javac/synthesize/Void.java - test/tools/jdeps/VerboseFormat/use/indirect/DontUseUnsafe2.java - test/tools/jdeps/VerboseFormat/use/indirect/UseUnsafeIndirectly.java - test/tools/jdeps/VerboseFormat/use/indirect2/DontUseUnsafe3.java - test/tools/jdeps/VerboseFormat/use/indirect2/UseUnsafeIndirectly2.java - test/tools/jdeps/VerboseFormat/use/unsafe/DontUseUnsafe.java - test/tools/jdeps/VerboseFormat/use/unsafe/UseClassWithUnsafe.java - test/tools/jdeps/VerboseFormat/use/unsafe/UseUnsafeClass.java - test/tools/jdeps/VerboseFormat/use/unsafe/UseUnsafeClass2.java - test/tools/jdeps/javax/activity/NotCompactProfile.java Changeset: f54b675d5eee Author: zmajo Date: 2016-03-29 13:43 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/f54b675d5eee Merge Changeset: 87435db6e97c Author: amurillo Date: 2016-03-31 14:25 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/87435db6e97c Merge Changeset: c33ef58de585 Author: amurillo Date: 2016-04-04 13:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/c33ef58de585 Merge Changeset: 306fef8428ac Author: amurillo Date: 2016-04-05 20:02 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/306fef8428ac Merge Changeset: 68d65a7076b9 Author: vromero Date: 2016-04-06 13:49 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/68d65a7076b9 8151191: javac error when running javadoc on some inner classes Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/tools/javac/T8151191/Anno.java + test/tools/javac/T8151191/AnnoProcessor.java + test/tools/javac/T8151191/ErrorRunningJavadocOnInnerClasses.java Changeset: bd919db5c123 Author: lana Date: 2016-04-07 11:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/bd919db5c123 Merge Changeset: 09cd25821441 Author: mcimadamore Date: 2016-04-08 10:52 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/09cd25821441 8152832: Type inference regression in javac Summary: Stale incoropration actions caused missing inference bounds Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/inference/8152832/T8152832.java Changeset: 482c38db3637 Author: jlahoda Date: 2016-04-08 11:52 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/482c38db3637 8153243: make docs should generate JShell API docs Summary: Tweaking JShell javadoc so that it can be built without warnings/errors. Reviewed-by: rfield, erikj ! src/jdk.jshell/share/classes/jdk/jshell/Diag.java ! src/jdk.jshell/share/classes/jdk/jshell/JShell.java Changeset: 571ee117bb25 Author: rfield Date: 2016-04-08 10:51 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/571ee117bb25 8130450: JShell: events are not generated for repeated source 8139835: JShell API: Snippet.id() doc -- specify: no meaning, dynamic Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! src/jdk.jshell/share/classes/jdk/jshell/Snippet.java ! src/jdk.jshell/share/classes/jdk/jshell/Unit.java ! test/jdk/jshell/SimpleRegressionTest.java Changeset: 859998e32f58 Author: rfield Date: 2016-04-08 13:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/859998e32f58 8153896: JShell API: Snippet.id() doc -- breaks make doc Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/Snippet.java Changeset: 697549008e7f Author: rfield Date: 2016-04-09 11:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/697549008e7f 8153716: JShell tool: should warn when failed to launch editor Summary: Catch launch exceptions. Split ToolBasicTest into two to provide place for regression test. Reviewed-by: rfield Contributed-by: kubota.yuji at gmail.com ! 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/ReplToolTesting.java ! test/jdk/jshell/ToolBasicTest.java + test/jdk/jshell/ToolSimpleTest.java Changeset: 01684d40a5b0 Author: chegar Date: 2016-04-09 19:49 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/01684d40a5b0 8153737: Unsupported Module Reviewed-by: alanb, mchung, psandoz - test/tools/jdeps/jdk.unsupported/Foo.java - test/tools/jdeps/jdk.unsupported/JDKUnsupportedTest.java + test/tools/jdeps/unsupported/Bar.java + test/tools/jdeps/unsupported/Foo.java + test/tools/jdeps/unsupported/JDKUnsupportedTest.java Changeset: cba09a2e6ae9 Author: ksrini Date: 2016-04-10 08:41 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/cba09a2e6ae9 8073100: [javadoc] Provide an ability to suppress document generation for specific elements. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java + src/jdk.compiler/share/classes/com/sun/source/doctree/HiddenTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/HiddenTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberMap.java + test/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.java + test/jdk/javadoc/doclet/testHiddenTag/pkg1/A.java ! test/tools/javac/doctree/DocCommentTester.java + test/tools/javac/doctree/HiddenTest.java ! test/tools/javac/lib/DPrinter.java Changeset: 8d951a6e7fe5 Author: lana Date: 2016-04-14 09:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/8d951a6e7fe5 Added tag jdk-9+114 for changeset cba09a2e6ae9 ! .hgtags Changeset: 16b007ba647b Author: alanb Date: 2016-04-15 20:31 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/16b007ba647b Merge ! .hgtags ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.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/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/module-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/jdk/jshell/ToolFormatTest.java ! test/tools/javac/file/ExplodedImage.java ! test/tools/javac/lib/DPrinter.java ! test/tools/javac/modules/AddLimitMods.java ! test/tools/javac/platform/PlatformProviderTest.java ! test/tools/javah/ModuleClass.java - test/tools/jdeps/jdk.unsupported/Foo.java - test/tools/jdeps/jdk.unsupported/JDKUnsupportedTest.java From alan.bateman at oracle.com Fri Apr 15 21:38:26 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 15 Apr 2016 21:38:26 +0000 Subject: hg: jigsaw/jake/nashorn: 4 new changesets Message-ID: <201604152138.u3FLcQnl021282@aojmv0008.oracle.com> Changeset: 0c5b4ee6923f Author: jlaskey Date: 2016-04-11 10:01 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/0c5b4ee6923f 8075550: Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages Reviewed-by: kcr, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/base.js ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/bootstrap.js ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/controls.js ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/fxml.js ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/graphics.js ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/media.js ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/swing.js - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/swt.js ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/web.js Changeset: ba21793a0e48 Author: mhaupt Date: 2016-04-11 18:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/ba21793a0e48 8137149: add tests for issues closed during Nashorn issue cleanup Reviewed-by: jlaskey, sundar + test/script/basic/JDK-8026249.js + test/script/basic/JDK-8028429.js + test/script/basic/JDK-8028429.js.EXPECTED Changeset: c5e780838dd5 Author: lana Date: 2016-04-14 09:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/c5e780838dd5 Added tag jdk-9+114 for changeset ba21793a0e48 ! .hgtags Changeset: 8e1f7c4180dd Author: alanb Date: 2016-04-15 20:32 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/8e1f7c4180dd Merge ! .hgtags - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/fx/swt.js From alan.bateman at oracle.com Fri Apr 15 21:38:37 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 15 Apr 2016 21:38:37 +0000 Subject: hg: jigsaw/jake/hotspot: 59 new changesets Message-ID: <201604152138.u3FLccMR021309@aojmv0008.oracle.com> Changeset: dd177de0eb2f Author: chegar Date: 2016-04-03 16:28 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dd177de0eb2f 8153181: Move sun.misc.VMSupport to an internal package Reviewed-by: alanb, mchung ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/diagnosticCommand.cpp Changeset: 3256d4204291 Author: neliasso Date: 2016-03-16 10:45 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3256d4204291 8150054: Make compilercontrol test ignore xcomp Summary: Add -Xmixed and use jtreg driver Reviewed-by: kvn ! test/compiler/compilercontrol/commandfile/CompileOnlyTest.java ! test/compiler/compilercontrol/commandfile/ExcludeTest.java ! test/compiler/compilercontrol/commandfile/LogTest.java ! test/compiler/compilercontrol/commandfile/PrintTest.java ! test/compiler/compilercontrol/commands/CompileOnlyTest.java ! test/compiler/compilercontrol/commands/ExcludeTest.java ! test/compiler/compilercontrol/commands/LogTest.java ! test/compiler/compilercontrol/commands/PrintTest.java ! test/compiler/compilercontrol/directives/CompileOnlyTest.java ! test/compiler/compilercontrol/directives/ExcludeTest.java ! test/compiler/compilercontrol/directives/LogTest.java ! test/compiler/compilercontrol/directives/PrintTest.java ! test/compiler/compilercontrol/jcmd/AddAndRemoveTest.java ! test/compiler/compilercontrol/jcmd/AddCompileOnlyTest.java ! test/compiler/compilercontrol/jcmd/AddExcludeTest.java ! test/compiler/compilercontrol/jcmd/AddLogTest.java ! test/compiler/compilercontrol/jcmd/AddPrintAssemblyTest.java ! test/compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest.java ! test/compiler/compilercontrol/jcmd/ClearDirectivesStackTest.java ! test/compiler/compilercontrol/jcmd/PrintDirectivesTest.java ! test/compiler/compilercontrol/jcmd/StressAddMultiThreadedTest.java ! test/compiler/compilercontrol/matcher/MethodMatcherTest.java ! test/compiler/compilercontrol/mixed/RandomCommandsTest.java ! test/compiler/compilercontrol/mixed/RandomValidCommandsTest.java ! test/compiler/compilercontrol/share/MultiCommand.java ! test/compiler/compilercontrol/share/scenario/Scenario.java Changeset: 27654175e92a Author: thartmann Date: 2016-03-17 09:41 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/27654175e92a 8151882: -XX:+Verbose prints messages even if no other flag is set Summary: We should only print messages if PrintOpto && WizardMode is set. Reviewed-by: kvn, neliasso ! src/share/vm/opto/reg_split.cpp Changeset: b7ba700456c5 Author: aph Date: 2016-02-25 14:59 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b7ba700456c5 8150652: Remove unused code in AArch64 back end Reviewed-by: kvn ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Changeset: 7c31312c5725 Author: aph Date: 2016-03-17 17:03 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7c31312c5725 Merge - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/development/Server16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/development/Server24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/About16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/About24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Delete16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Delete24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Find16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Help16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Help24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/History16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/History24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Information16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Information24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/New16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/New24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Open16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Open24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Save24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/SaveAs16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/SaveAs24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/Zoom16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/ZoomIn16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/general/ZoomIn24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/navigation/Down16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/navigation/Up16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/text/AlignCenter16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/text/AlignCenter24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/text/AlignLeft16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/text/AlignLeft24.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/text/AlignRight16.gif - src/jdk.hotspot.agent/share/classes/images/toolbarButtonGraphics/text/AlignRight24.gif - test/compiler/compilercontrol/jcmd/StressAddSequentiallyTest.java Changeset: d28f025a1f80 Author: never Date: 2016-03-17 12:04 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d28f025a1f80 8151874: [JVMCI] canInlineMethod should check is_not_compilable for correct CompLevel Reviewed-by: twisti ! src/share/vm/jvmci/jvmciCompilerToVM.cpp Changeset: eb774f6f1077 Author: neliasso Date: 2016-03-17 21:55 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/eb774f6f1077 8152090: Code missing from JDK-8150054 causing many test failures Summary: Add missing method Reviewed-by: kvn ! test/compiler/compilercontrol/share/scenario/Scenario.java Changeset: abe0f7310cc4 Author: thartmann Date: 2016-03-18 09:32 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/abe0f7310cc4 8023191: OSR nmethods should be flushed to free space in CodeCache Summary: Treat OSR nmethods like normal nmethods and flush them if they are cold/unused. Reviewed-by: kvn ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp Changeset: 39c046b28e28 Author: thartmann Date: 2016-03-18 09:27 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/39c046b28e28 Merge Changeset: 48d325e55fb4 Author: twisti Date: 2016-03-17 10:55 -1000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/48d325e55fb4 8151829: [JVMCI] incorrect documentation about jvmci.compiler property Reviewed-by: kvn ! src/jdk.vm.ci/share/classes/jdk.vm.ci.runtime/src/jdk/vm/ci/runtime/JVMCICompilerFactory.java Changeset: 59db3de117b0 Author: twisti Date: 2016-03-17 16:10 -1000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/59db3de117b0 8151723: [JVMCI] JVMCIRuntime::treat_as_trivial: Don't limit trivial prefixes to boot class path Reviewed-by: dnsimon ! src/share/vm/jvmci/jvmciRuntime.cpp Changeset: ebbd1e270795 Author: twisti Date: 2016-03-17 16:10 -1000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ebbd1e270795 8152134: [JVMCI] printing compile queues always prints C2 regardless of UseJVMCICompiler Reviewed-by: dnsimon ! src/share/vm/compiler/compileBroker.cpp Changeset: 81a1829d48eb Author: fzhinkin Date: 2016-03-17 09:50 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/81a1829d48eb 8152004: CTW crashes with failed assertion after 8150646 integration Reviewed-by: kvn, neliasso ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 58287e1b1c2c Author: thartmann Date: 2016-03-21 08:42 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/58287e1b1c2c 8144693: Intrinsify StringCoding.hasNegatives() on SPARC Summary: Implemented C2 instrinsic for StringCode.hasNegatives() on SPARC. Reviewed-by: kvn, jrose, thartmann Contributed-by: Guy Delamarter ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/sparc.ad + test/compiler/intrinsics/string/TestHasNegatives.java Changeset: bcf5a0a5731b Author: zmajo Date: 2016-03-21 09:51 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bcf5a0a5731b 8148754: C2 loop unrolling fails due to unexpected graph shape Summary: Check if graph shape is appropriate for optimization, bail out optimization if not. Reviewed-by: kvn, twisti, shade, dnsimon ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/superword.cpp Changeset: d88920c25ca1 Author: zmajo Date: 2016-03-21 11:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d88920c25ca1 Merge ! src/share/vm/code/nmethod.cpp Changeset: 1e385207d9f2 Author: neliasso Date: 2016-03-18 15:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1e385207d9f2 8152169: LockCompilationTest.java fails due method present in the compiler queue Summary: Too many compiles waiting, wait time not enough Reviewed-by: twisti ! test/compiler/whitebox/LockCompilationTest.java Changeset: a765ccf0f8f7 Author: zmajo Date: 2016-03-23 15:01 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a765ccf0f8f7 Merge ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 8e54f1e0fa6c Author: zmajo Date: 2016-03-24 11:44 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8e54f1e0fa6c 8152640: Quarantine compiler/intrinsics/string/TestHasNegatives.java Summary: Quarantine test Reviewed-by: thartmann ! test/compiler/intrinsics/string/TestHasNegatives.java Changeset: 9b03bbd4cc3f Author: amurillo Date: 2016-03-24 15:53 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9b03bbd4cc3f Merge Changeset: 1dac19bbc173 Author: thartmann Date: 2016-03-30 08:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1dac19bbc173 8152947: VM crash with assert(!removed || is_in_use()) failed: unused osr nmethod should be invalidated Summary: Check OSR invalidation after nmethod state transition. Reviewed-by: ddmitriev, vlivanov ! src/share/vm/code/nmethod.cpp Changeset: d7915089dde3 Author: thartmann Date: 2016-03-30 08:04 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d7915089dde3 8152861: VM crash on assert: locked methods shouldn't be flushed Summary: Check if nmethod is locked by JVMTI before flushing. Reviewed-by: kvn ! src/share/vm/runtime/sweeper.cpp Changeset: 4226e949ec95 Author: mdoerr Date: 2016-03-23 15:35 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4226e949ec95 8151818: C1: LIRGenerator::move_to_phi can't deal with illegal phi Reviewed-by: iveresov, kvn ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_ValueStack.hpp Changeset: 1fec7d381d2b Author: thartmann Date: 2016-03-24 09:09 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1fec7d381d2b 8136458: Remove "marked for reclamation" nmethod state Summary: Removed "marked for reclamation" nmethod state because only sweeper sets nmethods to zombie. Reviewed-by: kvn, neliasso ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp ! src/share/vm/trace/trace.xml ! test/compiler/whitebox/ForceNMethodSweepTest.java Changeset: c8c4c889fe4c Author: psandoz Date: 2016-03-24 11:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c8c4c889fe4c 8149644: Integrate VarHandles Reviewed-by: kvn, vlivanov ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp Changeset: d9cf2220c734 Author: thartmann Date: 2016-03-24 12:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d9cf2220c734 8150821: Crash with assert(!((nmethod*)_cb)->is_deopt_pc(_pc)) failed: invariant broken Summary: Use different constructor on SPARC to fully initialize frame. Reviewed-by: kvn ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp Changeset: 25e29e53aa4e Author: thartmann Date: 2016-03-24 11:50 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/25e29e53aa4e Merge Changeset: aa43323e73be Author: zmajo Date: 2016-03-24 16:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aa43323e73be Merge - src/jdk.vm.ci/share/classes/META-INF/services/jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/prims/methodHandles.cpp - test/compiler/jsr292/NonInlinedCall/NonInlinedReinvoker.java - test/compiler/jvmci/common/CompilerToVMHelper.java - test/compiler/jvmci/common/PublicMetaspaceWrapperObject.java - test/compiler/jvmci/events/MetaAccessWrapper.java - test/runtime/BadObjectClass/Object.java - test/testlibrary/jdk/test/lib/PerfCounter.java - test/testlibrary/jdk/test/lib/PerfCounters.java Changeset: c7776c76d752 Author: sgehwolf Date: 2016-03-22 18:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c7776c76d752 8152440: Zero build fails after JDK-8146801 Summary: Define InitArrayShortSize macro for Zero as well. Reviewed-by: aph ! src/cpu/zero/vm/globals_zero.hpp Changeset: 6c2bd5f03f0b Author: zmajo Date: 2016-03-24 17:52 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6c2bd5f03f0b Merge - src/jdk.vm.ci/share/classes/META-INF/services/jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory - test/compiler/jsr292/NonInlinedCall/NonInlinedReinvoker.java - test/compiler/jvmci/common/CompilerToVMHelper.java - test/compiler/jvmci/common/PublicMetaspaceWrapperObject.java - test/compiler/jvmci/events/MetaAccessWrapper.java - test/runtime/BadObjectClass/Object.java - test/testlibrary/jdk/test/lib/PerfCounter.java - test/testlibrary/jdk/test/lib/PerfCounters.java Changeset: 055ca7aac8be Author: vdeshpande Date: 2016-03-24 11:48 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/055ca7aac8be 8152354: Update for x86 AES CBC Decryption Summary: 4 way parallel version for key sizes 192 and 256 for 64 bit and for key sizes 128, 192 and 256 for 32 bit. Reviewed-by: kvn ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp Changeset: cfb6c135aef4 Author: kshefov Date: 2016-03-25 14:46 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cfb6c135aef4 8152344: JVMCI test task: Unit tests for ConstantReflectionProvider Reviewed-by: twisti, dpochepk, tpivovarova ! .mx.jvmci/suite.py + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/AsJavaTypeDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/BoxPrimitiveDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ConstantEqualsDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/DummyClass.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ForObjectDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ForStringDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/HotSpotConstantReflectionProviderTest.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/IsEmbeddableDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ReadArrayElementDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ReadArrayLengthDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ReadConstantArrayElementDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ReadConstantFieldValueDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ReadFieldValueDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ReadStableFieldValueDataProvider.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestHelper.java + test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/UnboxPrimitiveDataProvider.java Changeset: 29c7e2e6df92 Author: shade Date: 2016-03-25 15:34 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/29c7e2e6df92 8152698: Remove obsolete Unsafe.putOrdered{X} methods, usages, runtime and compiler support Reviewed-by: kvn, psandoz ! src/share/vm/c1/c1_Compiler.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/unsafe.cpp ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestBoolean.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestByte.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestChar.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestDouble.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestFloat.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestInt.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestLong.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestObject.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestShort.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestBoolean.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestByte.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestChar.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestDouble.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestFloat.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestInt.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestLong.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestObject.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestShort.java ! test/compiler/unsafe/X-UnsafeAccessTest.java.template Changeset: 693064a31888 Author: shade Date: 2016-03-25 13:15 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/693064a31888 Merge Changeset: c4b4c26535a4 Author: vlivanov Date: 2016-03-28 13:49 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c4b4c26535a4 8151623: Zap freed Metaspace chunks in non-product binaries Reviewed-by: stefank, jmasa ! src/share/vm/memory/metachunk.cpp ! src/share/vm/memory/metachunk.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: b79c4762e270 Author: vlivanov Date: 2016-03-28 13:49 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b79c4762e270 8152773: C2: LoadNode properties aren't preserved when converting between signed/unsigned variants Reviewed-by: jrose, kvn ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/mulnode.cpp Changeset: c36eb416cc8b Author: vlivanov Date: 2016-03-28 13:49 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c36eb416cc8b 8152179: C2: Folding of unsigned loads is broken w/ @Stable Reviewed-by: jrose, kvn ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp + test/compiler/stable/TestStableUByte.java + test/compiler/stable/TestStableUShort.java Changeset: a9334e785873 Author: vlivanov Date: 2016-03-28 13:49 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a9334e785873 8148175: C1: G1 barriers don't preserve FP registers Reviewed-by: kvn ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! test/TEST.groups + test/compiler/gcbarriers/PreserveFPRegistersTest.java Changeset: b3b7924f669f Author: vlivanov Date: 2016-03-28 13:49 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b3b7924f669f 8025962: JSR 292: NoSuchMethodError and NoSuchFieldError in MHN_resolve_Mem Reviewed-by: acorn, kvn ! src/share/vm/prims/methodHandles.cpp Changeset: 12b38ff7ad9b Author: rraghavan Date: 2016-03-28 01:08 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/12b38ff7ad9b 8145348: Make intrinsics flags diagnostic. Summary: Converted product or develop intrinsics flags to diagnostic. Reviewed-by: kvn ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/runtime/globals.hpp ! test/compiler/intrinsics/muladd/TestMulAdd.java ! test/compiler/runtime/6859338/Test6859338.java Changeset: ae6a4f50437b Author: rraghavan Date: 2016-03-28 20:38 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ae6a4f50437b 8152730: File Leak in CompileBroker::init_compiler_thread_log of compileBroker.cpp:1665. Summary: Added missing code to close file pointer. Reviewed-by: kvn ! src/share/vm/compiler/compileBroker.cpp Changeset: bfc8b5a3f2c6 Author: zmajo Date: 2016-03-29 13:43 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bfc8b5a3f2c6 Merge Changeset: 450bb8cbf13e Author: mcberg Date: 2016-03-29 09:53 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/450bb8cbf13e 8152496: Blended code generation Reviewed-by: kvn, shade ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/x86_32.ad Changeset: 9509fc52bba5 Author: vlivanov Date: 2016-03-29 21:33 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9509fc52bba5 8152857: [TESTBUG] UnsafeGetConstantField.testUnsafeGetFieldUnaligned fails w/ -XX:-UseUnalignedAccesses in -Xcomp mode Reviewed-by: kvn, thartmann ! test/compiler/unsafe/UnsafeGetConstantField.java Changeset: fc5e9316b9de Author: vlivanov Date: 2016-03-29 21:33 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fc5e9316b9de 8152945: TestStableU* tests aren't Jigsaw-ready Reviewed-by: kvn, thartmann ! test/compiler/stable/TestStableUByte.java ! test/compiler/stable/TestStableUShort.java Changeset: cfcee2a74225 Author: vlivanov Date: 2016-03-29 21:33 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cfcee2a74225 8152972: C2 crashes with SIGSEGV in LoadNode::make Reviewed-by: kvn ! src/share/vm/opto/memnode.cpp Changeset: c60119cf1cc2 Author: iignatyev Date: 2016-03-30 00:25 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c60119cf1cc2 8152636: TestHasNegatives.java fails after Jigsaw changes were integrated Reviewed-by: kvn ! test/compiler/intrinsics/string/TestHasNegatives.java + test/compiler/patches/java.base/java/lang/Helper.java Changeset: 52f98829e8b7 Author: rschatz Date: 2016-03-25 12:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/52f98829e8b7 8152634: generalize exception throwing routines in JVMCIRuntime Reviewed-by: twisti ! src/cpu/aarch64/vm/jvmciCodeInstaller_aarch64.cpp ! src/cpu/sparc/vm/jvmciCodeInstaller_sparc.cpp ! src/cpu/x86/vm/jvmciCodeInstaller_x86.cpp ! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProvider.java ! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java ! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMetaAccessProvider.java ! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMetaspaceConstant.java ! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMetaspaceConstantImpl.java + src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotSymbol.java ! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java ! src/share/vm/jvmci/jvmciCodeInstaller.cpp ! src/share/vm/jvmci/jvmciCodeInstaller.hpp ! src/share/vm/jvmci/jvmciCompilerToVM.cpp ! src/share/vm/jvmci/jvmciJavaClasses.hpp ! src/share/vm/jvmci/jvmciRuntime.cpp ! src/share/vm/jvmci/jvmciRuntime.hpp ! src/share/vm/jvmci/systemDictionary_jvmci.hpp ! src/share/vm/jvmci/vmStructs_jvmci.cpp ! src/share/vm/jvmci/vmSymbols_jvmci.hpp ! test/compiler/jvmci/code/DataPatchTest.java Changeset: 4bf8a911582b Author: twisti Date: 2016-03-29 22:39 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4bf8a911582b Merge Changeset: a264a8ff29b0 Author: thartmann Date: 2016-03-30 12:34 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a264a8ff29b0 Merge ! src/share/vm/code/nmethod.cpp ! src/share/vm/runtime/sweeper.cpp Changeset: 1b8ecaab2482 Author: zmajo Date: 2016-03-31 16:09 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1b8ecaab2482 8153195: Quarantine compiler/gcbarriers/PreserveFPRegistersTest.java Summary: Quarantine test. Reviewed-by: thartmann ! test/compiler/gcbarriers/PreserveFPRegistersTest.java Changeset: c19f489ebc86 Author: amurillo Date: 2016-03-31 14:25 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c19f489ebc86 Merge Changeset: e8ffad113bbd Author: jwilhelm Date: 2016-04-04 20:39 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e8ffad113bbd 8153410: Disable tests until JDK-8151460 gets to main Reviewed-by: gtriantafill, dcubed ! test/gc/metaspace/TestMetaspacePerfCounters.java ! test/gc/metaspace/TestPerfCountersAndMemoryPools.java Changeset: 47fe834f7e4a Author: amurillo Date: 2016-04-04 13:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/47fe834f7e4a Merge ! src/share/vm/classfile/vmSymbols.hpp Changeset: 804cc8c0b806 Author: lana Date: 2016-04-07 11:04 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/804cc8c0b806 Merge Changeset: 280fdc039980 Author: chegar Date: 2016-04-09 23:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/280fdc039980 8153498: Update the PostVMInitHook mechanism to use an internal package in the base module Reviewed-by: alanb, lfoltan ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/thread.cpp Changeset: b64432bae527 Author: chegar Date: 2016-04-09 23:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b64432bae527 8153737: Unsupported Module Reviewed-by: alanb, mchung, psandoz ! src/jdk.vm.ci/share/classes/module-info.java ! test/compiler/arguments/CheckCICompilerCount.java ! test/compiler/arguments/CheckCompileThresholdScaling.java ! test/compiler/arguments/TestUseBMI1InstructionsOnSupportedCPU.java ! test/compiler/arguments/TestUseBMI1InstructionsOnUnsupportedCPU.java ! test/compiler/arguments/TestUseCountLeadingZerosInstructionOnSupportedCPU.java ! test/compiler/arguments/TestUseCountLeadingZerosInstructionOnUnsupportedCPU.java ! test/compiler/arguments/TestUseCountTrailingZerosInstructionOnSupportedCPU.java ! test/compiler/arguments/TestUseCountTrailingZerosInstructionOnUnsupportedCPU.java ! test/compiler/arraycopy/TestArrayCopyNoInitDeopt.java ! test/compiler/c2/6589834/Test_ia32.java ! test/compiler/c2/6857159/Test6857159.java ! test/compiler/c2/6968348/Test6968348.java ! test/compiler/c2/7068051/Test7068051.java ! test/compiler/c2/7190310/Test7190310_unsafe.java ! test/compiler/c2/8004867/TestIntUnsafeCAS.java ! test/compiler/c2/8004867/TestIntUnsafeOrdered.java ! test/compiler/c2/8004867/TestIntUnsafeVolatile.java ! test/compiler/c2/8005956/PolynomialRoot.java ! test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java ! test/compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java ! test/compiler/codecache/CheckSegmentedCodeCache.java ! test/compiler/codecache/CheckUpperLimit.java ! test/compiler/codecache/cli/TestSegmentedCodeCacheOption.java ! test/compiler/codecache/cli/codeheapsize/TestCodeHeapSizeOptions.java ! test/compiler/codecache/cli/printcodecache/TestPrintCodeCacheOption.java ! test/compiler/codecache/jmx/GetUsageTest.java ! test/compiler/codecache/jmx/InitialAndMaxUsageTest.java ! test/compiler/codecache/jmx/PeakUsageTest.java ! test/compiler/codecache/jmx/ThresholdNotificationsTest.java ! test/compiler/codecache/jmx/UsageThresholdExceededSeveralTimesTest.java ! test/compiler/codecache/jmx/UsageThresholdExceededTest.java ! test/compiler/codecache/jmx/UsageThresholdIncreasedTest.java ! test/compiler/codecache/jmx/UsageThresholdNotExceededTest.java ! test/compiler/codecache/stress/OverloadCompileQueueTest.java ! test/compiler/codecache/stress/RandomAllocationTest.java ! test/compiler/codecache/stress/UnexpectedDeoptimizationTest.java ! test/compiler/codegen/6896617/Test6896617.java ! test/compiler/codegen/7100757/Test7100757.java ! test/compiler/codegen/7184394/TestAESMain.java ! test/compiler/codegen/8011901/Test8011901.java ! test/compiler/compilercontrol/TestCompilerDirectivesCompatibilityBase.java ! test/compiler/compilercontrol/TestCompilerDirectivesCompatibilityCommandOff.java ! test/compiler/compilercontrol/TestCompilerDirectivesCompatibilityCommandOn.java ! test/compiler/compilercontrol/TestCompilerDirectivesCompatibilityFlag.java ! test/compiler/cpuflags/RestoreMXCSR.java ! test/compiler/cpuflags/TestAESIntrinsicsOnSupportedConfig.java ! test/compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java ! test/compiler/debug/VerifyAdapterSharing.java ! test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java ! test/compiler/escapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.java ! test/compiler/intrinsics/bmi/TestAndnI.java ! test/compiler/intrinsics/bmi/TestAndnL.java ! test/compiler/intrinsics/bmi/TestBlsiI.java ! test/compiler/intrinsics/bmi/TestBlsiL.java ! test/compiler/intrinsics/bmi/TestBlsmskI.java ! test/compiler/intrinsics/bmi/TestBlsmskL.java ! test/compiler/intrinsics/bmi/TestBlsrI.java ! test/compiler/intrinsics/bmi/TestBlsrL.java ! test/compiler/intrinsics/bmi/TestLzcntI.java ! test/compiler/intrinsics/bmi/TestLzcntL.java ! test/compiler/intrinsics/bmi/TestTzcntI.java ! test/compiler/intrinsics/bmi/TestTzcntL.java ! test/compiler/intrinsics/bmi/verifycode/AndnTestI.java ! test/compiler/intrinsics/bmi/verifycode/AndnTestL.java ! test/compiler/intrinsics/bmi/verifycode/BlsiTestI.java ! test/compiler/intrinsics/bmi/verifycode/BlsiTestL.java ! test/compiler/intrinsics/bmi/verifycode/BlsmskTestI.java ! test/compiler/intrinsics/bmi/verifycode/BlsmskTestL.java ! test/compiler/intrinsics/bmi/verifycode/BlsrTestI.java ! test/compiler/intrinsics/bmi/verifycode/BlsrTestL.java ! test/compiler/intrinsics/bmi/verifycode/LZcntTestI.java ! test/compiler/intrinsics/bmi/verifycode/LZcntTestL.java ! test/compiler/intrinsics/bmi/verifycode/TZcntTestI.java ! test/compiler/intrinsics/bmi/verifycode/TZcntTestL.java ! test/compiler/intrinsics/classcast/NullCheckDroppingsTest.java ! test/compiler/intrinsics/mathexact/AddExactIConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactILoadTest.java ! test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/AddExactLConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/DecExactITest.java ! test/compiler/intrinsics/mathexact/DecExactLTest.java ! test/compiler/intrinsics/mathexact/IncExactITest.java ! test/compiler/intrinsics/mathexact/IncExactLTest.java ! test/compiler/intrinsics/mathexact/MulExactIConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactILoadTest.java ! test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/MulExactLConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactIConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactILoadTest.java ! test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactICondTest.java ! test/compiler/intrinsics/mathexact/SubExactIConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactILoadTest.java ! test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/SubExactLConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java ! test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java ! test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java ! test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java ! test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java ! test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java ! test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java ! test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java ! test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java ! test/compiler/intrinsics/sha/sanity/TestSHA1Intrinsics.java ! test/compiler/intrinsics/sha/sanity/TestSHA1MultiBlockIntrinsics.java ! test/compiler/intrinsics/sha/sanity/TestSHA256Intrinsics.java ! test/compiler/intrinsics/sha/sanity/TestSHA256MultiBlockIntrinsics.java ! test/compiler/intrinsics/sha/sanity/TestSHA512Intrinsics.java ! test/compiler/intrinsics/sha/sanity/TestSHA512MultiBlockIntrinsics.java ! test/compiler/intrinsics/unsafe/UnsafeGetAddressTest.java ! test/compiler/jsr292/ConcurrentClassLoadingTest.java ! test/compiler/jsr292/VMAnonymousClasses.java ! test/compiler/oracle/CheckCompileCommandOption.java ! test/compiler/oracle/TestCompileCommand.java ! test/compiler/profiling/spectrapredefineclass/Launcher.java ! test/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java ! test/compiler/rangechecks/TestRangeCheckSmearing.java ! test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnUnsupportedConfig.java ! test/compiler/rtm/cli/TestRTMAbortRatioOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestRTMAbortRatioOptionOnUnsupportedConfig.java ! test/compiler/rtm/cli/TestRTMAbortThresholdOption.java ! test/compiler/rtm/cli/TestRTMLockingCalculationDelayOption.java ! test/compiler/rtm/cli/TestRTMLockingThresholdOption.java ! test/compiler/rtm/cli/TestRTMRetryCountOption.java ! test/compiler/rtm/cli/TestRTMSpinLoopCountOption.java ! test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnUnsupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMDeoptOptionOnUnsupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnUnsupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedCPU.java ! test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedVM.java ! test/compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java ! test/compiler/rtm/cli/TestUseRTMXendForLockBusyOption.java ! test/compiler/rtm/locking/TestRTMAbortRatio.java ! test/compiler/rtm/locking/TestRTMAbortThreshold.java ! test/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java ! test/compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java ! test/compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java ! test/compiler/rtm/locking/TestRTMLockingCalculationDelay.java ! test/compiler/rtm/locking/TestRTMLockingThreshold.java ! test/compiler/rtm/locking/TestRTMRetryCount.java ! test/compiler/rtm/locking/TestRTMSpinLoopCount.java ! test/compiler/rtm/locking/TestRTMTotalCountIncrRate.java ! test/compiler/rtm/locking/TestUseRTMAfterLockInflation.java ! test/compiler/rtm/locking/TestUseRTMDeopt.java ! test/compiler/rtm/locking/TestUseRTMForInflatedLocks.java ! test/compiler/rtm/locking/TestUseRTMForStackLocks.java ! test/compiler/rtm/locking/TestUseRTMXendForLockBusy.java ! test/compiler/rtm/method_options/TestNoRTMLockElidingOption.java ! test/compiler/rtm/method_options/TestUseRTMLockElidingOption.java ! test/compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java ! test/compiler/runtime/8010927/Test8010927.java ! test/compiler/startup/NumCompilerThreadsCheck.java ! test/compiler/startup/SmallCodeCacheStartup.java ! test/compiler/startup/StartupOutput.java ! test/compiler/tiered/ConstantGettersTransitionsTest.java ! test/compiler/tiered/LevelTransitionTest.java ! test/compiler/types/TestMeetIncompatibleInterfaceArrays.java ! test/compiler/types/correctness/CorrectnessTest.java ! test/compiler/types/correctness/OffTest.java ! test/compiler/uncommontrap/TestUnstableIfTrap.java ! test/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestBoolean.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestByte.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestChar.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestDouble.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestFloat.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestInt.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestLong.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestObject.java ! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestShort.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestBoolean.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestByte.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestChar.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestDouble.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestFloat.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestInt.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestLong.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestObject.java ! test/compiler/unsafe/SunMiscUnsafeAccessTestShort.java ! test/compiler/unsafe/UnsafeRaw.java ! test/compiler/unsafe/X-UnsafeAccessTest.java.template ! test/compiler/unsafe/generate-unsafe-access-tests.sh ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/gc/TestCardTablePageCommits.java ! test/gc/TestObjectAlignment.java ! test/gc/TestSoftReferencesBehaviorOnOOME.java ! test/gc/TestVerifyDuringStartup.java ! test/gc/TestVerifySilently.java ! test/gc/TestVerifySubSet.java ! test/gc/arguments/TestArrayAllocatorMallocLimit.java ! test/gc/arguments/TestCMSHeapSizeFlags.java ! test/gc/arguments/TestCompressedClassFlags.java ! test/gc/arguments/TestG1ConcMarkStepDurationMillis.java ! test/gc/arguments/TestG1ConcRefinementThreads.java ! test/gc/arguments/TestG1HeapSizeFlags.java ! test/gc/arguments/TestG1PercentageOptions.java ! test/gc/arguments/TestHeapFreeRatio.java ! test/gc/arguments/TestInitialTenuringThreshold.java ! test/gc/arguments/TestMaxMinHeapFreeRatioFlags.java ! test/gc/arguments/TestMaxNewSize.java ! test/gc/arguments/TestMinAndInitialSurvivorRatioFlags.java ! test/gc/arguments/TestMinInitialErgonomics.java ! test/gc/arguments/TestNewRatioFlag.java ! test/gc/arguments/TestNewSizeFlags.java ! test/gc/arguments/TestNewSizeThreadIncrease.java ! test/gc/arguments/TestObjectTenuringFlags.java ! test/gc/arguments/TestParallelGCThreads.java ! test/gc/arguments/TestParallelHeapSizeFlags.java ! test/gc/arguments/TestSelectDefaultGC.java ! test/gc/arguments/TestSerialHeapSizeFlags.java ! test/gc/arguments/TestSurvivorAlignmentInBytesOption.java ! test/gc/arguments/TestSurvivorRatioFlag.java ! test/gc/arguments/TestTargetSurvivorRatioFlag.java ! test/gc/arguments/TestUnrecognizedVMOptionsHandling.java ! test/gc/arguments/TestUseCompressedOopsErgo.java ! test/gc/arguments/TestUseNUMAInterleaving.java ! test/gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java ! test/gc/class_unloading/TestG1ClassUnloadingHWM.java ! test/gc/cms/GuardShrinkWarning.java ! test/gc/g1/Test2GbHeap.java ! test/gc/g1/TestEagerReclaimHumongousRegions.java ! test/gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java ! test/gc/g1/TestEagerReclaimHumongousRegionsWithRefs.java ! test/gc/g1/TestG1TraceEagerReclaimHumongousObjects.java ! test/gc/g1/TestGCLogMessages.java ! test/gc/g1/TestHumongousAllocInitialMark.java ! test/gc/g1/TestHumongousCodeCacheRoots.java ! test/gc/g1/TestNoEagerReclaimOfHumongousRegions.java ! test/gc/g1/TestPLABSizeBounds.java ! test/gc/g1/TestPrintRegionRememberedSetInfo.java ! test/gc/g1/TestRemsetLogging.java ! test/gc/g1/TestRemsetLoggingPerRegion.java ! test/gc/g1/TestRemsetLoggingThreads.java ! test/gc/g1/TestShrinkAuxiliaryData00.java ! test/gc/g1/TestShrinkAuxiliaryData05.java ! test/gc/g1/TestShrinkAuxiliaryData10.java ! test/gc/g1/TestShrinkAuxiliaryData15.java ! test/gc/g1/TestShrinkAuxiliaryData20.java ! test/gc/g1/TestShrinkAuxiliaryData25.java ! test/gc/g1/TestShrinkAuxiliaryData30.java ! test/gc/g1/TestShrinkDefragmentedHeap.java ! test/gc/g1/TestStringDeduplicationAgeThreshold.java ! test/gc/g1/TestStringDeduplicationFullGC.java ! test/gc/g1/TestStringDeduplicationInterned.java ! test/gc/g1/TestStringDeduplicationPrintOptions.java ! test/gc/g1/TestStringDeduplicationTableRehash.java ! test/gc/g1/TestStringDeduplicationTableResize.java ! test/gc/g1/TestStringDeduplicationYoungGC.java ! test/gc/g1/TestStringSymbolTableStats.java ! test/gc/logging/TestDeprecatedPrintFlags.java ! test/gc/logging/TestGCId.java ! test/gc/logging/TestPrintReferences.java ! test/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/gc/metaspace/TestCapacityUntilGCWrapAround.java ! test/gc/metaspace/TestMetaspaceMemoryPool.java ! test/gc/metaspace/TestMetaspacePerfCounters.java ! test/gc/metaspace/TestMetaspaceSizeFlags.java ! test/gc/metaspace/TestPerfCountersAndMemoryPools.java ! test/gc/parallel/AdaptiveGCBoundary.java ! test/gc/serial/HeapChangeLogging.java ! test/gc/startup_warnings/TestCMS.java ! test/gc/startup_warnings/TestDefNewCMS.java ! test/gc/startup_warnings/TestG1.java ! test/gc/startup_warnings/TestParNewCMS.java ! test/gc/startup_warnings/TestParNewSerialOld.java ! test/gc/startup_warnings/TestParallelGC.java ! test/gc/startup_warnings/TestParallelScavengeSerialOld.java ! test/gc/startup_warnings/TestSerialGC.java ! test/gc/survivorAlignment/TestAllocationInEden.java ! test/gc/survivorAlignment/TestPromotionFromEdenToTenured.java ! test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java ! test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java ! test/gc/survivorAlignment/TestPromotionToSurvivor.java ! test/gc/whitebox/TestConcMarkCycleWB.java ! test/gc/whitebox/TestWBGC.java ! test/runtime/8003720/Test8003720.java ! test/runtime/8026365/InvokeSpecialAnonTest.java ! test/runtime/BadObjectClass/BootstrapRedefine.java ! test/runtime/BootClassAppendProp/BootClassPathAppend.java ! test/runtime/CDSCompressedKPtrs/CDSCompressedKPtrs.java ! test/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java ! test/runtime/CDSCompressedKPtrs/XShareAuto.java ! test/runtime/ClassFile/JsrRewriting.java ! test/runtime/ClassFile/OomWhileParsingRepeatedJsr.java ! test/runtime/ClassFile/UnsupportedClassFileVersion.java ! test/runtime/CommandLine/BooleanFlagWithInvalidValue.java ! test/runtime/CommandLine/CompilerConfigFileWarning.java ! test/runtime/CommandLine/ConfigFileParsing.java ! test/runtime/CommandLine/ConfigFileWarning.java ! test/runtime/CommandLine/FlagWithInvalidValue.java ! test/runtime/CommandLine/IgnoreUnrecognizedVMOptions.java ! test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java ! test/runtime/CommandLine/OptionsValidation/TestJcmdOutput.java ! test/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/runtime/CommandLine/OptionsValidation/TestOptionsWithRangesDynamic.java ! test/runtime/CommandLine/PrintTouchedMethods.java ! test/runtime/CommandLine/TestHexArguments.java ! test/runtime/CommandLine/TestNullTerminatedFlags.java ! test/runtime/CommandLine/TestVMOptions.java ! test/runtime/CommandLine/TraceExceptionsTest.java ! test/runtime/CommandLine/UnrecognizedVMOption.java ! test/runtime/CommandLine/VMOptionWarning.java ! test/runtime/CompressedOops/CompressedClassPointers.java ! test/runtime/CompressedOops/CompressedClassSpaceSize.java ! test/runtime/CompressedOops/CompressedKlassPointerAndOops.java ! test/runtime/CompressedOops/ObjectAlignment.java ! test/runtime/CompressedOops/UseCompressedOops.java ! test/runtime/EnclosingMethodAttr/EnclMethodAttr.java ! test/runtime/ErrorHandling/CreateCoredumpOnCrash.java ! test/runtime/ErrorHandling/ProblematicFrameTest.java ! test/runtime/ErrorHandling/SecondaryErrorTest.java ! test/runtime/LoadClass/LoadClassNegative.java ! test/runtime/LocalVariableTable/TestLVT.java ! test/runtime/NMT/AutoshutdownNMT.java ! test/runtime/NMT/BaselineWithParameter.java ! test/runtime/NMT/CommandLineDetail.java ! test/runtime/NMT/CommandLineEmptyArgument.java ! test/runtime/NMT/CommandLineInvalidArgument.java ! test/runtime/NMT/CommandLineSummary.java ! test/runtime/NMT/CommandLineTurnOffNMT.java ! test/runtime/NMT/JcmdBaselineDetail.java ! test/runtime/NMT/JcmdDetailDiff.java ! test/runtime/NMT/JcmdScale.java ! test/runtime/NMT/JcmdScaleDetail.java ! test/runtime/NMT/JcmdSummaryDiff.java ! test/runtime/NMT/JcmdWithNMTDisabled.java ! test/runtime/NMT/MallocRoundingReportTest.java ! test/runtime/NMT/MallocStressTest.java ! test/runtime/NMT/MallocTestType.java ! test/runtime/NMT/MallocTrackingVerify.java ! test/runtime/NMT/NMTWithCDS.java ! test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java ! test/runtime/NMT/ReleaseNoCommit.java ! test/runtime/NMT/ShutdownTwice.java ! test/runtime/NMT/SummaryAfterShutdown.java ! test/runtime/NMT/SummarySanityCheck.java ! test/runtime/NMT/ThreadedMallocTestType.java ! test/runtime/NMT/ThreadedVirtualAllocTestType.java ! test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java ! test/runtime/NMT/VirtualAllocTestType.java ! test/runtime/PerfMemDestroy/PerfMemDestroy.java ! test/runtime/RedefineObject/TestRedefineObject.java ! test/runtime/Safepoint/AssertSafepointCheckConsistency1.java ! test/runtime/Safepoint/AssertSafepointCheckConsistency2.java ! test/runtime/Safepoint/AssertSafepointCheckConsistency3.java ! test/runtime/Safepoint/AssertSafepointCheckConsistency4.java ! test/runtime/SharedArchiveFile/ArchiveDoesNotExist.java ! test/runtime/SharedArchiveFile/CdsDifferentCompactStrings.java ! test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java ! test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java ! test/runtime/SharedArchiveFile/DefaultUseWithClient.java ! test/runtime/SharedArchiveFile/DumpSymbolAndStringTable.java ! test/runtime/SharedArchiveFile/LimitSharedSizes.java ! test/runtime/SharedArchiveFile/MaxMetaspaceSize.java ! test/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java ! test/runtime/SharedArchiveFile/SharedArchiveFile.java ! test/runtime/SharedArchiveFile/SharedBaseAddress.java ! test/runtime/SharedArchiveFile/SharedStrings.java ! test/runtime/SharedArchiveFile/SharedStringsRunAuto.java ! test/runtime/SharedArchiveFile/SharedSymbolTableBucketSize.java ! test/runtime/SharedArchiveFile/SpaceUtilizationCheck.java ! test/runtime/Thread/TestThreadDumpMonitorContention.java ! test/runtime/Thread/ThreadPriorities.java ! test/runtime/Unsafe/AllocateInstance.java ! test/runtime/Unsafe/AllocateMemory.java ! test/runtime/Unsafe/CopyMemory.java ! test/runtime/Unsafe/DefineClass.java ! test/runtime/Unsafe/FieldOffset.java ! test/runtime/Unsafe/GetField.java ! test/runtime/Unsafe/GetKlassPointerGetJavaMirror.java ! test/runtime/Unsafe/GetPutAddress.java ! test/runtime/Unsafe/GetPutBoolean.java ! test/runtime/Unsafe/GetPutByte.java ! test/runtime/Unsafe/GetPutChar.java ! test/runtime/Unsafe/GetPutDouble.java ! test/runtime/Unsafe/GetPutFloat.java ! test/runtime/Unsafe/GetPutInt.java ! test/runtime/Unsafe/GetPutLong.java ! test/runtime/Unsafe/GetPutObject.java ! test/runtime/Unsafe/GetPutShort.java ! test/runtime/Unsafe/GetUncompressedObject.java ! test/runtime/Unsafe/GetUnsafe.java ! test/runtime/Unsafe/PageSize.java ! test/runtime/Unsafe/RangeCheck.java ! test/runtime/Unsafe/Reallocate.java ! test/runtime/Unsafe/SetMemory.java ! test/runtime/Unsafe/ThrowException.java ! test/runtime/XCheckJniJsig/XCheckJSig.java ! test/runtime/classFileParserBug/ClassFileParserBug.java ! test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java ! test/runtime/contended/Options.java ! test/runtime/duplAttributes/DuplAttributesTest.java ! test/runtime/logging/BiasedLockingTest.java ! test/runtime/logging/DefaultMethodsTest.java ! test/runtime/logging/ExceptionsTest.java ! test/runtime/logging/ItablesTest.java ! test/runtime/logging/ModulesTest.java ! test/runtime/logging/MonitorInflationTest.java ! test/runtime/logging/SafepointTest.java ! test/runtime/logging/StartupTimeTest.java ! test/runtime/logging/ThreadLoggingTest.java ! test/runtime/logging/VMOperationTest.java ! test/runtime/logging/VtablesTest.java ! test/runtime/memory/LargePages/TestLargePageSizeInBytes.java ! test/runtime/memory/LargePages/TestLargePagesFlags.java ! test/runtime/memory/ReadFromNoaccessArea.java ! test/runtime/memory/ReserveMemory.java ! test/runtime/memory/RunUnitTestsConcurrently.java ! test/runtime/modules/AccModuleTest.java ! test/runtime/modules/Visibility/XbootcpNoVisibility.java ! test/runtime/modules/Visibility/XbootcpVisibility.java ! test/runtime/modules/Visibility/XpatchVisibility.java ! test/runtime/modules/XpatchCDS.java ! test/runtime/verifier/OverriderMsg.java ! test/runtime/verifier/TestANewArray.java ! test/runtime/verifier/TestMultiANewArray.java ! test/serviceability/attach/AttachSetGetFlag.java ! test/serviceability/dcmd/compiler/CodeCacheTest.java ! test/serviceability/dcmd/compiler/CodelistTest.java ! test/serviceability/dcmd/compiler/CompilerDirectivesDCMDTest.java ! test/serviceability/dcmd/compiler/CompilerQueueTest.java ! test/serviceability/dcmd/framework/HelpTest.java ! test/serviceability/dcmd/framework/InvalidCommandTest.java ! test/serviceability/dcmd/framework/VMVersionTest.java ! test/serviceability/dcmd/gc/ClassHistogramAllTest.java ! test/serviceability/dcmd/gc/ClassHistogramTest.java ! test/serviceability/dcmd/gc/HeapDumpAllTest.java ! test/serviceability/dcmd/gc/HeapDumpTest.java ! test/serviceability/dcmd/gc/RunFinalizationTest.java ! test/serviceability/dcmd/gc/RunGCTest.java ! test/serviceability/dcmd/jvmti/LoadAgentDcmdTest.java ! test/serviceability/dcmd/thread/PrintConcurrentLocksTest.java ! test/serviceability/dcmd/thread/PrintTest.java ! test/serviceability/dcmd/vm/ClassHierarchyTest.java ! test/serviceability/dcmd/vm/ClassLoaderStatsTest.java ! test/serviceability/dcmd/vm/CommandLineTest.java ! test/serviceability/dcmd/vm/DynLibsTest.java ! test/serviceability/dcmd/vm/FlagsTest.java ! test/serviceability/dcmd/vm/SystemPropertiesTest.java ! test/serviceability/dcmd/vm/UptimeTest.java ! test/serviceability/jvmti/GetObjectSizeOverflow.java ! test/serviceability/jvmti/TestLambdaFormRetransformation.java ! test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java ! test/serviceability/logging/TestLogRotation.java ! test/serviceability/sa/jmap-hashcode/Test8028623.java ! test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/stress/gc/TestStressRSetCoarsening.java ! test/testlibrary_tests/OutputAnalyzerReportingTest.java ! test/testlibrary_tests/OutputAnalyzerTest.java ! test/testlibrary_tests/RandomGeneratorTest.java ! test/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/testlibrary_tests/TestPlatformIsTieredSupported.java ! test/testlibrary_tests/whitebox/vm_flags/BooleanTest.java ! test/testlibrary_tests/whitebox/vm_flags/SizeTTest.java ! test/testlibrary_tests/whitebox/vm_flags/UintxTest.java Changeset: 481c1998b2ef Author: lana Date: 2016-04-14 09:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/481c1998b2ef Added tag jdk-9+114 for changeset b64432bae527 ! .hgtags Changeset: d5765b68febb Author: alanb Date: 2016-04-15 20:30 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d5765b68febb Merge ! .hgtags ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java ! src/jdk.vm.ci/share/classes/module-info.java ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! test/compiler/c2/6968348/Test6968348.java ! test/compiler/c2/7190310/Test7190310_unsafe.java ! test/compiler/c2/8004867/TestIntUnsafeCAS.java ! test/compiler/c2/8004867/TestIntUnsafeOrdered.java ! test/compiler/c2/8004867/TestIntUnsafeVolatile.java ! test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java ! test/compiler/codegen/6896617/Test6896617.java ! test/compiler/codegen/8011901/Test8011901.java ! test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java ! test/compiler/escapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.java ! test/compiler/intrinsics/classcast/NullCheckDroppingsTest.java ! test/compiler/intrinsics/unsafe/UnsafeGetAddressTest.java ! test/compiler/jsr292/VMAnonymousClasses.java ! test/compiler/jvmci/code/DataPatchTest.java ! test/compiler/runtime/8010927/Test8010927.java ! test/compiler/uncommontrap/TestUnstableIfTrap.java ! test/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java ! test/compiler/unsafe/UnsafeGetConstantField.java ! test/compiler/unsafe/UnsafeRaw.java ! test/gc/arguments/TestUseCompressedOopsErgo.java ! test/gc/g1/TestRemsetLogging.java ! test/gc/g1/TestRemsetLoggingPerRegion.java ! test/gc/g1/TestRemsetLoggingThreads.java ! test/gc/g1/TestShrinkAuxiliaryData00.java ! test/gc/g1/TestShrinkAuxiliaryData05.java ! test/gc/g1/TestShrinkAuxiliaryData10.java ! test/gc/g1/TestShrinkAuxiliaryData15.java ! test/gc/g1/TestShrinkAuxiliaryData20.java ! test/gc/g1/TestShrinkAuxiliaryData25.java ! test/gc/g1/TestShrinkAuxiliaryData30.java ! test/gc/g1/TestShrinkDefragmentedHeap.java ! test/gc/g1/TestStringDeduplicationAgeThreshold.java ! test/gc/g1/TestStringDeduplicationFullGC.java ! test/gc/g1/TestStringDeduplicationInterned.java ! test/gc/g1/TestStringDeduplicationPrintOptions.java ! test/gc/g1/TestStringDeduplicationTableRehash.java ! test/gc/g1/TestStringDeduplicationTableResize.java ! test/gc/g1/TestStringDeduplicationYoungGC.java ! test/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/gc/metaspace/TestMetaspacePerfCounters.java ! test/gc/metaspace/TestPerfCountersAndMemoryPools.java ! test/gc/survivorAlignment/TestAllocationInEden.java ! test/gc/survivorAlignment/TestPromotionFromEdenToTenured.java ! test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java ! test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java ! test/gc/survivorAlignment/TestPromotionToSurvivor.java ! test/runtime/8003720/Test8003720.java ! test/runtime/8026365/InvokeSpecialAnonTest.java ! test/runtime/BadObjectClass/BootstrapRedefine.java ! test/runtime/ClassFile/UnsupportedClassFileVersion.java ! test/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/runtime/ErrorHandling/CreateCoredumpOnCrash.java ! test/runtime/NMT/BaselineWithParameter.java ! test/runtime/NMT/JcmdBaselineDetail.java ! test/runtime/NMT/JcmdScale.java ! test/runtime/NMT/JcmdScaleDetail.java ! test/runtime/NMT/JcmdSummaryDiff.java ! test/runtime/NMT/JcmdWithNMTDisabled.java ! test/runtime/NMT/MallocRoundingReportTest.java ! test/runtime/NMT/MallocTestType.java ! test/runtime/NMT/MallocTrackingVerify.java ! test/runtime/NMT/ReleaseNoCommit.java ! test/runtime/NMT/ShutdownTwice.java ! test/runtime/NMT/SummaryAfterShutdown.java ! test/runtime/NMT/SummarySanityCheck.java ! test/runtime/NMT/ThreadedMallocTestType.java ! test/runtime/NMT/ThreadedVirtualAllocTestType.java ! test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java ! test/runtime/NMT/VirtualAllocTestType.java ! test/runtime/SharedArchiveFile/DumpSymbolAndStringTable.java ! test/runtime/SharedArchiveFile/LimitSharedSizes.java ! test/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java ! test/runtime/SharedArchiveFile/SharedArchiveFile.java ! test/runtime/SharedArchiveFile/SharedStrings.java ! test/runtime/Thread/ThreadPriorities.java ! test/runtime/Unsafe/AllocateInstance.java ! test/runtime/Unsafe/AllocateMemory.java ! test/runtime/Unsafe/CopyMemory.java ! test/runtime/Unsafe/DefineClass.java ! test/runtime/Unsafe/FieldOffset.java ! test/runtime/Unsafe/GetField.java ! test/runtime/Unsafe/GetKlassPointerGetJavaMirror.java ! test/runtime/Unsafe/GetPutAddress.java ! test/runtime/Unsafe/GetPutBoolean.java ! test/runtime/Unsafe/GetPutByte.java ! test/runtime/Unsafe/GetPutChar.java ! test/runtime/Unsafe/GetPutDouble.java ! test/runtime/Unsafe/GetPutFloat.java ! test/runtime/Unsafe/GetPutInt.java ! test/runtime/Unsafe/GetPutLong.java ! test/runtime/Unsafe/GetPutObject.java ! test/runtime/Unsafe/GetPutShort.java ! test/runtime/Unsafe/GetUncompressedObject.java ! test/runtime/Unsafe/GetUnsafe.java ! test/runtime/Unsafe/PageSize.java ! test/runtime/Unsafe/RangeCheck.java ! test/runtime/Unsafe/Reallocate.java ! test/runtime/Unsafe/SetMemory.java ! test/runtime/Unsafe/ThrowException.java ! test/runtime/logging/ModulesTest.java ! test/runtime/modules/AccModuleTest.java ! test/runtime/modules/Visibility/XbootcpNoVisibility.java ! test/runtime/modules/Visibility/XbootcpVisibility.java ! test/runtime/modules/Visibility/XpatchVisibility.java ! test/runtime/modules/XpatchCDS.java ! test/runtime/verifier/OverriderMsg.java ! test/runtime/verifier/TestANewArray.java ! test/runtime/verifier/TestMultiANewArray.java ! test/serviceability/attach/AttachSetGetFlag.java ! test/serviceability/dcmd/compiler/CodeCacheTest.java ! test/serviceability/dcmd/compiler/CodelistTest.java ! test/serviceability/dcmd/compiler/CompilerQueueTest.java ! test/serviceability/dcmd/gc/HeapDumpAllTest.java ! test/serviceability/dcmd/gc/HeapDumpTest.java ! test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java ! test/serviceability/sa/jmap-hashcode/Test8028623.java ! test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/testlibrary_tests/whitebox/vm_flags/BooleanTest.java ! test/testlibrary_tests/whitebox/vm_flags/SizeTTest.java ! test/testlibrary_tests/whitebox/vm_flags/UintxTest.java From alan.bateman at oracle.com Fri Apr 15 21:38:53 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 15 Apr 2016 21:38:53 +0000 Subject: hg: jigsaw/jake/jdk: 123 new changesets Message-ID: <201604152138.u3FLcvb1021358@aojmv0008.oracle.com> Changeset: 027be703141c Author: chegar Date: 2016-04-03 16:28 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/027be703141c 8153181: Move sun.misc.VMSupport to an internal package Reviewed-by: alanb, mchung ! make/mapfiles/libjava/mapfile-vers + src/java.base/share/classes/jdk/internal/vm/VMSupport.java ! src/java.base/share/classes/module-info.java - src/java.base/share/classes/sun/misc/VMSupport.java ! src/java.base/share/native/libjava/VMSupport.c ! src/java.management/share/classes/sun/management/Agent.java ! src/jdk.jdwp.agent/share/native/libjdwp/util.c ! src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/PerfDataFile.java Changeset: 0007e5d265a8 Author: jlaskey Date: 2016-04-04 09:34 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0007e5d265a8 8151806: JImage decompress code needs to be revised to be more effective Reviewed-by: redestad ! src/java.base/share/classes/jdk/internal/jimage/decompressor/CompressIndexes.java Changeset: 9ba10f300c38 Author: chegar Date: 2016-04-04 17:51 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9ba10f300c38 8153286: Move sun.misc.GC to java.rmi ( sun.rmi.transport ) Reviewed-by: alanb, erikj + make/lib/Lib-java.rmi.gmk ! make/mapfiles/libjava/mapfile-vers + make/mapfiles/librmi/mapfile-vers - src/java.base/share/classes/sun/misc/GC.java - src/java.base/share/native/libjava/GC.c ! src/java.rmi/share/classes/sun/rmi/transport/DGCClient.java + src/java.rmi/share/classes/sun/rmi/transport/GC.java ! src/java.rmi/share/classes/sun/rmi/transport/ObjectTable.java + src/java.rmi/share/native/librmi/GC.c Changeset: 11e09486cfa8 Author: naoto Date: 2016-04-04 10:45 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/11e09486cfa8 8153041: Remove unused redundant parameter in CLDRConverter Reviewed-by: okutsu ! make/src/classes/build/tools/cldrconverter/LDMLParseHandler.java Changeset: 8f5f8f0f265e Author: vtewari Date: 2016-04-05 17:07 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8f5f8f0f265e 7167293: FtpURLConnection connection leak on FileNotFoundException Reviewed-by: chegar, rriggs ! src/java.base/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java + test/sun/net/ftp/FtpURLConnectionLeak.java Changeset: eded1d1733de Author: rgoel Date: 2016-04-05 12:02 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/eded1d1733de 8149735: PropertiesTest.sh fails Summary: Updated permissions of "writablejdk". Reviewed-by: naoto, peytoia ! test/java/util/Currency/PropertiesTest.sh Changeset: 1b7b805c6c15 Author: naoto Date: 2016-04-05 09:13 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1b7b805c6c15 8152742: jlink --include-locales th fails with ArrayIndexOutOfBoundsException Reviewed-by: mchung, okutsu ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java Changeset: a2c688f39ffc Author: psadhukhan Date: 2016-03-09 11:26 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a2c688f39ffc 8034239: PrintServiceLookup.lookupPrintServices() returns different amount of services in comparison with lpstat -v Reviewed-by: prr, jgodinez ! src/java.desktop/unix/classes/sun/print/IPPPrintService.java Changeset: 91ef08b978dd Author: avstepan Date: 2016-03-09 12:38 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/91ef08b978dd 8142406: [TEST] MultiResolution image: need test to cover the case when @2x image is corrupted Reviewed-by: serb, ssadetsky + test/java/awt/image/multiresolution/Corrupted2XImageTest.java Changeset: 7eef3f0c6089 Author: serb Date: 2016-03-09 14:23 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7eef3f0c6089 8144164: [macosx] Test java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest failed Reviewed-by: avstepan, yan - test/java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest.html ! test/java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest.java Changeset: d1c481a18d0c Author: jdv Date: 2016-03-10 14:14 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d1c481a18d0c 8139183: drawImage misses background's alpha channel Reviewed-by: flar, psadhukhan ! src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java + test/java/awt/image/DrawImage/ScaledImageAlphaTest.java Changeset: be6ad656d582 Author: avstepan Date: 2016-03-10 13:07 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/be6ad656d582 8151269: [TEST] add test covering getSource() method for multiresolution image Reviewed-by: alexsch, serb + test/java/awt/image/multiresolution/MultiresolutionSourceTest.java Changeset: 259604a9b3c0 Author: serb Date: 2016-03-04 20:10 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/259604a9b3c0 8151288: Generation of property files for gtk l&f can be skipped on win/osx Reviewed-by: erikj ! make/gensrc/Gensrc-java.desktop.gmk Changeset: 90f70a67250f Author: avstepan Date: 2016-03-10 17:19 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/90f70a67250f 8151627: [TEST_BUG] fix test/java/awt/image/multiresolution/MultiResolutionRenderingHintsTest.java to run with Jake Reviewed-by: serb, yan ! test/java/awt/image/multiresolution/MultiResolutionRenderingHintsTest.java Changeset: ef8fd276efe1 Author: rchamyal Date: 2016-03-11 10:57 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ef8fd276efe1 8145896: JInternalFrame setMaximum before adding to desktop throws null pointer exception Reviewed-by: serb, alexsch ! src/java.desktop/share/classes/javax/swing/DefaultDesktopManager.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java + test/javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java Changeset: e3fd20ff65cd Author: rchamyal Date: 2016-03-11 11:00 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e3fd20ff65cd 8145174: HiDPI splash screen support on Linux Reviewed-by: serb, alexsch ! make/lib/Awt2dLibraries.gmk ! make/mapfiles/libsplashscreen/mapfile-vers ! src/java.desktop/share/classes/java/awt/SplashScreen.java + src/java.desktop/unix/native/common/awt/systemscale/systemScale.c + src/java.desktop/unix/native/common/awt/systemscale/systemScale.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c ! src/java.desktop/unix/native/libsplashscreen/splashscreen_config.h ! src/java.desktop/unix/native/libsplashscreen/splashscreen_sys.c + test/java/awt/SplashScreen/MultiResolutionSplash/unix/UnixMultiResolutionSplashTest.java Changeset: 3bcdbb2ccb29 Author: pkbalakr Date: 2016-03-11 11:02 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3bcdbb2ccb29 7012008: JDesktopPane - Wrong background color with Win7+WindowsLnf Reviewed-by: ssadetsky, aivanov ! src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java + test/javax/swing/JDesktopPane/DesktopPaneBackgroundTest.java Changeset: 86410b3b6b02 Author: kshefov Date: 2016-03-11 11:17 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/86410b3b6b02 6734341: REGTEST fails: SelectionAutoscrollTest.html Reviewed-by: serb, ssadetsky Contributed-by: Vikrant Agarwal - test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html ! test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java Changeset: 141488128d50 Author: avstepan Date: 2016-03-11 14:06 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/141488128d50 8151699: [TEST_BUG] fix awt/image/multiresolution/MultiResolutionTrayIconTest Reviewed-by: serb ! test/java/awt/image/multiresolution/MultiResolutionTrayIconTest/MultiResolutionTrayIconTest.java Changeset: efd717b776ba Author: avstepan Date: 2016-03-11 19:45 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/efd717b776ba 8151697: [TEST] minor update of test/java/awt/image/multiresolution/BaseMultiResolutionImageTest.java Reviewed-by: alexsch ! test/java/awt/image/multiresolution/BaseMultiResolutionImageTest.java Changeset: 1c17ecf713d3 Author: alexsch Date: 2016-03-11 21:57 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1c17ecf713d3 8069348: SunGraphics2D.copyArea() does not properly work for scaled graphics in D3D Reviewed-by: flar, serb ! src/java.desktop/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java ! src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java ! src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java ! src/java.desktop/share/classes/sun/java2d/SurfaceData.java ! src/java.desktop/share/classes/sun/java2d/opengl/OGLSurfaceData.java ! src/java.desktop/unix/classes/sun/java2d/x11/X11SurfaceData.java ! src/java.desktop/unix/classes/sun/java2d/xr/XRSurfaceData.java ! src/java.desktop/windows/classes/sun/java2d/d3d/D3DSurfaceData.java ! src/java.desktop/windows/classes/sun/java2d/windows/GDIWindowSurfaceData.java + test/java/awt/Graphics/CopyScaledArea/CopyScaledAreaTest.java + test/javax/swing/JInternalFrame/8069348/bug8069348.java Changeset: 86d89bad4a4b Author: psadhukhan Date: 2016-03-14 13:04 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/86d89bad4a4b 8151621: [TEST_BUG] java/awt/print/PrinterJob/MultiMonPrintDlgTest.java doesn't work with jtreg Reviewed-by: yan, jdv ! test/java/awt/print/PrinterJob/MultiMonPrintDlgTest.java Changeset: 38e583748916 Author: avstepan Date: 2016-03-14 12:20 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/38e583748916 8150724: [TEST] HiDPI: create a test for multiresolution icons Reviewed-by: alexsch, yan + test/java/awt/image/multiresolution/MultiresolutionIconTest.java Changeset: 719cfab5f252 Author: mhalder Date: 2016-03-14 16:46 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/719cfab5f252 8149456: [macosx] robot.keyPress do not generate key events (keyPressed and keyReleased) for function keys F13 to F19 Reviewed-by: ssadetsky, aniyogi ! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m + src/java.desktop/macosx/native/libawt_lwawt/awt/CRobotKeyCode.h + src/java.desktop/macosx/native/libawt_lwawt/awt/CRobotKeyCode.m + test/java/awt/keyboard/AllKeyCode/AllKeyCode.java Changeset: 743002deeea8 Author: ddehaven Date: 2016-03-11 11:42 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/743002deeea8 Merge - make/lib/Lib-jdk.deploy.osx.gmk - make/mapfiles/libjfr/mapfile-vers - src/java.base/share/classes/sun/misc/ASCIICaseInsensitiveComparator.java - src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/Dispatch.java - src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/LibDispatchConcurrentQueue.java - src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/LibDispatchMainQueue.java - src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/LibDispatchNative.java - src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/LibDispatchQueue.java - src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/LibDispatchRetainedResource.java - src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/LibDispatchSerialQueue.java - src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/package.html - src/jdk.deploy.osx/macosx/native/libosx/CFileManager.m - src/jdk.deploy.osx/macosx/native/libosx/Dispatch.m Changeset: 29ee631effcc Author: ddehaven Date: 2016-03-14 07:28 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/29ee631effcc Merge Changeset: f685d342544e Author: erikj Date: 2016-03-14 13:10 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f685d342544e 8151770: 9-client windows builds fail on windows since make file change for 8145174 Reviewed-by: prr ! make/lib/Awt2dLibraries.gmk Changeset: f46f04bde3d8 Author: ssadetsky Date: 2016-03-15 09:11 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f46f04bde3d8 8143295: Validating issue in AWT Reviewed-by: serb, alexsch ! src/java.desktop/unix/classes/sun/awt/X11/XWindow.java ! src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java Changeset: 17b0a13291e9 Author: ssadetsky Date: 2016-03-15 09:18 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/17b0a13291e9 8021961: setAlwaysOnTop doesn't behave correctly in Linux/Solaris under certain scenarios Reviewed-by: serb, azvegint ! src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java + test/java/awt/Window/MultiWindowApp/ChildAlwaysOnTopTest.java Changeset: 6cb04a5e3a85 Author: ssadetsky Date: 2016-03-15 09:22 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/6cb04a5e3a85 8139227: Text fields in JPopupMenu structure do not receive focus in hosted Applets Reviewed-by: serb, alexsch ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp + test/java/awt/Window/FindOwner/FindOwnerTest.html + test/java/awt/Window/FindOwner/FindOwnerTest.java Changeset: 4c4c633ca2c1 Author: alexsch Date: 2016-03-15 09:16 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4c4c633ca2c1 8076545: Text size is twice bigger under Windows L&F on Win 8.1 with HiDPI display 8149453: [hidpi] JFileChooser does not scale properly on Windows with HiDPI display and Windows L&F 8149368: [hidpi] JLabel font is twice bigger than JTextArea font on Windows 7,HiDPI, Windows L&F Reviewed-by: flar, serb ! src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp ! src/java.desktop/windows/native/libawt/windows/awt_DesktopProperties.cpp ! src/java.desktop/windows/native/libawt/windows/awt_DesktopProperties.h + test/java/awt/font/FontScaling/FontScalingTest.java Changeset: 29f8bd062f2e Author: alexsch Date: 2016-03-15 22:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/29f8bd062f2e 8149849: [hidpi] DnD issues (cannot DnD from JFileChooser to JEditorPane or other text component) when scale > 1 Reviewed-by: prr, serb ! src/java.desktop/windows/native/libawt/windows/awt_DnDDT.cpp + test/javax/swing/JTextArea/8149849/DNDTextToScaledArea.java Changeset: 0336f5aeaa40 Author: psadhukhan Date: 2016-03-16 15:00 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0336f5aeaa40 8066139: Null return from PrintJob.getGraphics() running closed/java/awt/PrintJob/HighResTest/HighResTest.java Reviewed-by: prr, jdv Contributed-by: philip.race at oracle.com, prasanta.sadhukhan at oracle.com ! src/java.desktop/share/classes/sun/print/PrintJob2D.java ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java + test/java/awt/PrintJob/HighResTest.java Changeset: e51c68afc075 Author: serb Date: 2016-03-16 15:36 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e51c68afc075 8151857: [TEST_BUG] bug6544309.java fails intermittently Reviewed-by: yan, avstepan ! test/javax/swing/JPopupMenu/6544309/bug6544309.java Changeset: e7d112770102 Author: serb Date: 2016-03-16 15:55 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e7d112770102 8146239: Support of PCM_FLOAT for the AU file format Reviewed-by: amenkov ! src/java.desktop/share/classes/com/sun/media/sound/AuFileFormat.java ! src/java.desktop/share/classes/com/sun/media/sound/AuFileReader.java ! src/java.desktop/share/classes/com/sun/media/sound/AuFileWriter.java Changeset: 2a619b8d7752 Author: psadhukhan Date: 2016-03-17 11:23 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/2a619b8d7752 6379088: Suboptimal expression in javax.imageio.ImageTypeSpecifier.getBitsPerBand(int) Reviewed-by: prr, serb, jdv ! src/java.desktop/share/classes/javax/imageio/ImageTypeSpecifier.java Changeset: 5c9fd890f278 Author: psadhukhan Date: 2016-03-17 12:48 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5c9fd890f278 8151110: libfontmanager should free memory with delete[] if it was allocated with new[] Reviewed-by: prr, serb ! src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc Changeset: d40b4a2a6f5d Author: avstepan Date: 2016-03-17 13:17 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d40b4a2a6f5d 8151714: [TEST] add a test for JOptionPane dialog multiresolution icons Reviewed-by: alexsch + test/java/awt/image/multiresolution/MultiResolutionJOptionPaneIconTest.java Changeset: 296dc933c637 Author: ptbrunet Date: 2016-03-17 21:58 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/296dc933c637 8145228: Java Access Bridge, getAccessibleStatesStringFromContext doesn't wrap the call to getAccessibleRole Summary: use invokeAndWait in two places that were missing that Reviewed-by: alexsch, prr Contributed-by: peter.brunet at oracle.com ! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java Changeset: 4a1e160a12c3 Author: arapte Date: 2016-03-18 17:00 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4a1e160a12c3 8149636: TextField flicker & over scroll when selection scrolls beyond the bounds of TextField Reviewed-by: ssadetsky, psadhukhan ! src/java.desktop/windows/native/libawt/windows/awt_TextArea.cpp ! src/java.desktop/windows/native/libawt/windows/awt_TextField.cpp + test/java/awt/TextArea/OverScrollTest/OverScrollTest.java + test/java/awt/TextField/OverScrollTest/OverScrollTest.java - test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html ! test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.java Changeset: 62595f5bc270 Author: prr Date: 2016-03-18 11:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/62595f5bc270 Merge Changeset: 1442a9c0a7f4 Author: prr Date: 2016-03-21 09:36 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1442a9c0a7f4 Merge Changeset: f21dea1ddcdc Author: ssadetsky Date: 2016-03-22 13:07 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f21dea1ddcdc 8152201: [TEST_BUG] test/java/awt/Window/FindOwner/FindOwnerTest.java has @test tag Reviewed-by: prr, serb, alexsch ! test/java/awt/Window/FindOwner/FindOwnerTest.java Changeset: bef17930c9ae Author: aniyogi Date: 2016-03-22 16:07 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/bef17930c9ae 8148555: [macosx] An uncaught exception was raised entering Emoji into JTextArea Reviewed-by: serb, alexsch, rchamyal ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m + test/javax/swing/JTextArea/8148555/JTextAreaEmojiTest.java Changeset: 8b4ca0ad69a4 Author: prr Date: 2016-03-22 13:10 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8b4ca0ad69a4 Merge - make/gendata/Gendata-jdk.jdeps.gmk - make/gensrc/Gensrc-jdk.dev.gmk - make/gensrc/Gensrc-jdk.jvmstat.gmk - make/launcher/Launcher-jdk.dev.gmk - make/scripts/localelist.sh - make/src/classes/build/tools/module/GenJdepsModulesXml.java - make/src/classes/build/tools/module/GenModulesList.java - make/src/classes/build/tools/module/ImageBuilder.java - make/src/classes/build/tools/module/ModuleArchive.java - make/src/classes/build/tools/module/boot.modules - make/src/classes/build/tools/module/ext.modules - src/java.base/share/classes/jdk/internal/jimage/Archive.java - src/java.base/share/classes/jdk/internal/jimage/BasicImageWriter.java - src/java.base/share/classes/jdk/internal/jimage/ExternalFilesWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageFileCreator.java - src/java.base/share/classes/jdk/internal/jimage/ImageJavaSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleData.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleDataWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/ImageResourcesTree.java - src/java.base/share/classes/jdk/internal/jimage/ImageStringsWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/PerfectHashBuilder.java - src/java.base/share/classes/jdk/internal/jimage/ResourcePool.java - src/java.base/share/classes/jdk/internal/jimage/ResourcePoolImpl.java - src/java.base/share/classes/jdk/internal/jimage/StringTable.java - src/java.base/share/classes/jdk/internal/jimage/UTF8String.java - src/java.base/share/classes/sun/misc/Launcher.java - src/java.base/share/classes/sun/util/CoreResourceBundleControl-XLocales.java.template - src/java.base/share/native/libjava/Package.c - src/java.base/share/native/libjava/Proxy.c - src/java.base/share/native/libjimage/ImageNativeSubstrate.cpp - src/java.desktop/share/classes/META-INF/services/java.net.ContentHandlerFactory - src/java.desktop/share/classes/META-INF/services/javax.print.PrintServiceLookup - src/java.desktop/share/classes/META-INF/services/javax.print.StreamPrintServiceFactory - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiFileReader - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiFileWriter - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.SoundbankReader - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.AudioFileReader - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.AudioFileWriter - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.FormatConversionProvider - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider - src/java.desktop/share/classes/META-INF/services/sun.datatransfer.DesktopDatatransferService - src/java.logging/share/classes/META-INF/services/jdk.internal.logger.DefaultLoggerFinder - src/java.security.jgss/share/classes/META-INF/services/sun.security.ssl.ClientKeyExchangeService - src/jdk.accessibility/windows/classes/META-INF/services/javax.accessibility.AccessibilityProvider - src/jdk.attach/share/classes/META-INF/services/com.sun.tools.attach.spi.AttachProvider - src/jdk.charsets/share/classes/META-INF/services/java.nio.charset.spi.CharsetProvider - src/jdk.dev/share/classes/jdk/tools/jimage/ExtractedImage.java - src/jdk.dev/share/classes/jdk/tools/jimage/JImageTask.java - src/jdk.dev/share/classes/jdk/tools/jimage/Main.java - src/jdk.dev/share/classes/jdk/tools/jimage/TaskHelper.java - src/jdk.dev/share/classes/jdk/tools/jimage/resources/jimage.properties - src/jdk.jdi/share/classes/META-INF/services/com.sun.jdi.connect.Connector - src/jdk.jdi/share/classes/META-INF/services/com.sun.jdi.connect.spi.TransportService - src/jdk.jvmstat.rmi/share/classes/META-INF/services/sun.jvmstat.monitor.MonitoredHostService - src/jdk.jvmstat/share/classes/META-INF/services/sun.jvmstat.monitor.MonitoredHostService - src/jdk.localedata/share/classes/META-INF/services/sun.util.locale.provider.LocaleDataMetaInfo - src/jdk.management/share/classes/META-INF/services/sun.management.spi.PlatformMBeanProvider - src/jdk.naming.dns/share/classes/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - src/jdk.zipfs/share/classes/META-INF/services/java.nio.file.spi.FileSystemProvider - test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh - test/java/net/DatagramSocket/SetDatagramSocketImplFactory/java/net/MyDatagramSocketImplFactory.java - test/java/net/httpclient/whitebox/TEST.properties - test/java/net/httpclient/whitebox/java/net/http/SelectorTest.java - test/java/util/stream/bootlib/TEST.properties - test/jdk/internal/jimage/ExecutableTest.java - test/jdk/internal/jimage/JImageTest.java - test/jdk/internal/jimage/VerifyJimage.java - test/sun/security/krb5/config/NamingManager.java - test/sun/security/krb5/config/dns.sh - test/sun/security/mscapi/IsSunMSCAPIAvailable.sh - test/sun/security/ssl/StatusStapling/BogusStatusRequest.java - test/sun/security/ssl/StatusStapling/CertStatusReqExtensionTests.java - test/sun/security/ssl/StatusStapling/CertStatusReqItemV2Tests.java - test/sun/security/ssl/StatusStapling/CertStatusReqListV2ExtensionTests.java - test/sun/security/ssl/StatusStapling/OCSPStatusRequestTests.java - test/sun/security/ssl/StatusStapling/StatusResponseManagerTests.java - test/sun/security/ssl/StatusStapling/TestCase.java - test/sun/security/ssl/StatusStapling/TestUtils.java Changeset: 5ddf42bdf7ca Author: prr Date: 2016-03-22 14:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5ddf42bdf7ca 8055463: Need public API allowing full access to font collections in Font.createFont() Reviewed-by: serb, vadim ! src/java.desktop/macosx/classes/sun/font/CFontManager.java ! src/java.desktop/share/classes/java/awt/Font.java ! src/java.desktop/share/classes/sun/font/FileFont.java ! src/java.desktop/share/classes/sun/font/FontManager.java ! src/java.desktop/share/classes/sun/font/SunFontManager.java ! test/java/awt/FontClass/CreateFont/BigFont.java + test/java/awt/FontClass/CreateFont/CreateFontArrayTest.java ! test/java/awt/font/FontNames/GetLCIDFromLocale.java Changeset: 818f74ccccf9 Author: alexsch Date: 2016-03-23 14:25 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/818f74ccccf9 8150844: [hidpi] [macosx] -Dsun.java2d.uiScale should be taken into account for OS X Reviewed-by: serb, avstepan ! src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java - test/java/awt/hidpi/properties/HiDPIPropertiesLinuxTest.java + test/java/awt/hidpi/properties/HiDPIPropertiesUnixTest.java ! test/java/awt/image/multiresolution/Corrupted2XImageTest.java ! test/java/awt/image/multiresolution/MenuMultiresolutionIconTest.java ! test/java/awt/image/multiresolution/MultiresolutionIconTest.java Changeset: f633780cf089 Author: aniyogi Date: 2016-03-23 17:25 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f633780cf089 8151282: [TEST_BUG] javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java fails with GTK LnF Reviewed-by: serb, alexsch ! test/javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java Changeset: 5f53e3dabdc5 Author: lbourges Date: 2016-03-23 21:20 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5f53e3dabdc5 8144938: Handle properly coordinate overflow in Marlin Renderer Summary: skip point coordinates with NaN/Infinity values Reviewed-by: flar, prr ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/Stroker.java ! src/java.desktop/share/classes/sun/java2d/marlin/TransformingPathConsumer2D.java ! src/java.desktop/share/classes/sun/java2d/marlin/Version.java ! src/java.desktop/share/classes/sun/java2d/pipe/AAShapePipe.java ! test/sun/java2d/marlin/CrashNaNTest.java Changeset: 7d9ef221ddc7 Author: azvegint Date: 2016-03-24 02:22 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7d9ef221ddc7 8143227: Platform-Specific Desktop Features Reviewed-by: prr, serb ! make/mapfiles/libawt_xawt/mapfile-vers - src/java.desktop/macosx/classes/com/apple/eawt/AboutHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/AppEvent.java - src/java.desktop/macosx/classes/com/apple/eawt/AppEventListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppForegroundListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppHiddenListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppReOpenedListener.java ! 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/FullScreenHandler.java ! src/java.desktop/macosx/classes/com/apple/eawt/FullScreenListener.java + src/java.desktop/macosx/classes/com/apple/eawt/MacQuitResponse.java - src/java.desktop/macosx/classes/com/apple/eawt/OpenFilesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/OpenURIHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/PreferencesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/PrintFilesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitResponse.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitStrategy.java - src/java.desktop/macosx/classes/com/apple/eawt/ScreenSleepListener.java - src/java.desktop/macosx/classes/com/apple/eawt/SystemSleepListener.java - src/java.desktop/macosx/classes/com/apple/eawt/UserSessionListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/_AppDockIconHandler.java ! src/java.desktop/macosx/classes/com/apple/eawt/_AppEventHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/_AppEventLegacyHandler.java ! src/java.desktop/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java + src/java.desktop/macosx/classes/com/apple/eawt/event/FullScreenEvent.java ! src/java.desktop/macosx/classes/sun/lwawt/LWToolkit.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CDesktopPeer.java + src/java.desktop/macosx/classes/sun/lwawt/macosx/CTaskbarPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m ! src/java.desktop/share/classes/java/awt/Desktop.java ! src/java.desktop/share/classes/java/awt/Frame.java + src/java.desktop/share/classes/java/awt/Taskbar.java + src/java.desktop/share/classes/java/awt/desktop/AboutEvent.java + src/java.desktop/share/classes/java/awt/desktop/AboutHandler.java + src/java.desktop/share/classes/java/awt/desktop/AppEvent.java + src/java.desktop/share/classes/java/awt/desktop/AppForegroundEvent.java + src/java.desktop/share/classes/java/awt/desktop/AppForegroundListener.java + src/java.desktop/share/classes/java/awt/desktop/AppHiddenEvent.java + src/java.desktop/share/classes/java/awt/desktop/AppHiddenListener.java + src/java.desktop/share/classes/java/awt/desktop/AppReopenedEvent.java + src/java.desktop/share/classes/java/awt/desktop/AppReopenedListener.java + src/java.desktop/share/classes/java/awt/desktop/FilesEvent.java + src/java.desktop/share/classes/java/awt/desktop/OpenFilesEvent.java + src/java.desktop/share/classes/java/awt/desktop/OpenFilesHandler.java + src/java.desktop/share/classes/java/awt/desktop/OpenURIEvent.java + src/java.desktop/share/classes/java/awt/desktop/OpenURIHandler.java + src/java.desktop/share/classes/java/awt/desktop/PreferencesEvent.java + src/java.desktop/share/classes/java/awt/desktop/PreferencesHandler.java + src/java.desktop/share/classes/java/awt/desktop/PrintFilesEvent.java + src/java.desktop/share/classes/java/awt/desktop/PrintFilesHandler.java + src/java.desktop/share/classes/java/awt/desktop/QuitEvent.java + src/java.desktop/share/classes/java/awt/desktop/QuitHandler.java + src/java.desktop/share/classes/java/awt/desktop/QuitResponse.java + src/java.desktop/share/classes/java/awt/desktop/QuitStrategy.java + src/java.desktop/share/classes/java/awt/desktop/ScreenSleepEvent.java + src/java.desktop/share/classes/java/awt/desktop/ScreenSleepListener.java + src/java.desktop/share/classes/java/awt/desktop/SystemEventListener.java + src/java.desktop/share/classes/java/awt/desktop/SystemSleepEvent.java + src/java.desktop/share/classes/java/awt/desktop/SystemSleepListener.java + src/java.desktop/share/classes/java/awt/desktop/UserSessionEvent.java + src/java.desktop/share/classes/java/awt/desktop/UserSessionListener.java + src/java.desktop/share/classes/java/awt/desktop/package.html ! src/java.desktop/share/classes/java/awt/peer/DesktopPeer.java + src/java.desktop/share/classes/java/awt/peer/TaskbarPeer.java ! src/java.desktop/share/classes/module-info.java ! src/java.desktop/share/classes/sun/awt/ComponentFactory.java ! src/java.desktop/share/classes/sun/awt/HToolkit.java ! src/java.desktop/share/classes/sun/awt/SunToolkit.java + src/java.desktop/unix/classes/sun/awt/X11/XTaskbarPeer.java ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java ! src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.h + src/java.desktop/unix/native/libawt_xawt/xawt/awt_Taskbar.c + src/java.desktop/unix/native/libawt_xawt/xawt/awt_Taskbar.h ! src/java.desktop/windows/classes/sun/awt/windows/WDesktopPeer.java + src/java.desktop/windows/classes/sun/awt/windows/WTaskbarPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java ! src/java.desktop/windows/native/libawt/windows/awt_Desktop.cpp + src/java.desktop/windows/native/libawt/windows/awt_Taskbar.cpp + src/java.desktop/windows/native/libawt/windows/awt_Taskbar.h ! src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Toolkit.h ! src/java.desktop/windows/native/libawt/windows/awt_Window.h Changeset: a3a683851089 Author: psadhukhan Date: 2016-03-24 12:02 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a3a683851089 7107620: Need to round in test java/awt/print/PageFormat/PageFormatFromAttributes.java Reviewed-by: prr ! test/java/awt/print/PageFormat/PageFormatFromAttributes.java Changeset: 64c50dfeeada Author: aghaisas Date: 2016-03-24 12:27 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/64c50dfeeada 6185114: Undefined Exception in SampleModel, method createCompatibleSampleModel Reviewed-by: prr, psadhukhan ! src/java.desktop/share/classes/java/awt/image/SampleModel.java + test/java/awt/image/SampleModelConstructorTest.java Changeset: 5b5dd020fd6c Author: psadhukhan Date: 2016-03-24 14:00 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5b5dd020fd6c 8151590: "ALL" radio button is not selected in printDialog when we call DefaultSelectionType.ALL in windows Reviewed-by: prr, jdv ! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp + test/java/awt/print/PrinterJob/PrintTest.java Changeset: 068139a6ad24 Author: rchamyal Date: 2016-03-24 14:06 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/068139a6ad24 8145173: HiDPI splash screen support on Windows Reviewed-by: serb, alexsch, erikj ! make/lib/Awt2dLibraries.gmk ! src/java.base/share/native/libjli/java.c ! src/java.base/share/native/libjli/splashscreen.h ! src/java.base/share/native/libjli/splashscreen_stubs.c ! src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m ! src/java.desktop/share/native/libsplashscreen/splashscreen_impl.c ! src/java.desktop/share/native/libsplashscreen/splashscreen_impl.h ! src/java.desktop/unix/native/libsplashscreen/splashscreen_sys.c + src/java.desktop/windows/native/common/awt/systemscale/systemScale.cpp + src/java.desktop/windows/native/common/awt/systemscale/systemScale.h ! src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp ! src/java.desktop/windows/native/libsplashscreen/splashscreen_config.h ! src/java.desktop/windows/native/libsplashscreen/splashscreen_sys.c ! test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java Changeset: 87893d4b2bc2 Author: pkbalakr Date: 2016-03-24 16:56 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/87893d4b2bc2 6439354: Win L&F: TitledBorder colors are not from desktop Reviewed-by: ssadetsky, rchamyal, serb ! src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java + test/javax/swing/LookAndFeel/6439354/TitledBorderTest.java Changeset: b0857e1b3b9c Author: ssadetsky Date: 2016-03-24 20:03 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b0857e1b3b9c 8133864: Wrong display, when the document I18n properties is true. Reviewed-by: alexsch ! src/java.desktop/share/classes/javax/swing/text/CompositeView.java + test/javax/swing/text/TableView/I18nLayoutTest.java Changeset: 0f33319601c5 Author: ssadetsky Date: 2016-03-24 20:10 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0f33319601c5 8075907: The regression-swing case failed as the rollover icons is not correctly shown with the special options"-client -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel" Reviewed-by: alexsch ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthButtonUI.java Changeset: 4ac42135594d Author: ssadetsky Date: 2016-03-24 20:19 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4ac42135594d 8139215: RTFEditorKit does not save alignment Reviewed-by: alexsch ! src/java.desktop/share/classes/javax/swing/text/rtf/RTFGenerator.java + test/javax/swing/text/rtf/RTFWriteParagraphAlignTest.java Changeset: f9abfe7b70d9 Author: ssadetsky Date: 2016-03-24 20:28 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f9abfe7b70d9 8134669: Empty screen insets in Gnome 3, OEL 7 in multiscreen mode Reviewed-by: alexsch ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Changeset: a5d50dc3e9e0 Author: alexsch Date: 2016-03-24 13:27 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a5d50dc3e9e0 8151998: VS2010 ThemeReader.cpp(758) : error C3861: 'round': identifier not found Reviewed-by: serb, ssadetsky ! src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp ! src/java.desktop/windows/native/libawt/windows/awt_DesktopProperties.cpp Changeset: 96582115ded2 Author: ssadetsky Date: 2016-03-25 11:29 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/96582115ded2 8078514: Nightly: api/javax_swing/DefaultRowSorter/index_ModelStructChanged failure Reviewed-by: alexsch ! src/java.desktop/share/classes/javax/swing/DefaultRowSorter.java ! src/java.desktop/share/classes/javax/swing/JTable.java ! src/java.desktop/share/classes/sun/swing/FilePane.java Changeset: 40a1e2dad3a6 Author: yan Date: 2016-03-25 12:31 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/40a1e2dad3a6 8150535: [TEST_BUG] fix @library for test/java/awt/TrayIcon/MouseMovedTest/MouseMovedTest.java 8151033: [TEST_BUG] typo in java/awt/MouseInfo/PointerInfoCrashTest.java: no sun.awt.peer 8151037: [TEST_BUG] javax/swing/Action/8133039/bug8133039.java requires @modules 8152301: [TESTBUG] Compilation errors in client lib test files Reviewed-by: serb, alexsch ! test/java/awt/Mixing/AWT_Mixing/ViewportOverlapping.java ! test/java/awt/MouseInfo/PointerInfoCrashTest.java ! test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh ! test/java/awt/TrayIcon/MouseMovedTest/MouseMovedTest.java ! test/java/awt/xembed/server/RunTestXEmbed.java ! test/java/awt/xembed/server/TestXEmbedServerJava.java ! test/java/awt/xembed/server/TesterClient.java ! test/javax/swing/Action/8133039/bug8133039.java Changeset: 82e237ee6cd5 Author: avstepan Date: 2016-03-25 15:49 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/82e237ee6cd5 8149558: [TEST] add regression test for JDK-8150154 Reviewed-by: serb, yan + test/javax/imageio/plugins/shared/RepeatingWriteTest.java ! test/javax/imageio/plugins/tiff/MultiPageTest/MultiPageTest.java Changeset: 87cccbd30faf Author: prr Date: 2016-03-25 13:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/87cccbd30faf 8051519: Deprecate sun.java2d.SunGraphicsEnvironment.useAlternateFontforJALocales Reviewed-by: mchung ! src/java.desktop/share/classes/sun/java2d/SunGraphicsEnvironment.java Changeset: 5ef5a53e79b8 Author: serb Date: 2016-03-28 17:59 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5ef5a53e79b8 8132782: RIFFReader does not support WAVE-Files greater than 2 GiB Reviewed-by: amenkov ! src/java.desktop/share/classes/com/sun/media/sound/RIFFReader.java ! src/java.desktop/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java ! src/java.desktop/share/classes/com/sun/media/sound/WaveFloatFileReader.java + test/javax/sound/sampled/spi/AudioFileReader/RecognizeHugeWaveExtFiles.java + test/javax/sound/sampled/spi/AudioFileReader/RecognizeHugeWaveFloatFiles.java Changeset: 311a666caa2e Author: serb Date: 2016-03-28 18:02 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/311a666caa2e 8149958: Implementation/documantation of AudioInputStream.read()/skip() should be updated Reviewed-by: amenkov, prr ! src/java.desktop/share/classes/javax/sound/sampled/AudioInputStream.java Changeset: 266db7445241 Author: prr Date: 2016-03-28 08:38 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/266db7445241 Merge - make/src/native/genconstants/ch/genSocketOptionRegistry.c - make/src/native/genconstants/fs/genSolarisConstants.c - make/src/native/genconstants/fs/genUnixConstants.c - src/java.base/share/classes/sun/misc/Resource.java - src/java.base/share/classes/sun/misc/URLClassPath.java - src/java.base/unix/classes/sun/misc/FileURLMapper.java - src/java.base/windows/classes/sun/misc/FileURLMapper.java - src/jdk.deploy.osx/macosx/classes/module-info.java Changeset: 41e5cfe957cb Author: prr Date: 2016-03-28 08:56 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/41e5cfe957cb Merge Changeset: d9410697226b Author: rchamyal Date: 2016-03-29 14:43 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d9410697226b 8150225: api/javax_swing/text/AbstractWriter/index_indent failed Reviewed-by: serb, aniyogi ! src/java.desktop/share/classes/javax/swing/text/AbstractWriter.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLWriter.java ! test/javax/swing/text/html/HTMLEditorKit/7104635/HTMLEditorKitWriterBug.java Changeset: 94c6e3804642 Author: alexsch Date: 2016-03-29 09:38 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/94c6e3804642 8152159: LabelUI is not updated for TitledBorder Reviewed-by: ssadetsky ! src/java.desktop/share/classes/javax/swing/border/TitledBorder.java + test/javax/swing/border/8152159/TitledBorderLabelUITest.java Changeset: 36bc09d7112a Author: serb Date: 2016-03-29 17:35 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/36bc09d7112a 7179078: Remove @beaninfo processing from the makefiles Reviewed-by: erikj, alexsch - make/data/swingbeaninfo/SwingBeanInfo.template - make/data/swingbeaninfo/images/AbstractButtonColor16.gif - make/data/swingbeaninfo/images/BorderColor16.gif - make/data/swingbeaninfo/images/BoxColor16.gif - make/data/swingbeaninfo/images/BoxColor32.gif - make/data/swingbeaninfo/images/BoxMono16.gif - make/data/swingbeaninfo/images/BoxMono32.gif - make/data/swingbeaninfo/images/JAppletColor16.gif - make/data/swingbeaninfo/images/JAppletColor32.gif - make/data/swingbeaninfo/images/JAppletMono16.gif - make/data/swingbeaninfo/images/JAppletMono32.gif - make/data/swingbeaninfo/images/JButtonColor16.gif - make/data/swingbeaninfo/images/JButtonColor32.gif - make/data/swingbeaninfo/images/JButtonMono16.gif - make/data/swingbeaninfo/images/JButtonMono32.gif - make/data/swingbeaninfo/images/JCheckBoxColor16.gif - make/data/swingbeaninfo/images/JCheckBoxColor32.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemColor16.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemColor32.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemMono16.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemMono32.gif - make/data/swingbeaninfo/images/JCheckBoxMono16.gif - make/data/swingbeaninfo/images/JCheckBoxMono32.gif - make/data/swingbeaninfo/images/JColorChooserColor16.gif - make/data/swingbeaninfo/images/JColorChooserColor32.gif - make/data/swingbeaninfo/images/JColorChooserMono16.gif - make/data/swingbeaninfo/images/JColorChooserMono32.gif - make/data/swingbeaninfo/images/JComboBoxColor16.gif - make/data/swingbeaninfo/images/JComboBoxColor32.gif - make/data/swingbeaninfo/images/JComboBoxMono16.gif - make/data/swingbeaninfo/images/JComboBoxMono32.gif - make/data/swingbeaninfo/images/JComponentColor16.gif - make/data/swingbeaninfo/images/JDesktopPaneColor16.gif - make/data/swingbeaninfo/images/JDesktopPaneColor32.gif - make/data/swingbeaninfo/images/JDesktopPaneMono16.gif - make/data/swingbeaninfo/images/JDesktopPaneMono32.gif - make/data/swingbeaninfo/images/JDialogColor16.gif - make/data/swingbeaninfo/images/JDialogColor32.gif - make/data/swingbeaninfo/images/JDialogMono16.gif - make/data/swingbeaninfo/images/JDialogMono32.gif - make/data/swingbeaninfo/images/JEditorPaneColor16.gif - make/data/swingbeaninfo/images/JEditorPaneColor32.gif - make/data/swingbeaninfo/images/JEditorPaneMono16.gif - make/data/swingbeaninfo/images/JEditorPaneMono32.gif - make/data/swingbeaninfo/images/JFileChooserColor16.gif - make/data/swingbeaninfo/images/JFileChooserColor32.gif - make/data/swingbeaninfo/images/JFileChooserMono16.gif - make/data/swingbeaninfo/images/JFileChooserMono32.gif - make/data/swingbeaninfo/images/JFormattedTextFieldColor16.gif - make/data/swingbeaninfo/images/JFormattedTextFieldColor32.gif - make/data/swingbeaninfo/images/JFormattedTextFieldMono16.gif - make/data/swingbeaninfo/images/JFormattedTextFieldMono32.gif - make/data/swingbeaninfo/images/JFrameColor16.gif - make/data/swingbeaninfo/images/JFrameColor32.gif - make/data/swingbeaninfo/images/JFrameMono16.gif - make/data/swingbeaninfo/images/JFrameMono32.gif - make/data/swingbeaninfo/images/JInternalFrameColor16.gif - make/data/swingbeaninfo/images/JInternalFrameColor32.gif - make/data/swingbeaninfo/images/JInternalFrameMono16.gif - make/data/swingbeaninfo/images/JInternalFrameMono32.gif - make/data/swingbeaninfo/images/JLabelColor16.gif - make/data/swingbeaninfo/images/JLabelColor32.gif - make/data/swingbeaninfo/images/JLabelMono16.gif - make/data/swingbeaninfo/images/JLabelMono32.gif - make/data/swingbeaninfo/images/JLayeredPaneColor16.gif - make/data/swingbeaninfo/images/JLayeredPaneColor32.gif - make/data/swingbeaninfo/images/JLayeredPaneMono16.gif - make/data/swingbeaninfo/images/JLayeredPaneMono32.gif - make/data/swingbeaninfo/images/JListColor16.gif - make/data/swingbeaninfo/images/JListColor32.gif - make/data/swingbeaninfo/images/JListMono16.gif - make/data/swingbeaninfo/images/JListMono32.gif - make/data/swingbeaninfo/images/JMenuBarColor16.gif - make/data/swingbeaninfo/images/JMenuBarColor32.gif - make/data/swingbeaninfo/images/JMenuBarMono16.gif - make/data/swingbeaninfo/images/JMenuBarMono32.gif - make/data/swingbeaninfo/images/JMenuColor16.gif - make/data/swingbeaninfo/images/JMenuColor32.gif - make/data/swingbeaninfo/images/JMenuItemColor16.gif - make/data/swingbeaninfo/images/JMenuItemColor32.gif - make/data/swingbeaninfo/images/JMenuItemMono16.gif - make/data/swingbeaninfo/images/JMenuItemMono32.gif - make/data/swingbeaninfo/images/JMenuMono16.gif - make/data/swingbeaninfo/images/JMenuMono32.gif - make/data/swingbeaninfo/images/JOptionPaneColor16.gif - make/data/swingbeaninfo/images/JOptionPaneColor32.gif - make/data/swingbeaninfo/images/JOptionPaneMono16.gif - make/data/swingbeaninfo/images/JOptionPaneMono32.gif - make/data/swingbeaninfo/images/JPanelColor16.gif - make/data/swingbeaninfo/images/JPanelColor32.gif - make/data/swingbeaninfo/images/JPanelMono16.gif - make/data/swingbeaninfo/images/JPanelMono32.gif - make/data/swingbeaninfo/images/JPasswordFieldColor16.gif - make/data/swingbeaninfo/images/JPasswordFieldColor32.gif - make/data/swingbeaninfo/images/JPasswordFieldMono16.gif - make/data/swingbeaninfo/images/JPasswordFieldMono32.gif - make/data/swingbeaninfo/images/JPopupMenuColor16.gif - make/data/swingbeaninfo/images/JPopupMenuColor32.gif - make/data/swingbeaninfo/images/JPopupMenuMono16.gif - make/data/swingbeaninfo/images/JPopupMenuMono32.gif - make/data/swingbeaninfo/images/JProgressBarColor16.gif - make/data/swingbeaninfo/images/JProgressBarColor32.gif - make/data/swingbeaninfo/images/JProgressBarMono16.gif - make/data/swingbeaninfo/images/JProgressBarMono32.gif - make/data/swingbeaninfo/images/JRadioButtonColor16.gif - make/data/swingbeaninfo/images/JRadioButtonColor32.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemColor16.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemColor32.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemMono16.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemMono32.gif - make/data/swingbeaninfo/images/JRadioButtonMono16.gif - make/data/swingbeaninfo/images/JRadioButtonMono32.gif - make/data/swingbeaninfo/images/JRootPaneColor16.gif - make/data/swingbeaninfo/images/JRootPaneColor32.gif - make/data/swingbeaninfo/images/JRootPaneMono16.gif - make/data/swingbeaninfo/images/JRootPaneMono32.gif - make/data/swingbeaninfo/images/JScrollBarColor16.gif - make/data/swingbeaninfo/images/JScrollBarColor32.gif - make/data/swingbeaninfo/images/JScrollBarMono16.gif - make/data/swingbeaninfo/images/JScrollBarMono32.gif - make/data/swingbeaninfo/images/JScrollPaneColor16.gif - make/data/swingbeaninfo/images/JScrollPaneColor32.gif - make/data/swingbeaninfo/images/JScrollPaneMono16.gif - make/data/swingbeaninfo/images/JScrollPaneMono32.gif - make/data/swingbeaninfo/images/JSeparatorColor16.gif - make/data/swingbeaninfo/images/JSeparatorColor32.gif - make/data/swingbeaninfo/images/JSeparatorMono16.gif - make/data/swingbeaninfo/images/JSeparatorMono32.gif - make/data/swingbeaninfo/images/JSliderColor16.gif - make/data/swingbeaninfo/images/JSliderColor32.gif - make/data/swingbeaninfo/images/JSliderMono16.gif - make/data/swingbeaninfo/images/JSliderMono32.gif - make/data/swingbeaninfo/images/JSpinnerColor16.gif - make/data/swingbeaninfo/images/JSpinnerColor32.gif - make/data/swingbeaninfo/images/JSpinnerMono16.gif - make/data/swingbeaninfo/images/JSpinnerMono32.gif - make/data/swingbeaninfo/images/JSplitPaneColor16.gif - make/data/swingbeaninfo/images/JSplitPaneColor32.gif - make/data/swingbeaninfo/images/JSplitPaneMono16.gif - make/data/swingbeaninfo/images/JSplitPaneMono32.gif - make/data/swingbeaninfo/images/JTabbedPaneColor16.gif - make/data/swingbeaninfo/images/JTabbedPaneColor32.gif - make/data/swingbeaninfo/images/JTabbedPaneMono16.gif - make/data/swingbeaninfo/images/JTabbedPaneMono32.gif - make/data/swingbeaninfo/images/JTableColor16.gif - make/data/swingbeaninfo/images/JTableColor32.gif - make/data/swingbeaninfo/images/JTableMono16.gif - make/data/swingbeaninfo/images/JTableMono32.gif - make/data/swingbeaninfo/images/JTextAreaColor16.gif - make/data/swingbeaninfo/images/JTextAreaColor32.gif - make/data/swingbeaninfo/images/JTextAreaMono16.gif - make/data/swingbeaninfo/images/JTextAreaMono32.gif - make/data/swingbeaninfo/images/JTextFieldColor16.gif - make/data/swingbeaninfo/images/JTextFieldColor32.gif - make/data/swingbeaninfo/images/JTextFieldMono16.gif - make/data/swingbeaninfo/images/JTextFieldMono32.gif - make/data/swingbeaninfo/images/JTextPaneColor16.gif - make/data/swingbeaninfo/images/JTextPaneColor32.gif - make/data/swingbeaninfo/images/JTextPaneMono16.gif - make/data/swingbeaninfo/images/JTextPaneMono32.gif - make/data/swingbeaninfo/images/JToggleButtonColor16.gif - make/data/swingbeaninfo/images/JToggleButtonColor32.gif - make/data/swingbeaninfo/images/JToggleButtonMono16.gif - make/data/swingbeaninfo/images/JToggleButtonMono32.gif - make/data/swingbeaninfo/images/JToolBarColor16.gif - make/data/swingbeaninfo/images/JToolBarColor32.gif - make/data/swingbeaninfo/images/JToolBarMono16.gif - make/data/swingbeaninfo/images/JToolBarMono32.gif - make/data/swingbeaninfo/images/JTreeColor16.gif - make/data/swingbeaninfo/images/JTreeColor32.gif - make/data/swingbeaninfo/images/JTreeMono16.gif - make/data/swingbeaninfo/images/JTreeMono32.gif - make/data/swingbeaninfo/images/JViewportColor16.gif - make/data/swingbeaninfo/images/JViewportColor32.gif - make/data/swingbeaninfo/images/JViewportMono16.gif - make/data/swingbeaninfo/images/JViewportMono32.gif - make/data/swingbeaninfo/images/JWindowColor16.gif - make/data/swingbeaninfo/images/JWindowColor32.gif - make/data/swingbeaninfo/images/JWindowMono16.gif - make/data/swingbeaninfo/images/JWindowMono32.gif - make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java - make/data/swingbeaninfo/manifest.mf - make/data/swingbeaninfo/sun/swing/BeanInfoUtils.java - make/src/classes/build/tools/swingbeaninfo/DocBeanInfo.java - make/src/classes/build/tools/swingbeaninfo/GenDocletBeanInfo.java - make/src/classes/build/tools/swingbeaninfo/GenSwingBeanInfo.java + src/java.desktop/share/classes/javax/swing/beaninfo/images/AbstractButtonColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/BorderColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/BoxColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/BoxColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/BoxMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/BoxMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JAppletColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JAppletColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JAppletMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JAppletMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JButtonColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JButtonColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JButtonMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JButtonMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JCheckBoxColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JCheckBoxColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JCheckBoxMenuItemColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JCheckBoxMenuItemColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JCheckBoxMenuItemMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JCheckBoxMenuItemMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JCheckBoxMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JCheckBoxMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JColorChooserColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JColorChooserColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JColorChooserMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JColorChooserMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JComboBoxColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JComboBoxColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JComboBoxMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JComboBoxMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JComponentColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JDesktopPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JDesktopPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JDesktopPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JDesktopPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JDialogColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JDialogColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JDialogMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JDialogMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JEditorPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JEditorPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JEditorPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JEditorPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFileChooserColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFileChooserColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFileChooserMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFileChooserMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFormattedTextFieldColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFormattedTextFieldColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFormattedTextFieldMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFormattedTextFieldMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFrameColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFrameColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFrameMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JFrameMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JInternalFrameColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JInternalFrameColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JInternalFrameMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JInternalFrameMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JLabelColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JLabelColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JLabelMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JLabelMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JLayeredPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JLayeredPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JLayeredPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JLayeredPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JListColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JListColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JListMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JListMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuBarColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuBarColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuBarMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuBarMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuItemColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuItemColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuItemMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuItemMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JMenuMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JOptionPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JOptionPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JOptionPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JOptionPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPanelColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPanelColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPanelMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPanelMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPasswordFieldColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPasswordFieldColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPasswordFieldMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPasswordFieldMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPopupMenuColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPopupMenuColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPopupMenuMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JPopupMenuMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JProgressBarColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JProgressBarColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JProgressBarMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JProgressBarMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRadioButtonColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRadioButtonColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRadioButtonMenuItemColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRadioButtonMenuItemColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRadioButtonMenuItemMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRadioButtonMenuItemMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRadioButtonMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRadioButtonMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRootPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRootPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRootPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JRootPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JScrollBarColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JScrollBarColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JScrollBarMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JScrollBarMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JScrollPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JScrollPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JScrollPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JScrollPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSeparatorColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSeparatorColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSeparatorMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSeparatorMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSliderColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSliderColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSliderMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSliderMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSpinnerColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSpinnerColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSpinnerMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSpinnerMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSplitPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSplitPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSplitPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JSplitPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTabbedPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTabbedPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTabbedPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTabbedPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTableColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTableColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTableMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTableMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextAreaColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextAreaColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextAreaMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextAreaMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextFieldColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextFieldColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextFieldMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextFieldMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextPaneColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextPaneColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextPaneMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTextPaneMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JToggleButtonColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JToggleButtonColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JToggleButtonMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JToggleButtonMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JToolBarColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JToolBarColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JToolBarMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JToolBarMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTreeColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTreeColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTreeMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JTreeMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JViewportColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JViewportColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JViewportMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JViewportMono32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JWindowColor16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JWindowColor32.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JWindowMono16.gif + src/java.desktop/share/classes/javax/swing/beaninfo/images/JWindowMono32.gif Changeset: 3ceed117e313 Author: prr Date: 2016-04-05 07:51 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3ceed117e313 Merge - make/src/classes/build/tools/module/Module.java - make/src/classes/build/tools/module/ModuleInfoReader.java - make/src/classes/build/tools/module/ModulesXmlReader.java - make/src/classes/build/tools/module/ModulesXmlWriter.java - src/java.base/share/classes/sun/misc/GC.java - src/java.base/share/classes/sun/misc/InvalidJarIndexException.java - src/java.base/share/classes/sun/misc/JarIndex.java - src/java.base/share/classes/sun/misc/VMSupport.java - src/java.base/share/classes/sun/misc/resources/Messages.java - src/java.base/share/classes/sun/misc/resources/Messages_de.java - src/java.base/share/classes/sun/misc/resources/Messages_es.java - src/java.base/share/classes/sun/misc/resources/Messages_fr.java - src/java.base/share/classes/sun/misc/resources/Messages_it.java - src/java.base/share/classes/sun/misc/resources/Messages_ja.java - src/java.base/share/classes/sun/misc/resources/Messages_ko.java - src/java.base/share/classes/sun/misc/resources/Messages_pt_BR.java - src/java.base/share/classes/sun/misc/resources/Messages_sv.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_CN.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_TW.java - src/java.base/share/native/libjava/GC.c Changeset: e3d707ff6bfa Author: prr Date: 2016-04-05 09:13 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e3d707ff6bfa Merge Changeset: f6a95da252f4 Author: ascarpino Date: 2016-04-05 11:48 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f6a95da252f4 8098580: drainRefQueueBounds() puts pressure on pool.size() Reviewed-by: valeriep ! src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11Key.java ! src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/SessionManager.java Changeset: 32bb1700f683 Author: alanb Date: 2016-04-05 21:18 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/32bb1700f683 8153370: Drop use of old style -XaddExports from tests Reviewed-by: mchung ! test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh ! test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/java/net/Authenticator/B4933582.sh ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java ! test/java/rmi/registry/readTest/readTest.sh ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/rmi/transport/dgcDeadLock/DGCDeadLock.java ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/jdk/modules/etc/VerifyModuleDelegation.java ! test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh ! test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh ! test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java ! test/sun/security/krb5/tools/ktcheck.sh ! test/sun/security/tools/jarsigner/ts.sh ! test/sun/security/tools/keytool/autotest.sh ! test/sun/security/tools/keytool/standard.sh ! test/tools/jimage/VerifyJimage.java ! test/tools/launcher/modules/patch/PatchTest.java Changeset: cdbccf310303 Author: thartmann Date: 2016-03-21 08:42 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cdbccf310303 8144693: Intrinsify StringCoding.hasNegatives() on SPARC Summary: Implemented C2 instrinsic for StringCode.hasNegatives() on SPARC. Reviewed-by: kvn, jrose, thartmann Contributed-by: Guy Delamarter ! src/java.base/share/classes/java/lang/StringCoding.java Changeset: bf8de6e00063 Author: zmajo Date: 2016-03-21 11:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/bf8de6e00063 Merge - test/javax/swing/JScrollPane/8033000/bug8033000.java Changeset: c102782d9b33 Author: zmajo Date: 2016-03-23 15:01 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c102782d9b33 Merge Changeset: 732099b9085b Author: amurillo Date: 2016-03-24 15:53 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/732099b9085b Merge Changeset: 5e0fd2cdcd55 Author: psandoz Date: 2016-03-24 11:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5e0fd2cdcd55 8149469: ByteBuffer API and implementation enhancements for VarHandles Reviewed-by: chegar, alanb ! src/java.base/share/classes/java/nio/Buffer.java ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template ! src/java.base/share/classes/java/nio/StringCharBuffer.java ! src/java.base/share/classes/java/nio/X-Buffer.java.template ! test/java/nio/Buffer/Basic-X.java.template ! test/java/nio/Buffer/Basic.java ! test/java/nio/Buffer/BasicByte.java ! test/java/nio/Buffer/BasicChar.java ! test/java/nio/Buffer/BasicDouble.java ! test/java/nio/Buffer/BasicFloat.java ! test/java/nio/Buffer/BasicInt.java ! test/java/nio/Buffer/BasicLong.java ! test/java/nio/Buffer/BasicShort.java Changeset: c337b8a1e467 Author: psandoz Date: 2016-03-24 11:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c337b8a1e467 8149644: Integrate VarHandles Reviewed-by: coffeys, mhaupt, vlivanov Contributed-by: paul.sandoz at oracle.com, aleksey.shipilev at oracle.com ! make/gensrc/Gensrc-java.base.gmk + make/gensrc/GensrcVarHandles.gmk ! src/java.base/share/classes/java/lang/invoke/InfoFromMemberName.java ! src/java.base/share/classes/java/lang/invoke/Invokers.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/MethodType.java + src/java.base/share/classes/java/lang/invoke/VarForm.java + src/java.base/share/classes/java/lang/invoke/VarHandle.java + src/java.base/share/classes/java/lang/invoke/VarHandleByteArrayBase.java + src/java.base/share/classes/java/lang/invoke/VarHandleGuards.java + src/java.base/share/classes/java/lang/invoke/VarHandles.java + src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template + src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template ! src/java.base/share/classes/java/lang/invoke/package-info.java + test/java/lang/invoke/VarHandles/VarHandleBaseByteArrayTest.java + test/java/lang/invoke/VarHandles/VarHandleBaseTest.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java + test/java/lang/invoke/VarHandles/VarHandleTestAccessString.java + test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java + test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java + test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java + test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java + test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java + test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessBoolean.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessByte.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessChar.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessDouble.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessFloat.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessInt.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessLong.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessShort.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessString.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeBoolean.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeByte.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeChar.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeDouble.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeFloat.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeInt.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeLong.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeShort.java + test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeString.java + test/java/lang/invoke/VarHandles/VarHandleTestReflection.java + test/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template + test/java/lang/invoke/VarHandles/X-VarHandleTestByteArrayView.java.template + test/java/lang/invoke/VarHandles/X-VarHandleTestMethodHandleAccess.java.template + test/java/lang/invoke/VarHandles/X-VarHandleTestMethodType.java.template + test/java/lang/invoke/VarHandles/generate-vh-tests.sh Changeset: bf47af65820f Author: zmajo Date: 2016-03-24 16:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/bf47af65820f Merge - make/gendata/Gendata-jdk.jdeps.gmk ! make/gensrc/Gensrc-java.base.gmk - make/gensrc/Gensrc-jdk.dev.gmk - make/gensrc/Gensrc-jdk.jvmstat.gmk - make/launcher/Launcher-jdk.dev.gmk - make/scripts/localelist.sh - make/src/classes/build/tools/module/GenJdepsModulesXml.java - make/src/classes/build/tools/module/GenModulesList.java - make/src/classes/build/tools/module/ImageBuilder.java - make/src/classes/build/tools/module/ModuleArchive.java - make/src/classes/build/tools/module/boot.modules - make/src/classes/build/tools/module/ext.modules ! 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/MethodHandles.java - src/java.base/share/classes/jdk/internal/jimage/Archive.java - src/java.base/share/classes/jdk/internal/jimage/BasicImageWriter.java - src/java.base/share/classes/jdk/internal/jimage/ExternalFilesWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageFileCreator.java - src/java.base/share/classes/jdk/internal/jimage/ImageJavaSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleData.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleDataWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/ImageResourcesTree.java - src/java.base/share/classes/jdk/internal/jimage/ImageStringsWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/PerfectHashBuilder.java - src/java.base/share/classes/jdk/internal/jimage/ResourcePool.java - src/java.base/share/classes/jdk/internal/jimage/ResourcePoolImpl.java - src/java.base/share/classes/jdk/internal/jimage/StringTable.java - src/java.base/share/classes/jdk/internal/jimage/UTF8String.java - src/java.base/share/classes/sun/misc/Launcher.java - src/java.base/share/classes/sun/util/CoreResourceBundleControl-XLocales.java.template - src/java.base/share/native/libjava/Package.c - src/java.base/share/native/libjava/Proxy.c - src/java.base/share/native/libjimage/ImageNativeSubstrate.cpp - src/java.desktop/share/classes/META-INF/services/java.net.ContentHandlerFactory - src/java.desktop/share/classes/META-INF/services/javax.print.PrintServiceLookup - src/java.desktop/share/classes/META-INF/services/javax.print.StreamPrintServiceFactory - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiFileReader - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiFileWriter - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.SoundbankReader - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.AudioFileReader - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.AudioFileWriter - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.FormatConversionProvider - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider - src/java.desktop/share/classes/META-INF/services/sun.datatransfer.DesktopDatatransferService - src/java.logging/share/classes/META-INF/services/jdk.internal.logger.DefaultLoggerFinder - src/java.security.jgss/share/classes/META-INF/services/sun.security.ssl.ClientKeyExchangeService - src/jdk.accessibility/windows/classes/META-INF/services/javax.accessibility.AccessibilityProvider - src/jdk.attach/share/classes/META-INF/services/com.sun.tools.attach.spi.AttachProvider - src/jdk.charsets/share/classes/META-INF/services/java.nio.charset.spi.CharsetProvider - src/jdk.dev/share/classes/jdk/tools/jimage/ExtractedImage.java - src/jdk.dev/share/classes/jdk/tools/jimage/JImageTask.java - src/jdk.dev/share/classes/jdk/tools/jimage/Main.java - src/jdk.dev/share/classes/jdk/tools/jimage/TaskHelper.java - src/jdk.dev/share/classes/jdk/tools/jimage/resources/jimage.properties - src/jdk.jdi/share/classes/META-INF/services/com.sun.jdi.connect.Connector - src/jdk.jdi/share/classes/META-INF/services/com.sun.jdi.connect.spi.TransportService - src/jdk.jvmstat.rmi/share/classes/META-INF/services/sun.jvmstat.monitor.MonitoredHostService - src/jdk.jvmstat/share/classes/META-INF/services/sun.jvmstat.monitor.MonitoredHostService - src/jdk.localedata/share/classes/META-INF/services/sun.util.locale.provider.LocaleDataMetaInfo - src/jdk.management/share/classes/META-INF/services/sun.management.spi.PlatformMBeanProvider - src/jdk.naming.dns/share/classes/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - src/jdk.zipfs/share/classes/META-INF/services/java.nio.file.spi.FileSystemProvider - test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh - test/java/net/DatagramSocket/SetDatagramSocketImplFactory/java/net/MyDatagramSocketImplFactory.java - test/java/net/httpclient/whitebox/TEST.properties - test/java/net/httpclient/whitebox/java/net/http/SelectorTest.java - test/java/util/stream/bootlib/TEST.properties - test/jdk/internal/jimage/ExecutableTest.java - test/jdk/internal/jimage/JImageTest.java - test/jdk/internal/jimage/VerifyJimage.java - test/sun/security/krb5/config/NamingManager.java - test/sun/security/krb5/config/dns.sh - test/sun/security/mscapi/IsSunMSCAPIAvailable.sh - test/sun/security/ssl/StatusStapling/BogusStatusRequest.java - test/sun/security/ssl/StatusStapling/CertStatusReqExtensionTests.java - test/sun/security/ssl/StatusStapling/CertStatusReqItemV2Tests.java - test/sun/security/ssl/StatusStapling/CertStatusReqListV2ExtensionTests.java - test/sun/security/ssl/StatusStapling/OCSPStatusRequestTests.java - test/sun/security/ssl/StatusStapling/StatusResponseManagerTests.java - test/sun/security/ssl/StatusStapling/TestCase.java - test/sun/security/ssl/StatusStapling/TestUtils.java Changeset: 39ddc2279d51 Author: shade Date: 2016-03-25 15:35 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/39ddc2279d51 8152698: Remove obsolete Unsafe.putOrdered{X} methods, usages, runtime and compiler support Reviewed-by: kvn, psandoz, dl ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java ! src/java.base/share/classes/java/util/concurrent/Exchanger.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/FutureTask.java ! src/java.base/share/classes/java/util/concurrent/SubmissionPublisher.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/java.base/share/classes/jdk/internal/misc/InnocuousThread.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/sun/misc/Unsafe.java Changeset: b49e66e98def Author: zmajo Date: 2016-03-29 13:43 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b49e66e98def Merge - make/src/native/genconstants/ch/genSocketOptionRegistry.c - make/src/native/genconstants/fs/genSolarisConstants.c - make/src/native/genconstants/fs/genUnixConstants.c - src/java.base/share/classes/sun/misc/Resource.java - src/java.base/share/classes/sun/misc/URLClassPath.java - src/java.base/unix/classes/sun/misc/FileURLMapper.java - src/java.base/windows/classes/sun/misc/FileURLMapper.java - src/jdk.deploy.osx/macosx/classes/module-info.java Changeset: 3a12445ffe48 Author: erikj Date: 2016-03-30 09:56 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3a12445ffe48 8152959: Build crashes in jdk9-hs-comp on Linux with gnumake 3.81 Reviewed-by: tbell, cjplummer ! make/gensrc/GensrcVarHandles.gmk Changeset: e7f20a4a3251 Author: amurillo Date: 2016-03-31 14:25 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e7f20a4a3251 Merge ! make/gensrc/Gensrc-java.base.gmk ! src/java.base/share/classes/jdk/internal/misc/InnocuousThread.java Changeset: 8d5544760831 Author: amurillo Date: 2016-04-04 13:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8d5544760831 Merge Changeset: 04f56d4ca167 Author: amurillo Date: 2016-04-05 20:02 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/04f56d4ca167 Merge Changeset: a738394080a3 Author: ntv Date: 2016-04-06 07:20 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a738394080a3 8030864: Add an efficient getDateTimeMillis method to java.time Summary: Added epochSecond method in Chronology and overided it in IsoChronology Reviewed-by: rriggs, scolebourne ! src/java.base/share/classes/java/time/chrono/Chronology.java ! src/java.base/share/classes/java/time/chrono/IsoChronology.java ! test/java/time/tck/java/time/chrono/TCKChronology.java ! test/java/time/tck/java/time/chrono/TCKIsoChronology.java Changeset: d4032d0578bb Author: amlu Date: 2016-04-06 16:36 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d4032d0578bb 8153563: java/nio/Buffer/Basic.java and CopyDirectMemory.java are failing after JDK-8149469 Reviewed-by: alanb ! test/java/nio/Buffer/Basic.java ! test/java/nio/Buffer/CopyDirectMemory.java Changeset: 4a512f5fd4c5 Author: alanb Date: 2016-04-06 09:41 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4a512f5fd4c5 8153538: module java.httpclient should not be in java.compact3 Reviewed-by: mchung ! src/java.compact3/share/classes/module-info.java ! src/java.se/share/classes/module-info.java Changeset: 0780b36e8076 Author: ntv Date: 2016-04-06 11:45 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0780b36e8076 8148950: Enhance ChronoField Javadoc Summary: Made the suggested changes in the doc. Reviewed-by: rriggs, scolebourne ! src/java.base/share/classes/java/time/temporal/ChronoField.java Changeset: 9f17a8fa1fea Author: dfuchs Date: 2016-04-06 17:54 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9f17a8fa1fea 8152436: Add a test to verify that the root logger correctly reports the caller's information Summary: This test verifies that 8152389 does no longer occur in JDK 9 and upwards. Reviewed-by: mchung, lancea + test/java/util/logging/Logger/getLogger/TestInferCaller.java Changeset: 716cd6772d10 Author: vtewari Date: 2016-04-06 21:31 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/716cd6772d10 8151586: Wrong exception catch for FTPClient in JDK-8055032 Reviewed-by: chegar ! src/java.base/share/classes/sun/net/TransferProtocolClient.java ! src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java ! test/sun/net/www/ftptest/FtpCommandHandler.java Changeset: 4c6e01bbeac9 Author: ksrini Date: 2016-04-06 09:38 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4c6e01bbeac9 8152622: tools/pack200/Pack200Props.java timed out Reviewed-by: alanb, sundar ! test/ProblemList.txt ! test/tools/pack200/ModuleAttributes.java ! test/tools/pack200/Pack200Props.java ! test/tools/pack200/Utils.java Changeset: 5175d01d111d Author: jjiang Date: 2016-04-06 21:23 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5175d01d111d 8153239: ProblemList update for sun/security/provider/NSASuiteB/TestDSAGenParameterSpec.java Summary: Adds sun/security/provider/NSASuiteB/TestDSAGenParameterSpec.java to ProblemList Reviewed-by: xuelei Contributed-by: sha.jiang at oracle.com ! test/ProblemList.txt Changeset: 195c39d24602 Author: amlu Date: 2016-04-07 15:09 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/195c39d24602 8153695: Problem list sun/security/pkcs11/Provider/Login.sh for linux-all Reviewed-by: vinnie ! test/ProblemList.txt Changeset: 26b82c87d8c7 Author: okutsu Date: 2016-04-07 17:52 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/26b82c87d8c7 8151431: DateFormatSymbols triggers this.clone() in the constructor Reviewed-by: naoto, peytoia ! src/java.base/share/classes/java/text/DateFormatSymbols.java + test/java/text/Format/DateFormat/DateFormatSymbolsCloneTest.java Changeset: 0b18ad7184bc Author: coffeys Date: 2016-04-07 10:11 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0b18ad7184bc 8153531: Improve exception messaging for RSAClientKeyExchange Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/HandshakeMessage.java ! src/java.base/share/classes/sun/security/ssl/RSAClientKeyExchange.java Changeset: 6f37ab661a3f Author: stuefe Date: 2016-04-07 13:41 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/6f37ab661a3f 8153727: AIX jdk build broken after 8145174 Reviewed-by: simonis, erikj, serb ! make/lib/Awt2dLibraries.gmk Changeset: 02225069ab1c Author: dl Date: 2016-04-07 09:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/02225069ab1c 8152924: Improve scalability of CompletableFuture with large number of dependents Reviewed-by: martin, psandoz ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java ! test/java/util/concurrent/tck/CompletableFutureTest.java Changeset: 596b4307e193 Author: dl Date: 2016-04-07 10:01 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/596b4307e193 8152433: Typo in interface Deque javadocs Reviewed-by: martin, psandoz, forax ! src/java.base/share/classes/java/util/Deque.java Changeset: 49dfb7d3f6c9 Author: dl Date: 2016-04-07 10:06 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/49dfb7d3f6c9 8151501: LockSupport/ParkLoops.java: AssertionError: lost unpark Reviewed-by: martin, psandoz, dholmes, forax ! test/java/util/concurrent/locks/LockSupport/ParkLoops.java Changeset: a933dec23384 Author: dl Date: 2016-04-07 10:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a933dec23384 8151344: Improve timeout factor handling in tck/JSR166TestCase Reviewed-by: martin, psandoz ! test/java/util/concurrent/tck/JSR166TestCase.java Changeset: 4494b6aea4d0 Author: dl Date: 2016-04-07 10:12 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4494b6aea4d0 8151579: Optimize ConcurrentHashMap.Node Reviewed-by: martin, psandoz, forax ! src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java Changeset: a33325f2fc14 Author: lana Date: 2016-04-07 11:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a33325f2fc14 Merge - make/data/swingbeaninfo/SwingBeanInfo.template - make/data/swingbeaninfo/images/AbstractButtonColor16.gif - make/data/swingbeaninfo/images/BorderColor16.gif - make/data/swingbeaninfo/images/BoxColor16.gif - make/data/swingbeaninfo/images/BoxColor32.gif - make/data/swingbeaninfo/images/BoxMono16.gif - make/data/swingbeaninfo/images/BoxMono32.gif - make/data/swingbeaninfo/images/JAppletColor16.gif - make/data/swingbeaninfo/images/JAppletColor32.gif - make/data/swingbeaninfo/images/JAppletMono16.gif - make/data/swingbeaninfo/images/JAppletMono32.gif - make/data/swingbeaninfo/images/JButtonColor16.gif - make/data/swingbeaninfo/images/JButtonColor32.gif - make/data/swingbeaninfo/images/JButtonMono16.gif - make/data/swingbeaninfo/images/JButtonMono32.gif - make/data/swingbeaninfo/images/JCheckBoxColor16.gif - make/data/swingbeaninfo/images/JCheckBoxColor32.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemColor16.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemColor32.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemMono16.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemMono32.gif - make/data/swingbeaninfo/images/JCheckBoxMono16.gif - make/data/swingbeaninfo/images/JCheckBoxMono32.gif - make/data/swingbeaninfo/images/JColorChooserColor16.gif - make/data/swingbeaninfo/images/JColorChooserColor32.gif - make/data/swingbeaninfo/images/JColorChooserMono16.gif - make/data/swingbeaninfo/images/JColorChooserMono32.gif - make/data/swingbeaninfo/images/JComboBoxColor16.gif - make/data/swingbeaninfo/images/JComboBoxColor32.gif - make/data/swingbeaninfo/images/JComboBoxMono16.gif - make/data/swingbeaninfo/images/JComboBoxMono32.gif - make/data/swingbeaninfo/images/JComponentColor16.gif - make/data/swingbeaninfo/images/JDesktopPaneColor16.gif - make/data/swingbeaninfo/images/JDesktopPaneColor32.gif - make/data/swingbeaninfo/images/JDesktopPaneMono16.gif - make/data/swingbeaninfo/images/JDesktopPaneMono32.gif - make/data/swingbeaninfo/images/JDialogColor16.gif - make/data/swingbeaninfo/images/JDialogColor32.gif - make/data/swingbeaninfo/images/JDialogMono16.gif - make/data/swingbeaninfo/images/JDialogMono32.gif - make/data/swingbeaninfo/images/JEditorPaneColor16.gif - make/data/swingbeaninfo/images/JEditorPaneColor32.gif - make/data/swingbeaninfo/images/JEditorPaneMono16.gif - make/data/swingbeaninfo/images/JEditorPaneMono32.gif - make/data/swingbeaninfo/images/JFileChooserColor16.gif - make/data/swingbeaninfo/images/JFileChooserColor32.gif - make/data/swingbeaninfo/images/JFileChooserMono16.gif - make/data/swingbeaninfo/images/JFileChooserMono32.gif - make/data/swingbeaninfo/images/JFormattedTextFieldColor16.gif - make/data/swingbeaninfo/images/JFormattedTextFieldColor32.gif - make/data/swingbeaninfo/images/JFormattedTextFieldMono16.gif - make/data/swingbeaninfo/images/JFormattedTextFieldMono32.gif - make/data/swingbeaninfo/images/JFrameColor16.gif - make/data/swingbeaninfo/images/JFrameColor32.gif - make/data/swingbeaninfo/images/JFrameMono16.gif - make/data/swingbeaninfo/images/JFrameMono32.gif - make/data/swingbeaninfo/images/JInternalFrameColor16.gif - make/data/swingbeaninfo/images/JInternalFrameColor32.gif - make/data/swingbeaninfo/images/JInternalFrameMono16.gif - make/data/swingbeaninfo/images/JInternalFrameMono32.gif - make/data/swingbeaninfo/images/JLabelColor16.gif - make/data/swingbeaninfo/images/JLabelColor32.gif - make/data/swingbeaninfo/images/JLabelMono16.gif - make/data/swingbeaninfo/images/JLabelMono32.gif - make/data/swingbeaninfo/images/JLayeredPaneColor16.gif - make/data/swingbeaninfo/images/JLayeredPaneColor32.gif - make/data/swingbeaninfo/images/JLayeredPaneMono16.gif - make/data/swingbeaninfo/images/JLayeredPaneMono32.gif - make/data/swingbeaninfo/images/JListColor16.gif - make/data/swingbeaninfo/images/JListColor32.gif - make/data/swingbeaninfo/images/JListMono16.gif - make/data/swingbeaninfo/images/JListMono32.gif - make/data/swingbeaninfo/images/JMenuBarColor16.gif - make/data/swingbeaninfo/images/JMenuBarColor32.gif - make/data/swingbeaninfo/images/JMenuBarMono16.gif - make/data/swingbeaninfo/images/JMenuBarMono32.gif - make/data/swingbeaninfo/images/JMenuColor16.gif - make/data/swingbeaninfo/images/JMenuColor32.gif - make/data/swingbeaninfo/images/JMenuItemColor16.gif - make/data/swingbeaninfo/images/JMenuItemColor32.gif - make/data/swingbeaninfo/images/JMenuItemMono16.gif - make/data/swingbeaninfo/images/JMenuItemMono32.gif - make/data/swingbeaninfo/images/JMenuMono16.gif - make/data/swingbeaninfo/images/JMenuMono32.gif - make/data/swingbeaninfo/images/JOptionPaneColor16.gif - make/data/swingbeaninfo/images/JOptionPaneColor32.gif - make/data/swingbeaninfo/images/JOptionPaneMono16.gif - make/data/swingbeaninfo/images/JOptionPaneMono32.gif - make/data/swingbeaninfo/images/JPanelColor16.gif - make/data/swingbeaninfo/images/JPanelColor32.gif - make/data/swingbeaninfo/images/JPanelMono16.gif - make/data/swingbeaninfo/images/JPanelMono32.gif - make/data/swingbeaninfo/images/JPasswordFieldColor16.gif - make/data/swingbeaninfo/images/JPasswordFieldColor32.gif - make/data/swingbeaninfo/images/JPasswordFieldMono16.gif - make/data/swingbeaninfo/images/JPasswordFieldMono32.gif - make/data/swingbeaninfo/images/JPopupMenuColor16.gif - make/data/swingbeaninfo/images/JPopupMenuColor32.gif - make/data/swingbeaninfo/images/JPopupMenuMono16.gif - make/data/swingbeaninfo/images/JPopupMenuMono32.gif - make/data/swingbeaninfo/images/JProgressBarColor16.gif - make/data/swingbeaninfo/images/JProgressBarColor32.gif - make/data/swingbeaninfo/images/JProgressBarMono16.gif - make/data/swingbeaninfo/images/JProgressBarMono32.gif - make/data/swingbeaninfo/images/JRadioButtonColor16.gif - make/data/swingbeaninfo/images/JRadioButtonColor32.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemColor16.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemColor32.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemMono16.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemMono32.gif - make/data/swingbeaninfo/images/JRadioButtonMono16.gif - make/data/swingbeaninfo/images/JRadioButtonMono32.gif - make/data/swingbeaninfo/images/JRootPaneColor16.gif - make/data/swingbeaninfo/images/JRootPaneColor32.gif - make/data/swingbeaninfo/images/JRootPaneMono16.gif - make/data/swingbeaninfo/images/JRootPaneMono32.gif - make/data/swingbeaninfo/images/JScrollBarColor16.gif - make/data/swingbeaninfo/images/JScrollBarColor32.gif - make/data/swingbeaninfo/images/JScrollBarMono16.gif - make/data/swingbeaninfo/images/JScrollBarMono32.gif - make/data/swingbeaninfo/images/JScrollPaneColor16.gif - make/data/swingbeaninfo/images/JScrollPaneColor32.gif - make/data/swingbeaninfo/images/JScrollPaneMono16.gif - make/data/swingbeaninfo/images/JScrollPaneMono32.gif - make/data/swingbeaninfo/images/JSeparatorColor16.gif - make/data/swingbeaninfo/images/JSeparatorColor32.gif - make/data/swingbeaninfo/images/JSeparatorMono16.gif - make/data/swingbeaninfo/images/JSeparatorMono32.gif - make/data/swingbeaninfo/images/JSliderColor16.gif - make/data/swingbeaninfo/images/JSliderColor32.gif - make/data/swingbeaninfo/images/JSliderMono16.gif - make/data/swingbeaninfo/images/JSliderMono32.gif - make/data/swingbeaninfo/images/JSpinnerColor16.gif - make/data/swingbeaninfo/images/JSpinnerColor32.gif - make/data/swingbeaninfo/images/JSpinnerMono16.gif - make/data/swingbeaninfo/images/JSpinnerMono32.gif - make/data/swingbeaninfo/images/JSplitPaneColor16.gif - make/data/swingbeaninfo/images/JSplitPaneColor32.gif - make/data/swingbeaninfo/images/JSplitPaneMono16.gif - make/data/swingbeaninfo/images/JSplitPaneMono32.gif - make/data/swingbeaninfo/images/JTabbedPaneColor16.gif - make/data/swingbeaninfo/images/JTabbedPaneColor32.gif - make/data/swingbeaninfo/images/JTabbedPaneMono16.gif - make/data/swingbeaninfo/images/JTabbedPaneMono32.gif - make/data/swingbeaninfo/images/JTableColor16.gif - make/data/swingbeaninfo/images/JTableColor32.gif - make/data/swingbeaninfo/images/JTableMono16.gif - make/data/swingbeaninfo/images/JTableMono32.gif - make/data/swingbeaninfo/images/JTextAreaColor16.gif - make/data/swingbeaninfo/images/JTextAreaColor32.gif - make/data/swingbeaninfo/images/JTextAreaMono16.gif - make/data/swingbeaninfo/images/JTextAreaMono32.gif - make/data/swingbeaninfo/images/JTextFieldColor16.gif - make/data/swingbeaninfo/images/JTextFieldColor32.gif - make/data/swingbeaninfo/images/JTextFieldMono16.gif - make/data/swingbeaninfo/images/JTextFieldMono32.gif - make/data/swingbeaninfo/images/JTextPaneColor16.gif - make/data/swingbeaninfo/images/JTextPaneColor32.gif - make/data/swingbeaninfo/images/JTextPaneMono16.gif - make/data/swingbeaninfo/images/JTextPaneMono32.gif - make/data/swingbeaninfo/images/JToggleButtonColor16.gif - make/data/swingbeaninfo/images/JToggleButtonColor32.gif - make/data/swingbeaninfo/images/JToggleButtonMono16.gif - make/data/swingbeaninfo/images/JToggleButtonMono32.gif - make/data/swingbeaninfo/images/JToolBarColor16.gif - make/data/swingbeaninfo/images/JToolBarColor32.gif - make/data/swingbeaninfo/images/JToolBarMono16.gif - make/data/swingbeaninfo/images/JToolBarMono32.gif - make/data/swingbeaninfo/images/JTreeColor16.gif - make/data/swingbeaninfo/images/JTreeColor32.gif - make/data/swingbeaninfo/images/JTreeMono16.gif - make/data/swingbeaninfo/images/JTreeMono32.gif - make/data/swingbeaninfo/images/JViewportColor16.gif - make/data/swingbeaninfo/images/JViewportColor32.gif - make/data/swingbeaninfo/images/JViewportMono16.gif - make/data/swingbeaninfo/images/JViewportMono32.gif - make/data/swingbeaninfo/images/JWindowColor16.gif - make/data/swingbeaninfo/images/JWindowColor32.gif - make/data/swingbeaninfo/images/JWindowMono16.gif - make/data/swingbeaninfo/images/JWindowMono32.gif - make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java - make/data/swingbeaninfo/manifest.mf - make/data/swingbeaninfo/sun/swing/BeanInfoUtils.java - make/src/classes/build/tools/swingbeaninfo/DocBeanInfo.java - make/src/classes/build/tools/swingbeaninfo/GenDocletBeanInfo.java - make/src/classes/build/tools/swingbeaninfo/GenSwingBeanInfo.java - src/java.base/share/classes/sun/misc/GC.java - src/java.base/share/classes/sun/misc/VMSupport.java - src/java.base/share/native/libjava/GC.c - src/java.desktop/macosx/classes/com/apple/eawt/AboutHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/AppEvent.java - src/java.desktop/macosx/classes/com/apple/eawt/AppEventListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppForegroundListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppHiddenListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppReOpenedListener.java - src/java.desktop/macosx/classes/com/apple/eawt/OpenFilesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/OpenURIHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/PreferencesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/PrintFilesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitResponse.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitStrategy.java - src/java.desktop/macosx/classes/com/apple/eawt/ScreenSleepListener.java - src/java.desktop/macosx/classes/com/apple/eawt/SystemSleepListener.java - src/java.desktop/macosx/classes/com/apple/eawt/UserSessionListener.java - src/java.desktop/macosx/classes/com/apple/eawt/_AppEventLegacyHandler.java - test/java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest.html - test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html - test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html - test/java/awt/hidpi/properties/HiDPIPropertiesLinuxTest.java Changeset: aeb60aed9577 Author: ksrini Date: 2016-04-07 12:54 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/aeb60aed9577 8150469: unpack200 fails to compare crc correctly. Reviewed-by: jrose ! src/jdk.pack200/share/native/common-unpack/defines.h ! src/jdk.pack200/share/native/common-unpack/unpack.h ! src/jdk.pack200/share/native/common-unpack/zip.cpp ! src/jdk.pack200/share/native/common-unpack/zip.h ! src/jdk.pack200/share/native/unpack200/main.cpp ! test/tools/pack200/PackChecksum.java Changeset: cac52c9da800 Author: peytoia Date: 2016-04-08 14:35 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cac52c9da800 7129443: (cal) Difference between comment and implementation of DAY_OF_WEEK_IN_MONTH Reviewed-by: okutsu, peytoia Contributed-by: Nishit Jain ! src/java.base/share/classes/java/util/GregorianCalendar.java Changeset: 39c83d75821b Author: serb Date: 2016-04-08 14:05 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/39c83d75821b 8153725: Problem list javax/sound/sampled/DirectAudio/bug6400879.java for Linux Reviewed-by: darcy ! test/ProblemList.txt Changeset: dea3115d8e8e Author: alanb Date: 2016-04-08 16:38 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/dea3115d8e8e 8037360: java/nio/channels/SocketChannel/Connect.java fails intermittently Reviewed-by: alanb Contributed-by: huaming.li at oracle.com ! test/java/nio/channels/SocketChannel/Connect.java ! test/java/nio/channels/TestServers.java Changeset: 8aab9eb6dd72 Author: bpb Date: 2016-04-08 09:36 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8aab9eb6dd72 8153414: (fs) Internal sun/nio/fs exceptions should be stackless Summary: Override fillInStackTrace() to be a no-op in UnixException and WindowsException. Reviewed-by: alanb Contributed-by: Aleksey Shipilev ! src/java.base/unix/classes/sun/nio/fs/UnixException.java ! src/java.base/windows/classes/sun/nio/fs/WindowsException.java Changeset: 818192f0e1ea Author: chegar Date: 2016-04-09 20:11 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/818192f0e1ea 8153498: Update the PostVMInitHook mechanism to use an internal package in the base module Reviewed-by: alanb, mchung ! src/java.base/share/native/libjava/jdk_util.c Changeset: 550572253bd8 Author: chegar Date: 2016-04-09 20:12 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/550572253bd8 8153737: Unsupported Module Reviewed-by: alanb, mchung, psandoz ! src/java.base/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java ! src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java ! src/java.base/share/classes/module-info.java - src/java.base/share/classes/sun/misc/CRC16.java - src/java.base/share/classes/sun/misc/Cache.java - src/java.base/share/classes/sun/misc/ManagedLocalsThread.java - src/java.base/share/classes/sun/misc/Signal.java - src/java.base/share/classes/sun/misc/SignalHandler.java - src/java.base/share/classes/sun/misc/SoftCache.java - src/java.base/share/classes/sun/misc/Unsafe.java ! src/java.base/share/classes/sun/nio/ch/AbstractPollArrayWrapper.java ! src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java - src/java.base/unix/classes/sun/misc/GThreadHelper.java ! src/java.base/unix/classes/sun/nio/ch/PollArrayWrapper.java ! src/java.desktop/share/classes/module-info.java ! src/java.logging/share/classes/module-info.java ! src/java.management/share/classes/module-info.java ! src/jdk.crypto.pkcs11/share/classes/module-info.java ! src/jdk.httpserver/share/classes/module-info.java + src/jdk.unsupported/share/classes/module-info.java + src/jdk.unsupported/share/classes/sun/misc/ManagedLocalsThread.java + src/jdk.unsupported/share/classes/sun/misc/Signal.java + src/jdk.unsupported/share/classes/sun/misc/SignalHandler.java + src/jdk.unsupported/share/classes/sun/misc/SoftCache.java + src/jdk.unsupported/share/classes/sun/misc/Unsafe.java + src/jdk.unsupported/unix/classes/sun/misc/GThreadHelper.java ! test/com/sun/jdi/cds/CDSBreakpointTest.java ! test/com/sun/jdi/cds/CDSDeleteAllBkptsTest.java ! test/com/sun/jdi/cds/CDSFieldWatchpoints.java ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/ProcessBuilder/RedirectWithLongFilename.java ! test/java/lang/ProcessHandle/Basic.java ! test/java/lang/ProcessHandle/InfoTest.java ! test/java/lang/ProcessHandle/OnExitTest.java ! test/java/lang/ProcessHandle/TreeTest.java ! test/java/lang/invoke/VMAnonymousClass.java ! test/javax/net/ssl/DTLS/TEST.properties ! test/javax/net/ssl/DTLSv10/TEST.properties ! test/javax/net/ssl/ServerName/SSLEngineExplorer.java ! test/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java ! test/javax/net/ssl/ServerName/SSLEngineExplorerUnmatchedSNI.java ! test/javax/net/ssl/ServerName/SSLEngineExplorerWithCli.java ! test/javax/net/ssl/ServerName/SSLEngineExplorerWithSrv.java ! test/javax/net/ssl/ServerName/SSLSocketExplorer.java ! test/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java ! test/javax/net/ssl/ServerName/SSLSocketExplorerMatchedSNI.java ! test/javax/net/ssl/ServerName/SSLSocketExplorerUnmatchedSNI.java ! test/javax/net/ssl/ServerName/SSLSocketExplorerWithCliSNI.java ! test/javax/net/ssl/ServerName/SSLSocketExplorerWithSrvSNI.java ! test/javax/security/auth/Subject/SubjectNullTests.java ! test/sun/misc/CopyMemory.java ! test/sun/misc/Safe.java ! test/sun/misc/SunMiscSignalTest.java ! test/sun/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java ! test/sun/security/krb5/auto/TEST.properties ! test/sun/security/pkcs/pkcs8/PKCS8Test.java ! test/sun/security/pkcs/pkcs9/UnknownAttribute.java ! test/sun/security/tools/jarsigner/TsacertOptionTest.java ! test/sun/security/tools/jarsigner/ts.sh ! test/sun/security/x509/X500Name/NullX500Name.java ! test/tools/launcher/modules/addexports/AddExportsTest.java ! test/tools/launcher/modules/addexports/src/m1/jdk/test1/Main.java ! test/tools/launcher/modules/limitmods/LimitModsTest.java Changeset: d11ad4b19348 Author: msheppar Date: 2016-04-11 03:00 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d11ad4b19348 8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor Reviewed-by: chegar, alanb ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/module-info.java - src/java.base/share/classes/sun/net/spi/nameservice/NameService.java - src/java.base/share/classes/sun/net/spi/nameservice/NameServiceDescriptor.java ! src/jdk.naming.dns/share/classes/module-info.java - src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java - src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameServiceDescriptor.java ! test/ProblemList.txt - test/java/net/Inet4Address/DummyNameService.java - test/java/net/Inet4Address/DummyNameServiceDescriptor.java - test/java/net/Inet4Address/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor + test/java/net/Inet4Address/TestToNumericFormatHosts ! test/java/net/Inet4Address/textToNumericFormat.java + test/java/net/InetAddress/InternalNameServiceTest.java + test/java/net/InetAddress/InternalNameServiceWithHostsFileTest.java + test/java/net/InetAddress/InternalNameServiceWithNoHostsFileTest.java + test/java/net/InetAddress/TestHosts + test/java/net/InetAddress/TestHosts-III ! test/java/net/URLPermission/nstest/LookupTest.java + test/java/net/URLPermission/nstest/LookupTestHosts - test/java/net/URLPermission/nstest/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/java/net/URLPermission/nstest/SimpleNameService.java - test/java/net/URLPermission/nstest/SimpleNameServiceDescriptor.java ! test/java/net/URLPermission/nstest/lookup.sh ! test/javax/net/ssl/DTLS/TEST.properties ! test/javax/net/ssl/DTLSv10/TEST.properties ! test/javax/net/ssl/TLS/TEST.properties ! test/javax/net/ssl/TLSv1/TEST.properties ! test/javax/net/ssl/TLSv11/TEST.properties - test/sun/net/InetAddress/nameservice/chaining/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/sun/net/InetAddress/nameservice/chaining/Providers.java - test/sun/net/InetAddress/nameservice/chaining/Simple1NameServiceDescriptor.java - test/sun/net/InetAddress/nameservice/chaining/Simple2NameServiceDescriptor.java - test/sun/net/InetAddress/nameservice/chaining/SimpleNameService.java - test/sun/net/InetAddress/nameservice/deadlock/Hang.java - test/sun/net/InetAddress/nameservice/deadlock/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/sun/net/InetAddress/nameservice/deadlock/ThrowingNameService.java - test/sun/net/InetAddress/nameservice/deadlock/ThrowingNameServiceDescriptor.java ! test/sun/net/InetAddress/nameservice/dns/cname.sh ! test/sun/net/InetAddress/nameservice/simple/CacheTest.java + test/sun/net/InetAddress/nameservice/simple/CacheTestHosts ! test/sun/net/InetAddress/nameservice/simple/DefaultCaching.java + test/sun/net/InetAddress/nameservice/simple/DefaultCachingHosts - test/sun/net/InetAddress/nameservice/simple/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/sun/net/InetAddress/nameservice/simple/SimpleNameService.java - test/sun/net/InetAddress/nameservice/simple/SimpleNameServiceDescriptor.java ! test/sun/security/krb5/auto/BogusKDC.java ! test/sun/security/krb5/auto/HttpNegotiateServer.java ! test/sun/security/krb5/auto/KDC.java - test/sun/security/krb5/auto/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor ! test/sun/security/krb5/auto/NoAddresses.java ! test/sun/security/krb5/auto/Renew.java ! test/sun/security/krb5/auto/Renewal.java ! test/sun/security/krb5/auto/SSLwithPerms.java ! test/sun/security/krb5/auto/TEST.properties + test/sun/security/krb5/auto/TestHosts + test/sun/security/krb5/auto/principalProperty/TestHosts ! test/sun/security/krb5/auto/principalProperty/principalSystemPropTest.policy ! test/sun/security/krb5/auto/unbound.ssl.policy - test/sun/security/krb5/canonicalize/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor ! test/sun/security/krb5/canonicalize/Test.java + test/sun/security/krb5/canonicalize/TestHosts ! test/sun/security/x509/URICertStore/ExtensionsWithLDAP.java - test/sun/security/x509/URICertStore/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor Changeset: ce6364a73186 Author: amlu Date: 2016-04-11 12:27 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ce6364a73186 8153722: Mark java/nio/channels/Selector/SelectAndClose.java as intermittently failing Reviewed-by: bpb, darcy ! test/java/nio/channels/Selector/SelectAndClose.java Changeset: 2c25eb79766e Author: coffeys Date: 2016-04-11 08:00 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/2c25eb79766e 8149450: LdapCtx.processReturnCode() throwing Null Pointer Exception Reviewed-by: xuelei ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapReferralException.java Changeset: 015ff5edfcd7 Author: amlu Date: 2016-04-11 15:14 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/015ff5edfcd7 8153928: test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc Reviewed-by: alanb, amlu Contributed-by: felix.yang at oracle.com ! test/jdk/internal/ref/Cleaner/ExitOnThrow.java ! test/sun/misc/SunMiscSignalTest.java Changeset: 6478cfbf6f29 Author: okutsu Date: 2016-04-11 16:46 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/6478cfbf6f29 8153836: java/util/ResourceBundle/Bug6299235Test.sh depends on java.desktop Reviewed-by: alanb ! test/java/util/ResourceBundle/Bug6299235Test.sh Changeset: 15098f2f8736 Author: plevart Date: 2016-04-11 10:55 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/15098f2f8736 8152115: (proxy) Examine performance of dynamic proxy creation Summary: redesign caching of dynamic Proxy classes Reviewed-by: mchung ! 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/AbstractClassLoaderValue.java + src/java.base/share/classes/java/lang/reflect/ClassLoaderValue.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java - src/java.base/share/classes/java/lang/reflect/WeakCache.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java + test/java/lang/reflect/ClassLoaderValue/Driver.java + test/java/lang/reflect/ClassLoaderValue/java.base/java/lang/reflect/ClassLoaderValueTest.java Changeset: 76a2d0b17dc2 Author: psandoz Date: 2016-04-11 18:21 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/76a2d0b17dc2 8151706: Update VarHandle implementation to use @Stable arrays Reviewed-by: mhaupt, shade, redestad ! src/java.base/share/classes/java/lang/invoke/VarForm.java ! src/java.base/share/classes/java/lang/invoke/VarHandle.java Changeset: bb8379287f37 Author: psandoz Date: 2016-04-11 19:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/bb8379287f37 8152645: VarHandle lookup access control tests Reviewed-by: mhaupt, redestad + test/java/lang/invoke/VarHandles/accessibility/TestFieldLookupAccessibility.java + test/java/lang/invoke/VarHandles/accessibility/pkg/A.java + test/java/lang/invoke/VarHandles/accessibility/pkg/B_extends_A.java + test/java/lang/invoke/VarHandles/accessibility/pkg/C.java + test/java/lang/invoke/VarHandles/accessibility/pkg/subpkg/B_extends_A.java + test/java/lang/invoke/VarHandles/accessibility/pkg/subpkg/C.java Changeset: 96c21f6ea9f2 Author: lana Date: 2016-04-14 09:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/96c21f6ea9f2 Added tag jdk-9+114 for changeset bb8379287f37 ! .hgtags Changeset: c2f2c0c9a447 Author: alanb Date: 2016-04-15 20:32 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c2f2c0c9a447 Merge ! .hgtags - make/data/swingbeaninfo/SwingBeanInfo.template - make/data/swingbeaninfo/images/AbstractButtonColor16.gif - make/data/swingbeaninfo/images/BorderColor16.gif - make/data/swingbeaninfo/images/BoxColor16.gif - make/data/swingbeaninfo/images/BoxColor32.gif - make/data/swingbeaninfo/images/BoxMono16.gif - make/data/swingbeaninfo/images/BoxMono32.gif - make/data/swingbeaninfo/images/JAppletColor16.gif - make/data/swingbeaninfo/images/JAppletColor32.gif - make/data/swingbeaninfo/images/JAppletMono16.gif - make/data/swingbeaninfo/images/JAppletMono32.gif - make/data/swingbeaninfo/images/JButtonColor16.gif - make/data/swingbeaninfo/images/JButtonColor32.gif - make/data/swingbeaninfo/images/JButtonMono16.gif - make/data/swingbeaninfo/images/JButtonMono32.gif - make/data/swingbeaninfo/images/JCheckBoxColor16.gif - make/data/swingbeaninfo/images/JCheckBoxColor32.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemColor16.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemColor32.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemMono16.gif - make/data/swingbeaninfo/images/JCheckBoxMenuItemMono32.gif - make/data/swingbeaninfo/images/JCheckBoxMono16.gif - make/data/swingbeaninfo/images/JCheckBoxMono32.gif - make/data/swingbeaninfo/images/JColorChooserColor16.gif - make/data/swingbeaninfo/images/JColorChooserColor32.gif - make/data/swingbeaninfo/images/JColorChooserMono16.gif - make/data/swingbeaninfo/images/JColorChooserMono32.gif - make/data/swingbeaninfo/images/JComboBoxColor16.gif - make/data/swingbeaninfo/images/JComboBoxColor32.gif - make/data/swingbeaninfo/images/JComboBoxMono16.gif - make/data/swingbeaninfo/images/JComboBoxMono32.gif - make/data/swingbeaninfo/images/JComponentColor16.gif - make/data/swingbeaninfo/images/JDesktopPaneColor16.gif - make/data/swingbeaninfo/images/JDesktopPaneColor32.gif - make/data/swingbeaninfo/images/JDesktopPaneMono16.gif - make/data/swingbeaninfo/images/JDesktopPaneMono32.gif - make/data/swingbeaninfo/images/JDialogColor16.gif - make/data/swingbeaninfo/images/JDialogColor32.gif - make/data/swingbeaninfo/images/JDialogMono16.gif - make/data/swingbeaninfo/images/JDialogMono32.gif - make/data/swingbeaninfo/images/JEditorPaneColor16.gif - make/data/swingbeaninfo/images/JEditorPaneColor32.gif - make/data/swingbeaninfo/images/JEditorPaneMono16.gif - make/data/swingbeaninfo/images/JEditorPaneMono32.gif - make/data/swingbeaninfo/images/JFileChooserColor16.gif - make/data/swingbeaninfo/images/JFileChooserColor32.gif - make/data/swingbeaninfo/images/JFileChooserMono16.gif - make/data/swingbeaninfo/images/JFileChooserMono32.gif - make/data/swingbeaninfo/images/JFormattedTextFieldColor16.gif - make/data/swingbeaninfo/images/JFormattedTextFieldColor32.gif - make/data/swingbeaninfo/images/JFormattedTextFieldMono16.gif - make/data/swingbeaninfo/images/JFormattedTextFieldMono32.gif - make/data/swingbeaninfo/images/JFrameColor16.gif - make/data/swingbeaninfo/images/JFrameColor32.gif - make/data/swingbeaninfo/images/JFrameMono16.gif - make/data/swingbeaninfo/images/JFrameMono32.gif - make/data/swingbeaninfo/images/JInternalFrameColor16.gif - make/data/swingbeaninfo/images/JInternalFrameColor32.gif - make/data/swingbeaninfo/images/JInternalFrameMono16.gif - make/data/swingbeaninfo/images/JInternalFrameMono32.gif - make/data/swingbeaninfo/images/JLabelColor16.gif - make/data/swingbeaninfo/images/JLabelColor32.gif - make/data/swingbeaninfo/images/JLabelMono16.gif - make/data/swingbeaninfo/images/JLabelMono32.gif - make/data/swingbeaninfo/images/JLayeredPaneColor16.gif - make/data/swingbeaninfo/images/JLayeredPaneColor32.gif - make/data/swingbeaninfo/images/JLayeredPaneMono16.gif - make/data/swingbeaninfo/images/JLayeredPaneMono32.gif - make/data/swingbeaninfo/images/JListColor16.gif - make/data/swingbeaninfo/images/JListColor32.gif - make/data/swingbeaninfo/images/JListMono16.gif - make/data/swingbeaninfo/images/JListMono32.gif - make/data/swingbeaninfo/images/JMenuBarColor16.gif - make/data/swingbeaninfo/images/JMenuBarColor32.gif - make/data/swingbeaninfo/images/JMenuBarMono16.gif - make/data/swingbeaninfo/images/JMenuBarMono32.gif - make/data/swingbeaninfo/images/JMenuColor16.gif - make/data/swingbeaninfo/images/JMenuColor32.gif - make/data/swingbeaninfo/images/JMenuItemColor16.gif - make/data/swingbeaninfo/images/JMenuItemColor32.gif - make/data/swingbeaninfo/images/JMenuItemMono16.gif - make/data/swingbeaninfo/images/JMenuItemMono32.gif - make/data/swingbeaninfo/images/JMenuMono16.gif - make/data/swingbeaninfo/images/JMenuMono32.gif - make/data/swingbeaninfo/images/JOptionPaneColor16.gif - make/data/swingbeaninfo/images/JOptionPaneColor32.gif - make/data/swingbeaninfo/images/JOptionPaneMono16.gif - make/data/swingbeaninfo/images/JOptionPaneMono32.gif - make/data/swingbeaninfo/images/JPanelColor16.gif - make/data/swingbeaninfo/images/JPanelColor32.gif - make/data/swingbeaninfo/images/JPanelMono16.gif - make/data/swingbeaninfo/images/JPanelMono32.gif - make/data/swingbeaninfo/images/JPasswordFieldColor16.gif - make/data/swingbeaninfo/images/JPasswordFieldColor32.gif - make/data/swingbeaninfo/images/JPasswordFieldMono16.gif - make/data/swingbeaninfo/images/JPasswordFieldMono32.gif - make/data/swingbeaninfo/images/JPopupMenuColor16.gif - make/data/swingbeaninfo/images/JPopupMenuColor32.gif - make/data/swingbeaninfo/images/JPopupMenuMono16.gif - make/data/swingbeaninfo/images/JPopupMenuMono32.gif - make/data/swingbeaninfo/images/JProgressBarColor16.gif - make/data/swingbeaninfo/images/JProgressBarColor32.gif - make/data/swingbeaninfo/images/JProgressBarMono16.gif - make/data/swingbeaninfo/images/JProgressBarMono32.gif - make/data/swingbeaninfo/images/JRadioButtonColor16.gif - make/data/swingbeaninfo/images/JRadioButtonColor32.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemColor16.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemColor32.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemMono16.gif - make/data/swingbeaninfo/images/JRadioButtonMenuItemMono32.gif - make/data/swingbeaninfo/images/JRadioButtonMono16.gif - make/data/swingbeaninfo/images/JRadioButtonMono32.gif - make/data/swingbeaninfo/images/JRootPaneColor16.gif - make/data/swingbeaninfo/images/JRootPaneColor32.gif - make/data/swingbeaninfo/images/JRootPaneMono16.gif - make/data/swingbeaninfo/images/JRootPaneMono32.gif - make/data/swingbeaninfo/images/JScrollBarColor16.gif - make/data/swingbeaninfo/images/JScrollBarColor32.gif - make/data/swingbeaninfo/images/JScrollBarMono16.gif - make/data/swingbeaninfo/images/JScrollBarMono32.gif - make/data/swingbeaninfo/images/JScrollPaneColor16.gif - make/data/swingbeaninfo/images/JScrollPaneColor32.gif - make/data/swingbeaninfo/images/JScrollPaneMono16.gif - make/data/swingbeaninfo/images/JScrollPaneMono32.gif - make/data/swingbeaninfo/images/JSeparatorColor16.gif - make/data/swingbeaninfo/images/JSeparatorColor32.gif - make/data/swingbeaninfo/images/JSeparatorMono16.gif - make/data/swingbeaninfo/images/JSeparatorMono32.gif - make/data/swingbeaninfo/images/JSliderColor16.gif - make/data/swingbeaninfo/images/JSliderColor32.gif - make/data/swingbeaninfo/images/JSliderMono16.gif - make/data/swingbeaninfo/images/JSliderMono32.gif - make/data/swingbeaninfo/images/JSpinnerColor16.gif - make/data/swingbeaninfo/images/JSpinnerColor32.gif - make/data/swingbeaninfo/images/JSpinnerMono16.gif - make/data/swingbeaninfo/images/JSpinnerMono32.gif - make/data/swingbeaninfo/images/JSplitPaneColor16.gif - make/data/swingbeaninfo/images/JSplitPaneColor32.gif - make/data/swingbeaninfo/images/JSplitPaneMono16.gif - make/data/swingbeaninfo/images/JSplitPaneMono32.gif - make/data/swingbeaninfo/images/JTabbedPaneColor16.gif - make/data/swingbeaninfo/images/JTabbedPaneColor32.gif - make/data/swingbeaninfo/images/JTabbedPaneMono16.gif - make/data/swingbeaninfo/images/JTabbedPaneMono32.gif - make/data/swingbeaninfo/images/JTableColor16.gif - make/data/swingbeaninfo/images/JTableColor32.gif - make/data/swingbeaninfo/images/JTableMono16.gif - make/data/swingbeaninfo/images/JTableMono32.gif - make/data/swingbeaninfo/images/JTextAreaColor16.gif - make/data/swingbeaninfo/images/JTextAreaColor32.gif - make/data/swingbeaninfo/images/JTextAreaMono16.gif - make/data/swingbeaninfo/images/JTextAreaMono32.gif - make/data/swingbeaninfo/images/JTextFieldColor16.gif - make/data/swingbeaninfo/images/JTextFieldColor32.gif - make/data/swingbeaninfo/images/JTextFieldMono16.gif - make/data/swingbeaninfo/images/JTextFieldMono32.gif - make/data/swingbeaninfo/images/JTextPaneColor16.gif - make/data/swingbeaninfo/images/JTextPaneColor32.gif - make/data/swingbeaninfo/images/JTextPaneMono16.gif - make/data/swingbeaninfo/images/JTextPaneMono32.gif - make/data/swingbeaninfo/images/JToggleButtonColor16.gif - make/data/swingbeaninfo/images/JToggleButtonColor32.gif - make/data/swingbeaninfo/images/JToggleButtonMono16.gif - make/data/swingbeaninfo/images/JToggleButtonMono32.gif - make/data/swingbeaninfo/images/JToolBarColor16.gif - make/data/swingbeaninfo/images/JToolBarColor32.gif - make/data/swingbeaninfo/images/JToolBarMono16.gif - make/data/swingbeaninfo/images/JToolBarMono32.gif - make/data/swingbeaninfo/images/JTreeColor16.gif - make/data/swingbeaninfo/images/JTreeColor32.gif - make/data/swingbeaninfo/images/JTreeMono16.gif - make/data/swingbeaninfo/images/JTreeMono32.gif - make/data/swingbeaninfo/images/JViewportColor16.gif - make/data/swingbeaninfo/images/JViewportColor32.gif - make/data/swingbeaninfo/images/JViewportMono16.gif - make/data/swingbeaninfo/images/JViewportMono32.gif - make/data/swingbeaninfo/images/JWindowColor16.gif - make/data/swingbeaninfo/images/JWindowColor32.gif - make/data/swingbeaninfo/images/JWindowMono16.gif - make/data/swingbeaninfo/images/JWindowMono32.gif - make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java - make/data/swingbeaninfo/manifest.mf - make/data/swingbeaninfo/sun/swing/BeanInfoUtils.java ! make/gensrc/Gensrc-java.base.gmk ! make/gensrc/Gensrc-java.desktop.gmk ! make/lib/Awt2dLibraries.gmk ! make/mapfiles/libjava/mapfile-vers - make/src/classes/build/tools/swingbeaninfo/DocBeanInfo.java - make/src/classes/build/tools/swingbeaninfo/GenDocletBeanInfo.java - make/src/classes/build/tools/swingbeaninfo/GenSwingBeanInfo.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java - src/java.base/share/classes/java/lang/reflect/WeakCache.java ! src/java.base/share/classes/jdk/internal/jimage/decompressor/CompressIndexes.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java ! src/java.base/share/classes/module-info.java - src/java.base/share/classes/sun/misc/CRC16.java - src/java.base/share/classes/sun/misc/Cache.java - src/java.base/share/classes/sun/misc/GC.java - src/java.base/share/classes/sun/misc/ManagedLocalsThread.java - src/java.base/share/classes/sun/misc/Signal.java - src/java.base/share/classes/sun/misc/SignalHandler.java - src/java.base/share/classes/sun/misc/SoftCache.java - src/java.base/share/classes/sun/misc/Unsafe.java - src/java.base/share/classes/sun/misc/VMSupport.java - src/java.base/share/classes/sun/net/spi/nameservice/NameService.java - src/java.base/share/classes/sun/net/spi/nameservice/NameServiceDescriptor.java - src/java.base/share/native/libjava/GC.c ! src/java.base/share/native/libjli/java.c - src/java.base/unix/classes/sun/misc/GThreadHelper.java ! src/java.compact3/share/classes/module-info.java - src/java.desktop/macosx/classes/com/apple/eawt/AboutHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/AppEvent.java - src/java.desktop/macosx/classes/com/apple/eawt/AppEventListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppForegroundListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppHiddenListener.java - src/java.desktop/macosx/classes/com/apple/eawt/AppReOpenedListener.java - src/java.desktop/macosx/classes/com/apple/eawt/OpenFilesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/OpenURIHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/PreferencesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/PrintFilesHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitHandler.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitResponse.java - src/java.desktop/macosx/classes/com/apple/eawt/QuitStrategy.java - src/java.desktop/macosx/classes/com/apple/eawt/ScreenSleepListener.java - src/java.desktop/macosx/classes/com/apple/eawt/SystemSleepListener.java - src/java.desktop/macosx/classes/com/apple/eawt/UserSessionListener.java - src/java.desktop/macosx/classes/com/apple/eawt/_AppEventLegacyHandler.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/share/classes/javax/swing/JTable.java ! src/java.desktop/share/classes/module-info.java ! src/java.logging/share/classes/module-info.java ! src/java.management/share/classes/module-info.java ! src/java.management/share/classes/sun/management/Agent.java ! src/java.se/share/classes/module-info.java ! src/jdk.crypto.pkcs11/share/classes/module-info.java ! src/jdk.httpserver/share/classes/module-info.java ! src/jdk.jdwp.agent/share/native/libjdwp/util.c ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java ! src/jdk.naming.dns/share/classes/module-info.java - src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java - src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameServiceDescriptor.java ! test/ProblemList.txt - test/java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest.html - test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html - test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html ! test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh - test/java/awt/hidpi/properties/HiDPIPropertiesLinuxTest.java ! test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/java/net/Authenticator/B4933582.sh - test/java/net/Inet4Address/DummyNameService.java - test/java/net/Inet4Address/DummyNameServiceDescriptor.java - test/java/net/Inet4Address/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/java/net/URLPermission/nstest/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/java/net/URLPermission/nstest/SimpleNameService.java - test/java/net/URLPermission/nstest/SimpleNameServiceDescriptor.java ! test/java/net/URLPermission/nstest/lookup.sh ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java ! test/java/rmi/registry/readTest/readTest.sh ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ResourceBundle/Bug6299235Test.sh ! test/jdk/modules/etc/VerifyModuleDelegation.java ! test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh ! test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh ! test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh ! test/sun/misc/CopyMemory.java - test/sun/net/InetAddress/nameservice/chaining/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/sun/net/InetAddress/nameservice/chaining/Providers.java - test/sun/net/InetAddress/nameservice/chaining/Simple1NameServiceDescriptor.java - test/sun/net/InetAddress/nameservice/chaining/Simple2NameServiceDescriptor.java - test/sun/net/InetAddress/nameservice/chaining/SimpleNameService.java - test/sun/net/InetAddress/nameservice/deadlock/Hang.java - test/sun/net/InetAddress/nameservice/deadlock/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/sun/net/InetAddress/nameservice/deadlock/ThrowingNameService.java - test/sun/net/InetAddress/nameservice/deadlock/ThrowingNameServiceDescriptor.java - test/sun/net/InetAddress/nameservice/simple/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - test/sun/net/InetAddress/nameservice/simple/SimpleNameService.java - test/sun/net/InetAddress/nameservice/simple/SimpleNameServiceDescriptor.java ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java ! test/sun/security/krb5/auto/HttpNegotiateServer.java - test/sun/security/krb5/auto/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor ! test/sun/security/krb5/auto/Renewal.java - test/sun/security/krb5/canonicalize/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor ! test/sun/security/krb5/tools/ktcheck.sh ! test/sun/security/tools/jarsigner/ts.sh ! test/sun/security/tools/keytool/autotest.sh ! test/sun/security/tools/keytool/standard.sh - test/sun/security/x509/URICertStore/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor ! test/tools/jimage/VerifyJimage.java ! test/tools/launcher/modules/addexports/AddExportsTest.java ! test/tools/launcher/modules/addexports/src/m1/jdk/test1/Main.java ! test/tools/launcher/modules/limitmods/LimitModsTest.java ! test/tools/launcher/modules/patch/PatchTest.java ! test/tools/pack200/ModuleAttributes.java ! test/tools/pack200/Utils.java From blackdrag at gmx.org Sat Apr 16 09:11:51 2016 From: blackdrag at gmx.org (Jochen Theodorou) Date: Sat, 16 Apr 2016 11:11:51 +0200 Subject: running Groovy on JDK9 In-Reply-To: <570A9BA3.5000009@gmx.org> References: <570A9BA3.5000009@gmx.org> Message-ID: <571201D7.6040300@gmx.org> On 10.04.2016 20:29, Jochen Theodorou wrote: [...] >> Compile error during compilation with javac. >> /tmp/stubgentests77510877964035184621460309483098/bar/GroovyClass.java:12: >> error: package groovy.lang does not exist >> groovy.lang.GroovyObject { Looks like I actually found out why this happens. For javac to know how to compile the file, we did scan the the classloader hierarchy for URLClassLoader and all the paths it has to the classpath for javac to look for precompiled classes. Since there is no longer a URLClassLoader with jigsaw, this no longer works. We can supply an additional classpath, I guess I will have to use something like GroovyObject.class.getProtectionDomain().getCodeSource().getLocation() instead. If it is useable solution for the future I am not sure, I guess it works for now.... once real modules come into play I suspect I will have to do a lot more work here That way I get at least 30 failures less ;) bye Jochen From blackdrag at gmx.org Sat Apr 16 15:24:29 2016 From: blackdrag at gmx.org (Jochen Theodorou) Date: Sat, 16 Apr 2016 17:24:29 +0200 Subject: running Groovy on JDK9 In-Reply-To: <570A9BA3.5000009@gmx.org> References: <570A9BA3.5000009@gmx.org> Message-ID: <5712592D.5080404@gmx.org> On 10.04.2016 20:29, Jochen Theodorou wrote: [...] so another change in JDK9 makes tests failing and that is that I can no longer use ClassLoader#getResource to get an URL to a class. I remember reading about this change here. I can work around this by using a class, that does not originate from a module, just wanted to mention, that our normal unit tests showed such a problem as well bye Jochen From uschindler at apache.org Sat Apr 16 17:16:29 2016 From: uschindler at apache.org (Uwe Schindler) Date: Sat, 16 Apr 2016 19:16:29 +0200 Subject: running Groovy on JDK9 In-Reply-To: <5712592D.5080404@gmx.org> References: <570A9BA3.5000009@gmx.org> <5712592D.5080404@gmx.org> Message-ID: <000f01d19803$b9a11300$2ce33900$@apache.org> Hi, You can still get a InputStream to bytecode of JDK-internal classes: if you get the module of the Class and then call getResourceAsStream from there. I walked that route for the forbidden-apis checker with reflection: This tool needs the bytecode of runtime classes! Code that loads bytecode of classes of the runtime with reflection: https://github.com/policeman-tools/forbidden-apis/blob/master/src/main/java/de/thetaphi/forbiddenapis/Checker.java#L223-L252 This is the reflective initialization part (to detect pre-Java 9, Java 9 without Jigsaw and Java 9 Jigsaw) and setup the 3 different possibilities: https://github.com/policeman-tools/forbidden-apis/blob/master/src/main/java/de/thetaphi/forbiddenapis/Checker.java#L132-L198 /please note, forbiddenapis also wants to know which classes of a classloader come from runtime and which are outside). So it also looks into module name (starts with java.* Or jdk.*) or if it comes from rt.jar (pre-Java 9). So code is more complicated than needed for your usecase. Unfortunately this is fine for tools like forbiddenapis that run in your build system like Maven or Gradle, but fails horrible with certain security manager configs. Maybe it is still helpful. I would like to have an explanation by the OpenJDK developers, why Jigsaw no longer returns jrt:// URL in ClassLoader#getResource on foreign modules - what the reason for this? Those hacks needed because of this to get byte code of runtime classes is incredible stupid! Uwe ----- Uwe Schindler uschindler at apache.org ASF Member, Apache Lucene PMC / Committer Bremen, Germany http://lucene.apache.org/ > -----Original Message----- > From: jigsaw-dev [mailto:jigsaw-dev-bounces at openjdk.java.net] On Behalf > Of Jochen Theodorou > Sent: Saturday, April 16, 2016 5:24 PM > To: jigsaw-dev at openjdk.java.net > Subject: Re: running Groovy on JDK9 > > On 10.04.2016 20:29, Jochen Theodorou wrote: > [...] > > so another change in JDK9 makes tests failing and that is that I can no > longer use ClassLoader#getResource to get an URL to a class. I remember > reading about this change here. I can work around this by using a class, > that does not originate from a module, just wanted to mention, that our > normal unit tests showed such a problem as well > > bye Jochen From Alan.Bateman at oracle.com Sat Apr 16 20:31:25 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sat, 16 Apr 2016 21:31:25 +0100 Subject: running Groovy on JDK9 In-Reply-To: <000f01d19803$b9a11300$2ce33900$@apache.org> References: <570A9BA3.5000009@gmx.org> <5712592D.5080404@gmx.org> <000f01d19803$b9a11300$2ce33900$@apache.org> Message-ID: <5712A11D.9070203@oracle.com> On 16/04/2016 18:16, Uwe Schindler wrote: > : > > I would like to have an explanation by the OpenJDK developers, why Jigsaw no longer returns jrt:// URL in ClassLoader#getResource on foreign modules - what the reason for this? > This has come up several times and is tracked as #ClassFilesAsResources [1] and #ResourceEncapsulation [2] on the JSR issues list. We have to hold back changing here until there is discussion in the JSR on these topics. -Alan [1] http://openjdk.java.net/projects/jigsaw/spec/issues/#ClassFilesAsResources [2] http://openjdk.java.net/projects/jigsaw/spec/issues/#ResourceEncapsulation From uschindler at apache.org Sat Apr 16 21:19:20 2016 From: uschindler at apache.org (Uwe Schindler) Date: Sat, 16 Apr 2016 23:19:20 +0200 Subject: running Groovy on JDK9 In-Reply-To: <5712A11D.9070203@oracle.com> References: <570A9BA3.5000009@gmx.org> <5712592D.5080404@gmx.org> <000f01d19803$b9a11300$2ce33900$@apache.org> <5712A11D.9070203@oracle.com> Message-ID: <002d01d19825$a62f61b0$f28e2510$@apache.org> Hi Alan, Thanks for the pointer! I was not aware that my name is on the list of discussion topics. :-) I will check out how to contribute to the JSR. I have an idea to "relax" this a bit but still not allow loading private stuff. My idea would be that you can read resources and class byte code from exported packages, but not from hidden packages. This would hide resources/class files in jdk.internal packages, but it would allow code to load resources (or class files) from java.lang or similar. Uwe ----- Uwe Schindler uschindler at apache.org ASF Member, Apache Lucene PMC / Committer Bremen, Germany http://lucene.apache.org/ > -----Original Message----- > From: Alan Bateman [mailto:Alan.Bateman at oracle.com] > Sent: Saturday, April 16, 2016 10:31 PM > To: Uwe Schindler ; jigsaw-dev at openjdk.java.net > Subject: Re: running Groovy on JDK9 > > > On 16/04/2016 18:16, Uwe Schindler wrote: > > : > > > > I would like to have an explanation by the OpenJDK developers, why Jigsaw > no longer returns jrt:// URL in ClassLoader#getResource on foreign modules - > what the reason for this? > > > This has come up several times and is tracked as #ClassFilesAsResources > [1] and #ResourceEncapsulation [2] on the JSR issues list. We have to > hold back changing here until there is discussion in the JSR on these > topics. > > -Alan > > [1] > http://openjdk.java.net/projects/jigsaw/spec/issues/#ClassFilesAsResource > s > [2] > http://openjdk.java.net/projects/jigsaw/spec/issues/#ResourceEncapsulati > on From blackdrag at gmx.org Sun Apr 17 07:35:55 2016 From: blackdrag at gmx.org (Jochen Theodorou) Date: Sun, 17 Apr 2016 09:35:55 +0200 Subject: running Groovy on JDK9 In-Reply-To: <000e01d19803$a6285540$f278ffc0$@thetaphi.de> References: <570A9BA3.5000009@gmx.org> <5712592D.5080404@gmx.org> <000e01d19803$a6285540$f278ffc0$@thetaphi.de> Message-ID: <57133CDB.6060208@gmx.org> On 16.04.2016 19:16, Uwe Schindler wrote: > Hi, > > You can still get a InputStream to bytecode of JDK-internal classes: if you get the module of the Class and then call getResourceAsStream from there. I walked that route for the forbidden-apis checker with reflection: This tool needs the bytecode of runtime classes! it is a bigger rewrite, but possible to do, yes.... well... anything but the module part. Right now I am only trying to get my tests working, not to make a module. And all the jars I am using are no modules either... so everything comes in from the classpath atm. The only modules involved are the ones from java itself. And for this part I don?t need the bytecode of those... right now that is only for the unit tests of a part that gets a proper configuration when normally used. > Code that loads bytecode of classes of the runtime with reflection: > https://github.com/policeman-tools/forbidden-apis/blob/master/src/main/java/de/thetaphi/forbiddenapis/Checker.java#L223-L252 thanks, I will keep that in mind. > This is the reflective initialization part (to detect pre-Java 9, Java 9 without Jigsaw and Java 9 Jigsaw) and setup the 3 different possibilities: > https://github.com/policeman-tools/forbidden-apis/blob/master/src/main/java/de/thetaphi/forbiddenapis/Checker.java#L132-L198 > /please note, forbiddenapis also wants to know which classes of a classloader come from runtime and which are outside). So it also looks into module name (starts with java.* Or jdk.*) or if it comes from rt.jar (pre-Java 9). So code is more complicated than needed for your usecase. > > Unfortunately this is fine for tools like forbiddenapis that run in your build system like Maven or Gradle, but fails horrible with certain security manager configs. Maybe it is still helpful. yeah, I am aware of that. I don?t intend to support runtime compilation with reading from jars in those environments. We can produce a ClassNode (which I need to compile Groovy classes) in two ways. One is by using ASM to get the signatures, the other to load using reflective information. The later one is the oldest version and cannot do as well as other versions because you cannot get annotation constants without initializing the class in all cases. Also the ASM version is actually faster and can deal with classes, consisting of only the signatures (which can be inspected by javac, but not loaded by reflection). bye Jochen From rfscholte at apache.org Sun Apr 17 11:03:07 2016 From: rfscholte at apache.org (Robert Scholte) Date: Sun, 17 Apr 2016 13:03:07 +0200 Subject: Javadoc custom Taglets Message-ID: Hi, in preparation of the DevoxxFr talk about Maven and Java9 by Herv? Boutemy and Arnaud H?ritier I noticed some issues with custom taglets when generation Javadoc reports. For the developers of Maven plugins we have a set of Annotations or DocletTags[1] to generate the plugin descriptor. The taglets are based on com.sun.tools.doclets.Taglet, but when trying to run this with Java 9-ea+113 I get the following exception. Caused by: org.apache.maven.plugin.MojoExecutionException: An error has occurred in JavaDocs report generation: Exit code: 1 - javadoc: error - Error - Exception java.lang.ClassCastException thrown while trying to register Taglet org.apache.maven.tools.plugin.javadoc.MojoAggregatorTypeTaglet... What's the preferred way to write custom Taglets when using Java9 and will this also work with older versions of Java? thanks, Robert [1] https://maven.apache.org/components/plugin-tools/maven-plugin-tools-javadoc/ From frank.yuan at oracle.com Mon Apr 18 05:57:12 2016 From: frank.yuan at oracle.com (Frank Yuan) Date: Mon, 18 Apr 2016 13:57:12 +0800 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <5711192D.9070008@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> Message-ID: <00ac01d19937$28379f80$78a6de80$@oracle.com> > -----Original Message----- > From: huizhe wang [mailto:huizhe.wang at oracle.com] > Sent: Saturday, April 16, 2016 12:39 AM > To: Frank Yuan > Cc: 'Alan Bateman' ; jigsaw-dev at openjdk.java.net > Subject: Re: RFR: 8078820: Test deploying a XML parser as a module > > > On 4/14/2016 12:43 AM, Frank Yuan wrote: > >> -----Original Message----- > >> From: huizhe wang [mailto:huizhe.wang at oracle.com] > >> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module > >> > >> > >> On 4/13/2016 5:55 AM, Alan Bateman wrote: > >>> On 11/04/2016 02:39, Frank Yuan wrote: > >>>> Hi Alan and Joe > >>>> > >>>> Would you like to have a look at this review > >>>> http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? > >>>> > >>>> > >>> I skimmed through the tests and they are testing the right scenarios. > >>> > >>> I assume you'll work with Joe to get this into jdk9/dev/jaxp. > >> Frank, > >> > >> Is it because of the use of jdk.testlibrary, e.g. > >> jdk.testlibrary.ProcessTools that you had to put the tests in the jdk > repo? Is it possible to make a copy of the testlibrary or > > the > >> particular functions needed so that we can get this into jdk9/dev/jaxp? > >> > > Hi Joe and Alan > > > > I moved the test to jdk9/dev/jaxp with copying the necessary files > > from > jdk/test/lib/testlibrary to > > jaxp/test/javax/xml/jaxp/libs/jdk/testlibrary, and I have to create a > separate directory jaxp/test/javax/xml/jaxp/module for these > > new tests because the tests under the existent directories use > TestNG.dirs property, that causes all java files will be compiled > > once jtreg runs the test, but the module tests need to control the > compilation by itself. > > Is there such a support/plan from jtreg? I wonder if this is the new norm for writing / adding tests with module support. > I expect but no such support now, now all similar tests take this way... Frank > Joe > > > > > Please check the new webrev: > http://cr.openjdk.java.net/~fyuan/8078820/webrev.02/ , Thanks! > > > > > > Frank > > > >> -Joe > >> > >>> -Alan > > From markt at apache.org Mon Apr 18 09:18:48 2016 From: markt at apache.org (Mark Thomas) Date: Mon, 18 Apr 2016 10:18:48 +0100 Subject: Project Jigsaw, Apache Tomcat and RMI related memory leaks In-Reply-To: <5710A5C6.90109@oracle.com> References: <5710A5C6.90109@oracle.com> Message-ID: <5714A678.6070108@apache.org> Hi, The Apache Tomcat community was asked by Rory O'Donnell for feedback on JDK 9 + Project Jigsaw. Having provided that feedback we were directed here so I have reproduced that feedback below. I've started testing Tomcat trunk with JDK 9 + Project Jigsaw and it looks like we are going to hit a bunch of problems related to Tomcat's memory leak protection. The short version is there are lots of JDK calls that can result in a reference being retained to the current class loader. If that class loader is the web application class loader it often ends up being pinned in memory. This triggers a memory leak when the web application is reloaded since the web application class loader is not eligible for GC. Tomcat generally uses reflection to find these problems. It then does one of two things: - If the JRE provides an API the application developer should have used to clean up the reference, Tomcat does this for them and then logs a very loud error message telling the developer they need to fix their app. - If there is nothing the developer could have done to avoid the problem, Tomcat cleans it up. Usually this is via reflection again. Reporting this second class of issues as JRE bugs has been on my TODO list for a long time. It looks like Java 9 is going to bump this to the top of the list. The first problem we have hit is related to RMI. The memory leak is triggered by a call to: java.rmi.registry.Registry.bind() or java.rmi.registry.Registry.rebind() The problem occurs when an object of a class loaded by the web application class loader is bound to the RMI registry. There is no standard API (that I have found) that completely removes all references. In particular java.rmi.registry.Registry.unbind() doesn't help. The code Tomcat uses to clean this up is at [1]. Essentially, we need to remove any reference to the web application's class loader from the RMI caches. With JDK 9 this fails with: java.lang.reflect.InaccessibleObjectException: Unable to make member of class sun.rmi.transport.Target accessible: module java.rmi does not export sun.rmi.transport to unnamed module ... I took a look at the JDK 9 API but I could not find a way to bypass this. Possible solutions include: 1. Some way that allows us to continue to use reflection as per the current code. 2. A new method somewhere in the RMI API that clears all references associated with a given class loader from the cache. 3. Modify Registry.unbind() so it removes all references. 4. Something else... I do have a concern with 3 on its own that, while that would allow applications to clear their own references, it would mean Tomcat would have no way to check for the problem. Ideally, I'd like to see the API extended so a) applications are able to clean up after themselves and b) Tomcat can check for leaked references and generate error messages for the ones found. Any and all suggestions gratefully received. Thanks, Mark [1] http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java?view=annotate#l2214 From Alan.Bateman at oracle.com Mon Apr 18 11:14:12 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 18 Apr 2016 12:14:12 +0100 Subject: Project Jigsaw, Apache Tomcat and RMI related memory leaks In-Reply-To: <5714A678.6070108@apache.org> References: <5710A5C6.90109@oracle.com> <5714A678.6070108@apache.org> Message-ID: <5714C184.5000108@oracle.com> On 18/04/2016 10:18, Mark Thomas wrote: > Hi, > > The Apache Tomcat community was asked by Rory O'Donnell for feedback on > JDK 9 + Project Jigsaw. Having provided that feedback we were directed > here so I have reproduced that feedback below. > > > I've started testing Tomcat trunk with JDK 9 + Project Jigsaw and it > looks like we are going to hit a bunch of problems related to Tomcat's > memory leak protection. > > The short version is there are lots of JDK calls that can result in a > reference being retained to the current class loader. If that class > loader is the web application class loader it often ends up being pinned > in memory. This triggers a memory leak when the web application is > reloaded since the web application class loader is not eligible for GC. > > Tomcat generally uses reflection to find these problems. It then does > one of two things: > - If the JRE provides an API the application developer should have used > to clean up the reference, Tomcat does this for them and then logs a > very loud error message telling the developer they need to fix their app. > - If there is nothing the developer could have done to avoid the > problem, Tomcat cleans it up. Usually this is via reflection again. > > Reporting this second class of issues as JRE bugs has been on my TODO > list for a long time. It looks like Java 9 is going to bump this to the > top of the list. I remember you brought this up on core-libs-dev [1] and the suggestion at the time was to create bugs for any of the issues that are still relevant. So yes, bumping the priority on that would be good. On the RMI issue then it would be good to start a thread specifically on this topic on core-libs-dev. -Alan [1] http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-September/028823.html From markt at apache.org Mon Apr 18 11:26:23 2016 From: markt at apache.org (Mark Thomas) Date: Mon, 18 Apr 2016 12:26:23 +0100 Subject: Project Jigsaw, Apache Tomcat and RMI related memory leaks In-Reply-To: <5714C184.5000108@oracle.com> References: <5710A5C6.90109@oracle.com> <5714A678.6070108@apache.org> <5714C184.5000108@oracle.com> Message-ID: <5714C45F.4080802@apache.org> On 18/04/2016 12:14, Alan Bateman wrote: > On 18/04/2016 10:18, Mark Thomas wrote: >> Hi, >> >> The Apache Tomcat community was asked by Rory O'Donnell for feedback on >> JDK 9 + Project Jigsaw. Having provided that feedback we were directed >> here so I have reproduced that feedback below. >> >> >> I've started testing Tomcat trunk with JDK 9 + Project Jigsaw and it >> looks like we are going to hit a bunch of problems related to Tomcat's >> memory leak protection. >> >> The short version is there are lots of JDK calls that can result in a >> reference being retained to the current class loader. If that class >> loader is the web application class loader it often ends up being pinned >> in memory. This triggers a memory leak when the web application is >> reloaded since the web application class loader is not eligible for GC. >> >> Tomcat generally uses reflection to find these problems. It then does >> one of two things: >> - If the JRE provides an API the application developer should have used >> to clean up the reference, Tomcat does this for them and then logs a >> very loud error message telling the developer they need to fix their app. >> - If there is nothing the developer could have done to avoid the >> problem, Tomcat cleans it up. Usually this is via reflection again. >> >> Reporting this second class of issues as JRE bugs has been on my TODO >> list for a long time. It looks like Java 9 is going to bump this to the >> top of the list. > I remember you brought this up on core-libs-dev [1] and the suggestion > at the time was to create bugs for any of the issues that are still > relevant. So yes, bumping the priority on that would be good. > > On the RMI issue then it would be good to start a thread specifically on > this topic on core-libs-dev. OK. I'll restart this thread there. I'm also reviewing the various other leaks and I'll start new threads as each one is confirmed. Mark From Alan.Bateman at oracle.com Mon Apr 18 12:35:58 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 18 Apr 2016 13:35:58 +0100 Subject: Javadoc custom Taglets In-Reply-To: References: Message-ID: <5714D4AE.8000206@oracle.com> On 17/04/2016 12:03, Robert Scholte wrote: > Hi, > > in preparation of the DevoxxFr talk about Maven and Java9 by Herv? > Boutemy and Arnaud H?ritier I noticed some issues with custom taglets > when generation Javadoc reports. > > For the developers of Maven plugins we have a set of Annotations or > DocletTags[1] to generate the plugin descriptor. > The taglets are based on com.sun.tools.doclets.Taglet, but when trying > to run this with Java 9-ea+113 I get the following exception. > > Caused by: org.apache.maven.plugin.MojoExecutionException: An error > has occurred in JavaDocs report generation: > Exit code: 1 - javadoc: error - Error - Exception > java.lang.ClassCastException thrown while trying to register Taglet > org.apache.maven.tools.plugin.javadoc.MojoAggregatorTypeTaglet... > > What's the preferred way to write custom Taglets when using Java9 and > will this also work with older versions of Java? > I will guess that this is related to the JEP 221 work on the new doclet API, maybe jdk.javadoc.doclet.taglet.Taglet vs. com.sun.tools.doclets.Taglet. It might be best to bring this to javadoc-dev for discussion. -Alan From huizhe.wang at oracle.com Mon Apr 18 16:28:26 2016 From: huizhe.wang at oracle.com (huizhe wang) Date: Mon, 18 Apr 2016 09:28:26 -0700 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <00ac01d19937$28379f80$78a6de80$@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> Message-ID: <57150B2A.1010500@oracle.com> On 4/17/2016 10:57 PM, Frank Yuan wrote: > >> -----Original Message----- >> From: huizhe wang [mailto:huizhe.wang at oracle.com] >> Sent: Saturday, April 16, 2016 12:39 AM >> To: Frank Yuan >> Cc: 'Alan Bateman' ; jigsaw-dev at openjdk.java.net >> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module >> >> >> On 4/14/2016 12:43 AM, Frank Yuan wrote: >>>> -----Original Message----- >>>> From: huizhe wang [mailto:huizhe.wang at oracle.com] >>>> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module >>>> >>>> >>>> On 4/13/2016 5:55 AM, Alan Bateman wrote: >>>>> On 11/04/2016 02:39, Frank Yuan wrote: >>>>>> Hi Alan and Joe >>>>>> >>>>>> Would you like to have a look at this review >>>>>> http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? >>>>>> >>>>>> >>>>> I skimmed through the tests and they are testing the right scenarios. >>>>> >>>>> I assume you'll work with Joe to get this into jdk9/dev/jaxp. >>>> Frank, >>>> >>>> Is it because of the use of jdk.testlibrary, e.g. >>>> jdk.testlibrary.ProcessTools that you had to put the tests in the jdk >> repo? Is it possible to make a copy of the testlibrary or >>> the >>>> particular functions needed so that we can get this into jdk9/dev/jaxp? >>>> >>> Hi Joe and Alan >>> >>> I moved the test to jdk9/dev/jaxp with copying the necessary files >>> from >> jdk/test/lib/testlibrary to >>> jaxp/test/javax/xml/jaxp/libs/jdk/testlibrary, and I have to create a >> separate directory jaxp/test/javax/xml/jaxp/module for these >>> new tests because the tests under the existent directories use >> TestNG.dirs property, that causes all java files will be compiled >>> once jtreg runs the test, but the module tests need to control the >> compilation by itself. >> >> Is there such a support/plan from jtreg? I wonder if this is the new norm for writing / adding tests with module support. >> > I expect but no such support now, now all similar tests take this way... Ok. I'm fine with your patch then. Thanks, Joe > > Frank > >> Joe >> >>> Please check the new webrev: >> http://cr.openjdk.java.net/~fyuan/8078820/webrev.02/ , Thanks! >>> >>> Frank >>> >>>> -Joe >>>> >>>>> -Alan > From huizhe.wang at oracle.com Mon Apr 18 16:32:35 2016 From: huizhe.wang at oracle.com (huizhe wang) Date: Mon, 18 Apr 2016 09:32:35 -0700 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <57111A55.7050109@Oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <57111A55.7050109@Oracle.com> Message-ID: <57150C23.3050406@oracle.com> On 4/15/2016 9:44 AM, Roger Riggs wrote: > Hi Frank, > > The test library components seem to duplicate those already in the > JDK/test/lib/testlibrary > There needs to be a good reason to duplicate the test library. This is because we're moving the tests into the jaxp repository from the jdk repo. Frank's tests, and likely future tests, are using the testlibrary. -Joe > > Roger > > > > On 4/14/2016 3:43 AM, Frank Yuan wrote: >>> -----Original Message----- >>> From: huizhe wang [mailto:huizhe.wang at oracle.com] >>> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module >>> >>> >>> On 4/13/2016 5:55 AM, Alan Bateman wrote: >>>> On 11/04/2016 02:39, Frank Yuan wrote: >>>>> Hi Alan and Joe >>>>> >>>>> Would you like to have a look at this review >>>>> http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? >>>>> >>>>> >>>> I skimmed through the tests and they are testing the right scenarios. >>>> >>>> I assume you'll work with Joe to get this into jdk9/dev/jaxp. >>> Frank, >>> >>> Is it because of the use of jdk.testlibrary, e.g. >>> jdk.testlibrary.ProcessTools that you had to put the tests in the >>> jdk repo? Is it possible to make a copy of the testlibrary or >> the >>> particular functions needed so that we can get this into jdk9/dev/jaxp? >>> >> Hi Joe and Alan >> >> I moved the test to jdk9/dev/jaxp with copying the necessary files >> from jdk/test/lib/testlibrary to >> jaxp/test/javax/xml/jaxp/libs/jdk/testlibrary, and I have to create a >> separate directory jaxp/test/javax/xml/jaxp/module for these >> new tests because the tests under the existent directories use >> TestNG.dirs property, that causes all java files will be compiled >> once jtreg runs the test, but the module tests need to control the >> compilation by itself. >> >> Please check the new webrev: >> http://cr.openjdk.java.net/~fyuan/8078820/webrev.02/ , Thanks! >> >> >> Frank >> >>> -Joe >>> >>>> -Alan >> > From alan.bateman at oracle.com Mon Apr 18 16:33:22 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 18 Apr 2016 16:33:22 +0000 Subject: hg: jigsaw/jake/jdk: ModuleFinderTest failing on Windows Message-ID: <201604181633.u3IGXMQP022212@aojmv0008.oracle.com> Changeset: a9a7ec2b1c3e Author: alanb Date: 2016-04-18 17:33 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a9a7ec2b1c3e ModuleFinderTest failing on Windows ! src/java.base/share/classes/java/lang/module/ModulePath.java From Alan.Bateman at oracle.com Mon Apr 18 17:40:04 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 18 Apr 2016 18:40:04 +0100 Subject: Project Jigsaw, build 114 on 04-15-2016 (#4859) Message-ID: <57151BF4.4060202@oracle.com> The jigsaw/jake forest has been updated to jdk-9+114 and the EA build [1] has been refreshed. -Alan [1] https://jdk9.java.net/jigsaw/ From huizhe.wang at oracle.com Mon Apr 18 20:48:03 2016 From: huizhe.wang at oracle.com (huizhe wang) Date: Mon, 18 Apr 2016 13:48:03 -0700 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <57150B2A.1010500@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> <57150B2A.1010500@oracle.com> Message-ID: <57154803.30705@oracle.com> Frank, Alan, We recently discussed several issues[1] related to jaxp's provider-lookup. All of them are currently deferred to until JDK-8132026 is addressed. I have a feeling we might have a quite different provider-lookup procedure in the JDK 9 / Jigsaw, and we'd have to go through a spec change. I therefore think we might want to postpone this test and make it one to cover such a spec change. What would you think? [1] https://bugs.openjdk.java.net/browse/JDK-8015099 https://bugs.openjdk.java.net/browse/JDK-8152063 https://bugs.openjdk.java.net/browse/JDK-8152912 [2] https://bugs.openjdk.java.net/browse/JDK-8132026 Thanks, Joe On 4/18/2016 9:28 AM, huizhe wang wrote: > > On 4/17/2016 10:57 PM, Frank Yuan wrote: >> >>> -----Original Message----- >>> From: huizhe wang [mailto:huizhe.wang at oracle.com] >>> Sent: Saturday, April 16, 2016 12:39 AM >>> To: Frank Yuan >>> Cc: 'Alan Bateman' ; >>> jigsaw-dev at openjdk.java.net >>> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module >>> >>> >>> On 4/14/2016 12:43 AM, Frank Yuan wrote: >>>>> -----Original Message----- >>>>> From: huizhe wang [mailto:huizhe.wang at oracle.com] >>>>> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module >>>>> >>>>> >>>>> On 4/13/2016 5:55 AM, Alan Bateman wrote: >>>>>> On 11/04/2016 02:39, Frank Yuan wrote: >>>>>>> Hi Alan and Joe >>>>>>> >>>>>>> Would you like to have a look at this review >>>>>>> http://cr.openjdk.java.net/~fyuan/8078820/webrev.01/ ? >>>>>>> >>>>>>> >>>>>> I skimmed through the tests and they are testing the right >>>>>> scenarios. >>>>>> >>>>>> I assume you'll work with Joe to get this into jdk9/dev/jaxp. >>>>> Frank, >>>>> >>>>> Is it because of the use of jdk.testlibrary, e.g. >>>>> jdk.testlibrary.ProcessTools that you had to put the tests in the jdk >>> repo? Is it possible to make a copy of the testlibrary or >>>> the >>>>> particular functions needed so that we can get this into >>>>> jdk9/dev/jaxp? >>>>> >>>> Hi Joe and Alan >>>> >>>> I moved the test to jdk9/dev/jaxp with copying the necessary files >>>> from >>> jdk/test/lib/testlibrary to >>>> jaxp/test/javax/xml/jaxp/libs/jdk/testlibrary, and I have to create a >>> separate directory jaxp/test/javax/xml/jaxp/module for these >>>> new tests because the tests under the existent directories use >>> TestNG.dirs property, that causes all java files will be compiled >>>> once jtreg runs the test, but the module tests need to control the >>> compilation by itself. >>> >>> Is there such a support/plan from jtreg? I wonder if this is the new >>> norm for writing / adding tests with module support. >>> >> I expect but no such support now, now all similar tests take this way... > > Ok. I'm fine with your patch then. > > Thanks, > Joe > >> >> Frank >> >>> Joe >>> >>>> Please check the new webrev: >>> http://cr.openjdk.java.net/~fyuan/8078820/webrev.02/ , Thanks! >>>> >>>> Frank >>>> >>>>> -Joe >>>>> >>>>>> -Alan >> > From Alan.Bateman at oracle.com Tue Apr 19 07:06:04 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 19 Apr 2016 08:06:04 +0100 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <57154803.30705@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> <57150B2A.1010500@oracle.com> <57154803.30705@oracle.com> Message-ID: <5715D8DC.6090205@oracle.com> On 18/04/2016 21:48, huizhe wang wrote: > Frank, Alan, > > We recently discussed several issues[1] related to jaxp's > provider-lookup. All of them are currently deferred to until > JDK-8132026 is addressed. I have a feeling we might have a quite > different provider-lookup procedure in the JDK 9 / Jigsaw, and we'd > have to go through a spec change. I therefore think we might want to > postpone this test and make it one to cover such a spec change. What > would you think? I think we should fix JDK-8015099 (a long standing bug) and also see if we can fix SAX to use ServiceLoader (JDK-8152912). I wouldn't expect either of these to be require re-work later. -Alan From jan.lahoda at oracle.com Tue Apr 19 07:48:22 2016 From: jan.lahoda at oracle.com (jan.lahoda at oracle.com) Date: Tue, 19 Apr 2016 07:48:22 +0000 Subject: hg: jigsaw/jake/langtools: When enabling jdk.* modules, only enable such that have unqualified exports. Message-ID: <201604190748.u3J7mMLB023314@aojmv0008.oracle.com> Changeset: 51ae411baf31 Author: jlahoda Date: 2016-04-19 09:47 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/51ae411baf31 When enabling jdk.* modules, only enable such that have unqualified exports. ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! test/tools/javac/modules/AddLimitMods.java From frank.yuan at oracle.com Tue Apr 19 07:52:12 2016 From: frank.yuan at oracle.com (Frank Yuan) Date: Tue, 19 Apr 2016 15:52:12 +0800 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <5715D8DC.6090205@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> <57150B2A.1010500@oracle.com> <57154803.30705@oracle.com> <5715D8DC.6090205@oracle.com> Message-ID: <045a01d19a10$63ade4f0$2b09aed0$@oracle.com> > -----Original Message----- > From: Alan Bateman [mailto:Alan.Bateman at oracle.com] > Sent: Tuesday, April 19, 2016 3:06 PM > To: huizhe wang ; Frank Yuan > Cc: jigsaw-dev at openjdk.java.net; Daniel Fuchs > Subject: Re: RFR: 8078820: Test deploying a XML parser as a module > > > On 18/04/2016 21:48, huizhe wang wrote: > > Frank, Alan, > > > > We recently discussed several issues[1] related to jaxp's > > provider-lookup. All of them are currently deferred to until > > JDK-8132026 is addressed. I have a feeling we might have a quite > > different provider-lookup procedure in the JDK 9 / Jigsaw, and we'd > > have to go through a spec change. I therefore think we might want to > > postpone this test and make it one to cover such a spec change. What > > would you think? > I think we should fix JDK-8015099 (a long standing bug) and also see if we can fix SAX to use ServiceLoader (JDK-8152912). I wouldn't > expect either of these to be require re-work later. > Hi Joe So how about I checked my test in at first, and then iterate it if required? Btw, I added my comment in bug JDK-8015099 FYI. Frank > -Alan From alan.bateman at oracle.com Tue Apr 19 10:17:42 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 19 Apr 2016 10:17:42 +0000 Subject: hg: jigsaw/jake/jdk: XjcOptionalPropertyTest needs -addmods Message-ID: <201604191017.u3JAHgs0009185@aojmv0008.oracle.com> Changeset: f8354b0eded5 Author: alanb Date: 2016-04-19 11:17 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f8354b0eded5 XjcOptionalPropertyTest needs -addmods ! test/javax/xml/bind/xjc/8032884/XjcOptionalPropertyTest.java From alan.bateman at oracle.com Tue Apr 19 10:17:49 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 19 Apr 2016 10:17:49 +0000 Subject: hg: jigsaw/jake/jaxws: schemagen needs to invoke javac with -addmods Message-ID: <201604191017.u3JAHns0009300@aojmv0008.oracle.com> Changeset: 5253e49bcba2 Author: alanb Date: 2016-04-19 11:17 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/5253e49bcba2 schemagen needs to invoke javac with -addmods ! src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/SchemaGenerator.java From Alan.Bateman at oracle.com Tue Apr 19 11:35:16 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 19 Apr 2016 12:35:16 +0100 Subject: #ReflectiveAccessByInstrumentationAgents Message-ID: <571617F4.5010007@oracle.com> This is a follow-up to Andrew Dinn's mail to jpms-spec-comments [1] on the topic of instrumentation. Andrew confirmed that he is okay to move follow-up discussion here. Andrew - I think it would be useful if you could set the scene and describe some of the scenarios where the Byteman instrumentation can potentially fail at runtime. I get the impression from the mail that you weren't seeing any issues at the time but this may have been early experimentation. A starting question might be whether Byteman can potentially inject code into module A with calls into non-exported types in module B? Does this arise with fault injection? I may be reading too much into this but I would assume Byteman is already doing some checking to ensure that the B types are visible from A. If you add support for modules to Byteman then the scenario means thinking about accessibility too. For the access to succeed then it means that (1) module A reads module B, and (2) that B exports the package to A. For (1) then there are APIs in both java.lang.instrument and JNI and so a JVM TI or java Byteman can do this. Alternatively it can instrument code in A to have A reflectively read B. For (2) then then there aren't API to break encapsulation but Byteman could instrument code in B to use the reflective APIs to export the package to A. This is runtime equivalent of the -XaddExports command line option. Your mail mentions setAccessible which suggests it might be actually be injecting code that uses core reflection rather than static references to types in B. There is a mention of accessing private members in your mail so maybe it uses core reflection for this scenario because such access is not allowed with bytecode??? If this is the case then you'll still need (2). Another question is about your comment on "get-out for JVM TI agent code". JVM TI agents are native agents and so are using JNI where there isn't any access checks. I don't expect there are issues there but it would be good to clarify what you may have meant at the time. Thanks, -Alan [1] http://mail.openjdk.java.net/pipermail/jpms-spec-comments/2016-March/000020.html From alan.bateman at oracle.com Tue Apr 19 13:49:15 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 19 Apr 2016 13:49:15 +0000 Subject: hg: jigsaw/jake/jdk: Update -Xpatch test to run with patches as JAR files Message-ID: <201604191349.u3JDnFVZ005396@aojmv0008.oracle.com> Changeset: 6cf16adf2e09 Author: alanb Date: 2016-04-19 14:48 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/6cf16adf2e09 Update -Xpatch test to run with patches as JAR files ! test/tools/launcher/modules/addreads/AddReadsTest.java ! test/tools/launcher/modules/patch/PatchTest.java From kevin.rushforth at oracle.com Tue Apr 19 15:25:24 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 19 Apr 2016 08:25:24 -0700 (PDT) Subject: [9] Review request: 8153872: Nashorn no longer needs access to com.sun.javafx.application In-Reply-To: <57068F11.2080107@oracle.com> References: <57068F11.2080107@oracle.com> Message-ID: <57164DE4.3030008@oracle.com> Jim, Please review the following fix: https://bugs.openjdk.java.net/browse/JDK-8153872 http://cr.openjdk.java.net/~kcr/8153872/webrev.00/ This is a simple backout of the earlier fix for JDK-8153754. -- Kevin From jan.lahoda at oracle.com Tue Apr 19 16:40:05 2016 From: jan.lahoda at oracle.com (jan.lahoda at oracle.com) Date: Tue, 19 Apr 2016 16:40:05 +0000 Subject: hg: jigsaw/jake/langtools: Putting get{Package, Type}Element(ModuleElement, CharSequence) to the API Message-ID: <201604191640.u3JGe5CK017084@aojmv0008.oracle.com> Changeset: 34cf24d59a8a Author: jlahoda Date: 2016-04-19 18:39 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/34cf24d59a8a Putting get{Package,Type}Element(ModuleElement, CharSequence) to the API ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java ! test/tools/all/RunCodingRules.java From adinn at redhat.com Tue Apr 19 17:00:54 2016 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 19 Apr 2016 18:00:54 +0100 Subject: #ReflectiveAccessByInstrumentationAgents In-Reply-To: <571617F4.5010007@oracle.com> References: <571617F4.5010007@oracle.com> Message-ID: <57166446.4080608@redhat.com> Hi Alan, Thanks very much for kicking of this discussion. On 19/04/16 12:35, Alan Bateman wrote: > > This is a follow-up to Andrew Dinn's mail to jpms-spec-comments [1] on > the topic of instrumentation. Andrew confirmed that he is okay to move > follow-up discussion here. And I am on the list so no need to include me specially in the CC. Response to your questions are included inline below. Sorry for the length of the reply -- it's really quite complicated (the first draft of this reply was twice as long :-) regards, Andrew Dinn ----------- Senior Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (US), Michael O'Neill (Ireland), Paul Argiry (US) > Andrew - I think it would be useful if you could set the scene and > describe some of the scenarios where the Byteman instrumentation can > potentially fail at runtime. I get the impression from the mail that you > weren't seeing any issues at the time but this may have been early > experimentation. I have been building and testing on JDK9 Byteman using the EA program releases and have not seen anything break so far. However, that may just be because i) Byteman and the Byteman tests are only using runtime classes from the java base module and ii) app code used in tests is not modularized -- well, at least not using Jigsaw (see below). My concern was based on statements in the requirements about limiting reflective access according to module context i.e. code in module M might lose the ability to access non-public members of classes belonging to module M'. Byteman relies on reflective access to get/put non-public fields and to invoke non-public methods. I noticed in the Jigsaw code base that setEnabled was checking the module of the caller. So, I wanted to be sure that setEnabled would still work (at the very least would still work so long as my Java agent code was making the call). > A starting question might be whether Byteman can potentially inject code > into module A with calls into non-exported types in module B? Does this > arise with fault injection? I think there is potential for this now that we have a module system in place. It certainly seems like it. For example, code injected into method C.m might currently try to read a static field f' belonging to some other class C'. In the past when C and C' were both in the JDK runtime or when C was some app class and C' was part of the JDK runtime it was always possible to resolve C' from the classloader of C and, if f' was public, access C'.f' directly or, when it was non-public, use a Field instance to access it reflectively. If C and C' are now in different modules or C is in an unmodularized app jar and C' in a module then I see several problems which may arise. Firstly, if the code injected into C.m includes reference to a JDK runtime class C' in module M' and C' is not exported then can a classloader lookup from the classloader of C fail? If so then this is going to be a legacy compatibility problem. Secondly, assume the reference to C' can be resolved allowing Byteman agent code to obtain a Field instance fi' for a non-public field f' or a Method instance mi' for a non-public method m' of C'. Will a call to setEnabled on fi'/mi' be rejected because the members in question belong to a module M' which Byteman agent classes do not belong to? It was this possibility that was hinted at in the requirements and whihc set alarm bells ringing. Thirdly, assume setEnabled does succeed. Will acesses/invocations of fi'/mi' from Byteman agent code be rejected because the fields in question belong to a module M' which Byteman agent classes do not belong to? Finally, will acesses/invocations of fi'/mi' from other code possibly be rejected because the fields in question belong to a module M' which accessing does not belong to? The last question is relevant when Byteman executes injected code by compiling it to bytecode rather than interpreting it. The generated bytecode is attached to a dynamically generated class which means that it cannot use get/put or invoke bytecodes to access private members. To resolve this the bytecode is given access to the necessary instance fi' or mi' when it needs to access/invoke non-public members. So, the question is what happens when this dynamically generated class does not belong to module M'? Will the Jigsaw JVM reject the reflective access from this bytecode? > I may be reading too much into this but I would assume Byteman is > already doing some checking to ensure that the B types are visible from > A. If you add support for modules to Byteman then the scenario means > thinking about accessibility too. For the access to succeed then it > means that (1) module A reads module B, and (2) that B exports the > package to A. Byteman does indeed ensure that types are visible by resolving all type references to B (C' in my example above) via the classloader of A (C in the above example). There is already an extension to Byteman which supports the notion of module imports for JBoss Modules. In that case injected code may import JBoss modules M1, M2 etc. Types mentioned in the injected code are resolved using a composite classloader buolt by delegating to the clasloader for C and then the classloaders C1, C2 etc for M1, m2 etc. Types are resolved firstly by looking them up in the target method's classloader C then failing that by looking up in the classloaders C1, C2. JBoss Modules provides a dynamic API to access and delegate to these classloaders. Is there going to be some sort of equivalent for modules? If so what restrictions will be placed on use of that API? I'd like to be able to deal any legacy reference failures by providing a Jigsaw module imports extension but I don't know whether that is going to be possible without details of what API can be used to allow composite classloaders to delegate class lookups into modules. > For (1) then there are APIs in both java.lang.instrument and JNI and so > a JVM TI or java Byteman can do this. Alternatively it can instrument > code in A to have A reflectively read B. Is this a Jigsaw extension to the java.lang.instrument API you are talking about? If so can you point me at the code and.or javadoc? When you say "it can instrument code in A to have A reflectively read B." it sounds like you are saying that my existing use of Members is going to continue to work. Is that what you mean? O ram I being too optimistic? :-) > For (2) then then there aren't API to break encapsulation but Byteman > could instrument code in B to use the reflective APIs to export the > package to A. This is runtime equivalent of the -XaddExports command > line option. I don't follow what you are actually suggesting here. In what sense would this 'export' the package. If you mean that I ned to transform B in order to use it from A then what type of transformation would I need to apply to a class B in order to allow A to access a private method m? Would this involve adding a new method which was public? one that would call the old one? That's not an option since Byteman cannot make structural changes to bytecode. It has to be able to transform classes which already exist when the agent is loaded (it is a retransformer) and also needs to be able to remove injected code and restore the status quo (e.g. for testing different changes need to be present from one test to the next). So, any requirement to change structure is not a solution. > Your mail mentions setAccessible which suggests it might be actually be > injecting code that uses core reflection rather than static references > to types in B. There is a mention of accessing private members in your > mail so maybe it uses core reflection for this scenario because such > access is not allowed with bytecode??? If this is the case then you'll > still need (2). Yes, mostly Byteman operates using reflection because for the most part it executes injected code by interpreting it. However, as I mentioned above it sometimes executes the injected code as bytecode. This is needed when code is injected into hot methods. It allows the optimizer to inline and then optimize the injected code. I think I already asked the pertinent question above. Will the Jigsaw JVM reject the reflective access from this bytecode because the Member being accessed belongs to a class in a different module? > Another question is about your comment on "get-out for JVM TI agent > code". JVM TI agents are native agents and so are using JNI where there > isn't any access checks. I don't expect there are issues there but it > would be good to clarify what you may have meant at the time. I thought I asked for a get out for /JVMTI Java agents/ i.e. for /Java/ code loaded by the -javaagent command line option or the VM_Attach API rather than for JVMTI Native agents. The former is certainly what I was interested in. Anyway, I think I have outlined what the problems are above. What I was asking for was some way of bypassing these problems when calls were made from agent code i.e. allowing reflective accesses to non-public Members to proceed if it was known that the access was somehow sanctioned by Java agent code. So, if it turns out that usage of a Member from any invoking context is constrained merely according to whether setAccessible(true) has been successfully executed then could you ensure that the check as to whether setAccessible should succeed or fail can identify that the caller belongs to agent code and if so make it succeed. Alternatively, if an access from the bytecode for method C.m of a Member of class C' (either get, put or invoke) is constrained according to some relation between the modules of C and C' in question then can you ensure that when C belongs to agent code the access always succeeds? The latter would not be enough to deal with potential restrictions on the current generated bytecode but I can probably ensure that the generated code calls into Byteman code to do the reflective access. From martinrb at google.com Tue Apr 19 20:45:10 2016 From: martinrb at google.com (Martin Buchholz) Date: Tue, 19 Apr 2016 13:45:10 -0700 Subject: jsr166 vs jdk-9+114 Message-ID: I tried upgrading my local jdk to jdk-9+114 and jsr166 tests failed with: [java] Executing '/home/martin/jdk/jdk9/bin/java' with arguments: [java] '-Xpatch:/home/martin/jsr166/pristine/build/classes' [java] '-XaddReads:java.base=jdk.unsupported' [java] '-ea' [java] '-esa' [java] '-Djsr166.testImplementationDetails=true' [java] '-Djsr166.tckTestClass=JSR166TestCase' [java] '-classpath' [java] '/home/martin/jsr166/pristine/lib/junit.jar:/home/martin/jsr166/pristine/build/tck-classes' [java] 'JSR166TestCase' [java] [java] The ' characters around the executable and arguments are [java] not part of the command. [java] Error occurred during initialization of VM [java] java.lang.NoClassDefFoundError: Could not initialize class java.lang.ThreadLocal [java] at java.lang.StringCoding.(java.base/StringCoding.java:62) [java] at java.lang.String.(java.base/String.java:587) [java] at java.lang.String.(java.base/String.java:609) [java] at java.lang.System.initProperties(java.base/Native Method) [java] at java.lang.System.initPhase1(java.base/System.java:1850) StringCoding.java:62 is just doing new ThreadLocal<>(); why would that fail? Why doesn't the error include more details on WHY it's failing? Surely ThreadLocal can be found! (this may be a long-standing diagnosability problem with the JDK) I don't see any obvious way to debug this, although I suspect our temporary use of '-XaddReads:java.base=jdk.unsupported' From Alan.Bateman at oracle.com Tue Apr 19 21:40:10 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 19 Apr 2016 22:40:10 +0100 Subject: jsr166 vs jdk-9+114 In-Reply-To: References: Message-ID: <5716A5BA.4020909@oracle.com> On 19/04/2016 21:45, Martin Buchholz wrote: > I tried upgrading my local jdk to jdk-9+114 and jsr166 tests failed with: > > [java] Executing '/home/martin/jdk/jdk9/bin/java' with arguments: > [java] '-Xpatch:/home/martin/jsr166/pristine/build/classes' > [java] '-XaddReads:java.base=jdk.unsupported' > [java] '-ea' > [java] '-esa' > [java] '-Djsr166.testImplementationDetails=true' > [java] '-Djsr166.tckTestClass=JSR166TestCase' > [java] '-classpath' > [java] '/home/martin/jsr166/pristine/lib/junit.jar:/home/martin/jsr166/pristine/build/tck-classes' > [java] 'JSR166TestCase' > [java] > [java] The ' characters around the executable and arguments are > [java] not part of the command. > [java] Error occurred during initialization of VM > [java] java.lang.NoClassDefFoundError: Could not initialize class > java.lang.ThreadLocal > [java] at java.lang.StringCoding.(java.base/StringCoding.java:62) > [java] at java.lang.String.(java.base/String.java:587) > [java] at java.lang.String.(java.base/String.java:609) > [java] at java.lang.System.initProperties(java.base/Native Method) > [java] at java.lang.System.initPhase1(java.base/System.java:1850) > > StringCoding.java:62 is just doing new ThreadLocal<>(); why would that fail? > Why doesn't the error include more details on WHY it's failing? > Surely ThreadLocal can be found! > (this may be a long-standing diagnosability problem with the JDK) > I don't see any obvious way to debug this, although I suspect our > temporary use of '-XaddReads:java.base=jdk.unsupported' The VM can only load an execute in java.base during early startup. In this case, it's really early in the initialization of java.lang.System. I assume the NoClassDefFoundError is when trying to load sun.misc.Unsafe, probably AtomicInteger because ThreadLocal uses it. I don't think this is solvable without moving the jsr166 classes to jdk.internal.misc.Unsafe. -Alan From forax at univ-mlv.fr Tue Apr 19 22:05:53 2016 From: forax at univ-mlv.fr (Remi Forax) Date: Wed, 20 Apr 2016 00:05:53 +0200 (CEST) Subject: jsr166 vs jdk-9+114 In-Reply-To: <5716A5BA.4020909@oracle.com> References: <5716A5BA.4020909@oracle.com> Message-ID: <600647676.2053517.1461103553139.JavaMail.zimbra@u-pem.fr> ----- Mail original ----- > De: "Alan Bateman" > ?: "Martin Buchholz" , "jigsaw-dev" , "Doug Lea"
> Envoy?: Mardi 19 Avril 2016 23:40:10 > Objet: Re: jsr166 vs jdk-9+114 > > On 19/04/2016 21:45, Martin Buchholz wrote: > > I tried upgrading my local jdk to jdk-9+114 and jsr166 tests failed with: > > > > [java] Executing '/home/martin/jdk/jdk9/bin/java' with arguments: > > [java] '-Xpatch:/home/martin/jsr166/pristine/build/classes' > > [java] '-XaddReads:java.base=jdk.unsupported' > > [java] '-ea' > > [java] '-esa' > > [java] '-Djsr166.testImplementationDetails=true' > > [java] '-Djsr166.tckTestClass=JSR166TestCase' > > [java] '-classpath' > > [java] > > '/home/martin/jsr166/pristine/lib/junit.jar:/home/martin/jsr166/pristine/build/tck-classes' > > [java] 'JSR166TestCase' > > [java] > > [java] The ' characters around the executable and arguments are > > [java] not part of the command. > > [java] Error occurred during initialization of VM > > [java] java.lang.NoClassDefFoundError: Could not initialize class > > java.lang.ThreadLocal > > [java] at > > java.lang.StringCoding.(java.base/StringCoding.java:62) > > [java] at java.lang.String.(java.base/String.java:587) > > [java] at java.lang.String.(java.base/String.java:609) > > [java] at java.lang.System.initProperties(java.base/Native Method) > > [java] at java.lang.System.initPhase1(java.base/System.java:1850) > > > > StringCoding.java:62 is just doing new ThreadLocal<>(); why would that > > fail? > > Why doesn't the error include more details on WHY it's failing? > > Surely ThreadLocal can be found! > > (this may be a long-standing diagnosability problem with the JDK) > > I don't see any obvious way to debug this, although I suspect our > > temporary use of '-XaddReads:java.base=jdk.unsupported' > The VM can only load an execute in java.base during early startup. In > this case, it's really early in the initialization of java.lang.System. > I assume the NoClassDefFoundError is when trying to load > sun.misc.Unsafe, probably AtomicInteger because ThreadLocal uses it. I > don't think this is solvable without moving the jsr166 classes to > jdk.internal.misc.Unsafe. yes, the issue is that now sun.misc.Unsafe is in jdk.unsupported and not in java.base anymore. > > -Alan > > > R?mi From martinrb at google.com Tue Apr 19 22:08:34 2016 From: martinrb at google.com (Martin Buchholz) Date: Tue, 19 Apr 2016 15:08:34 -0700 Subject: jsr166 vs jdk-9+114 In-Reply-To: <5716A5BA.4020909@oracle.com> References: <5716A5BA.4020909@oracle.com> Message-ID: On Tue, Apr 19, 2016 at 2:40 PM, Alan Bateman wrote: > On 19/04/2016 21:45, Martin Buchholz wrote: >> >> I tried upgrading my local jdk to jdk-9+114 and jsr166 tests failed with: >> >> [java] Executing '/home/martin/jdk/jdk9/bin/java' with arguments: >> [java] '-Xpatch:/home/martin/jsr166/pristine/build/classes' >> [java] '-XaddReads:java.base=jdk.unsupported' >> [java] '-ea' >> [java] '-esa' >> [java] '-Djsr166.testImplementationDetails=true' >> [java] '-Djsr166.tckTestClass=JSR166TestCase' >> [java] '-classpath' >> [java] >> '/home/martin/jsr166/pristine/lib/junit.jar:/home/martin/jsr166/pristine/build/tck-classes' >> [java] 'JSR166TestCase' >> [java] >> [java] The ' characters around the executable and arguments are >> [java] not part of the command. >> [java] Error occurred during initialization of VM >> [java] java.lang.NoClassDefFoundError: Could not initialize class >> java.lang.ThreadLocal >> [java] at >> java.lang.StringCoding.(java.base/StringCoding.java:62) >> [java] at java.lang.String.(java.base/String.java:587) >> [java] at java.lang.String.(java.base/String.java:609) >> [java] at java.lang.System.initProperties(java.base/Native Method) >> [java] at java.lang.System.initPhase1(java.base/System.java:1850) >> >> StringCoding.java:62 is just doing new ThreadLocal<>(); why would that >> fail? >> Why doesn't the error include more details on WHY it's failing? >> Surely ThreadLocal can be found! >> (this may be a long-standing diagnosability problem with the JDK) >> I don't see any obvious way to debug this, although I suspect our >> temporary use of '-XaddReads:java.base=jdk.unsupported' > > The VM can only load an execute in java.base during early startup. In this > case, it's really early in the initialization of java.lang.System. I assume > the NoClassDefFoundError is when trying to load sun.misc.Unsafe, probably > AtomicInteger because ThreadLocal uses it. I don't think this is solvable > without moving the jsr166 classes to jdk.internal.misc.Unsafe. Confirmed. We're moving to jdk.internal.misc.Unsafe. (But this is yet another case of java developers scratching their heads at NoClassDefFoundError where the root cause exception has been lost; is that really so hard to fix? ...) From jonathan.gibbons at oracle.com Tue Apr 19 22:11:24 2016 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 19 Apr 2016 22:11:24 +0000 Subject: hg: jigsaw/jake/langtools: fix inappropriate use of javadoc-style comments Message-ID: <201604192211.u3JMBOGe026579@aojmv0008.oracle.com> Changeset: 03c7fca7d128 Author: jjg Date: 2016-04-19 15:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/03c7fca7d128 fix inappropriate use of javadoc-style comments ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java From huizhe.wang at oracle.com Wed Apr 20 05:18:52 2016 From: huizhe.wang at oracle.com (huizhe wang) Date: Tue, 19 Apr 2016 22:18:52 -0700 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <045a01d19a10$63ade4f0$2b09aed0$@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> <57150B2A.1010500@oracle.com> <57154803.30705@oracle.com> <5715D8DC.6090205@oracle.com> <045a01d19a10$63ade4f0$2b09aed0$@oracle.com> Message-ID: <5717113C.7040309@oracle.com> On 4/19/2016 12:52 AM, Frank Yuan wrote: > >> -----Original Message----- >> From: Alan Bateman [mailto:Alan.Bateman at oracle.com] >> Sent: Tuesday, April 19, 2016 3:06 PM >> To: huizhe wang ; Frank Yuan >> Cc: jigsaw-dev at openjdk.java.net; Daniel Fuchs >> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module >> >> >> On 18/04/2016 21:48, huizhe wang wrote: >>> Frank, Alan, >>> >>> We recently discussed several issues[1] related to jaxp's >>> provider-lookup. All of them are currently deferred to until >>> JDK-8132026 is addressed. I have a feeling we might have a quite >>> different provider-lookup procedure in the JDK 9 / Jigsaw, and we'd >>> have to go through a spec change. I therefore think we might want to >>> postpone this test and make it one to cover such a spec change. What >>> would you think? >> I think we should fix JDK-8015099 (a long standing bug) and also see if we can fix SAX to use ServiceLoader (JDK-8152912). I > wouldn't >> expect either of these to be require re-work later. >> > Hi Joe > > So how about I checked my test in at first, and then iterate it if required? That would be fine with me. I just wished a single test set that fully covered the provider-lookup procedure, and any change we may have along with a ServiceLoader update. -Joe > Btw, I added my comment in bug JDK-8015099 FYI. > > Frank > >> -Alan From huizhe.wang at oracle.com Wed Apr 20 05:53:48 2016 From: huizhe.wang at oracle.com (huizhe wang) Date: Tue, 19 Apr 2016 22:53:48 -0700 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <5715D8DC.6090205@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> <57150B2A.1010500@oracle.com> <57154803.30705@oracle.com> <5715D8DC.6090205@oracle.com> Message-ID: <5717196B.1040204@oracle.com> On 4/19/2016 12:06 AM, Alan Bateman wrote: > > On 18/04/2016 21:48, huizhe wang wrote: >> Frank, Alan, >> >> We recently discussed several issues[1] related to jaxp's >> provider-lookup. All of them are currently deferred to until >> JDK-8132026 is addressed. I have a feeling we might have a quite >> different provider-lookup procedure in the JDK 9 / Jigsaw, and we'd >> have to go through a spec change. I therefore think we might want to >> postpone this test and make it one to cover such a spec change. What >> would you think? > I think we should fix JDK-8015099 (a long standing bug) yes, it is. I may look at it again, but I wished a single patch to cover all scenarios. > and also see if we can fix SAX to use ServiceLoader (JDK-8152912). I > wouldn't expect either of these to be require re-work later. Daniel made a good point in the ccc discussion for JDK-8152912, that is, maybe we'd update the procedure in favor of more modern alternatives (passing a Layer, or ordering/prioritizing the service providers). I was therefore envisioning a single spec change /CCC to cover all scenarios. It may be easier with the CCC process. I currently have a couple smaller CCCs pending that end up blocking the plan for a further change. Also we could then use or update Frank's test to cover these changes than have three separate unit tests. I can start a separate thread to discuss the lookup procedure. -Joe > > -Alan From Alan.Bateman at oracle.com Wed Apr 20 06:44:51 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 20 Apr 2016 07:44:51 +0100 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <5717196B.1040204@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> <57150B2A.1010500@oracle.com> <57154803.30705@oracle.com> <5715D8DC.6090205@oracle.com> <5717196B.1040204@oracle.com> Message-ID: <57172563.4050002@oracle.com> On 20/04/2016 06:53, huizhe wang wrote: > > : > >> and also see if we can fix SAX to use ServiceLoader (JDK-8152912). I >> wouldn't expect either of these to be require re-work later. > > Daniel made a good point in the ccc discussion for JDK-8152912, that > is, maybe we'd update the procedure in favor of more modern alternatives This may have been JDK-8129104 [1] where we need to look at JAXP and several other APIs to see whether new methods are appropriate. That should not be dependent on any changes that we might make here. -Alan [1] https://bugs.openjdk.java.net/browse/JDK-8129104 From frank.yuan at oracle.com Wed Apr 20 07:52:23 2016 From: frank.yuan at oracle.com (Frank Yuan) Date: Wed, 20 Apr 2016 15:52:23 +0800 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <5717113C.7040309@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> <57150B2A.1010500@oracle.com> <57154803.30705@oracle.com> <5715D8DC.6090205@oracle.com> <045a01d19a10$63ade4f0$2b09aed0$@oracle.com> <5717113C.7040309@oracle.com> Message-ID: <04e201d19ad9$94f6fb90$bee4f2b0$@oracle.com> > -----Original Message----- > From: huizhe wang [mailto:huizhe.wang at oracle.com] > Sent: Wednesday, April 20, 2016 1:19 PM > Subject: Re: RFR: 8078820: Test deploying a XML parser as a module > > > On 4/19/2016 12:52 AM, Frank Yuan wrote: > > > >> -----Original Message----- > >> From: Alan Bateman [mailto:Alan.Bateman at oracle.com] > >> Sent: Tuesday, April 19, 2016 3:06 PM > >> To: huizhe wang ; Frank Yuan > > >> Cc: jigsaw-dev at openjdk.java.net; Daniel Fuchs > >> > >> Subject: Re: RFR: 8078820: Test deploying a XML parser as a module > >> > >> > >> On 18/04/2016 21:48, huizhe wang wrote: > >>> Frank, Alan, > >>> > >>> We recently discussed several issues[1] related to jaxp's > >>> provider-lookup. All of them are currently deferred to until > >>> JDK-8132026 is addressed. I have a feeling we might have a quite > >>> different provider-lookup procedure in the JDK 9 / Jigsaw, and we'd > >>> have to go through a spec change. I therefore think we might want to > >>> postpone this test and make it one to cover such a spec change. What > >>> would you think? > >> I think we should fix JDK-8015099 (a long standing bug) and also see > >> if > we can fix SAX to use ServiceLoader (JDK-8152912). I > > wouldn't > >> expect either of these to be require re-work later. > >> > > Hi Joe > > > > So how about I checked my test in at first, and then iterate it if > required? > > That would be fine with me. I just wished a single test set that fully covered the provider-lookup procedure, and any change we may > have along with a ServiceLoader update. > Thanks, pushed. I would like to update the test anytime for the related bug or new API(e.g. Alan mentioned JDK-8129104) when you need. Frank > -Joe > > > Btw, I added my comment in bug JDK-8015099 FYI. > > > > Frank > > > >> -Alan From Alan.Bateman at oracle.com Wed Apr 20 11:40:38 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 20 Apr 2016 12:40:38 +0100 Subject: #ReflectiveAccessByInstrumentationAgents In-Reply-To: <57166446.4080608@redhat.com> References: <571617F4.5010007@oracle.com> <57166446.4080608@redhat.com> Message-ID: <57176AB6.4070800@oracle.com> On 19/04/2016 18:00, Andrew Dinn wrote: > : > I have been building and testing on JDK9 Byteman using the EA program > releases and have not seen anything break so far. However, that may just > be because i) Byteman and the Byteman tests are only using runtime > classes from the java base module and ii) app code used in tests is not > modularized -- well, at least not using Jigsaw (see below). It's good to hear that you are testing with the EA builds. I think the main thing for Byteman, and this will be true at least some other agents too, is that there will likely need to be updated to support instrumentation with modules. We have a reasonable compatibility story for existing JVM TI and java agents but as soon as you get into instrumenting code to statically or reflectively access code in other modules then it may require the agent to arrange for this access to be allowed. To get started, then I would suggest studying the documents, presentations and recordings that we have linked from the Project Jigsaw page. This should get you up to speed on the new concepts and how accessibility works with modules. I think this has to a prerequisite to having a more detailed discussion on how agents doing BCI can work with modules. > > My concern was based on statements in the requirements about limiting > reflective access according to module context i.e. code in module M > might lose the ability to access non-public members of classes belonging > to module M'. Core reflection has always been specified to do the same access checks as the Java Language and bytecode. The only thing you loose is the sledge hammer that is setAccessible as it cannot be used to break into non-exported packages. You can use it to get a non-public members in your own module, you can use it to get to non-public members of types in packages that others have exported to you, you just cannot use to break into the parts of the module that the module author has decided not to export to you. > Byteman relies on reflective access to get/put non-public > fields and to invoke non-public methods. I noticed in the Jigsaw code > base that setEnabled was checking the module of the caller. So, I wanted > to be sure that setEnabled would still work (at the very least would > still work so long as my Java agent code was making the call). This is where the agent author needs to be creative. It may, for example, inject bytecode into the victim module to invoke addExports and give the burglar access. > : > > Firstly, if the code injected into C.m includes reference to a JDK > runtime class C' in module M' and C' is not exported then can a > classloader lookup from the classloader of C fail? If so then this is > going to be a legacy compatibility problem. There are no changes to visibility and so C' is visible, Class.forName should work as before for example. That said, if C' is in a package that is not exported to C then code in C cannot access it. This is not specific to JDK modules, M' is any module. > > Secondly, assume the reference to C' can be resolved allowing Byteman > agent code to obtain a Field instance fi' for a non-public field f' or > a Method instance mi' for a non-public method m' of C'. Will a call to > setEnabled on fi'/mi' be rejected because the members in question belong > to a module M' which Byteman agent classes do not belong to? It was this > possibility that was hinted at in the requirements and whihc set alarm > bells ringing. setAccessible should fail. If Byteman is injecting code into C that uses code reflection to access a member of C' then it will need to arrange for M' to export the package containing C' to C. > > Finally, will acesses/invocations of fi'/mi' from other code possibly be > rejected because the fields in question belong to a module M' which > accessing does not belong to? > > The last question is relevant when Byteman executes injected code by > compiling it to bytecode rather than interpreting it. The generated > bytecode is attached to a dynamically generated class which means that > it cannot use get/put or invoke bytecodes to access private members. To > resolve this the bytecode is given access to the necessary instance fi' > or mi' when it needs to access/invoke non-public members. So, the > question is what happens when this dynamically generated class does not > belong to module M'? Will the Jigsaw JVM reject the reflective access > from this bytecode? If setAccessible(true) has already been successfully called on the Method of Field then handing it around is somewhat dangerous as it can be used to invoke the method or access the field without an access check. However if the generated code is being passed a Method or Field where setAccessible(true) has not been called then there will be access check. > : > > There is already an extension to Byteman which supports the notion of > module imports for JBoss Modules. In that case injected code may import > JBoss modules M1, M2 etc. Types mentioned in the injected code are > resolved using a composite classloader buolt by delegating to the > clasloader for C and then the classloaders C1, C2 etc for M1, m2 etc. > Types are resolved firstly by looking them up in the target method's > classloader C then failing that by looking up in the classloaders C1, C2. > > JBoss Modules provides a dynamic API to access and delegate to these > classloaders. Is there going to be some sort of equivalent for modules? > If so what restrictions will be placed on use of that API? I'd like to > be able to deal any legacy reference failures by providing a Jigsaw > module imports extension but I don't know whether that is going to be > possible without details of what API can be used to allow composite > classloaders to delegate class lookups into modules. For the most part, this is a non-issue with the changes in JDK 9 because we have not changed visibility. However it possible to instantiate groups of modules where each module is defined to its own class loader. Really advanced users can also defines modules to their class loaders as they see fit. If I read your paragraphs correctly then the instrumentation involves injecting code that can only work if the class loader delegation is augmented, is that right? There aren't hooks or other means in the API to do this. To be honest, it sounds like a hazard that would need strong use-cases. > Is this a Jigsaw extension to the java.lang.instrument API you are > talking about? If so can you point me at the code and.or javadoc? The EA downloads have a link to the docs: http://download.java.net/java/jdk9/docs/api/index.html There is a new section on "Instrumenting code in modules" in java.lang.instrument. The Instrumentation class defines a new method addModuleReads to update a module to read another. This is not interesting when you are injecting code that uses core reflection but will be important when you inject bytecode with static references to types in other modules. You'll need if you inject code that uses method handles too. The update JVM TI and JNI docs are here: http://download.java.net/java/jdk9/docs/platform/jvmti/jvmti.html http://download.java.net/java/jdk9/docs/technotes/guides/jni/spec/jniTOC.html The JVM TI spec has a section "Bytecode Instrumentation of code in modules". JNI has a few set of functions that are documented under "Module Operations". > > When you say "it can instrument code in A to have A reflectively read > B." it sounds like you are saying that my existing use of Members is > going to continue to work. Is that what you mean? O ram I being too > optimistic? :-) If the injected code is using code reflection they you won't need to use the API to reflective add read edges. This does not mean you won't need to inject code to reflectively export packages through. > : > I don't follow what you are actually suggesting here. In what sense > would this 'export' the package. If you mean that I ned to transform B > in order to use it from A then what type of transformation would I need > to apply to a class B in order to allow A to access a private method m? > Would this involve adding a new method which was public? one that would > call the old one? > > That's not an option since Byteman cannot make structural changes to > bytecode. It has to be able to transform classes which already exist > when the agent is loaded (it is a retransformer) and also needs to be > able to remove injected code and restore the status quo (e.g. for > testing different changes need to be present from one test to the next). > So, any requirement to change structure is not a solution. I didn't suggest schema changes although load time instrumentation does give you the opportunity to add initializers which could be useful to some of the issues you might encounter. > : > I thought I asked for a get out for /JVMTI Java agents/ i.e. for /Java/ > code loaded by the -javaagent command line option or the VM_Attach API > rather than for JVMTI Native agents. The former is certainly what I was > interested in. > > Anyway, I think I have outlined what the problems are above. What I was > asking for was some way of bypassing these problems when calls were made > from agent code i.e. allowing reflective accesses to non-public Members > to proceed if it was known that the access was somehow sanctioned by > Java agent code. > > So, if it turns out that usage of a Member from any invoking context is > constrained merely according to whether setAccessible(true) has been > successfully executed then could you ensure that the check as to whether > setAccessible should succeed or fail can identify that the caller > belongs to agent code and if so make it succeed. > > Alternatively, if an access from the bytecode for method C.m of a Member > of class C' (either get, put or invoke) is constrained according to some > relation between the modules of C and C' in question then can you ensure > that when C belongs to agent code the access always succeeds? > > The latter would not be enough to deal with potential restrictions on > the current generated bytecode but I can probably ensure that the > generated code calls into Byteman code to do the reflective access. There is lots that we can comment on here but I think it would be better to spend a bit of time coming up to speed on modules and encapsulation. I think then we can continue at least part of this thread as you work through how to update Byteman to arrange for the intended access to work. -Alan From sanne at redhat.com Wed Apr 20 12:28:54 2016 From: sanne at redhat.com (Sanne Grinovero) Date: Wed, 20 Apr 2016 13:28:54 +0100 Subject: JMH and JDK9 In-Reply-To: <5703C8B1.5080501@redhat.com> References: <56FBFA22.2060204@redhat.com> <56FBFB05.9050706@oracle.com> <56FBFCCD.1000704@oracle.com> <428721B0-47A4-453E-89C2-1D6CA09DEC75@oracle.com> <56FE29EE.1090801@oracle.com> <0C6C1D21-1592-426A-B9DE-33458FC90CF9@oracle.com> <57038495.40603@redhat.com> <570390AE.6050406@oracle.com> <5703C8B1.5080501@redhat.com> Message-ID: On Tue, Apr 5, 2016 at 3:16 PM, Andrew Dinn wrote: > On 05/04/16 11:17, Alan Bateman wrote: > . . . >> We recently updated JEP 261 proposing that "java.se" be the only java.* >> root module that is resolved when compiling code in the unnamed module >> or at runtime when the main class is loaded from the class path [1]. On >> the surface then it will "appear" to developers that the JDK does not >> have the EE components but from everything we've seen so far, then those >> EE components are usually on the class path anyway. > > Ah ok, so this means that the problem has been punted to the other foot > i.e. the only apps affected will be those which i) don't have an EE jar > on their classpath and ii) require the (partial) stub implementations > provided by Java SE. That sounds much better since such a configuration > is of almost no use to anyone and hence is very unlikely to arise. Agreed: excellent idea! I'm eager to try it out so that we can resume testing of everything else too; I just tried my luck with build 9-ea+114 but it didn't seem to work: I'm going to assume this wasn't implemented yet, or should I double check how I'm building? Did I understand correctly that I won't need to pass any switch to neither java nor javac, as long as I have the JavaEE jar as external dependencies on my classpath? (i.e. if this build is "proven" on Java8 it should work on Java9 ?) Is there an issue tracker which I could follow to watch updates on this? Slightly unrelated, but is it expected that compilation is successful, even though (in my specific case) javax.transaction.Synchronization causes a java.lang.NoClassDefFoundError at runtime? Thanks, Sanne From Alan.Bateman at oracle.com Wed Apr 20 12:57:12 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 20 Apr 2016 13:57:12 +0100 Subject: Root modules (was Re: JMH and JDK9) In-Reply-To: References: <56FBFA22.2060204@redhat.com> <56FBFB05.9050706@oracle.com> <56FBFCCD.1000704@oracle.com> <428721B0-47A4-453E-89C2-1D6CA09DEC75@oracle.com> <56FE29EE.1090801@oracle.com> <0C6C1D21-1592-426A-B9DE-33458FC90CF9@oracle.com> <57038495.40603@redhat.com> <570390AE.6050406@oracle.com> <5703C8B1.5080501@redhat.com> Message-ID: <57177CA8.7000605@oracle.com> (dropping hotspot-dev and change the subject line as this discussion thread has moved on) On 20/04/2016 13:28, Sanne Grinovero wrote: > : > Agreed: excellent idea! > > I'm eager to try it out so that we can resume testing of everything > else too; I just tried my luck with build 9-ea+114 but it didn't seem > to work: I'm going to assume this wasn't implemented yet, or should I > double check how I'm building? > Did I understand correctly that I won't need to pass any switch to > neither java nor javac, as long as I have the JavaEE jar as external > dependencies on my classpath? (i.e. if this build is "proven" on Java8 > it should work on Java9 ?) > > Is there an issue tracker which I could follow to watch updates on this? > > Slightly unrelated, but is it expected that compilation is successful, > even though (in my specific case) javax.transaction.Synchronization > causes a java.lang.NoClassDefFoundError at runtime? > It's in Jigsaw EA builds [1], it hasn't been brought into the JDK 9 main line yet. I'm not well aquatinted with of contents of the "Java EE jar" but I believe it has the API classes for the Java Transaction API, Common Annotations, JAXB, and JAX-WS. So if you are compiling or running with the Jigsaw EA builds then you should see that it won't locate these classes in the runtime image, instead they will be located on the class path in this JAR file. One thing to mention is that the JavaBeans Activiation Framework (package javax.activation). That was in EE 5 but doesn't appear in the javadoc for EE 6 or 7. I don't know the full story there but it remains a standalone technology and upgradable. If it's not in the Java EE JAR then and you don't have it on your class path then you will need `-addmods java.activation` to ensure that this module is resolved. On javax.transaction.Synchronization then I would not expect this to compile with jdk-9+114 because this type is not in the java.transaction. I would expect it will compile (and run) with the Jigsaw EA builds. -Alan [1] https://jdk9.java.net/jigsaw/ From stephen.felts at oracle.com Wed Apr 20 14:15:30 2016 From: stephen.felts at oracle.com (Stephen Felts) Date: Wed, 20 Apr 2016 07:15:30 -0700 (PDT) Subject: JMH and JDK9 In-Reply-To: References: <56FBFA22.2060204@redhat.com> <56FBFB05.9050706@oracle.com> <56FBFCCD.1000704@oracle.com> <428721B0-47A4-453E-89C2-1D6CA09DEC75@oracle.com> <56FE29EE.1090801@oracle.com> <0C6C1D21-1592-426A-B9DE-33458FC90CF9@oracle.com> <57038495.40603@redhat.com> <570390AE.6050406@oracle.com> <5703C8B1.5080501@redhat.com> Message-ID: <10982358-95d5-40c1-8e20-c153e355d495@default> There was a bug that was just fixed yesterday such that the Java EE classes were not hidden. It should have been fixed in the last nightly 114 build. As long as the necessary Java EE API classes are on the classpath, no command line options are needed. If you have the Java EE JTA API jar in the classpath, then use of javax.transaction.Synchronization (which is not in the JDK but is in the JTA API jar) will be resolved for both javac and java. -----Original Message----- From: Sanne Grinovero [mailto:sanne at redhat.com] Sent: Wednesday, April 20, 2016 8:29 AM To: Alan Bateman Cc: jigsaw-dev; hotspot-dev Source Developers Subject: Re: JMH and JDK9 On Tue, Apr 5, 2016 at 3:16 PM, Andrew Dinn wrote: > On 05/04/16 11:17, Alan Bateman wrote: > . . . >> We recently updated JEP 261 proposing that "java.se" be the only >> java.* root module that is resolved when compiling code in the >> unnamed module or at runtime when the main class is loaded from the >> class path [1]. On the surface then it will "appear" to developers >> that the JDK does not have the EE components but from everything >> we've seen so far, then those EE components are usually on the class path anyway. > > Ah ok, so this means that the problem has been punted to the other > foot i.e. the only apps affected will be those which i) don't have an > EE jar on their classpath and ii) require the (partial) stub > implementations provided by Java SE. That sounds much better since > such a configuration is of almost no use to anyone and hence is very unlikely to arise. Agreed: excellent idea! I'm eager to try it out so that we can resume testing of everything else too; I just tried my luck with build 9-ea+114 but it didn't seem to work: I'm going to assume this wasn't implemented yet, or should I double check how I'm building? Did I understand correctly that I won't need to pass any switch to neither java nor javac, as long as I have the JavaEE jar as external dependencies on my classpath? (i.e. if this build is "proven" on Java8 it should work on Java9 ?) Is there an issue tracker which I could follow to watch updates on this? Slightly unrelated, but is it expected that compilation is successful, even though (in my specific case) javax.transaction.Synchronization causes a java.lang.NoClassDefFoundError at runtime? Thanks, Sanne From Alan.Bateman at oracle.com Wed Apr 20 15:37:21 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 20 Apr 2016 16:37:21 +0100 Subject: 8154707: java/util/ServiceLoader/modules/BasicTest.java failing Message-ID: <5717A231.8080209@oracle.com> The changes to for JDK-8077360 [1] broke one of our test so it's failing in jdk9/dev now. As it happens, the test isn't really that useful anyway because the code is exercised by many other tests. So I think we can just make is miscellaneous test for now and replace when we do the next phase of SL work. The webrev is here: http://cr.openjdk.java.net/~alanb/8154707/webrev/index.html -Alan. [1] http://hg.openjdk.java.net/jdk9/dev/jdk/rev/a7bb22e03a2d From chris.hegarty at oracle.com Wed Apr 20 16:13:50 2016 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 20 Apr 2016 17:13:50 +0100 Subject: 8154707: java/util/ServiceLoader/modules/BasicTest.java failing In-Reply-To: <5717A231.8080209@oracle.com> References: <5717A231.8080209@oracle.com> Message-ID: <64051635-9570-4DFF-AF38-2597B2C0BC32@oracle.com> > On 20 Apr 2016, at 16:37, Alan Bateman wrote: > > > The changes to for JDK-8077360 [1] broke one of our test so it's failing in jdk9/dev now. > > As it happens, the test isn't really that useful anyway because the code is exercised by many other tests. So I think we can just make is miscellaneous test for now and replace when we do the next phase of SL work. The webrev is here: > http://cr.openjdk.java.net/~alanb/8154707/webrev/index.html The change looks ok. -Chris From huizhe.wang at oracle.com Wed Apr 20 18:18:22 2016 From: huizhe.wang at oracle.com (huizhe wang) Date: Wed, 20 Apr 2016 11:18:22 -0700 Subject: RFR: 8078820: Test deploying a XML parser as a module In-Reply-To: <04e201d19ad9$94f6fb90$bee4f2b0$@oracle.com> References: <047201d185a8$0cb937c0$262ba740$@oracle.com> <56F3B3B5.9060804@oracle.com> <055601d185b2$ce366800$6aa33800$@oracle.com> <56F70839.3040707@oracle.com> <56F782FB.3040004@oracle.com> <028501d18b33$633b5200$29b1f600$@oracle.com> <010401d19393$03ec2be0$0bc483a0$@oracle.com> <570E41B8.8030406@oracle.com> <570E7055.7070704@oracle.com> <028601d19621$475b7bc0$d6127340$@oracle.com> <5711192D.9070008@oracle.com> <00ac01d19937$28379f80$78a6de80$@oracle.com> <57150B2A.1010500@oracle.com> <57154803.30705@oracle.com> <5715D8DC.6090205@oracle.com> <045a01d19a10$63ade4f0$2b09aed0$@oracle.com> <5717113C.7040309@oracle.com> <04e201d19ad9$94f6fb90$bee4f2b0$@oracle.com> Message-ID: <5717C7EE.8060100@oracle.com> On 4/20/2016 12:52 AM, Frank Yuan wrote: > Thanks, pushed. I would like to update the test anytime for the related bug or new API(e.g. Alan mentioned JDK-8129104) when you > need. Thanks! Will let you know when we make progress on this. -Joe > > Frank From james.laskey at oracle.com Wed Apr 20 19:02:19 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Wed, 20 Apr 2016 16:02:19 -0300 Subject: error reading module path Message-ID: Periodically, when doing an incremental build I run into the following; Error: error reading module path java.io.IOException: error reading module path at jdk.tools.jmod.JmodTask$JmodFileWriter.hashDependences(jdk.jlink/JmodTask.java:585) at jdk.tools.jmod.JmodTask$JmodFileWriter.writeModuleInfo(jdk.jlink/JmodTask.java:552) at jdk.tools.jmod.JmodTask$JmodFileWriter.write(jdk.jlink/JmodTask.java:453) at jdk.tools.jmod.JmodTask.create(jdk.jlink/JmodTask.java:414) at jdk.tools.jmod.JmodTask.run(jdk.jlink/JmodTask.java:206) at jdk.tools.jmod.Main.main(jdk.jlink/Main.java:33) Caused by: java.lang.module.FindException: java.nio.file.NoSuchFileException: /Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/images/jmods/java.management.jmod at java.lang.module.ModulePath.scan(java.base/ModulePath.java:206) at java.lang.module.ModulePath.scanNextEntry(java.base/ModulePath.java:146) at java.lang.module.ModulePath.find(java.base/ModulePath.java:110) at jdk.tools.jmod.JmodTask$JmodFileWriter.hashDependences(jdk.jlink/JmodTask.java:577) ... 5 more Caused by: java.nio.file.NoSuchFileException: /Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/images/jmods/java.management.jmod at sun.nio.fs.UnixException.translateToIOException(java.base/UnixException.java:92) at sun.nio.fs.UnixException.rethrowAsIOException(java.base/UnixException.java:111) at sun.nio.fs.UnixException.rethrowAsIOException(java.base/UnixException.java:116) at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(java.base/UnixFileAttributeViews.java:55) at sun.nio.fs.UnixFileSystemProvider.readAttributes(java.base/UnixFileSystemProvider.java:145) at java.nio.file.Files.readAttributes(java.base/Files.java:1740) at java.util.zip.ZipFile$Source.get(java.base/ZipFile.java:924) at java.util.zip.ZipFile.(java.base/ZipFile.java:213) at java.util.zip.ZipFile.(java.base/ZipFile.java:145) at java.util.zip.ZipFile.(java.base/ZipFile.java:116) at java.lang.module.ModulePath.readJMod(java.base/ModulePath.java:306) at java.lang.module.ModulePath.readModule(java.base/ModulePath.java:278) at java.lang.module.ModulePath.scanDirectory(java.base/ModulePath.java:237) at java.lang.module.ModulePath.scan(java.base/ModulePath.java:189) ... 8 more make[3]: *** [/Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/images/jmods/jdk.jvmstat.rmi.jmod] Error 4 make[2]: *** [jdk.jvmstat.rmi-jmod] Error 2 make[2]: *** Waiting for unfinished jobs?. From mandy.chung at oracle.com Thu Apr 21 04:49:44 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 20 Apr 2016 21:49:44 -0700 Subject: [9] Review request: 8153872: Nashorn no longer needs access to com.sun.javafx.application In-Reply-To: <57164DE4.3030008@oracle.com> References: <57068F11.2080107@oracle.com> <57164DE4.3030008@oracle.com> Message-ID: <32C41280-3154-43F3-BA4E-809DFC9AA11A@oracle.com> > On Apr 19, 2016, at 8:25 AM, Kevin Rushforth wrote: > > Jim, > > Please review the following fix: > > https://bugs.openjdk.java.net/browse/JDK-8153872 > http://cr.openjdk.java.net/~kcr/8153872/webrev.00/ > > This is a simple backout of the earlier fix for JDK-8153754. +1 Glad that this dependency is eliminated. Mandy From adinn at redhat.com Thu Apr 21 07:31:44 2016 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 21 Apr 2016 08:31:44 +0100 Subject: #ReflectiveAccessByInstrumentationAgents In-Reply-To: <57176AB6.4070800@oracle.com> References: <571617F4.5010007@oracle.com> <57166446.4080608@redhat.com> <57176AB6.4070800@oracle.com> Message-ID: <571881E0.2010900@redhat.com> On 20/04/16 12:40, Alan Bateman wrote: > > On 19/04/2016 18:00, Andrew Dinn wrote: >> : >> I have been building and testing on JDK9 Byteman using the EA program >> releases and have not seen anything break so far. However, that may just >> be because i) Byteman and the Byteman tests are only using runtime >> classes from the java base module and ii) app code used in tests is not >> modularized -- well, at least not using Jigsaw (see below). > It's good to hear that you are testing with the EA builds. > > I think the main thing for Byteman, and this will be true at least some > other agents too, is that there will likely need to be updated to > support instrumentation with modules. We have a reasonable compatibility > story for existing JVM TI and java agents but as soon as you get into > instrumenting code to statically or reflectively access code in other > modules then it may require the agent to arrange for this access to be > allowed. Having to explicitly manage module dependencies to retain compatibiity with previous behaviour is at the very least a /nuisance/ because it now means I -- and, no doubt, others in the agent business -- will have to implement a dual-source agent, one for JDK9(+) and another to continue to operate in JDK8/7/6 (yes, people can and do still use the latest Byteman release in all those JDK releases). A solution internal to the JVM which preserved existing behaviour and so did not require the insertion of JDK-specific jumps through JDK-specific hoops would be much preferred. Still, I suppose the releavant implementors are a relatively small crowd and ought to know what we are doing and how to fix it. That minor rant aside (sorry, I feel better for that but I don't suppose anyone else on this list does :-) I will happily investigate the available dynamic module-management APIs and see what options exist to remedy the changes to the status quo and retain as much backwards compatibility as I can. At that point I will come back and comment on the very useful advice you have provided below. Thanks very much for your help so far. regards, Andrew Dinn ----------- Senior Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (US), Michael O'Neill (Ireland), Paul Argiry (US) From sundararajan.athijegannathan at oracle.com Thu Apr 21 08:13:08 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Thu, 21 Apr 2016 13:43:08 +0530 Subject: [9] Review request: 8153872: Nashorn no longer needs access to com.sun.javafx.application In-Reply-To: <32C41280-3154-43F3-BA4E-809DFC9AA11A@oracle.com> References: <57068F11.2080107@oracle.com> <57164DE4.3030008@oracle.com> <32C41280-3154-43F3-BA4E-809DFC9AA11A@oracle.com> Message-ID: <23fc5596-1aae-605e-78b2-43c2c0bb6730@oracle.com> +1 On 4/21/2016 10:19 AM, Mandy Chung wrote: >> On Apr 19, 2016, at 8:25 AM, Kevin Rushforth wrote: >> >> Jim, >> >> Please review the following fix: >> >> https://bugs.openjdk.java.net/browse/JDK-8153872 >> http://cr.openjdk.java.net/~kcr/8153872/webrev.00/ >> >> This is a simple backout of the earlier fix for JDK-8153754. > +1 > > Glad that this dependency is eliminated. > > Mandy From Alan.Bateman at oracle.com Thu Apr 21 09:45:22 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 21 Apr 2016 10:45:22 +0100 Subject: #ReflectiveAccessByInstrumentationAgents In-Reply-To: <571881E0.2010900@redhat.com> References: <571617F4.5010007@oracle.com> <57166446.4080608@redhat.com> <57176AB6.4070800@oracle.com> <571881E0.2010900@redhat.com> Message-ID: <5718A132.6040607@oracle.com> On 21/04/2016 08:31, Andrew Dinn wrote: > : > Having to explicitly manage module dependencies to retain compatibiity > with previous behaviour is at the very least a /nuisance/ because it now > means I -- and, no doubt, others in the agent business -- will have to > implement a dual-source agent, one for JDK9(+) and another to continue > to operate in JDK8/7/6 (yes, people can and do still use the latest > Byteman release in all those JDK releases). A solution internal to the > JVM which preserved existing behaviour and so did not require the > insertion of JDK-specific jumps through JDK-specific hoops would be much > preferred. Still, I suppose the releavant implementors are a relatively > small crowd and ought to know what we are doing and how to fix it. In the JVM TI and java.lang.instrument docs then you'll see that the VM is required to arrange for the module of instrumented code to read the unnamed module of both the application and boot class loaders. This is how we get many existing agents doing instrumentation, profilers and the like, to instrument code in modules without any knowledge of modules. We know of course that this isn't sufficient for all use-cases. In the discussion here then Byteman finds itself in a new world where it injects code into module A to access a type in module B that is not accessible to A. The only way that I can see this working is where Byteman adds supports for modules and in the example, it injects and executes code in module B to export the package to module A. -Alan From peter.levart at gmail.com Thu Apr 21 11:09:52 2016 From: peter.levart at gmail.com (Peter Levart) Date: Thu, 21 Apr 2016 13:09:52 +0200 Subject: #ReflectiveAccessByInstrumentationAgents In-Reply-To: <571881E0.2010900@redhat.com> References: <571617F4.5010007@oracle.com> <57166446.4080608@redhat.com> <57176AB6.4070800@oracle.com> <571881E0.2010900@redhat.com> Message-ID: <5718B500.2080806@gmail.com> Hi Andrew, On 04/21/2016 09:31 AM, Andrew Dinn wrote: > > On 20/04/16 12:40, Alan Bateman wrote: >> On 19/04/2016 18:00, Andrew Dinn wrote: >>> : >>> I have been building and testing on JDK9 Byteman using the EA program >>> releases and have not seen anything break so far. However, that may just >>> be because i) Byteman and the Byteman tests are only using runtime >>> classes from the java base module and ii) app code used in tests is not >>> modularized -- well, at least not using Jigsaw (see below). >> It's good to hear that you are testing with the EA builds. >> >> I think the main thing for Byteman, and this will be true at least some >> other agents too, is that there will likely need to be updated to >> support instrumentation with modules. We have a reasonable compatibility >> story for existing JVM TI and java agents but as soon as you get into >> instrumenting code to statically or reflectively access code in other >> modules then it may require the agent to arrange for this access to be >> allowed. > Having to explicitly manage module dependencies to retain compatibiity > with previous behaviour is at the very least a /nuisance/ because it now > means I -- and, no doubt, others in the agent business -- will have to > implement a dual-source agent, one for JDK9(+) and another to continue > to operate in JDK8/7/6 (yes, people can and do still use the latest > Byteman release in all those JDK releases). A solution internal to the > JVM which preserved existing behaviour and so did not require the > insertion of JDK-specific jumps through JDK-specific hoops would be much > preferred. Still, I suppose the releavant implementors are a relatively > small crowd and ought to know what we are doing and how to fix it. > > That minor rant aside (sorry, I feel better for that but I don't suppose > anyone else on this list does :-) I will happily investigate the > available dynamic module-management APIs and see what options exist to > remedy the changes to the status quo and retain as much backwards > compatibility as I can. At that point I will come back and comment on > the very useful advice you have provided below. Thanks very much for > your help so far. > > regards, > > > Andrew Dinn The situation is not so complicated, I think. If instrumented code calls some code in your Byteman module(s) then you should 1st make this code public and reside in exported packages. All you have to do then is add read edges from modules of instrumented classes to modules of Byteman classes that are called by instrumented code as they are being instrumented. For example, having the following utility class compiled with JDK 8 (not using any JDK 9 API): public class ClassFileTransformerWrapper { public ClassFileTransformer wrap(Instrumentation instrumentation, ClassFileTransformer transformerImpl, Class... readableClasses) { try { Class.forName("java.lang.reflect.Module"); } catch (ClassNotFoundException e) { // don't need to wrap if on JDK 8 or less return transformerImpl; } // wrap it return new ReadEdgeAddingClassFileTransformer(instrumentation, transformerImpl, readableClasses); } } ...which you call with your ClassFileTransformer implementation and the Class(es) where your Byteman code resides that contains methods called from instrumented code. The following delegating ClassFileTransformer, compiled with -target 9, will add read edges then: public class ReadEdgeAddingClassFileTransformer implements ClassFileTransformer { private final Instrumentation instrumentation; private final ClassFileTransformer transformerImpl; private final Set readableModules; ReadEdgeAddingClassFileTransformer(Instrumentation instrumentation, ClassFileTransformer transformerImpl, Class[] readableClasses) { this.instrumentation = instrumentation; this.transformerImpl = transformerImpl; this.readableModules = new HashSet<>(); for (Class c : readableClasses) { this.readableModules.add(c.getModule()); } } @Override public byte[] transform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException { return transformerImpl.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer); } @Override public byte[] transform(Module module, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException { byte[] transformedClassFile = transformerImpl.transform(module, className, classBeingRedefined, protectionDomain, classfileBuffer); // only need to add read edges if there was a transformation performed if (transformedClassFile != null) { for (Module target : readableModules) { if (!module.canRead(target)) { instrumentation.addModuleReads(module, target); } } } return transformedClassFile; } } This class is the only class that needs to be compiled with JDK 9 actually. Regards, Peter From adinn at redhat.com Thu Apr 21 13:01:57 2016 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 21 Apr 2016 14:01:57 +0100 Subject: #ReflectiveAccessByInstrumentationAgents In-Reply-To: <5718B500.2080806@gmail.com> References: <571617F4.5010007@oracle.com> <57166446.4080608@redhat.com> <57176AB6.4070800@oracle.com> <571881E0.2010900@redhat.com> <5718B500.2080806@gmail.com> Message-ID: <5718CF45.2020505@redhat.com> Hi Peter, On 21/04/16 12:09, Peter Levart wrote: > The situation is not so complicated, I think. . . . Thank you very much for your example code. I understand that it will be possible to localize the changes into a small part of the agent codebase. My problem was not with this factoring of the code but rather with the build and deployment process. I was assuming that I would have to locate any jdk9-specific code in a separate extension jar and ensure that clients consistently hoist both the jdk9-specific extension jar and the vanilla agent jar into either the system classpath or the bootstrap classpath when running on JDK9(+). The alternative was to use the new multi-release jar model to deploy the agent jar but, of course, I don't suppose that is ever going to work for JDK6 deployments. As you say, I can avoid this dilemma simply by bundling all the code into the one agent jar and instantiating the relevant management classes indirectly according to whether modules are present or not. That will ensure that the JDK9(+)-compiled classes are not loaded when running on JDK8(-). Thanks once again for your, as ever, very helpful insights. regards, Andrew Dinn ----------- From Alan.Bateman at oracle.com Thu Apr 21 13:32:06 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 21 Apr 2016 14:32:06 +0100 Subject: #ReflectiveAccessByInstrumentationAgents In-Reply-To: <5718B500.2080806@gmail.com> References: <571617F4.5010007@oracle.com> <57166446.4080608@redhat.com> <57176AB6.4070800@oracle.com> <571881E0.2010900@redhat.com> <5718B500.2080806@gmail.com> Message-ID: <5718D656.4010805@oracle.com> On 21/04/2016 12:09, Peter Levart wrote: > : > > The situation is not so complicated, I think. If instrumented code > calls some code in your Byteman module(s) then you should 1st make > this code public and reside in exported packages. All you have to do > then is add read edges from modules of instrumented classes to modules > of Byteman classes that are called by instrumented code as they are > being instrumented. If the instrumentation is just injecting code to call into Byteman then I assume it just works now. That is, it doesn't appear that Byteman has embraced modules yet and so I assume it must be an agent specified via -javaagent with perhaps supporting code in other JAR files. In that case, the Byteman code is the unnamed module of the app class loader and the VM will automatically add a read edge when the transformer touches code in any named module. This is the compatibility support that I mentioned in another mail. If you right this it should be simple as you say. On the other hand, some of the mails mention accessing non-public members, setAccessible, and even (it would appear) adjusting class loader delegation on the fly to facilitate the patches. -Alan From peter.levart at gmail.com Thu Apr 21 16:07:59 2016 From: peter.levart at gmail.com (Peter Levart) Date: Thu, 21 Apr 2016 18:07:59 +0200 Subject: java.lang.reflect.Module.WeakSet is not thread-safe Message-ID: <5718FADF.5000601@gmail.com> Hi, While browsing code in java.lang.reflect.Module (I sometimes do that just to see how thinks work ;-) I stumbled on the following nested class: private static class WeakSet { private final ReadWriteLock lock = new ReentrantReadWriteLock(); private final Lock readLock = lock.readLock(); private final Lock writeLock = lock.writeLock(); private final WeakHashMap map = new WeakHashMap<>(); /** * Adds the specified element to the set. */ void add(E e) { writeLock.lock(); try { map.put(e, Boolean.TRUE); } finally { writeLock.unlock(); } } /** * Returns {@code true} if this set contains the specified element. */ boolean contains(E e) { readLock.lock(); try { return map.containsKey(e); } finally { readLock.unlock(); } } } ...while this seems OK from 1st look, it is not. WeakHashMap is not thread-safe even for seemingly read-only operations. All its operations can mutate internal state in a non-thread-safe way. The simplest way to fix this is to use a writeLock for containsKey operation too. But such structure does not scale well to multiple threads for frequent lookups. WeakSet is used in Module to keep track of transient read edges, exports and uses of services added dynamically to the module. Modification operations are not so performance critical, but lookup operations are. I propose to add a thread-safe WeakPairMap data structure which associates a pair of weakly-reachable keys with a strongly-reachable value based on ConcurrentHashMap. Such data structure is footprint-friendly, since only a single instance exists for a particular purpose, totaling 3 instances for the transient structures serving all Modules in the system: http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.01/ So, what do you think? Regards, Peter From Alan.Bateman at oracle.com Thu Apr 21 16:21:55 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 21 Apr 2016 17:21:55 +0100 Subject: java.lang.reflect.Module.WeakSet is not thread-safe In-Reply-To: <5718FADF.5000601@gmail.com> References: <5718FADF.5000601@gmail.com> Message-ID: <5718FE23.3070808@oracle.com> On 21/04/2016 17:07, Peter Levart wrote: > : > > ...while this seems OK from 1st look, it is not. WeakHashMap is not > thread-safe even for seemingly read-only operations. All its > operations can mutate internal state in a non-thread-safe way. The > simplest way to fix this is to use a writeLock for containsKey > operation too. But such structure does not scale well to multiple > threads for frequent lookups. Sigh, it's a left over from early prototyping and was meant to be replaced (but wasn't). Now seems the right time. -Alan From peter.levart at gmail.com Thu Apr 21 18:56:31 2016 From: peter.levart at gmail.com (Peter Levart) Date: Thu, 21 Apr 2016 20:56:31 +0200 Subject: java.lang.reflect.Module.WeakSet is not thread-safe In-Reply-To: <5718FADF.5000601@gmail.com> References: <5718FADF.5000601@gmail.com> Message-ID: <5719225F.1050608@gmail.com> On 04/21/2016 06:07 PM, Peter Levart wrote: > I propose to add a thread-safe WeakPairMap data structure which > associates a pair of weakly-reachable keys with a strongly-reachable > value based on ConcurrentHashMap. Such data structure is > footprint-friendly, since only a single instance exists for a > particular purpose, totaling 3 instances for the transient structures > serving all Modules in the system: > > http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.01/ > Oops... It looks like I replaced one thread-unsafe construction with another one: 389 // additional exports added at run-time 390 // source module (1st key), target module (2nd key), exported packages (value) 391 private static final WeakPairMap> transientExports = 392 new WeakPairMap<>(); ...that would've been OK if I hadn't used normal HashSet for holding the set of packages: 623 // add package name to transientExports if absent 624 transientExports 625 .computeIfAbsent(this, other, (_this, _other) -> new HashSet<>()) 626 .add(pn); Luckily this can be easily fixed by using a ConcurrentHashMap instead of HashSet which is even more space-friendly (HashSet is just a wrapper around HashMap and HashMap is basically the same structure as ConcurrentHashMap): http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.02/ Regards, Peter From forax at univ-mlv.fr Thu Apr 21 19:52:53 2016 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Thu, 21 Apr 2016 19:52:53 +0000 Subject: java.lang.reflect.Module.WeakSet is not thread-safe In-Reply-To: <5718FE23.3070808@oracle.com> References: <5718FADF.5000601@gmail.com> <5718FE23.3070808@oracle.com> Message-ID: <2CE30172-D616-4C9A-94C7-5F2436979B06@univ-mlv.fr> I remember seeing this codd an thinking that synchronized should do the job. I don't believe this use case requires something more complex. Remi Le 21 avril 2016 18:21:55 CEST, Alan Bateman a ?crit : > > >On 21/04/2016 17:07, Peter Levart wrote: >> : >> >> ...while this seems OK from 1st look, it is not. WeakHashMap is not >> thread-safe even for seemingly read-only operations. All its >> operations can mutate internal state in a non-thread-safe way. The >> simplest way to fix this is to use a writeLock for containsKey >> operation too. But such structure does not scale well to multiple >> threads for frequent lookups. >Sigh, it's a left over from early prototyping and was meant to be >replaced (but wasn't). Now seems the right time. > >-Alan From Alan.Bateman at oracle.com Thu Apr 21 20:41:42 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 21 Apr 2016 21:41:42 +0100 Subject: java.lang.reflect.Module.WeakSet is not thread-safe In-Reply-To: <2CE30172-D616-4C9A-94C7-5F2436979B06@univ-mlv.fr> References: <5718FADF.5000601@gmail.com> <5718FE23.3070808@oracle.com> <2CE30172-D616-4C9A-94C7-5F2436979B06@univ-mlv.fr> Message-ID: <57193B06.8040200@oracle.com> On 21/04/2016 20:52, R?mi Forax wrote: > I remember seeing this codd an thinking that synchronized should do the job. > I don't believe this use case requires something more complex. > > Remi I've taken a first pass over it and WeakPairMap seems straight-forward to use but its implementation, with Pair/Weak/Primary/Secondary/Lookup is complex. Prior to #ReflectionWithoutReadability then transientReads was important, less so now although I think we should continue to allow concurrent lookups. -Alan From paul.bakker.nl at gmail.com Fri Apr 22 08:52:23 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Fri, 22 Apr 2016 10:52:23 +0200 Subject: requires public for automatic modules Message-ID: Hello, I'm experimenting with automatic modules again. I have a module "demonstrator" that uses Jackson Databind. import com.fasterxml.jackson.databind.ObjectMapper; .... ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(modularityBook); In module-info.java I have the following: requires jackson.databind; On the modulepath I have jackson.core, jackson.databind and jackson.annotations. Building results in an error: class file for com.fasterxml.jackson.core.Versioned not found This makes sense because the ObjectMapper class that I'm using implements the Versioned interface (from jackson.core). When generating a module-info.java using jdeps for the jackson.databind JAR however, it generates the following: requires public jackson.annotations; requires public jackson.core; This is much closer to what I would expect when using the jackson.databind module. When using jackson.databind as an automatic module, I will end up with a list of requires for transitive dependencies that I shouldn't have to care about. Why don't automatic modules take better care of transitive dependencies, so that the application's module-info looks similar to what it would after transforming the dependencies to named modules? Also, jdeps doesn't actually show this problem when looking at the code when still on the classpath: jdeps -cp lib/jackson-databind-2.7.3.jar out/com/javamodularity/demonstrator/Demo.class Demo.class -> lib/jackson-databind-2.7.3.jar Demo.class -> java.base com.javamodularity.demonstrator (Demo.class) -> com.fasterxml.jackson.databind jackson-databind-2.7.3.jar -> java.io -> java.lang Best regards, Paul Bakker From forax at univ-mlv.fr Fri Apr 22 09:12:58 2016 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 22 Apr 2016 11:12:58 +0200 (CEST) Subject: requires public for automatic modules In-Reply-To: References: Message-ID: <1600918195.360538.1461316378957.JavaMail.zimbra@u-pem.fr> Hi Paul, ----- Mail original ----- > De: "Paul Bakker" > ?: jigsaw-dev at openjdk.java.net > Envoy?: Vendredi 22 Avril 2016 10:52:23 > Objet: requires public for automatic modules > > Hello, > > I'm experimenting with automatic modules again. I have a module > "demonstrator" that uses Jackson Databind. > > import com.fasterxml.jackson.databind.ObjectMapper; > .... > ObjectMapper mapper = new ObjectMapper(); > String json = mapper.writeValueAsString(modularityBook); > > In module-info.java I have the following: > > requires jackson.databind; > > On the modulepath I have jackson.core, jackson.databind and > jackson.annotations. > Building results in an error: > > class file for com.fasterxml.jackson.core.Versioned not found > > This makes sense because the ObjectMapper class that I'm using implements the > Versioned interface (from jackson.core). > When generating a module-info.java using jdeps for the jackson.databind JAR > however, it generates the following: > > requires public jackson.annotations; > requires public jackson.core; > > This is much closer to what I would expect when using the jackson.databind > module. > When using jackson.databind as an automatic module, I will end up with a list > of requires for transitive dependencies that I shouldn't have to care about. > Why don't automatic modules take better care of transitive dependencies, so > that the application's module-info looks similar to what it would after > transforming the dependencies to named modules? > because it will require the runtime to parse the bytecode of an automatic module, which is a slow operation. > Also, jdeps doesn't actually show this problem when looking at the code when > still on the classpath: > > jdeps -cp lib/jackson-databind-2.7.3.jar > out/com/javamodularity/demonstrator/Demo.class > > Demo.class -> lib/jackson-databind-2.7.3.jar > Demo.class -> java.base > com.javamodularity.demonstrator (Demo.class) > -> com.fasterxml.jackson.databind > jackson-databind-2.7.3.jar > -> java.io > -> java.lang > > Best regards, > > Paul Bakker > > > regards, R?mi From alan.bateman at oracle.com Fri Apr 22 09:14:11 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Apr 2016 09:14:11 +0000 Subject: hg: jigsaw/jake: 26 new changesets Message-ID: <201604220914.u3M9EB3d028459@aojmv0008.oracle.com> Changeset: 2abe79f8c412 Author: erikj Date: 2016-04-12 15:20 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/2abe79f8c412 8154070: Configuration script unable to detect boot JDK's modules support Reviewed-by: alanb ! common/autoconf/boot-jdk.m4 ! common/autoconf/generated-configure.sh Changeset: b490dd2121ac Author: kzhaldyb Date: 2016-02-16 15:25 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/b490dd2121ac 8146287: typos in /test/failure_handler Reviewed-by: iignatyev, stsmirno ! test/failure_handler/Makefile ! test/failure_handler/test/sanity/Suicide.java Changeset: 922839953828 Author: kzhaldyb Date: 2016-02-16 15:36 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/922839953828 8149780: GatherProcessInfoTimeoutHandler shouldn't call getWin32Pid if the lib isn't load Reviewed-by: iignatyev, stsmirno ! test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/GatherProcessInfoTimeoutHandler.java Changeset: 63bacca32a57 Author: jwilhelm Date: 2016-03-19 01:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/63bacca32a57 Merge Changeset: 60842ab238ca Author: jwilhelm Date: 2016-03-23 20:12 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/60842ab238ca Merge Changeset: caf370438764 Author: dfazunen Date: 2016-03-30 17:24 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/caf370438764 8152422: Optimize GC JPRT test set Reviewed-by: sjohanss, pliden ! make/jprt.properties Changeset: 15c37952af8f Author: ctornqvi Date: 2016-03-30 11:15 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/15c37952af8f 8153071: Remove client testing from JPRT Reviewed-by: dcubed, gtriantafill ! make/jprt.properties Changeset: 7e415988cbad Author: ctornqvi Date: 2016-03-30 20:01 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/7e415988cbad Merge ! make/jprt.properties Changeset: 10fc3d11f4c4 Author: ctornqvi Date: 2016-03-31 11:42 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/10fc3d11f4c4 8150899: [TESTBUG] Split hotspot_all job into smaller jobs Reviewed-by: gtriantafill, iignatyev ! make/jprt.properties Changeset: b2c757cb9904 Author: jwilhelm Date: 2016-04-02 05:30 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/b2c757cb9904 Merge Changeset: 9e014eb1c0bf Author: dcubed Date: 2016-04-07 08:48 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/9e014eb1c0bf Merge Changeset: 0aef6b371e44 Author: jcm Date: 2016-04-04 02:10 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/0aef6b371e44 8067247: Crash: assert(method_holder->data() == 0 ...) failed: a) MT-unsafe modification of inline cache Summary: Made invoker LambdaForm instance & its compiled form lifetime tightly coupled. Reviewed-by: vlivanov ! test/lib/sun/hotspot/WhiteBox.java Changeset: a396eea6a178 Author: bharadwaj Date: 2016-04-05 15:39 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/a396eea6a178 Merge Changeset: 512906ad475a Author: bharadwaj Date: 2016-04-08 12:36 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/512906ad475a Merge Changeset: b72d1bf91ec1 Author: amurillo Date: 2016-04-11 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/b72d1bf91ec1 Merge Changeset: 680189242eea Author: amurillo Date: 2016-04-13 00:00 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/680189242eea Merge Changeset: b866d54ff8f5 Author: erikj Date: 2016-04-13 18:11 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/b866d54ff8f5 8153969: Clean up module src dir logic Reviewed-by: ihse ! make/CompileJavaModules.gmk ! make/GensrcModuleInfo.gmk ! make/common/MakeBase.gmk ! make/common/Modules.gmk ! test/make/TestMakeBase.gmk Changeset: 55cf2b46a77a Author: erikj Date: 2016-04-14 15:13 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/55cf2b46a77a 8149777: Enable enhanced failure handler for "make test" Reviewed-by: ihse ! make/Main.gmk + make/test/BuildFailureHandler.gmk ! test/failure_handler/README - test/failure_handler/src/windows/native/jdk/test/failurehandler/jtreg/GatherProcessInfoTimeoutHandler.c + test/failure_handler/src/windows/native/libtimeoutHandler/GatherProcessInfoTimeoutHandler.c Changeset: 300bad1862c5 Author: erikj Date: 2016-04-14 16:42 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/300bad1862c5 8154237: Compare script broken for windows native library deps comparison Reviewed-by: tbell ! common/bin/compare.sh Changeset: 6fefc7b2aade Author: lana Date: 2016-04-14 09:32 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/6fefc7b2aade Merge - test/failure_handler/src/windows/native/jdk/test/failurehandler/jtreg/GatherProcessInfoTimeoutHandler.c Changeset: ec69c5bf68a6 Author: neugens Date: 2016-04-15 14:57 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/ec69c5bf68a6 8154313: Generated javadoc scattered all over the place Summary: Added new top level target zip-docs which scans all generated javadocs and prepare zip-archive in way understandable to most IDEs Reviewed-by: erikj Contributed-by: Jiri Vanek ! make/Javadoc.gmk ! make/Main.gmk ! make/MainSupport.gmk Changeset: 9f1ecdfae7fb Author: erikj Date: 2016-04-15 18:07 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/9f1ecdfae7fb 8154292: jdk9-dev: All SE builds failed on 2016-04-14 Reviewed-by: alanb ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/conf/jib-profiles.js ! make/Main.gmk Changeset: 5aab06744c09 Author: omajid Date: 2016-04-18 09:12 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/5aab06744c09 8154394: Bad test for ENABLE_SJAVAC in build-performance.m4 Reviewed-by: erikj ! common/autoconf/build-performance.m4 ! common/autoconf/generated-configure.sh Changeset: 09617ce980b9 Author: erikj Date: 2016-04-18 17:18 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/09617ce980b9 8154430: Imported modules rebuilt on second run when nothing has changed Reviewed-by: alanb, tbell ! make/CompileJavaModules.gmk Changeset: 28438b6fbaa1 Author: lana Date: 2016-04-21 12:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/28438b6fbaa1 Added tag jdk-9+115 for changeset 09617ce980b9 ! .hgtags Changeset: c6fc853bfb42 Author: alanb Date: 2016-04-22 09:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/c6fc853bfb42 Merge ! common/autoconf/boot-jdk.m4 ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/bin/compare.sh ! common/conf/jib-profiles.js ! make/CompileJavaModules.gmk ! make/GensrcModuleInfo.gmk ! make/Javadoc.gmk ! make/Main.gmk ! make/MainSupport.gmk ! make/common/MakeBase.gmk ! make/common/Modules.gmk ! make/jprt.properties - test/failure_handler/src/windows/native/jdk/test/failurehandler/jtreg/GatherProcessInfoTimeoutHandler.c ! test/lib/sun/hotspot/WhiteBox.java From alan.bateman at oracle.com Fri Apr 22 09:14:10 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Apr 2016 09:14:10 +0000 Subject: hg: jigsaw/jake/jaxp: 5 new changesets Message-ID: <201604220914.u3M9EAcm028370@aojmv0008.oracle.com> Changeset: 8be5606f3ea3 Author: joehw Date: 2016-04-12 14:44 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/8be5606f3ea3 8151162: Public entries not searched when prefer='system' Reviewed-by: lancea ! src/java.xml/share/classes/javax/xml/catalog/CatalogResolverImpl.java ! src/java.xml/share/classes/javax/xml/catalog/CatalogUriResolverImpl.java ! src/java.xml/share/classes/javax/xml/catalog/GroupEntry.java ! src/java.xml/share/classes/javax/xml/catalog/Util.java ! test/javax/xml/jaxp/unittest/catalog/CatalogTest.java + test/javax/xml/jaxp/unittest/catalog/pubOnly.xml + test/javax/xml/jaxp/unittest/catalog/sysAndPub.xml + test/javax/xml/jaxp/unittest/catalog/sysOnly.xml Changeset: ffec86e316e7 Author: lana Date: 2016-04-14 09:33 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/ffec86e316e7 Merge Changeset: 1902a5bda18e Author: joehw Date: 2016-04-14 16:36 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/1902a5bda18e 8152527: Relative rewriteSystem with xml:base at group level failed Reviewed-by: lancea ! src/java.xml/share/classes/javax/xml/catalog/GroupEntry.java ! test/javax/xml/jaxp/unittest/catalog/CatalogTest.java + test/javax/xml/jaxp/unittest/catalog/rewriteSystem_id.xml Changeset: 5a17325d8118 Author: lana Date: 2016-04-21 12:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/5a17325d8118 Added tag jdk-9+115 for changeset 1902a5bda18e ! .hgtags Changeset: e3be851354a7 Author: alanb Date: 2016-04-22 07:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/e3be851354a7 Merge From alan.bateman at oracle.com Fri Apr 22 09:14:11 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Apr 2016 09:14:11 +0000 Subject: hg: jigsaw/jake/jaxws: 2 new changesets Message-ID: <201604220914.u3M9EBWx028442@aojmv0008.oracle.com> Changeset: 529f0bf896e5 Author: lana Date: 2016-04-21 12:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/529f0bf896e5 Added tag jdk-9+115 for changeset 4ff86e5489e4 ! .hgtags Changeset: 892b6c3e7ea7 Author: alanb Date: 2016-04-22 07:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/892b6c3e7ea7 Merge From alan.bateman at oracle.com Fri Apr 22 09:14:12 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Apr 2016 09:14:12 +0000 Subject: hg: jigsaw/jake/corba: 3 new changesets Message-ID: <201604220914.u3M9ECWP028468@aojmv0008.oracle.com> Changeset: 7bab1b1b3682 Author: chegar Date: 2016-04-15 16:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/7bab1b1b3682 8137058: Clear out all non-Critical APIs from sun.reflect Reviewed-by: alanb, jfranck, mchung ! src/java.corba/share/classes/sun/corba/Bridge.java Changeset: 20198ae6eb3e Author: lana Date: 2016-04-21 12:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/20198ae6eb3e Added tag jdk-9+115 for changeset 7bab1b1b3682 ! .hgtags Changeset: 08b6b0e7590a Author: alanb Date: 2016-04-22 07:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/08b6b0e7590a Merge From alan.bateman at oracle.com Fri Apr 22 09:14:12 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Apr 2016 09:14:12 +0000 Subject: hg: jigsaw/jake/langtools: 8 new changesets Message-ID: <201604220914.u3M9ECqi028471@aojmv0008.oracle.com> Changeset: 73717a51063b Author: rfield Date: 2016-04-12 22:23 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/73717a51063b 8143955: JShell tool (UX): Output structure 8143956: JShell tool (UX): default prompts 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/Eval.java ! test/jdk/jshell/EditorPadTest.java ! test/jdk/jshell/EditorTestBase.java ! test/jdk/jshell/ExternalEditorTest.java ! test/jdk/jshell/ReplToolTesting.java ! test/jdk/jshell/T8146368/JShellToolTest8146368.java ! test/jdk/jshell/ToolBasicTest.java ! test/jdk/jshell/ToolReloadTest.java ! test/jdk/jshell/ToolSimpleTest.java Changeset: 65837a9d9c4a Author: jlahoda Date: 2016-04-13 09:50 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/65837a9d9c4a 8150641: Repeated compilation with a long classpath significantly slower on JDK 9 Summary: Caching resolved zip paths, and their non-existence; introducing an abstraction over jrtfs, directory and zipfs. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java Changeset: a399f56c42aa Author: jlahoda Date: 2016-04-13 19:44 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/a399f56c42aa 8154149: tools/javac/unit/T6198196.java broken on Windows after JDK-8150641 Summary: Avoiding interference among sub-tests due to CacheFSInfo by using a new file manager for each sub-test Reviewed-by: jjg ! test/tools/javac/unit/T6198196.java Changeset: 9326e37434ee Author: lana Date: 2016-04-14 09:34 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/9326e37434ee Merge Changeset: eaa3ac6a778a Author: ksrini Date: 2016-04-14 14:30 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/eaa3ac6a778a 8152818: Javadoc must support module options supported by javac. Reviewed-by: jjg, martin ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOption.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties Changeset: 31c8b18fdc5b Author: jjg Date: 2016-04-14 17:51 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/31c8b18fdc5b 8149757: Implement Multi-Release JAR aware JavacFileManager for javac Reviewed-by: jjg, jlahoda Contributed-by: steve.drach at oracle.com ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties + test/tools/javac/file/MultiReleaseJar/MultiReleaseJarAwareSJFM.java + test/tools/javac/file/MultiReleaseJar/MultiReleaseJarTest.java Changeset: dd5907bca0a4 Author: lana Date: 2016-04-21 12:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/dd5907bca0a4 Added tag jdk-9+115 for changeset 31c8b18fdc5b ! .hgtags Changeset: 542e14c460d6 Author: alanb Date: 2016-04-22 09:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/542e14c460d6 Merge ! .hgtags ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOption.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties ! test/jdk/jshell/T8146368/JShellToolTest8146368.java From alan.bateman at oracle.com Fri Apr 22 09:14:14 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Apr 2016 09:14:14 +0000 Subject: hg: jigsaw/jake/nashorn: 3 new changesets Message-ID: <201604220914.u3M9EE6A028479@aojmv0008.oracle.com> Changeset: 295ac208a444 Author: chegar Date: 2016-04-15 16:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/295ac208a444 8137058: Clear out all non-Critical APIs from sun.reflect Reviewed-by: alanb, jfranck, mchung ! src/jdk.dynalink/share/classes/jdk/dynalink/beans/AbstractJavaLinker.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java Changeset: 208388a5622d Author: lana Date: 2016-04-21 12:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/208388a5622d Added tag jdk-9+115 for changeset 295ac208a444 ! .hgtags Changeset: 98ff6dc92733 Author: alanb Date: 2016-04-22 07:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/98ff6dc92733 Merge ! .hgtags ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java From alan.bateman at oracle.com Fri Apr 22 09:14:34 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Apr 2016 09:14:34 +0000 Subject: hg: jigsaw/jake/jdk: 75 new changesets Message-ID: <201604220914.u3M9EbdN028551@aojmv0008.oracle.com> Changeset: 463463e306e0 Author: smarks Date: 2016-04-11 11:45 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/463463e306e0 8145461: finalize and integrate @Deprecated annotation specification change Reviewed-by: scolebourne, chegar, lancea ! src/java.base/share/classes/java/lang/Deprecated.java Changeset: a74c31f08a47 Author: peytoia Date: 2016-04-12 10:15 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a74c31f08a47 8150324: java/util/Currency/CurrencyTest.java does not restore default TimeZone Reviewed-by: okutsu, peytoia Contributed-by: Nishit Jain ! test/java/util/Currency/CurrencyTest.java Changeset: a1b34a5ff412 Author: amlu Date: 2016-04-12 09:54 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a1b34a5ff412 8154031: Mark tools/pack200/BandIntegrity.java as intermittently failing Reviewed-by: darcy ! test/tools/pack200/BandIntegrity.java Changeset: e6196d754c4e Author: amlu Date: 2016-04-12 13:53 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e6196d754c4e 8068693: (ch) test java/nio/channels/AsyncCloseAndInterrupt.java failing. 8153209: java/nio/channels/AsyncCloseAndInterrupt.java fails throwing exception: java.nio.channels.ClosedChannelException. Summary: for JDK-8068693, 500ms is too short on busy system for channel to be closed or for thread blocking on IO to be interrupted, increase the time from 500ms to 10000ms. for JDK-8153209, it's a test regression due to JDK-8151582, do not sleep when running tests for CONNECT/FINISH_CONNECT, sleep for other test cases. Reviewed-by: bpb, martin, rriggs Contributed-by: Hamlin Li ! test/java/nio/channels/AsyncCloseAndInterrupt.java Changeset: 1ac040116965 Author: redestad Date: 2016-04-12 18:25 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1ac040116965 8153213: Jar manifest attribute "Multi-Release" accepts any value Reviewed-by: psandoz, redestad Contributed-by: steve.drach at oracle.com ! src/java.base/share/classes/java/util/jar/JarFile.java ! test/java/util/jar/JarFile/MultiReleaseJarAPI.java ! test/lib/testlibrary/java/util/jar/CreateMultiReleaseTestJars.java Changeset: 1f8c4b1a301c Author: rhalade Date: 2016-04-12 09:37 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1f8c4b1a301c 8153829: javax/net/ssl/Stapling/HttpsUrlConnClient.java fails intermittently with NullPointerException Reviewed-by: xuelei, jnimeh ! test/java/security/testlibrary/SimpleOCSPServer.java ! test/javax/net/ssl/Stapling/HttpsUrlConnClient.java ! test/javax/net/ssl/Stapling/SSLEngineWithStapling.java ! test/javax/net/ssl/Stapling/SSLSocketWithStapling.java ! test/javax/net/ssl/Stapling/StapleEnableProps.java ! test/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/StatusResponseManagerTests.java Changeset: ff4e699b02cc Author: redestad Date: 2016-04-12 21:41 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ff4e699b02cc 8154067: Avoid early use of limited privilege escalation in InnerClassLambdaMetafactory Reviewed-by: alanb, mchung, mullan, briangoetz ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java Changeset: cde5f640f82b Author: mchung Date: 2016-04-12 18:58 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cde5f640f82b 8153665: URLClassLoader::definePackage no longer inspect packages from ancestors Reviewed-by: alanb ! src/java.base/share/classes/java/net/URLClassLoader.java + test/java/net/URLClassLoader/definePackage/SplitPackage.java + test/java/net/URLClassLoader/definePackage/p/Bar.java + test/java/net/URLClassLoader/definePackage/p/Baz.java + test/java/net/URLClassLoader/definePackage/p/Foo.java Changeset: fdc920e40e35 Author: jwilhelm Date: 2016-03-09 14:18 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/fdc920e40e35 Merge Changeset: 92aaccaffea7 Author: coleenp Date: 2016-03-10 14:20 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/92aaccaffea7 8150778: Reduce Throwable.getStackTrace() calls to the JVM Summary: replace JVM_GetStackTraceDepth and JVM_GetStackTraceElement, with JVM_GetStackTraceElements that gets all the elements in the StackTraceElement[] Reviewed-by: dfuchs, mchung, shade, hseigel ! make/mapfiles/libjava/mapfile-vers ! make/mapfiles/libjava/reorder-sparc ! make/mapfiles/libjava/reorder-sparcv9 ! make/mapfiles/libjava/reorder-x86 ! src/java.base/share/classes/java/lang/StackTraceElement.java ! src/java.base/share/classes/java/lang/Throwable.java ! src/java.base/share/native/include/jvm.h ! src/java.base/share/native/libjava/Throwable.c Changeset: cba76eb01f49 Author: ysuenaga Date: 2016-03-04 18:13 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cba76eb01f49 8151181: Add JSnap to jhsdb Reviewed-by: dsamersoff ! test/sun/tools/jhsdb/BasicLauncherTest.java Changeset: a67d225b677f Author: ysuenaga Date: 2016-03-15 12:27 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a67d225b677f 8151709: jhsdb should show help message in SALauncher. Reviewed-by: dsamersoff ! test/sun/tools/jhsdb/SAGetoptTest.java Changeset: 845872bba235 Author: redestad Date: 2016-03-17 10:26 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/845872bba235 8152074: Avoid lambda usage in StringConcatFactory initializer Reviewed-by: shade, forax, chegar ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java Changeset: 9aa836718999 Author: jwilhelm Date: 2016-03-19 01:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9aa836718999 Merge Changeset: 4ef83a6b90e8 Author: hb Date: 2016-03-21 20:39 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4ef83a6b90e8 8031753: JMXServiceURL should not use getLocalHost or its usage should be enhanced Summary: JMXServiceURL should not use getLocalHost or its usage should be enhanced Reviewed-by: jbachorik ! src/java.management/share/classes/javax/management/remote/JMXServiceURL.java Changeset: 645a9be6eddb Author: hb Date: 2016-03-22 01:13 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/645a9be6eddb 8151797: java/lang/management/ThreadMXBean/ThreadLists.java : inconsistent results Summary: Create ThreadMXBean at the beginning of test so that call-site cleaner thread will be started Reviewed-by: sla ! test/java/lang/management/ThreadMXBean/ThreadLists.java Changeset: 5a553039e9fc Author: sla Date: 2016-03-22 19:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5a553039e9fc 8151887: com/sun/jdi/RedefineClearBreakpoint.sh failed with timeout Summary: Take timeout factor into account Reviewed-by: dsamersoff ! test/com/sun/jdi/ShellScaffold.sh Changeset: a1ff2f35dcc6 Author: sla Date: 2016-03-22 19:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a1ff2f35dcc6 7153107: com/sun/jdi/InterruptHangTest.java fails in nightlies Summary: Increased timeouts and added timestamped logging Reviewed-by: sspitsyn ! test/com/sun/jdi/InterruptHangTest.java ! test/com/sun/jdi/TestScaffold.java Changeset: 277d7584fa03 Author: sgehwolf Date: 2016-03-21 11:24 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/277d7584fa03 4858370: JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command Summary: Delete global references in invoker_completeInvokeRequest() Reviewed-by: sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/invoker.c + test/com/sun/jdi/OomDebugTest.java Changeset: 0442990ca8ad Author: sspitsyn Date: 2016-03-22 21:27 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0442990ca8ad Merge Changeset: 725743673498 Author: dsamersoff Date: 2016-03-23 21:40 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/725743673498 8151444: JDP not working Summary: Don't set IP_MULTICAST_IF explicitly Reviewed-by: sla, ysuenaga ! src/java.management/share/classes/sun/management/jdp/JdpBroadcaster.java ! test/sun/management/jdp/JdpDefaultsTest.java ! test/sun/management/jdp/JdpTestCase.java Changeset: 0dfea12d7199 Author: jwilhelm Date: 2016-03-23 20:14 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0dfea12d7199 Merge - make/gendata/Gendata-jdk.jdeps.gmk - make/gensrc/Gensrc-jdk.dev.gmk - make/gensrc/Gensrc-jdk.jvmstat.gmk - make/launcher/Launcher-jdk.dev.gmk ! make/mapfiles/libjava/mapfile-vers - make/scripts/localelist.sh - make/src/classes/build/tools/module/GenJdepsModulesXml.java - make/src/classes/build/tools/module/GenModulesList.java - make/src/classes/build/tools/module/ImageBuilder.java - make/src/classes/build/tools/module/ModuleArchive.java - make/src/classes/build/tools/module/boot.modules - make/src/classes/build/tools/module/ext.modules ! src/java.base/share/classes/java/lang/StackTraceElement.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java - src/java.base/share/classes/jdk/internal/jimage/Archive.java - src/java.base/share/classes/jdk/internal/jimage/BasicImageWriter.java - src/java.base/share/classes/jdk/internal/jimage/ExternalFilesWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageFileCreator.java - src/java.base/share/classes/jdk/internal/jimage/ImageJavaSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleData.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleDataWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/ImageResourcesTree.java - src/java.base/share/classes/jdk/internal/jimage/ImageStringsWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageSubstrate.java - src/java.base/share/classes/jdk/internal/jimage/PerfectHashBuilder.java - src/java.base/share/classes/jdk/internal/jimage/ResourcePool.java - src/java.base/share/classes/jdk/internal/jimage/ResourcePoolImpl.java - src/java.base/share/classes/jdk/internal/jimage/StringTable.java - src/java.base/share/classes/jdk/internal/jimage/UTF8String.java - src/java.base/share/classes/sun/misc/Launcher.java - src/java.base/share/classes/sun/util/CoreResourceBundleControl-XLocales.java.template ! src/java.base/share/native/include/jvm.h - src/java.base/share/native/libjava/Package.c - src/java.base/share/native/libjava/Proxy.c - src/java.base/share/native/libjimage/ImageNativeSubstrate.cpp - src/java.desktop/share/classes/META-INF/services/java.net.ContentHandlerFactory - src/java.desktop/share/classes/META-INF/services/javax.print.PrintServiceLookup - src/java.desktop/share/classes/META-INF/services/javax.print.StreamPrintServiceFactory - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiFileReader - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiFileWriter - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.SoundbankReader - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.AudioFileReader - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.AudioFileWriter - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.FormatConversionProvider - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider - src/java.desktop/share/classes/META-INF/services/sun.datatransfer.DesktopDatatransferService - src/java.logging/share/classes/META-INF/services/jdk.internal.logger.DefaultLoggerFinder - src/java.security.jgss/share/classes/META-INF/services/sun.security.ssl.ClientKeyExchangeService - src/jdk.accessibility/windows/classes/META-INF/services/javax.accessibility.AccessibilityProvider - src/jdk.attach/share/classes/META-INF/services/com.sun.tools.attach.spi.AttachProvider - src/jdk.charsets/share/classes/META-INF/services/java.nio.charset.spi.CharsetProvider - src/jdk.dev/share/classes/jdk/tools/jimage/ExtractedImage.java - src/jdk.dev/share/classes/jdk/tools/jimage/JImageTask.java - src/jdk.dev/share/classes/jdk/tools/jimage/Main.java - src/jdk.dev/share/classes/jdk/tools/jimage/TaskHelper.java - src/jdk.dev/share/classes/jdk/tools/jimage/resources/jimage.properties - src/jdk.jdi/share/classes/META-INF/services/com.sun.jdi.connect.Connector - src/jdk.jdi/share/classes/META-INF/services/com.sun.jdi.connect.spi.TransportService - src/jdk.jvmstat.rmi/share/classes/META-INF/services/sun.jvmstat.monitor.MonitoredHostService - src/jdk.jvmstat/share/classes/META-INF/services/sun.jvmstat.monitor.MonitoredHostService - src/jdk.localedata/share/classes/META-INF/services/sun.util.locale.provider.LocaleDataMetaInfo - src/jdk.management/share/classes/META-INF/services/sun.management.spi.PlatformMBeanProvider - src/jdk.naming.dns/share/classes/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - src/jdk.zipfs/share/classes/META-INF/services/java.nio.file.spi.FileSystemProvider - test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh - test/java/net/DatagramSocket/SetDatagramSocketImplFactory/java/net/MyDatagramSocketImplFactory.java - test/java/net/httpclient/whitebox/TEST.properties - test/java/net/httpclient/whitebox/java/net/http/SelectorTest.java - test/java/util/stream/bootlib/TEST.properties - test/javax/swing/JScrollPane/8033000/bug8033000.java - test/jdk/internal/jimage/ExecutableTest.java - test/jdk/internal/jimage/JImageTest.java - test/jdk/internal/jimage/VerifyJimage.java - test/sun/security/krb5/config/NamingManager.java - test/sun/security/krb5/config/dns.sh - test/sun/security/mscapi/IsSunMSCAPIAvailable.sh - test/sun/security/ssl/StatusStapling/BogusStatusRequest.java - test/sun/security/ssl/StatusStapling/CertStatusReqExtensionTests.java - test/sun/security/ssl/StatusStapling/CertStatusReqItemV2Tests.java - test/sun/security/ssl/StatusStapling/CertStatusReqListV2ExtensionTests.java - test/sun/security/ssl/StatusStapling/OCSPStatusRequestTests.java - test/sun/security/ssl/StatusStapling/StatusResponseManagerTests.java - test/sun/security/ssl/StatusStapling/TestCase.java - test/sun/security/ssl/StatusStapling/TestUtils.java ! test/sun/tools/jhsdb/SAGetoptTest.java Changeset: 0e13cf9d7b0f Author: coleenp Date: 2016-03-24 15:59 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0e13cf9d7b0f 8152719: ignore this com/sun/jdi/InterfaceMehtodsTest.java until bug is fix Reviewed-by: ctornqvi, hseigel, sspitsyn ! test/ProblemList.txt Changeset: ab934fd0a498 Author: akulyakh Date: 2016-03-24 15:22 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ab934fd0a498 8147987: Remove sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java from problemList Summary: Re-enabling a previously excluded test Reviewed-by: sspitsyn ! test/ProblemList.txt Changeset: 8fa63e27e764 Author: ysuenaga Date: 2016-03-30 21:05 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8fa63e27e764 8151674: STW phases at Concurrent GC should count in PerfCounter Reviewed-by: jmasa, sla, tschatzl ! src/jdk.jcmd/share/classes/sun/tools/jstat/resources/jstat_options ! test/sun/tools/jstat/gcCapacityOutput1.awk ! test/sun/tools/jstat/gcCauseOutput1.awk ! test/sun/tools/jstat/gcMetaCapacityOutput1.awk ! test/sun/tools/jstat/gcNewCapacityOutput1.awk ! test/sun/tools/jstat/gcOldCapacityOutput1.awk ! test/sun/tools/jstat/gcOldOutput1.awk ! test/sun/tools/jstat/gcOutput1.awk ! test/sun/tools/jstat/lineCounts1.awk ! test/sun/tools/jstat/lineCounts2.awk ! test/sun/tools/jstat/lineCounts3.awk ! test/sun/tools/jstat/lineCounts4.awk ! test/sun/tools/jstat/timeStamp1.awk Changeset: b0aeac976aea Author: dcubed Date: 2016-04-01 14:29 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b0aeac976aea 8153302: [BACKOUT] STW phases at Concurrent GC should count in PerfCounter Reviewed-by: jmasa, jwilhelm ! src/jdk.jcmd/share/classes/sun/tools/jstat/resources/jstat_options ! test/sun/tools/jstat/gcCapacityOutput1.awk ! test/sun/tools/jstat/gcCauseOutput1.awk ! test/sun/tools/jstat/gcMetaCapacityOutput1.awk ! test/sun/tools/jstat/gcNewCapacityOutput1.awk ! test/sun/tools/jstat/gcOldCapacityOutput1.awk ! test/sun/tools/jstat/gcOldOutput1.awk ! test/sun/tools/jstat/gcOutput1.awk ! test/sun/tools/jstat/lineCounts1.awk ! test/sun/tools/jstat/lineCounts2.awk ! test/sun/tools/jstat/lineCounts3.awk ! test/sun/tools/jstat/lineCounts4.awk ! test/sun/tools/jstat/timeStamp1.awk Changeset: 96b1cfa80016 Author: jwilhelm Date: 2016-04-02 05:30 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/96b1cfa80016 Merge ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! test/ProblemList.txt Changeset: a16240806984 Author: dcubed Date: 2016-04-06 15:16 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a16240806984 8153673: [BACKOUT] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command Reviewed-by: jwilhelm, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/invoker.c - test/com/sun/jdi/OomDebugTest.java Changeset: cb6d9bc70e70 Author: dcubed Date: 2016-04-07 10:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cb6d9bc70e70 Merge ! make/mapfiles/libjava/mapfile-vers ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! test/ProblemList.txt Changeset: 74bc7be0777b Author: simonis Date: 2016-03-30 11:40 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/74bc7be0777b 8152172: PPC64: Support AES intrinsics Reviewed-by: ascarpino, simonis Contributed-by: horii at jp.ibm.com ! src/java.base/share/classes/com/sun/crypto/provider/AESCrypt.java Changeset: a0ea3a2f463a Author: jcm Date: 2016-04-04 02:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a0ea3a2f463a 8067247: Crash: assert(method_holder->data() == 0 ...) failed: a) MT-unsafe modification of inline cache Summary: Made invoker LambdaForm instance & its compiled form lifetime tightly coupled. Reviewed-by: vlivanov ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Changeset: ea7254b1a81d Author: bharadwaj Date: 2016-04-05 15:39 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ea7254b1a81d Merge - make/src/classes/build/tools/module/Module.java - make/src/classes/build/tools/module/ModuleInfoReader.java - make/src/classes/build/tools/module/ModulesXmlReader.java - make/src/classes/build/tools/module/ModulesXmlWriter.java - src/java.base/share/classes/sun/misc/GC.java - src/java.base/share/classes/sun/misc/InvalidJarIndexException.java - src/java.base/share/classes/sun/misc/JarIndex.java - src/java.base/share/classes/sun/misc/VMSupport.java - src/java.base/share/classes/sun/misc/resources/Messages.java - src/java.base/share/classes/sun/misc/resources/Messages_de.java - src/java.base/share/classes/sun/misc/resources/Messages_es.java - src/java.base/share/classes/sun/misc/resources/Messages_fr.java - src/java.base/share/classes/sun/misc/resources/Messages_it.java - src/java.base/share/classes/sun/misc/resources/Messages_ja.java - src/java.base/share/classes/sun/misc/resources/Messages_ko.java - src/java.base/share/classes/sun/misc/resources/Messages_pt_BR.java - src/java.base/share/classes/sun/misc/resources/Messages_sv.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_CN.java - src/java.base/share/classes/sun/misc/resources/Messages_zh_TW.java - src/java.base/share/native/libjava/GC.c Changeset: 47921bb43a5b Author: bharadwaj Date: 2016-04-08 12:36 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/47921bb43a5b Merge Changeset: afc3c537ff15 Author: amurillo Date: 2016-04-11 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/afc3c537ff15 Merge ! test/ProblemList.txt Changeset: 5f03f3570be7 Author: dcubed Date: 2016-04-12 21:05 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5f03f3570be7 8154121: Remove test mistakenly added during a merge Reviewed-by: amurillo - test/java/text/Format/DateFormat/DFSConstructorCloneTest.java Changeset: c11d4a8cc37e Author: amurillo Date: 2016-04-13 00:00 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c11d4a8cc37e Merge Changeset: fe806038ae74 Author: mhaupt Date: 2016-04-13 09:20 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/fe806038ae74 8153637: MethodHandles.countedLoop/3 initialises loop counter to 1 instead of 0 Reviewed-by: psandoz, redestad ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! test/java/lang/invoke/LoopCombinatorTest.java Changeset: 502aa22b0e33 Author: ntv Date: 2016-04-13 10:41 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/502aa22b0e33 8148849: Truncating Duration Summary: Introduce a new method to truncatedTo() Reviewed-by: rriggs, scolebourne ! src/java.base/share/classes/java/time/Duration.java ! test/java/time/tck/java/time/TCKDuration.java Changeset: 1483ff1bdace Author: plevart Date: 2016-04-13 09:35 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1483ff1bdace 8151807: ImageBufferCache should release buffers when all classes are loaded Reviewed-by: jlaskey Contributed-by: peter.levart at gmail.com ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageBufferCache.java Changeset: 9c64b9eeb312 Author: psandoz Date: 2016-04-13 15:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9c64b9eeb312 8151705: VarHandle.AccessMode enum names should conform to code style Reviewed-by: mhaupt, shade, redestad ! src/java.base/share/classes/java/lang/invoke/Invokers.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/VarForm.java ! src/java.base/share/classes/java/lang/invoke/VarHandle.java ! test/java/lang/invoke/VarHandles/VarHandleBaseTest.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java ! test/java/lang/invoke/VarHandles/VarHandleTestAccessString.java ! test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java ! test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java ! test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java ! test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java ! test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java ! test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessBoolean.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessByte.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessChar.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessDouble.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessFloat.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessInt.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessLong.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessShort.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodHandleAccessString.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeBoolean.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeByte.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeChar.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeDouble.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeFloat.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeInt.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeLong.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeShort.java ! test/java/lang/invoke/VarHandles/VarHandleTestMethodTypeString.java ! test/java/lang/invoke/VarHandles/VarHandleTestReflection.java ! test/java/lang/invoke/VarHandles/X-VarHandleTestAccess.java.template ! test/java/lang/invoke/VarHandles/X-VarHandleTestByteArrayView.java.template ! test/java/lang/invoke/VarHandles/X-VarHandleTestMethodHandleAccess.java.template ! test/java/lang/invoke/VarHandles/X-VarHandleTestMethodType.java.template Changeset: 964c3dd63856 Author: psandoz Date: 2016-04-13 15:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/964c3dd63856 8151198: VarHandle factory-specific exceptions Reviewed-by: shade ! src/java.base/share/classes/java/lang/invoke/VarHandle.java Changeset: e1d83a0973f6 Author: psandoz Date: 2016-04-13 15:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e1d83a0973f6 8146458: Improve exception reporting for Objects.checkIndex/checkFromToIndex/checkFromIndexSize Reviewed-by: jrose, smarks ! src/java.base/share/classes/java/lang/ArrayIndexOutOfBoundsException.java ! src/java.base/share/classes/java/lang/IndexOutOfBoundsException.java ! src/java.base/share/classes/java/lang/StringIndexOutOfBoundsException.java ! src/java.base/share/classes/java/lang/invoke/VarHandle.java ! src/java.base/share/classes/java/util/Objects.java ! test/java/util/Objects/CheckIndex.java Changeset: ba4120f36e4d Author: alanb Date: 2016-04-13 14:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ba4120f36e4d 8154077: (fs) Reduce number of file system classes loaded during startup Reviewed-by: bpb, chegar ! make/mapfiles/libnio/mapfile-linux ! make/mapfiles/libnio/mapfile-macosx ! make/mapfiles/libnio/mapfile-solaris ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/sun/nio/fs/AbstractFileSystemProvider.java ! src/java.base/unix/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/java.base/unix/classes/sun/nio/fs/UnixUriUtils.java ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Changeset: fa46f5ff7ec1 Author: srastogi Date: 2016-04-13 15:48 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/fa46f5ff7ec1 8150829: Enhanced drop-args, identity and default constant, varargs adjustment Reviewed-by: psandoz, mhaupt, jrose ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java + test/java/lang/invoke/ConstantIdentityMHTest.java + test/java/lang/invoke/DropArgumentsTest.java ! test/java/lang/invoke/JavaDocExamplesTest.java + test/java/lang/invoke/VarArgsTest.java Changeset: 24566df222ee Author: ascarpino Date: 2016-04-13 10:20 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/24566df222ee 8152205: jdk.security.provider.preferred is ambiguously documented Reviewed-by: wetmore, xuelei, weijun ! src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java ! src/java.base/share/classes/java/security/AlgorithmParameters.java ! src/java.base/share/classes/java/security/KeyFactory.java ! src/java.base/share/classes/java/security/KeyPairGenerator.java ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/java/security/MessageDigest.java ! src/java.base/share/classes/java/security/Policy.java ! src/java.base/share/classes/java/security/SecureRandom.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/security/cert/CertPathBuilder.java ! src/java.base/share/classes/java/security/cert/CertPathValidator.java ! src/java.base/share/classes/java/security/cert/CertStore.java ! src/java.base/share/classes/java/security/cert/CertificateFactory.java ! src/java.base/share/classes/javax/crypto/Cipher.java ! src/java.base/share/classes/javax/crypto/ExemptionMechanism.java ! src/java.base/share/classes/javax/crypto/KeyAgreement.java ! src/java.base/share/classes/javax/crypto/KeyGenerator.java ! src/java.base/share/classes/javax/crypto/Mac.java ! src/java.base/share/classes/javax/crypto/SecretKeyFactory.java ! src/java.base/share/classes/javax/net/ssl/KeyManagerFactory.java ! src/java.base/share/classes/javax/net/ssl/SSLContext.java ! src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java ! src/java.base/share/classes/javax/security/auth/login/Configuration.java ! src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java ! src/java.smartcardio/share/classes/javax/smartcardio/TerminalFactory.java ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java Changeset: 77abaa01adf2 Author: mchung Date: 2016-04-13 11:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/77abaa01adf2 8153895: (proxy) redundant read edges to superinterfaces of proxy interfaces Reviewed-by: sundar, plevart ! src/java.base/share/classes/java/lang/reflect/Proxy.java Changeset: b473d38d7a9f Author: rriggs Date: 2016-04-13 16:57 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b473d38d7a9f 8086278: java/lang/ProcessHandle/TreeTest.java failed - ProcessReaper StackOverflowException Summary: Increase reaper stack size by 50% to 48k Reviewed-by: chegar, martin ! src/java.base/share/classes/java/lang/ProcessHandleImpl.java Changeset: 9c0350e7bb36 Author: rhalade Date: 2016-04-13 16:05 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9c0350e7bb36 8055351: sun/security/provider/DSA/TestAlgParameterGenerator.java failed with interrupted! (timed out?) Reviewed-by: valeriep ! test/sun/security/provider/DSA/TestAlgParameterGenerator.java Changeset: 19ea2fdee2bc Author: rhalade Date: 2016-04-13 16:08 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/19ea2fdee2bc 8154196: Mark javax/net/ssl/DTLS/CipherSuite.java as intermittently failing Reviewed-by: xuelei ! test/javax/net/ssl/DTLS/CipherSuite.java Changeset: 7cfc61473f5e Author: amjiang Date: 2016-04-14 09:45 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7cfc61473f5e 8153545: sun/security/pkcs11/Provider/Login.sh fails on Linux Reviewed-by: vinnie, weijun ! test/ProblemList.txt ! test/sun/security/pkcs11/KeyStore/Basic.java ! test/sun/security/pkcs11/KeyStore/Basic.policy ! test/sun/security/pkcs11/KeyStore/Basic.sh ! test/sun/security/pkcs11/KeyStore/Solaris.sh ! test/sun/security/pkcs11/PKCS11Test.java ! test/sun/security/pkcs11/Provider/Login.java ! test/sun/security/pkcs11/Provider/Login.policy ! test/sun/security/pkcs11/Provider/Login.sh Changeset: c66a5f12bb9d Author: redestad Date: 2016-04-14 12:16 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c66a5f12bb9d 8154185: Drop code to support Windows XP in DefaultDatagramSocketImplFactory Reviewed-by: chegar ! src/java.base/windows/classes/java/net/DefaultDatagramSocketImplFactory.java Changeset: ffe057406801 Author: redestad Date: 2016-04-14 14:51 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ffe057406801 8154208: (fs) Drop code for Windows XP/2003 from file system provider Reviewed-by: bpb, alanb ! src/java.base/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileCopy.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileStore.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileSystem.java ! src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java ! src/java.base/windows/classes/sun/nio/fs/WindowsLinkSupport.java ! src/java.base/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java ! src/java.base/windows/classes/sun/nio/fs/WindowsPath.java ! src/java.base/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java ! src/java.base/windows/native/libnio/fs/WindowsNativeDispatcher.c Changeset: 5e62a2fbd532 Author: erikj Date: 2016-04-14 15:13 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5e62a2fbd532 8149777: Enable enhanced failure handler for "make test" Reviewed-by: ihse ! test/Makefile Changeset: 210cce63ef9c Author: mhaupt Date: 2016-04-14 15:18 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/210cce63ef9c 8150824: Exceptions when omitting trailing arguments in cleanup Summary: The issue was fixed with the push for 8150829; this changeset adds tests. Reviewed-by: psandoz ! test/java/lang/invoke/TryFinallyTest.java Changeset: 8f68e0ffbba3 Author: lana Date: 2016-04-14 09:32 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8f68e0ffbba3 Merge Changeset: 32891bcd7493 Author: ksrini Date: 2016-04-14 14:23 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/32891bcd7493 8154212: launcher SEGV when _JAVA_LAUNCHER_DEBUG is set Reviewed-by: alanb, martin ! src/java.base/share/native/libjli/java.h ! test/tools/launcher/MiscTests.java Changeset: 9d0e97030468 Author: rhalade Date: 2016-04-14 14:42 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9d0e97030468 8151834: Test SmallPrimeExponentP.java times out intermittently Reviewed-by: weijun ! test/sun/security/mscapi/SmallPrimeExponentP.java Changeset: 0bb2dfd0852c Author: xuelei Date: 2016-04-15 11:09 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0bb2dfd0852c 8072452: Support DHE sizes up to 8192-bits and DSA sizes up to 3072-bits Reviewed-by: valeriep, mullan, coffeys ! src/java.base/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java ! src/java.base/share/classes/com/sun/crypto/provider/DHParameterGenerator.java ! src/java.base/share/classes/sun/security/provider/DSAKeyPairGenerator.java ! src/java.base/share/classes/sun/security/provider/DSAParameterGenerator.java ! src/java.base/share/classes/sun/security/provider/ParameterCache.java ! src/java.base/share/classes/sun/security/ssl/DHCrypt.java ! src/java.base/share/classes/sun/security/ssl/ServerHandshaker.java ! src/java.base/share/classes/sun/security/util/ObjectIdentifier.java ! src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java + test/com/sun/crypto/provider/KeyAgreement/SupportedDHKeys.java + test/com/sun/crypto/provider/KeyAgreement/SupportedDHParamGens.java + test/com/sun/crypto/provider/KeyAgreement/UnsupportedDHKeys.java + test/sun/security/pkcs11/KeyAgreement/SupportedDHKeys.java + test/sun/security/pkcs11/KeyAgreement/UnsupportedDHKeys.java ! test/sun/security/pkcs11/KeyPairGenerator/TestDH2048.java + test/sun/security/provider/DSA/SupportedDSAParamGen.java ! test/sun/security/provider/DSA/TestKeyPairGenerator.java Changeset: 59f9a8d7b718 Author: robm Date: 2016-04-15 14:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/59f9a8d7b718 8150234: Windows 10 App Containers disallow access to ICMP calls Reviewed-by: chegar ! src/java.base/windows/native/libnet/Inet4AddressImpl.c ! src/java.base/windows/native/libnet/Inet6AddressImpl.c Changeset: 8606d027b2c2 Author: chegar Date: 2016-04-15 16:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8606d027b2c2 8137058: Clear out all non-Critical APIs from sun.reflect Reviewed-by: alanb, jfranck, mchung ! make/mapfiles/libjava/mapfile-vers ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/io/ObjectStreamField.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/Package.java ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/SecurityManager.java ! src/java.base/share/classes/java/lang/StackStreamFactory.java ! src/java.base/share/classes/java/lang/StackWalker.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/Modifier.java ! src/java.base/share/classes/java/lang/reflect/Module.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/security/AccessController.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/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java + src/java.base/share/classes/jdk/internal/reflect/AccessorGenerator.java + src/java.base/share/classes/jdk/internal/reflect/BootstrapConstructorAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/ByteVector.java + src/java.base/share/classes/jdk/internal/reflect/ByteVectorFactory.java + src/java.base/share/classes/jdk/internal/reflect/ByteVectorImpl.java + src/java.base/share/classes/jdk/internal/reflect/CallerSensitive.java + src/java.base/share/classes/jdk/internal/reflect/ClassDefiner.java + src/java.base/share/classes/jdk/internal/reflect/ClassFileAssembler.java + src/java.base/share/classes/jdk/internal/reflect/ClassFileConstants.java + src/java.base/share/classes/jdk/internal/reflect/ConstantPool.java + src/java.base/share/classes/jdk/internal/reflect/ConstructorAccessor.java + src/java.base/share/classes/jdk/internal/reflect/ConstructorAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/DelegatingConstructorAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/DelegatingMethodAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/FieldAccessor.java + src/java.base/share/classes/jdk/internal/reflect/FieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/InstantiationExceptionConstructorAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/Label.java + src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java + src/java.base/share/classes/jdk/internal/reflect/MagicAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/MethodAccessor.java + src/java.base/share/classes/jdk/internal/reflect/MethodAccessorGenerator.java + src/java.base/share/classes/jdk/internal/reflect/MethodAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/NativeConstructorAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/NativeMethodAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/Reflection.java + src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java + src/java.base/share/classes/jdk/internal/reflect/SerializationConstructorAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/SignatureIterator.java + src/java.base/share/classes/jdk/internal/reflect/UTF8.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeBooleanFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeByteFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeCharacterFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeDoubleFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorFactory.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeFloatFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeIntegerFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeLongFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedBooleanFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedByteFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedCharacterFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedDoubleFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedFloatFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedIntegerFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedLongFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedShortFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticBooleanFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticByteFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticCharacterFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticDoubleFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticFloatFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticShortFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeShortFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticBooleanFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticByteFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticCharacterFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticDoubleFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticFloatFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticIntegerFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticLongFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java + src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticShortFieldAccessorImpl.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.java - src/java.base/share/classes/sun/reflect/AccessorGenerator.java - src/java.base/share/classes/sun/reflect/BootstrapConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/ByteVector.java - src/java.base/share/classes/sun/reflect/ByteVectorFactory.java - src/java.base/share/classes/sun/reflect/ByteVectorImpl.java - src/java.base/share/classes/sun/reflect/CallerSensitive.java - src/java.base/share/classes/sun/reflect/ClassDefiner.java - src/java.base/share/classes/sun/reflect/ClassFileAssembler.java - src/java.base/share/classes/sun/reflect/ClassFileConstants.java - src/java.base/share/classes/sun/reflect/ConstantPool.java - src/java.base/share/classes/sun/reflect/ConstructorAccessor.java - src/java.base/share/classes/sun/reflect/ConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/DelegatingConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/DelegatingMethodAccessorImpl.java - src/java.base/share/classes/sun/reflect/FieldAccessor.java - src/java.base/share/classes/sun/reflect/FieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/FieldInfo.java - src/java.base/share/classes/sun/reflect/InstantiationExceptionConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/Label.java - src/java.base/share/classes/sun/reflect/LangReflectAccess.java - src/java.base/share/classes/sun/reflect/MagicAccessorImpl.java - src/java.base/share/classes/sun/reflect/MethodAccessor.java - src/java.base/share/classes/sun/reflect/MethodAccessorGenerator.java - src/java.base/share/classes/sun/reflect/MethodAccessorImpl.java - src/java.base/share/classes/sun/reflect/NativeConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/NativeMethodAccessorImpl.java - src/java.base/share/classes/sun/reflect/Reflection.java - src/java.base/share/classes/sun/reflect/ReflectionFactory.java - src/java.base/share/classes/sun/reflect/SerializationConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/SignatureIterator.java - src/java.base/share/classes/sun/reflect/UTF8.java - src/java.base/share/classes/sun/reflect/UnsafeBooleanFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeByteFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeCharacterFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeDoubleFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeFieldAccessorFactory.java - src/java.base/share/classes/sun/reflect/UnsafeFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeFloatFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeIntegerFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeLongFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeObjectFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedBooleanFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedByteFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedCharacterFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedDoubleFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedFloatFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedIntegerFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedLongFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedShortFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticBooleanFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticByteFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticCharacterFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticDoubleFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFloatFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticShortFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeShortFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticBooleanFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticByteFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticCharacterFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticDoubleFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticFloatFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticIntegerFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticLongFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticObjectFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticShortFieldAccessorImpl.java ! src/java.base/share/classes/sun/reflect/annotation/AnnotationParser.java ! src/java.base/share/classes/sun/reflect/annotation/AnnotationSupport.java ! src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java ! src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java ! src/java.base/share/native/libjava/Class.c ! src/java.base/share/native/libjava/ConstantPool.c ! src/java.base/share/native/libjava/NativeAccessors.c ! src/java.base/share/native/libjava/Reflection.c ! src/java.logging/share/classes/java/util/logging/Logger.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/serial/SerialJavaObject.java ! src/java.sql/share/classes/java/sql/DriverManager.java ! src/jdk.unsupported/share/classes/module-info.java ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java + src/jdk.unsupported/share/classes/sun/reflect/Reflection.java + src/jdk.unsupported/share/classes/sun/reflect/ReflectionFactory.java ! test/TEST.groups ! test/java/lang/StackWalker/DumpStackTest.java ! test/java/lang/StackWalker/EmbeddedStackWalkTest.java ! test/java/lang/StackWalker/HiddenFrames.java ! test/java/lang/StackWalker/MultiThreadStackWalk.java ! test/java/lang/StackWalker/StackWalkTest.java ! test/java/lang/StackWalker/VerifyStackTrace.java ! test/java/lang/invoke/RevealDirectTest.java + test/jdk/internal/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java + test/jdk/internal/reflect/CallerSensitive/CallerSensitiveFinder.java + test/jdk/internal/reflect/CallerSensitive/MissingCallerSensitive.java + test/jdk/internal/reflect/Reflection/GetCallerClass.java + test/jdk/internal/reflect/Reflection/GetCallerClassTest.java + test/jdk/internal/reflect/Reflection/GetCallerClassTest.sh + test/jdk/internal/reflect/Reflection/GetCallerClassWithDepth.java + test/jdk/internal/reflect/constantPool/ConstantPoolTest.java + test/jdk/internal/reflect/constantPool/ConstantPoolTestDummy.jasm - test/sun/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java - test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java - test/sun/reflect/CallerSensitive/MissingCallerSensitive.java - test/sun/reflect/Reflection/GetCallerClass.java - test/sun/reflect/Reflection/GetCallerClassTest.java - test/sun/reflect/Reflection/GetCallerClassTest.sh ! test/sun/reflect/Reflection/GetCallerClassWithDepth.java + test/sun/reflect/ReflectionFactory/NewConstructorForSerialization.java - test/sun/reflect/constantPool/ConstantPoolTest.java - test/sun/reflect/constantPool/ConstantPoolTestDummy.jasm ! test/tools/launcher/modules/addexports/AddExportsTest.java Changeset: 6512923d64e5 Author: darcy Date: 2016-04-15 10:14 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/6512923d64e5 4851642: Add fused multiply add to Java math library Reviewed-by: bpb, nadezhin ! src/java.base/share/classes/java/lang/Math.java ! src/java.base/share/classes/java/lang/StrictMath.java + test/java/lang/Math/FusedMultiplyAddTests.java ! test/java/lang/Math/Tests.java Changeset: 60fdfede6d80 Author: sherman Date: 2016-04-15 13:05 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/60fdfede6d80 8147460: Clean-up jrtfs implementation Reviewed-by: alanb, jlaskey, sundar ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java - src/java.base/share/classes/jdk/internal/jrtfs/AbstractJrtFileAttributes.java - src/java.base/share/classes/jdk/internal/jrtfs/AbstractJrtFileSystem.java - src/java.base/share/classes/jdk/internal/jrtfs/AbstractJrtPath.java + src/java.base/share/classes/jdk/internal/jrtfs/ExplodedImage.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtDirectoryStream.java - src/java.base/share/classes/jdk/internal/jrtfs/JrtExplodedFileAttributes.java - src/java.base/share/classes/jdk/internal/jrtfs/JrtExplodedFileSystem.java - src/java.base/share/classes/jdk/internal/jrtfs/JrtExplodedPath.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileAttributeView.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileAttributes.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileStore.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystem.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystemProvider.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtPath.java + src/java.base/share/classes/jdk/internal/jrtfs/SystemImage.java - src/java.base/share/classes/jdk/internal/jrtfs/SystemImages.java ! test/jdk/internal/jrtfs/PathOps.java Changeset: e8b09982c198 Author: rhalade Date: 2016-04-16 01:23 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e8b09982c198 8154382: Remove intermittent keyword from SupportedDSAParamGen.java Reviewed-by: xuelei ! test/sun/security/provider/DSA/SupportedDSAParamGen.java Changeset: e2b04e57b51a Author: coffeys Date: 2016-04-16 13:14 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e2b04e57b51a 8154304: NullpointerException at LdapReferralException.getReferralContext Reviewed-by: xuelei, vinnie ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapReferralContext.java Changeset: fd1140dd7636 Author: redestad Date: 2016-04-18 12:36 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/fd1140dd7636 8154238: Drop code to support Windows XP in windows socket impl Reviewed-by: chegar ! src/java.base/windows/classes/java/net/PlainSocketImpl.java Changeset: 3459ee432728 Author: redestad Date: 2016-04-18 14:01 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3459ee432728 8154436: Drop code to support Windows XP in windows async channel impl Reviewed-by: chegar, alanb ! src/java.base/windows/classes/sun/nio/ch/Iocp.java ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java Changeset: 6c46df4651c9 Author: redestad Date: 2016-04-18 16:48 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/6c46df4651c9 8154454: Fix compilation issue in PlainSocketImpl Reviewed-by: chegar ! src/java.base/windows/classes/java/net/PlainSocketImpl.java Changeset: f3d87364cb1a Author: redestad Date: 2016-04-18 16:49 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f3d87364cb1a 8154455: Fix compilation issue in WindowsAsynchronousSocketChannelImpl Reviewed-by: alanb, chegar ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java Changeset: 9f0bccd2ef66 Author: ksrini Date: 2016-04-18 07:30 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9f0bccd2ef66 8151056: ASM enable original deprecated methods. Reviewed-by: forax, sundar ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingAnnotationAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingMethodAdapter.java Changeset: 35225b837d66 Author: alanb Date: 2016-04-18 16:18 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/35225b837d66 8154159: rmic should not have a supported entry point Reviewed-by: rriggs, chegar ! make/launcher/Launcher-jdk.rmic.gmk ! src/java.base/share/conf/security/java.security - src/jdk.rmic/share/classes/jdk/rmi/rmic/Main.java ! src/jdk.rmic/share/classes/module-info.java ! test/java/lang/SecurityManager/RestrictedPackages.java Changeset: 483242a6482b Author: lana Date: 2016-04-21 12:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/483242a6482b Added tag jdk-9+115 for changeset 35225b837d66 ! .hgtags Changeset: 133bab10ce1e Author: alanb Date: 2016-04-21 15:15 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/133bab10ce1e More perf counters and improve logging ! 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/Resolver.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangModuleAccess.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java Changeset: 5db05c2e9fb0 Author: alanb Date: 2016-04-21 20:37 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5db05c2e9fb0 Update JAR file opening to handle multi-release JARs ! src/java.base/share/classes/java/lang/module/ModulePath.java ! src/java.base/share/classes/java/lang/module/ModuleReferences.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java Changeset: 4ee8b90b9ebd Author: alanb Date: 2016-04-22 09:27 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4ee8b90b9ebd Merge ! .hgtags ! make/launcher/Launcher-jdk.rmic.gmk ! 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/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/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/Module.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java ! src/java.base/share/classes/java/net/URLClassLoader.java ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageBufferCache.java ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java - src/java.base/share/classes/jdk/internal/jrtfs/AbstractJrtFileAttributes.java - src/java.base/share/classes/jdk/internal/jrtfs/AbstractJrtFileSystem.java - src/java.base/share/classes/jdk/internal/jrtfs/AbstractJrtPath.java + src/java.base/share/classes/jdk/internal/jrtfs/ExplodedImage.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtDirectoryStream.java - src/java.base/share/classes/jdk/internal/jrtfs/JrtExplodedFileAttributes.java - src/java.base/share/classes/jdk/internal/jrtfs/JrtExplodedFileSystem.java - src/java.base/share/classes/jdk/internal/jrtfs/JrtExplodedPath.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileAttributeView.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileAttributes.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileStore.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystem.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystemProvider.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtPath.java + src/java.base/share/classes/jdk/internal/jrtfs/SystemImage.java - src/java.base/share/classes/jdk/internal/jrtfs/SystemImages.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java + src/java.base/share/classes/jdk/internal/reflect/MethodAccessorGenerator.java + src/java.base/share/classes/jdk/internal/reflect/Reflection.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.java - src/java.base/share/classes/sun/reflect/AccessorGenerator.java - src/java.base/share/classes/sun/reflect/BootstrapConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/ByteVector.java - src/java.base/share/classes/sun/reflect/ByteVectorFactory.java - src/java.base/share/classes/sun/reflect/ByteVectorImpl.java - src/java.base/share/classes/sun/reflect/CallerSensitive.java - src/java.base/share/classes/sun/reflect/ClassDefiner.java - src/java.base/share/classes/sun/reflect/ClassFileAssembler.java - src/java.base/share/classes/sun/reflect/ClassFileConstants.java - src/java.base/share/classes/sun/reflect/ConstantPool.java - src/java.base/share/classes/sun/reflect/ConstructorAccessor.java - src/java.base/share/classes/sun/reflect/ConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/DelegatingConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/DelegatingMethodAccessorImpl.java - src/java.base/share/classes/sun/reflect/FieldAccessor.java - src/java.base/share/classes/sun/reflect/FieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/FieldInfo.java - src/java.base/share/classes/sun/reflect/InstantiationExceptionConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/Label.java - src/java.base/share/classes/sun/reflect/LangReflectAccess.java - src/java.base/share/classes/sun/reflect/MagicAccessorImpl.java - src/java.base/share/classes/sun/reflect/MethodAccessor.java - src/java.base/share/classes/sun/reflect/MethodAccessorGenerator.java - src/java.base/share/classes/sun/reflect/MethodAccessorImpl.java - src/java.base/share/classes/sun/reflect/NativeConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/NativeMethodAccessorImpl.java - src/java.base/share/classes/sun/reflect/Reflection.java - src/java.base/share/classes/sun/reflect/ReflectionFactory.java - src/java.base/share/classes/sun/reflect/SerializationConstructorAccessorImpl.java - src/java.base/share/classes/sun/reflect/SignatureIterator.java - src/java.base/share/classes/sun/reflect/UTF8.java - src/java.base/share/classes/sun/reflect/UnsafeBooleanFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeByteFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeCharacterFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeDoubleFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeFieldAccessorFactory.java - src/java.base/share/classes/sun/reflect/UnsafeFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeFloatFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeIntegerFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeLongFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeObjectFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedBooleanFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedByteFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedCharacterFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedDoubleFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedFloatFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedIntegerFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedLongFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedShortFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticBooleanFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticByteFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticCharacterFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticDoubleFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFloatFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticShortFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeShortFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticBooleanFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticByteFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticCharacterFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticDoubleFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticFloatFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticIntegerFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticLongFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticObjectFieldAccessorImpl.java - src/java.base/share/classes/sun/reflect/UnsafeStaticShortFieldAccessorImpl.java ! src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java ! src/java.base/share/conf/security/java.security ! src/java.base/share/native/include/jvm.h ! src/java.base/share/native/libjava/Class.c ! src/java.base/share/native/libjava/Reflection.c ! src/java.base/share/native/libjli/java.h ! src/java.logging/share/classes/java/util/logging/Logger.java ! src/jdk.rmic/share/classes/module-info.java ! test/Makefile ! test/ProblemList.txt ! test/TEST.groups ! test/com/sun/jdi/InterruptHangTest.java ! test/java/lang/StackWalker/VerifyStackTrace.java ! test/javax/net/ssl/DTLS/CipherSuite.java + test/jdk/internal/reflect/CallerSensitive/CallerSensitiveFinder.java + test/jdk/internal/reflect/CallerSensitive/MissingCallerSensitive.java + test/jdk/internal/reflect/Reflection/GetCallerClassTest.sh ! test/lib/testlibrary/java/util/jar/CreateMultiReleaseTestJars.java ! test/sun/management/jdp/JdpDefaultsTest.java - test/sun/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java - test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java - test/sun/reflect/CallerSensitive/MissingCallerSensitive.java - test/sun/reflect/Reflection/GetCallerClass.java - test/sun/reflect/Reflection/GetCallerClassTest.java - test/sun/reflect/Reflection/GetCallerClassTest.sh - test/sun/reflect/constantPool/ConstantPoolTest.java - test/sun/reflect/constantPool/ConstantPoolTestDummy.jasm ! test/sun/security/pkcs11/PKCS11Test.java ! test/sun/security/ssl/StatusStapling/java.base/sun/security/ssl/StatusResponseManagerTests.java ! test/tools/launcher/MiscTests.java ! test/tools/launcher/modules/addexports/AddExportsTest.java Changeset: b4ef81854df8 Author: alanb Date: 2016-04-22 09:28 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b4ef81854df8 Merge From alan.bateman at oracle.com Fri Apr 22 09:14:52 2016 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Apr 2016 09:14:52 +0000 Subject: hg: jigsaw/jake/hotspot: 265 new changesets Message-ID: <201604220914.u3M9EtxE028596@aojmv0008.oracle.com> Changeset: 70375b3285d9 Author: mgerdin Date: 2016-03-07 17:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/70375b3285d9 8151178: Move the collection set out of the G1 collector policy Summary: Create a G1CollectionSet class Reviewed-by: jwilhelm, tbenson, tschatzl ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp + src/share/vm/gc/g1/g1CollectionSet.cpp + src/share/vm/gc/g1/g1CollectionSet.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp ! src/share/vm/gc/g1/g1CollectorState.hpp ! src/share/vm/gc/g1/g1ParScanThreadState.cpp ! src/share/vm/gc/g1/g1YoungRemSetSamplingThread.cpp ! src/share/vm/gc/g1/youngList.cpp Changeset: 8afc97475eba Author: csahu Date: 2016-03-08 14:37 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8afc97475eba 8146683: check_addr0 should be more efficient Reviewed-by: dsamersoff, kevinw, dholmes Contributed-by: cheleswer.sahu at oracle.com ! src/os/solaris/vm/os_solaris.cpp Changeset: c5926c871707 Author: ehelin Date: 2016-03-07 10:36 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5926c871707 8151365: Move G1YoungGenSizer to a separate file Reviewed-by: mgerdin, tschatzl ! src/share/vm/gc/g1/g1CollectorPolicy.cpp + src/share/vm/gc/g1/g1YoungGenSizer.cpp + src/share/vm/gc/g1/g1YoungGenSizer.hpp Changeset: 2dbbb7996514 Author: ehelin Date: 2016-03-08 14:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2dbbb7996514 Merge Changeset: 899be832e91d Author: rprotacio Date: 2016-03-08 12:57 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/899be832e91d 8149991: Convert TraceSafepointCleanupTime to Unified Logging Summary: Converted TraceSafepointCleanupTime to -Xlog:safepointcleanup=info Reviewed-by: hseigel, mockner, ddmitriev, dholmes, coleenp ! src/share/vm/logging/logTag.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/logTimer.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/timer.cpp + test/runtime/logging/SafepointCleanupTest.java Changeset: 59d3a69564dc Author: rprotacio Date: 2016-03-08 15:19 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/59d3a69564dc 8150083: Convert VerboseVerification to Unified Logging Summary: Converted -XX:+VerboseVerfication to -Xlog:verboseverification=info Reviewed-by: hseigel, dholmes ! src/share/vm/classfile/verifier.cpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/runtime/globals.hpp ! test/runtime/logging/ClassInitializationTest.java + test/runtime/logging/VerboseVerificationTest.java Changeset: 2d1f1d4c0379 Author: tonyp Date: 2016-03-09 09:45 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2d1f1d4c0379 8146991: Introduce per-worker preserved mark stacks in ParallelGC Reviewed-by: tschatzl, ysr ! src/share/vm/gc/parallel/psPromotionManager.cpp ! src/share/vm/gc/parallel/psPromotionManager.hpp ! src/share/vm/gc/parallel/psScavenge.cpp ! src/share/vm/gc/parallel/psScavenge.hpp ! src/share/vm/gc/shared/preservedMarks.cpp ! src/share/vm/gc/shared/preservedMarks.hpp Changeset: 47a9289d9b0b Author: tschatzl Date: 2016-03-09 09:56 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/47a9289d9b0b 8151414: os::pretouch_memory should take void* instead of char* Summary: Change parameters and remove associated casts. Reviewed-by: pliden, stefank ! src/share/vm/gc/parallel/mutableSpace.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp Changeset: 51330f8324b6 Author: sla Date: 2016-03-09 12:30 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/51330f8324b6 8151196: Several tests fail due to test library not found Reviewed-by: ctornqvi, brutisso ! test/gc/g1/plab/TestPLABPromotion.java ! test/gc/g1/plab/TestPLABResize.java ! test/serviceability/dcmd/gc/HeapDumpAllTest.java ! test/serviceability/dcmd/gc/HeapDumpTest.java Changeset: 189efe045210 Author: brutisso Date: 2016-03-09 14:05 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/189efe045210 8151513: Remove debugging code from BarrierSet Reviewed-by: pliden, stefank ! src/share/vm/gc/shared/barrierSet.cpp ! src/share/vm/gc/shared/barrierSet.inline.hpp Changeset: f81ea6b38171 Author: brutisso Date: 2016-03-09 14:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f81ea6b38171 Merge Changeset: 5322bfdc760a Author: jwilhelm Date: 2016-03-09 14:18 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5322bfdc760a Merge ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/nmethod.cpp - src/share/vm/jvmci/commandLineFlagConstraintsJVMCI.cpp - src/share/vm/jvmci/commandLineFlagConstraintsJVMCI.hpp ! src/share/vm/runtime/arguments.cpp ! test/TEST.groups Changeset: 572d669d17cd Author: sangheki Date: 2016-03-09 11:08 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/572d669d17cd 8150362: G1 base elapsed time prediction is wrong because rs_length prediction is wrong Summary: Change rs_length prediction used from G1 base elapsed time prediction Reviewed-by: mgerdin, tschatzl ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: 80706cc25494 Author: kbarrett Date: 2016-03-09 11:03 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/80706cc25494 8150688: Fix os_windows siglabel Summary: Change types to eliminate implicit narrowing, and other cleanups. Reviewed-by: dholmes, tbenson ! src/os/windows/vm/os_windows.cpp Changeset: 5c66afad690c Author: kbarrett Date: 2016-03-09 20:37 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5c66afad690c Merge Changeset: 7d5870c06812 Author: sangheki Date: 2016-03-09 15:37 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7d5870c06812 8145312: CMS: There is insufficient memory with CMSSamplingGrain=1 Summary: Change minimum range and add constraint function for CMSSamplingGrain flag Reviewed-by: jmasa, ddmitriev ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.hpp ! src/share/vm/runtime/globals.hpp Changeset: a8fd0d8c7803 Author: brutisso Date: 2016-03-10 08:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a8fd0d8c7803 8151514: Remove the noisy NOISY debugging code from parCardTableModRefBS.cpp Reviewed-by: tschatzl, pliden ! src/share/vm/gc/cms/parCardTableModRefBS.cpp Changeset: f2265fd2eada Author: stefank Date: 2016-02-25 13:08 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f2265fd2eada 8150617: nth_bit and friends are broken Reviewed-by: shade, tschatzl, vlivanov ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 8d5487c9746d Author: stefank Date: 2016-03-09 12:44 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8d5487c9746d 8151436: Leaner ArrayAllocator and BitMaps Reviewed-by: tschatzl, pliden, kbarrett ! src/share/vm/gc/g1/g1HotCardCache.cpp ! src/share/vm/gc/g1/g1HotCardCache.hpp ! src/share/vm/gc/shared/taskqueue.hpp ! src/share/vm/gc/shared/taskqueue.inline.hpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp Changeset: 7ac081122b8f Author: stefank Date: 2016-03-09 12:44 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7ac081122b8f 8151439: Inline the BitMap constructor Reviewed-by: tschatzl, pliden, kbarrett ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp Changeset: 04c67174a75f Author: stefank Date: 2016-03-09 12:45 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/04c67174a75f 8151440: Move BitMap verfication inline functions out from bitMap.hpp Reviewed-by: tschatzl, pliden, kbarrett ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp ! src/share/vm/utilities/bitMap.inline.hpp Changeset: 4c8ec9926913 Author: stefank Date: 2016-03-10 10:17 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4c8ec9926913 Merge Changeset: e11a28c44624 Author: mchernov Date: 2016-03-03 16:12 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e11a28c44624 8150183: gc/g1/plab/TestPLABResize.java - previous PLAB size should be less than current Reviewed-by: jmasa, dfazunen ! test/gc/g1/plab/TestPLABResize.java ! test/gc/g1/plab/lib/AppPLABResize.java ! test/gc/g1/plab/lib/LogParser.java Changeset: 7ba5d575ff59 Author: dfazunen Date: 2016-03-01 20:30 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7ba5d575ff59 8145908: [Newtest] Multi-threading stress test for G1 Remembered Sets Reviewed-by: tschatzl, mchernov + test/stress/gc/TestMultiThreadStressRSet.java Changeset: ca8e7407d350 Author: iignatyev Date: 2016-03-10 14:15 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ca8e7407d350 Merge Changeset: 35ffddb9c44d Author: coleenp Date: 2016-03-10 13:43 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35ffddb9c44d 8150778: Reduce Throwable.getStackTrace() calls to the JVM Summary: replace JVM_GetStackTraceDepth and JVM_GetStackTraceElement, with JVM_GetStackTraceElements that gets all the elements in the StackTraceElement[] Reviewed-by: shade, mchung, dholmes, hseigel ! make/share/makefiles/mapfile-vers ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h + test/runtime/Throwable/StackTraceLogging.java + test/runtime/Throwable/TestThrowable.java Changeset: 47486cae8b00 Author: kbarrett Date: 2016-03-10 16:21 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/47486cae8b00 8150676: Use BufferNode index Summary: Maintain index and use it, removing extra checks for or stores of NULL. Reviewed-by: jmasa, tschatzl ! src/share/vm/gc/g1/dirtyCardQueue.cpp ! src/share/vm/gc/g1/dirtyCardQueue.hpp ! src/share/vm/gc/g1/ptrQueue.cpp ! src/share/vm/gc/g1/ptrQueue.hpp ! src/share/vm/gc/g1/satbMarkQueue.cpp ! src/share/vm/gc/g1/satbMarkQueue.hpp Changeset: 479321aff3f9 Author: kbarrett Date: 2016-03-10 21:57 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/479321aff3f9 Merge Changeset: c083b12bb8cc Author: pliden Date: 2016-03-11 09:09 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c083b12bb8cc 8134749: SoftReferences declared dead too early Reviewed-by: jmasa, tbenson ! src/share/vm/gc/shared/referenceProcessor.cpp Changeset: 72bb2995ad89 Author: tschatzl Date: 2016-03-11 09:50 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/72bb2995ad89 8150952: Net PLAB size is clipped to max PLAB size as a whole, not on a per thread basis Summary: Bound PLAB size when handing out PLAB sizes, not before. Reviewed-by: drwhite, jwilhelm ! src/share/vm/gc/g1/g1EvacStats.cpp ! src/share/vm/gc/shared/plab.cpp Changeset: 3d0716ca86c9 Author: tschatzl Date: 2016-03-11 10:06 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3d0716ca86c9 Merge Changeset: 7131b0043899 Author: mgerdin Date: 2016-03-11 10:18 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7131b0043899 8151633: Don't keep copies of the survivor lists and counts in the G1CollectorPolicy Reviewed-by: tbenson, tschatzl ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp ! src/share/vm/gc/g1/g1MonitoringSupport.cpp Changeset: d5e9c320ac68 Author: brutisso Date: 2016-03-11 10:27 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d5e9c320ac68 8151603: Use error stream instead of tty for logging before ShouldNotReachHere() Reviewed-by: mgerdin, sjohanss ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/parOopClosures.inline.hpp Changeset: 46f896f79ff9 Author: brutisso Date: 2016-03-11 10:30 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46f896f79ff9 8151602: Remove logging from refillLinearAllocBlockIfNeeded() Reviewed-by: tschatzl, sjohanss ! src/share/vm/gc/cms/compactibleFreeListSpace.cpp Changeset: 018403bdb025 Author: brutisso Date: 2016-03-11 11:34 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/018403bdb025 8151605: Change warning() to log_warning(gc) in the GC code Reviewed-by: jwilhelm, jmasa ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/concurrentMarkSweepThread.cpp ! src/share/vm/gc/cms/concurrentMarkSweepThread.hpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/parallel/gcTaskThread.cpp ! src/share/vm/gc/parallel/parallelScavengeHeap.cpp ! src/share/vm/gc/parallel/psMarkSweep.cpp ! src/share/vm/gc/parallel/psOldGen.cpp ! src/share/vm/gc/parallel/psParallelCompact.cpp ! src/share/vm/gc/shared/cardGeneration.cpp ! src/share/vm/gc/shared/cardTableRS.cpp ! src/share/vm/gc/shared/genCollectedHeap.cpp ! src/share/vm/gc/shared/generation.hpp ! src/share/vm/gc/shared/referenceProcessor.cpp ! src/share/vm/gc/shared/vmGCOperations.cpp ! src/share/vm/memory/universe.cpp Changeset: 7dd05b401d60 Author: brutisso Date: 2016-03-11 12:17 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7dd05b401d60 Merge ! src/share/vm/gc/g1/g1CollectedHeap.cpp Changeset: b5bccee81aeb Author: ddmitriev Date: 2016-03-11 15:34 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b5bccee81aeb 8151304: Remove unused develop options(ClearInterpreterLocals and others) Reviewed-by: coleenp, jwilhelm ! src/share/vm/gc/g1/g1_globals.hpp ! src/share/vm/runtime/globals.hpp Changeset: 9ec931aabdd0 Author: rehn Date: 2016-03-08 13:05 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9ec931aabdd0 8151265: Add a way to extend UL tags Reviewed-by: dholmes, kbarrett ! src/share/vm/logging/logTag.hpp + src/share/vm/logging/logTag_ext.hpp Changeset: 7ae57ffc9ed3 Author: mlarsson Date: 2016-03-11 14:55 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7ae57ffc9ed3 Merge Changeset: 55a9b972bc55 Author: mockner Date: 2016-03-10 15:52 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/55a9b972bc55 8146551: The output from classresolve tag has been shortened and moved to debug level. Summary: The output from classresolve tag has been shortened and moved to debug level. Reviewed-by: coleenp, rprotacio ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/verificationType.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/reflection.cpp ! test/runtime/logging/ClassResolutionTest.java Changeset: 85bb1e6db5cb Author: mockner Date: 2016-03-11 17:02 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/85bb1e6db5cb Merge ! src/share/vm/prims/jvm.cpp Changeset: e928b4b9e4ea Author: brutisso Date: 2016-03-13 13:26 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e928b4b9e4ea 8151604: Rely on options range checking rather than explict checks Reviewed-by: jwilhelm, drwhite, sangheki ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp Changeset: 1b136ffa8a67 Author: drwhite Date: 2016-03-11 16:59 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1b136ffa8a67 8140257: Add support for "gc service threads" to ConcurrentGCThread Summary: Push up the common run() and stop() methods from subclasses to ConcurrentGCThread, as well as declaration iof run_service() stop_service(). Reviewed-by: kbarrett, pliden ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/concurrentMarkSweepThread.cpp ! src/share/vm/gc/cms/concurrentMarkSweepThread.hpp ! src/share/vm/gc/g1/concurrentG1RefineThread.cpp ! src/share/vm/gc/g1/concurrentG1RefineThread.hpp ! src/share/vm/gc/g1/concurrentMarkThread.cpp ! src/share/vm/gc/g1/concurrentMarkThread.hpp ! src/share/vm/gc/g1/g1StringDedup.cpp ! src/share/vm/gc/g1/g1StringDedupThread.cpp ! src/share/vm/gc/g1/g1StringDedupThread.hpp ! src/share/vm/gc/g1/g1YoungRemSetSamplingThread.cpp ! src/share/vm/gc/g1/g1YoungRemSetSamplingThread.hpp ! src/share/vm/gc/shared/concurrentGCThread.cpp ! src/share/vm/gc/shared/concurrentGCThread.hpp ! src/share/vm/gc/shared/genCollectedHeap.cpp Changeset: fac369425a15 Author: coleenp Date: 2016-03-12 07:23 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fac369425a15 8151728: jni test crashes JVM assert(_handle != __null) failed: resolving NULL handle Summary: New assert needs to check for null. Reviewed-by: hseigel, gtriantafill ! src/share/vm/classfile/javaClasses.cpp Changeset: e7bcc46ab8bd Author: coleenp Date: 2016-03-13 19:41 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e7bcc46ab8bd Merge Changeset: ef08f0d91230 Author: sjohanss Date: 2016-03-14 09:10 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ef08f0d91230 8151693: Move print_heap_before/after_gc to debug level Reviewed-by: brutisso, jwilhelm ! src/share/vm/memory/universe.cpp Changeset: cb653335d4be Author: sjohanss Date: 2016-03-14 09:11 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cb653335d4be 8151696: Print all regions on trace level to get same behavior as old PrintHeapAtGCExtended Reviewed-by: brutisso, jwilhelm ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/logging/logPrefix.hpp Changeset: a04989a057c7 Author: dsamersoff Date: 2016-03-14 11:45 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a04989a057c7 8151368: SA: Unexpected ArithmeticException in CompactHashTable Summary: Add missed null check Reviewed-by: iklam, dsamersoff Contributed-by: kubota.yuji at gmail.com ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/CompactHashTable.java Changeset: b504a42bbe38 Author: dsamersoff Date: 2016-03-14 09:07 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b504a42bbe38 Merge Changeset: a6023e8b5c70 Author: pliden Date: 2016-03-14 09:42 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a6023e8b5c70 8067768: Check for too small values for -Xmx Reviewed-by: jwilhelm, dfazunen ! src/share/vm/gc/shared/collectorPolicy.cpp ! test/gc/arguments/TestMaxHeapSizeTools.java Changeset: 93a15edd6aee Author: pliden Date: 2016-03-14 11:55 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/93a15edd6aee Merge Changeset: 508fcb923812 Author: ysuenaga Date: 2016-03-04 18:12 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/508fcb923812 8151181: Add JSnap to jhsdb Reviewed-by: dsamersoff ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java Changeset: fe137daae1a0 Author: dsamersoff Date: 2016-03-14 11:53 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fe137daae1a0 Merge Changeset: 24c6f885d316 Author: simonis Date: 2016-03-11 16:39 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/24c6f885d316 8151593: Cleanup definition/usage of INLINE/NOINLINE macros and add xlC support Reviewed-by: coleenp, stuefe Contributed-by: matthias.baesken at sap.com ! src/os/linux/vm/os_linux.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/oops/instanceKlass.inline.hpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/globalDefinitions_gcc.hpp ! src/share/vm/utilities/globalDefinitions_sparcWorks.hpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp ! src/share/vm/utilities/globalDefinitions_xlc.hpp ! src/share/vm/utilities/stack.inline.hpp Changeset: 63a57b9b3ea4 Author: coleenp Date: 2016-03-14 13:20 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/63a57b9b3ea4 Merge Changeset: dc379d0b1113 Author: mockner Date: 2016-03-14 15:06 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dc379d0b1113 8149995: TraceClassLoadingPreorder has been converted to Unified Logging. Summary: TraceClassLoadingPreorder has been converted to Unified Logging. Logging alias table now has extra columns to support multi-tag configurations. Reviewed-by: iklam, coleenp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp Changeset: 06b764a12317 Author: mockner Date: 2016-03-14 20:20 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/06b764a12317 Merge Changeset: 10cc279f1b13 Author: stefank Date: 2016-03-09 17:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/10cc279f1b13 8151534: Refactor ArrayAllocator for easier reuse Reviewed-by: tschatzl, brutisso ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp Changeset: b0432c9975f6 Author: dholmes Date: 2016-03-15 03:00 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b0432c9975f6 8137165: Tests fail in SR_Handler because thread is not VMThread or JavaThread Reviewed-by: kbarrett ! src/os/linux/vm/os_linux.cpp Changeset: 32844ece283c Author: dholmes Date: 2016-03-15 09:16 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/32844ece283c Merge Changeset: 5044bb87554e Author: brutisso Date: 2016-03-15 08:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5044bb87554e 8151842: Local variables have wrong names after JDK-8148736 Reviewed-by: kbarrett, jprovino, tschatzl ! src/share/vm/gc/g1/g1HeapTransition.cpp Changeset: 4216fd7e4301 Author: brutisso Date: 2016-03-15 09:18 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4216fd7e4301 Merge Changeset: 3635f6de52cf Author: ysuenaga Date: 2016-03-15 12:27 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3635f6de52cf 8151709: jhsdb should show help message in SALauncher. Reviewed-by: dsamersoff ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SAGetopt.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java Changeset: 9a2bf8774955 Author: dsamersoff Date: 2016-03-15 10:56 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9a2bf8774955 Merge Changeset: 33d91edc926f Author: pliden Date: 2016-03-15 08:01 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/33d91edc926f 8062506: Java GCCause enum is out of sync with C++ GCCause enum Reviewed-by: stefank, tschatzl ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCCause.java ! src/share/vm/gc/shared/gcCause.hpp Changeset: 6d4b1bb57cc4 Author: pliden Date: 2016-03-15 08:02 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6d4b1bb57cc4 8148239: TestSelectDefaultGC.java incorrectly expects G1 on non-server class machines Reviewed-by: brutisso, kzhaldyb ! test/gc/arguments/TestSelectDefaultGC.java Changeset: 65b1a7bce39e Author: pliden Date: 2016-03-15 13:46 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/65b1a7bce39e Merge Changeset: be3ffb6d8eb0 Author: stefank Date: 2016-03-15 10:11 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/be3ffb6d8eb0 8151539: Remove duplicate AlwaysTrueClosures Reviewed-by: tschatzl, mgerdin, kbarrett, drwhite ! src/share/vm/gc/g1/g1MarkSweep.cpp ! src/share/vm/gc/parallel/psMarkSweep.cpp ! src/share/vm/gc/parallel/psParallelCompact.cpp ! src/share/vm/gc/shared/genCollectedHeap.cpp ! src/share/vm/gc/shared/referenceProcessor.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/jniHandles.hpp Changeset: a4658c91d553 Author: stefank Date: 2016-03-15 15:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a4658c91d553 Merge Changeset: 21bb44b28582 Author: rehn Date: 2016-03-08 08:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/21bb44b28582 8151264: Add a notification mechanism for UL configuration changes. Reviewed-by: dholmes, mlarsson ! src/share/vm/logging/log.cpp ! src/share/vm/logging/logConfiguration.cpp ! src/share/vm/logging/logConfiguration.hpp ! src/share/vm/utilities/internalVMTests.cpp Changeset: 6529c4f36655 Author: mlarsson Date: 2016-03-15 20:07 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6529c4f36655 Merge Changeset: 45a4f459be06 Author: rprotacio Date: 2016-03-15 15:43 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/45a4f459be06 8150085: Convert TraceClearedExceptions to Unified Loggin Summary: Converted -XX:+TraceClearedExceptions to -Xlog:exceptions=debug Reviewed-by: mockner, dholmes, coleenp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/exceptions.cpp Changeset: 4aa1760ab75c Author: coleenp Date: 2016-03-15 20:37 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4aa1760ab75c Merge Changeset: 3c19d66914bc Author: kbarrett Date: 2016-03-16 00:28 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3c19d66914bc 8151781: DirtyCardQueue::apply_closure is unused Summary: Remove dead code, followup cleanups. Reviewed-by: brutisso, pliden ! src/share/vm/gc/g1/dirtyCardQueue.cpp ! src/share/vm/gc/g1/dirtyCardQueue.hpp Changeset: 1537c752a7f5 Author: stuefe Date: 2016-03-12 08:35 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1537c752a7f5 8148425: strerror() function is not thread-safe Reviewed-by: dholmes, coleenp ! src/os/aix/vm/os_aix.cpp ! src/os/aix/vm/perfMemory_aix.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os/solaris/vm/attachListener_solaris.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/solaris/vm/threadCritical_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/perfMemory_windows.cpp ! src/share/vm/logging/logFileOutput.cpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/vmError.cpp Changeset: 4030d7f9946d Author: dholmes Date: 2016-03-16 05:46 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4030d7f9946d Merge Changeset: e71072298359 Author: erikj Date: 2016-03-15 13:55 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e71072298359 8151653: Hotspot build does not respect --enable-openjdk-only Reviewed-by: tbell, dholmes ! make/aix/makefiles/trace.make ! make/bsd/makefiles/trace.make ! make/linux/makefiles/trace.make ! make/solaris/makefiles/trace.make ! make/windows/build.make ! make/windows/create_obj_files.sh ! make/windows/makefiles/defs.make ! make/windows/makefiles/trace.make ! make/windows/makefiles/vm.make ! src/share/vm/trace/trace.dtd ! src/share/vm/trace/trace.xml + src/share/vm/trace/traceevents.xml + src/share/vm/trace/tracerelationdecls.xml Changeset: c4b391039f9f Author: erikj Date: 2016-03-16 10:28 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c4b391039f9f Merge Changeset: 81faa0678c9b Author: csahu Date: 2016-03-14 18:05 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/81faa0678c9b 8151509: In check_addr0() function pointer is not updated correctly Reviewed-by: dholmes, ddmitriev, stuefe Contributed-by: cheleswer.sahu at oracle.com ! src/os/solaris/vm/os_solaris.cpp Changeset: 37c777f2cc9c Author: kevinw Date: 2016-03-16 11:13 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/37c777f2cc9c Merge ! src/os/solaris/vm/os_solaris.cpp Changeset: 7ccf7f03a914 Author: kevinw Date: 2016-03-16 12:08 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7ccf7f03a914 Merge Changeset: 70081cb6cc16 Author: brutisso Date: 2016-03-16 13:38 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/70081cb6cc16 8151336: Root region scanning should be cancelled and disabled when the ConcurrentMarkThread::run_service() exits Reviewed-by: pliden, tschatzl ! src/share/vm/gc/g1/concurrentMarkThread.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp Changeset: 9d93b077b22f Author: brutisso Date: 2016-03-16 13:28 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9d93b077b22f Merge Changeset: b03fcc1a3af3 Author: tschatzl Date: 2016-03-16 12:21 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b03fcc1a3af3 8151126: Clean up duplicate code for clearing the mark bitmaps Summary: Merge the code to clear the mark bitmap concurrently and in the STW pause. Reviewed-by: jmasa, tbenson ! src/share/vm/gc/g1/concurrentMarkThread.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.hpp Changeset: a651c39d6509 Author: tschatzl Date: 2016-03-16 12:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a651c39d6509 8151614: Improve logging in concurrent mark code Summary: Move detailed concurrent mark phase logging to "gc, marking" tags and add a summary "Concurrent Cycle" log message when only using "gc" logging. Reviewed-by: sangheki, brutisso ! src/share/vm/gc/g1/concurrentMarkThread.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.hpp ! src/share/vm/logging/logPrefix.hpp Changeset: f1e1cfbb6d2c Author: tschatzl Date: 2016-03-16 15:36 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f1e1cfbb6d2c Merge Changeset: 7c88aac45703 Author: tschatzl Date: 2016-03-16 16:42 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7c88aac45703 Merge ! src/share/vm/gc/g1/concurrentMarkThread.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp Changeset: 785a498ee1ea Author: brutisso Date: 2016-03-16 15:16 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/785a498ee1ea 8151912: guarantee(GCPauseIntervalMillis >= 1) failed: Constraint for GCPauseIntervalMillis should guarantee that value is >= 1 Reviewed-by: tbenson, tschatzl ! src/share/vm/runtime/globals.hpp Changeset: 091947451f03 Author: brutisso Date: 2016-03-16 14:58 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/091947451f03 Merge Changeset: d882ca1d5f51 Author: brutisso Date: 2016-03-16 16:21 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d882ca1d5f51 Merge Changeset: 767bc8e5cb19 Author: pliden Date: 2016-03-17 08:07 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/767bc8e5cb19 8151601: Cleanup locking of the Reference pending list Reviewed-by: brutisso, stefank ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/soql/sa.js ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/gc/cms/concurrentMarkSweepThread.cpp ! src/share/vm/gc/cms/concurrentMarkSweepThread.hpp ! src/share/vm/gc/cms/vmCMSOperations.cpp ! src/share/vm/gc/cms/vmCMSOperations.hpp ! src/share/vm/gc/cms/vmStructs_cms.hpp ! src/share/vm/gc/g1/concurrentMarkThread.cpp ! src/share/vm/gc/g1/concurrentMarkThread.hpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/vm_operations_g1.cpp ! src/share/vm/gc/g1/vm_operations_g1.hpp ! src/share/vm/gc/shared/collectedHeap.hpp ! src/share/vm/gc/shared/concurrentGCThread.cpp ! src/share/vm/gc/shared/concurrentGCThread.hpp ! src/share/vm/gc/shared/genCollectedHeap.hpp + src/share/vm/gc/shared/referencePendingListLocker.cpp + src/share/vm/gc/shared/referencePendingListLocker.hpp ! src/share/vm/gc/shared/vmGCOperations.cpp ! src/share/vm/gc/shared/vmGCOperations.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c1bf188b6940 Author: tschatzl Date: 2016-03-17 09:36 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c1bf188b6940 8151920: Region liveness printing is broken Summary: Remove obsolete code that causes an assert. Reviewed-by: drwhite, brutisso ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.hpp + test/gc/g1/TestRegionLivenessPrint.java Changeset: 1c9e7b34c46c Author: tschatzl Date: 2016-03-17 10:04 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1c9e7b34c46c Merge Changeset: 0d58ee2030ae Author: erikj Date: 2016-03-17 09:53 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0d58ee2030ae 8151656: Minor tweaks to old Hotspot build to ease comparison with new Reviewed-by: dholmes, twisti ! make/aix/adlc_updater ! make/bsd/adlc_updater ! make/linux/adlc_updater ! make/solaris/adlc_updater ! make/windows/create_obj_files.sh Changeset: 0937423af2ae Author: erikj Date: 2016-03-17 11:15 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0937423af2ae Merge Changeset: b7d7e61dd373 Author: mgerdin Date: 2016-03-08 13:17 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b7d7e61dd373 8151711: Move G1 number sequences out of the G1 collector policy Reviewed-by: tbenson, ehelin ! src/share/vm/gc/g1/concurrentMarkThread.cpp + src/share/vm/gc/g1/g1Analytics.cpp + src/share/vm/gc/g1/g1Analytics.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: c838c3bdc22c Author: rprotacio Date: 2016-03-17 12:02 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c838c3bdc22c 8151560: Safepoint logging has mismatch between command line level and printed level Summary: Corrected mistaken "debug" level to "trace" Reviewed-by: hseigel, jiangli, dholmes ! src/share/vm/runtime/safepoint.cpp Changeset: 07f4849e1bca Author: rprotacio Date: 2016-03-17 18:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/07f4849e1bca Merge Changeset: 5afd0579ed8a Author: sangheki Date: 2016-03-17 11:18 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5afd0579ed8a 8151085: Change G1 concurrent timer and tracer measuring time Summary: Change measuring time for G1 concurrent phases and reporting heap summary Reviewed-by: brutisso, sjohanss ! src/share/vm/gc/g1/concurrentMarkThread.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/g1CollectorState.hpp ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.hpp ! src/share/vm/gc/g1/vm_operations_g1.cpp ! src/share/vm/gc/shared/gcTrace.cpp ! src/share/vm/gc/shared/gcTrace.hpp Changeset: a1d63adc7ba4 Author: sangheki Date: 2016-03-18 01:14 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a1d63adc7ba4 Merge Changeset: 3e0bb5b5a92a Author: stefank Date: 2016-03-17 21:00 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3e0bb5b5a92a 8026720: Remove the unused SpaceManager::mangle_freed_chunks Reviewed-by: mgerdin, tschatzl, vlivanov ! src/share/vm/memory/metaspace.cpp Changeset: 3c5acd9697c9 Author: stefank Date: 2016-03-17 21:01 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3c5acd9697c9 8027423: Parallel compact GC class unloading measurement includes symbol and string table time Reviewed-by: mgerdin, jmasa ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1MarkSweep.cpp ! src/share/vm/gc/parallel/psMarkSweep.cpp ! src/share/vm/gc/parallel/psParallelCompact.cpp ! src/share/vm/gc/serial/genMarkSweep.cpp Changeset: b7618e5d72af Author: stefank Date: 2016-03-17 21:04 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b7618e5d72af 8152007: Add the thread to the GCPhase trace events Reviewed-by: tschatzl, brutisso ! src/share/vm/trace/traceevents.xml Changeset: defc3322d4c2 Author: stefank Date: 2016-03-18 03:46 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/defc3322d4c2 Merge ! src/share/vm/gc/g1/g1CollectedHeap.cpp Changeset: b4d11b54db10 Author: mgerdin Date: 2016-03-11 11:22 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b4d11b54db10 8151637: Move CollectionSetChooser rebuild code into CollectionSetChooser Reviewed-by: jmasa, tschatzl ! src/share/vm/gc/g1/collectionSetChooser.cpp ! src/share/vm/gc/g1/collectionSetChooser.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: 387b1ac97179 Author: mgerdin Date: 2016-03-11 11:22 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/387b1ac97179 8151808: Factor G1 heap sizing code out of the G1CollectorPolicy Reviewed-by: tbenson, jwilhelm ! src/share/vm/gc/g1/g1Analytics.hpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp + src/share/vm/gc/g1/g1HeapSizingPolicy.cpp + src/share/vm/gc/g1/g1HeapSizingPolicy.hpp + src/share/vm/gc/g1/g1HeapSizingPolicy_ext.cpp Changeset: ceaa6dea6d58 Author: stefank Date: 2016-03-18 08:57 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ceaa6dea6d58 8152086: Remove SpaceMangler::mangle_region logging Reviewed-by: brutisso, tschatzl ! src/share/vm/gc/shared/spaceDecorator.cpp Changeset: 9d8819aedf12 Author: stefank Date: 2016-03-18 08:59 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9d8819aedf12 8152100: Rework and unify the GC phase logging Reviewed-by: sjohanss, jwilhelm ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/parNewGeneration.cpp ! src/share/vm/gc/cms/vmCMSOperations.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/g1/g1MarkSweep.cpp ! src/share/vm/gc/parallel/psMarkSweep.cpp ! src/share/vm/gc/parallel/psParallelCompact.cpp ! src/share/vm/gc/parallel/psScavenge.cpp ! src/share/vm/gc/serial/defNewGeneration.cpp ! src/share/vm/gc/serial/genMarkSweep.cpp ! src/share/vm/gc/shared/genCollectedHeap.cpp ! src/share/vm/logging/logPrefix.hpp Changeset: 54b055161b80 Author: stefank Date: 2016-03-18 09:01 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/54b055161b80 8152104: G1 StringTable cleaning incorrectly logs with the stringdedup tag Reviewed-by: mgerdin, jwilhelm, sjohanss ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/logging/logTag.hpp ! test/gc/g1/TestStringSymbolTableStats.java Changeset: 2f93b49bf048 Author: stefank Date: 2016-03-18 11:42 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2f93b49bf048 Merge ! src/share/vm/gc/g1/g1CollectedHeap.cpp Changeset: a78af8e76357 Author: sjohanss Date: 2016-03-18 13:18 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a78af8e76357 8152113: Remove _last_ditch_collection GC-cause and avoid expanding heap on Metaspace OOM Reviewed-by: brutisso, jwilhelm ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCCause.java ! src/share/vm/gc/shared/collectedHeap.cpp ! src/share/vm/gc/shared/gcCause.cpp ! src/share/vm/gc/shared/gcCause.hpp ! src/share/vm/gc/shared/genCollectedHeap.cpp ! src/share/vm/gc/shared/vmGCOperations.cpp ! src/share/vm/prims/whitebox.cpp Changeset: 81530aff15aa Author: pliden Date: 2016-03-18 15:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/81530aff15aa 8152185: ReferencePendingListLocker incorrectly assumes that the lock is never taken recursively Reviewed-by: stefank, sjohanss ! src/share/vm/gc/shared/referencePendingListLocker.cpp Changeset: a9481df02a50 Author: jmasa Date: 2016-03-17 15:50 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a9481df02a50 8151845: Comment in globals.hpp for MetaspaceSize is incorrect. Reviewed-by: drwhite, stefank ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/globals.hpp Changeset: 8c1631a0157b Author: coleenp Date: 2016-03-18 15:14 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8c1631a0157b 8152065: TraceBytecodes breaks the interpreter expression stack Summary: Move trace_bytecode to InterpreterRuntime and make trace_bytecode an IRT_LEAF so that safepoints are not allowed. Reviewed-by: jiangli, dholmes, dcubed ! src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp ! src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp ! src/cpu/sparc/vm/templateInterpreterGenerator_sparc.cpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/x86/vm/interp_masm_x86.cpp ! src/cpu/x86/vm/templateInterpreterGenerator_x86.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: bc37717b103b Author: coleenp Date: 2016-03-18 22:27 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bc37717b103b Merge Changeset: 17c8b2a1d35e Author: coleenp Date: 2016-03-18 23:12 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/17c8b2a1d35e Merge Changeset: 0b582be9fab0 Author: jwilhelm Date: 2016-03-19 01:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b582be9fab0 Merge ! src/os/linux/vm/os_linux.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 942f0be73f8f Author: jwilhelm Date: 2016-03-19 02:44 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/942f0be73f8f Merge ! src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp - test/compiler/compilercontrol/jcmd/StressAddSequentiallyTest.java Changeset: bd5889bcb442 Author: sangheki Date: 2016-03-18 21:01 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bd5889bcb442 8152118: MinTLABSize should be less than TLAB max Summary: Add a constraint for MinTLABSize to be less than or equal to TLAB max Reviewed-by: brutisso, drwhite, jmasa ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp Changeset: 85c3121e7805 Author: mgerdin Date: 2016-03-11 11:22 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/85c3121e7805 8152101: Move G1 concurrent refinement adjustment code out of G1CollectorPolicy Reviewed-by: jmasa, jwilhelm, kbarrett ! src/share/vm/gc/g1/concurrentG1Refine.cpp ! src/share/vm/gc/g1/concurrentG1Refine.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: d1558915416d Author: brutisso Date: 2016-03-18 10:51 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d1558915416d 8148759: G1AllocRegion::_count inconsistently used if more than one context is active Reviewed-by: sjohanss, jwilhelm, tschatzl ! src/share/vm/gc/g1/g1AllocRegion.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: 54dc7600e6d3 Author: brutisso Date: 2016-03-21 10:44 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/54dc7600e6d3 Merge ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: 8fced5cac71c Author: rehn Date: 2016-03-15 14:41 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8fced5cac71c 8150015: Integrate TraceTime with Unified Logging more seamlessly Reviewed-by: coleenp, dholmes ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/methodLiveness.cpp ! src/share/vm/gc/shared/gcTraceTime.inline.hpp ! src/share/vm/interpreter/cppInterpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/interpreter/templateTable.cpp ! src/share/vm/jvmci/jvmciCompilerToVM.cpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/methodHandles.cpp - src/share/vm/runtime/logTimer.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/timer.cpp ! src/share/vm/runtime/timer.hpp + src/share/vm/runtime/timerTrace.cpp + src/share/vm/runtime/timerTrace.hpp Changeset: 0ff5753d78b9 Author: mlarsson Date: 2016-03-21 11:42 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0ff5753d78b9 Merge - src/share/vm/runtime/logTimer.hpp Changeset: 8610c6bbd679 Author: mchernov Date: 2016-03-17 17:07 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8610c6bbd679 8150648: Re-enable TestPLABResize.java after JDK-8150183 is fixed Reviewed-by: tschatzl ! test/gc/g1/plab/TestPLABResize.java Changeset: d7ae4051d258 Author: tschatzl Date: 2016-03-21 12:52 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d7ae4051d258 Merge Changeset: b9efb94d011a Author: jmasa Date: 2016-03-07 11:28 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b9efb94d011a 8149343: assert(rp->num_q() == no_of_gc_workers) failed: sanity Reviewed-by: tschatzl, kbarrett ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/shared/referenceProcessor.cpp ! src/share/vm/gc/shared/referenceProcessor.hpp ! test/gc/ergonomics/TestDynamicNumberOfGCThreads.java Changeset: 7e1a36ca23d6 Author: cjplummer Date: 2016-03-21 13:14 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7e1a36ca23d6 8146436: Add -XX:-ShrinkHeapInSteps option (previously -XX:+UseAggressiveHeapShrink) Summary: Added ShrinkHeapInSteps option. Reviewed-by: jmasa, tbenson ! src/share/vm/gc/shared/cardGeneration.cpp ! src/share/vm/runtime/globals.hpp ! test/gc/arguments/TestMaxMinHeapFreeRatioFlags.java + test/gc/arguments/TestShrinkHeapInSteps.java Changeset: 2e3a958bdfdc Author: cjplummer Date: 2016-03-21 20:19 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e3a958bdfdc Merge Changeset: 2da767bf3ecc Author: sangheki Date: 2016-03-21 13:04 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2da767bf3ecc 8152120: TLAB compute_size() should not allow any size larger than max_size Summary: Limit TLAB compute_size() to be less than or equal to TLAB max Reviewed-by: sjohanss, jmasa ! src/share/vm/gc/shared/threadLocalAllocBuffer.inline.hpp Changeset: 1f0a958b039c Author: sangheki Date: 2016-03-22 01:52 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1f0a958b039c Merge Changeset: 9037ef388634 Author: tbenson Date: 2016-03-21 15:59 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9037ef388634 8142935: Adding old gen regions does not consider available free space Summary: Track live data size as added to cset during mixed GCs Reviewed-by: kbarrett, drwhite Contributed-by: tom.benson at oracle.com ! src/share/vm/gc/g1/g1CollectionSet.cpp ! src/share/vm/gc/g1/g1CollectionSet.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: 7ab7d8f8bbbf Author: brutisso Date: 2016-03-22 13:41 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7ab7d8f8bbbf 8152300: Convert G1_ALLOC_REGION_TRACING to unified logging Reviewed-by: sjohanss, stefank ! src/share/vm/gc/g1/g1AllocRegion.cpp ! src/share/vm/gc/g1/g1AllocRegion.hpp ! src/share/vm/logging/logPrefix.hpp Changeset: 434e21d31911 Author: coleenp Date: 2016-03-22 13:32 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/434e21d31911 8144940: Broken hash in string table entry in closed/runtime/7158800/BadUtf8.java Summary: Fix code broken with compact Strings. Reviewed-by: iklam, thartmann, hseigel, jiangli ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/stringTable.cpp ! src/share/vm/classfile/stringTable.hpp Changeset: 9fb212f91d51 Author: mockner Date: 2016-03-22 15:03 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9fb212f91d51 8146632: Add descriptive error messages for removed non-product logging flags. Summary: Added table with removed non-product flags and error messages. Reviewed-by: dholmes, coleenp, hseigel ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp + test/runtime/logging/RemovedDevelopFlagsTest.java Changeset: 36870c627981 Author: mockner Date: 2016-03-23 03:33 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/36870c627981 Merge Changeset: 53c0863b1766 Author: mgronlun Date: 2016-03-23 10:31 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/53c0863b1766 8152119: Event-based tracing to allow for tracing Klass definition Reviewed-by: dholmes, egahlin ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/trace/traceMacros.hpp Changeset: 155f22b63931 Author: dsimms Date: 2016-03-23 10:52 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/155f22b63931 8149023: Event based tracing should cover safepoint begin and end Summary: Add events to safepoint begin and end Reviewed-by: dholmes, mgronlun, egahlin ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/safepoint.hpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/trace/traceevents.xml ! src/share/vm/trace/tracerelationdecls.xml Changeset: a074585a9f08 Author: ysuenaga Date: 2016-03-23 12:26 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a074585a9f08 8148659: Add all option to JSnap Reviewed-by: dsamersoff ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/JSnap.java Changeset: 3b3bd6c38547 Author: dsamersoff Date: 2016-03-23 17:36 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3b3bd6c38547 Merge Changeset: 906fa01e86a0 Author: jwilhelm Date: 2016-03-23 23:36 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/906fa01e86a0 Merge ! make/share/makefiles/mapfile-vers ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/jniHandles.hpp - src/share/vm/runtime/logTimer.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/trace/traceMacros.hpp ! src/share/vm/utilities/ostream.cpp Changeset: f0b0212255ec Author: tschatzl Date: 2016-03-24 10:40 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0b0212255ec 8152400: Enabling TASK_STATS_ONLY filters out just enabled messages anyway Summary: If TASK_STATS_ONLY is enabled, do not require a develop build to print messages. Reviewed-by: pliden, tbenson ! src/share/vm/gc/g1/g1CollectedHeap.cpp Changeset: 6519f566e535 Author: mchernov Date: 2016-03-23 15:48 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6519f566e535 8149662: Refactor hotspot/test/gc/g1/plab/lib/LogParser.java Reviewed-by: tschatzl, dfazunen ! test/gc/g1/plab/TestPLABPromotion.java ! test/gc/g1/plab/TestPLABResize.java ! test/gc/g1/plab/lib/LogParser.java + test/gc/g1/plab/lib/PlabGCStatistics.java + test/gc/g1/plab/lib/PlabInfo.java + test/gc/g1/plab/lib/PlabReport.java Changeset: fa52d1b77eed Author: dfazunen Date: 2016-03-24 15:51 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fa52d1b77eed Merge - src/jdk.vm.ci/share/classes/META-INF/services/jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory - test/compiler/jsr292/NonInlinedCall/NonInlinedReinvoker.java - test/compiler/jvmci/common/CompilerToVMHelper.java - test/compiler/jvmci/common/PublicMetaspaceWrapperObject.java - test/compiler/jvmci/events/MetaAccessWrapper.java - test/runtime/BadObjectClass/Object.java - test/testlibrary/jdk/test/lib/PerfCounter.java - test/testlibrary/jdk/test/lib/PerfCounters.java Changeset: ded6ef79c770 Author: dfazunen Date: 2016-03-24 13:09 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ded6ef79c770 Merge Changeset: c17ada687ab0 Author: hseigel Date: 2016-03-24 08:13 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c17ada687ab0 8140665: SIGSEGV when a primitive type's class is used as the host class in a call to DefineAnonymousClass call Summary: Instead of assertng, throw an exception Reviewed-by: acorn, coleenp ! src/share/vm/prims/unsafe.cpp + test/runtime/Unsafe/PrimitiveHostClass.java Changeset: 99ce5bd266ed Author: hseigel Date: 2016-03-24 15:19 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/99ce5bd266ed Merge Changeset: 2e4b33aadcc7 Author: coleenp Date: 2016-03-24 10:19 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e4b33aadcc7 8143269: Refactor code in universe_post_init that sets up methods to upcall Summary: Deferred code review cleanups Reviewed-by: dholmes, hseigel ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp Changeset: f8df8c40e371 Author: coleenp Date: 2016-03-24 20:17 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f8df8c40e371 Merge Changeset: 2b173ac390c6 Author: kbarrett Date: 2016-03-22 20:32 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2b173ac390c6 8152196: SuspendibleThreadSet::yield scales poorly Summary: Use semaphore to wake up VM thread on last suspendible leave/yield. Reviewed-by: mgerdin, drwhite ! src/share/vm/gc/g1/suspendibleThreadSet.cpp ! src/share/vm/gc/g1/suspendibleThreadSet.hpp ! src/share/vm/runtime/init.cpp Changeset: 0b7de457e97c Author: kbarrett Date: 2016-03-24 23:42 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b7de457e97c Merge Changeset: 68bddbb722de Author: rprotacio Date: 2016-03-24 13:25 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/68bddbb722de 8146947: Remove PrintOopAddress rather than converting to UL Summary: Deprecated PrintOopAddress and made functionality default Reviewed-by: coleenp, stefank ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/oop.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/exceptions.cpp ! test/runtime/CommandLine/TraceExceptionsTest.java ! test/runtime/logging/ExceptionsTest.java Changeset: 00fda24abd13 Author: rprotacio Date: 2016-03-25 01:20 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/00fda24abd13 Merge Changeset: 969af18f3b36 Author: jmasa Date: 2016-03-16 14:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/969af18f3b36 8060463: ParNew: SurvivorAlignmentInBytes greater then YoungPLABSize cause assert(obj != NULL || plab->words_remaining() < word_sz) failed: Else should have been able to allocate Reviewed-by: sangheki, tschatzl, mchernov ! src/share/vm/gc/cms/parNewGeneration.cpp + test/gc/survivorAlignment/TestPromotionLABLargeSurvivorAlignment.java Changeset: 0942199cdbd8 Author: jmasa Date: 2016-03-25 03:53 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0942199cdbd8 Merge Changeset: ab681d5299dc Author: sangheki Date: 2016-03-24 23:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ab681d5299dc 8152160: SIGFPE in CompactibleFreeListSpaceLAB::compute_desired_plab_size Summary: Rephrase the calculation with CMSOldPLABNumRefills to avoid an overflow Reviewed-by: pliden, jmasa ! src/share/vm/gc/cms/compactibleFreeListSpace.cpp Changeset: b85ea7097b6e Author: dsamersoff Date: 2016-03-25 12:54 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b85ea7097b6e 8151991: jvmti diagnostics commands requires INCLUDE_SERVICES Summary: guard jvmti diagnostic commands by appropriate defines Reviewed-by: sspitsyn, dholmes, gadams ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: 9489df4f2b94 Author: ddmitriev Date: 2016-03-25 15:54 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9489df4f2b94 8078112: [TESTBUG] Integrate Selection/Resolution test suite into jtreg tests Reviewed-by: ctornqvi, acorn Contributed-by: eric.mccorkle at oracle.com ! test/TEST.groups + test/runtime/SelectionResolution/AbstractMethodErrorTest.java + test/runtime/SelectionResolution/IllegalAccessErrorTest.java + test/runtime/SelectionResolution/InvokeInterfaceICCE.java + test/runtime/SelectionResolution/InvokeInterfaceSuccessTest.java + test/runtime/SelectionResolution/InvokeSpecialICCE.java + test/runtime/SelectionResolution/InvokeSpecialSuccessTest.java + test/runtime/SelectionResolution/InvokeStaticICCE.java + test/runtime/SelectionResolution/InvokeStaticSuccessTest.java + test/runtime/SelectionResolution/InvokeVirtualICCE.java + test/runtime/SelectionResolution/InvokeVirtualSuccessTest.java + test/runtime/SelectionResolution/NoSuchMethodErrorTest.java + test/runtime/SelectionResolution/classes/selectionresolution/Builder.java + test/runtime/SelectionResolution/classes/selectionresolution/ByteCodeClassLoader.java + test/runtime/SelectionResolution/classes/selectionresolution/ClassBuilder.java + test/runtime/SelectionResolution/classes/selectionresolution/ClassConstruct.java + test/runtime/SelectionResolution/classes/selectionresolution/ClassData.java + test/runtime/SelectionResolution/classes/selectionresolution/Clazz.java + test/runtime/SelectionResolution/classes/selectionresolution/HierarchyShape.java + test/runtime/SelectionResolution/classes/selectionresolution/Interface.java + test/runtime/SelectionResolution/classes/selectionresolution/Method.java + test/runtime/SelectionResolution/classes/selectionresolution/MethodData.java + test/runtime/SelectionResolution/classes/selectionresolution/Result.java + test/runtime/SelectionResolution/classes/selectionresolution/SelectionResolutionTest.java + test/runtime/SelectionResolution/classes/selectionresolution/SelectionResolutionTestCase.java + test/runtime/SelectionResolution/classes/selectionresolution/Template.java + test/runtime/SelectionResolution/classes/selectionresolution/TestBuilder.java Changeset: fb31034a45ea Author: kbarrett Date: 2016-03-25 15:50 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fb31034a45ea 8151670: Unexpected concurrent refinement deactivation and reactivation Summary: Refinement threads now use SuspendibleThreadSet::yield. Reviewed-by: jmasa, mgerdin ! src/share/vm/gc/g1/concurrentG1RefineThread.cpp ! src/share/vm/gc/g1/dirtyCardQueue.cpp ! src/share/vm/gc/g1/dirtyCardQueue.hpp Changeset: 5518d3ad6fa7 Author: iklam Date: 2016-03-23 09:00 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5518d3ad6fa7 8152380: Shared symbol table should never use alternate hashcode Reviewed-by: coleenp, jiangli ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp Changeset: fdeedce78d1e Author: pliden Date: 2016-03-29 08:42 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fdeedce78d1e 8068579: Running with -XX:-UseParallelGC does not turn ParalleGC off Reviewed-by: jmasa, dfazunen, brutisso ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals_extension.hpp + test/gc/arguments/TestDisableDefaultGC.java Changeset: 085ca2afb3c1 Author: mlarsson Date: 2016-03-29 09:36 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/085ca2afb3c1 8151438: UL instantiates duplicate tag sets Reviewed-by: brutisso, stefank ! src/share/vm/gc/serial/defNewGeneration.cpp ! src/share/vm/gc/shared/gcTraceTime.inline.hpp ! src/share/vm/logging/log.cpp ! src/share/vm/logging/logTagSet.hpp ! src/share/vm/utilities/internalVMTests.cpp Changeset: 2bf42f25d7ed Author: mlarsson Date: 2016-03-29 09:43 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2bf42f25d7ed 8151993: Remove inclusion of inline.hpp in log.hpp Reviewed-by: kbarrett, stefank ! src/share/vm/logging/log.cpp ! src/share/vm/logging/log.hpp ! src/share/vm/logging/logPrefix.hpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/utilities/internalVMTests.cpp Changeset: 7ab00f8baff3 Author: mockner Date: 2016-03-29 13:02 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7ab00f8baff3 8149996: TraceLoaderConstraints has been converted to Unified Logging. Summary: TraceLoaderConstraints has been converted to Unified Logging. Reviewed-by: coleenp, dholmes, rprotacio ! src/share/vm/classfile/loaderConstraints.cpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp + test/runtime/logging/LoaderConstraintsTest.java Changeset: 98ec96e9cd77 Author: mockner Date: 2016-03-29 14:37 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/98ec96e9cd77 8150084: Convert TraceMonitorMismatch to Unified Logging. Summary: TraceMonitorMismatch has been converted to Unified Logging. Reviewed-by: coleenp, rprotacio ! src/share/vm/logging/logTag.hpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp + test/runtime/logging/MonitorMismatchHelper.jasm + test/runtime/logging/MonitorMismatchTest.java Changeset: da50d99f8918 Author: mockner Date: 2016-03-29 20:51 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/da50d99f8918 Merge ! src/share/vm/logging/logTag.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: b9baf810773f Author: mockner Date: 2016-03-29 21:44 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b9baf810773f Merge ! src/share/vm/logging/logTag.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 36a42531fbe9 Author: kbarrett Date: 2016-03-29 16:21 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/36a42531fbe9 8152916: ostream has unnecessary dependency on GCId Summary: Removed unneeded #includes and forward class declaration. Reviewed-by: pliden, rehn, brutisso, mgerdin ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp Changeset: 63679d42b0fd Author: dfazunen Date: 2016-03-30 17:25 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/63679d42b0fd 8152422: Optimize GC JPRT test set Reviewed-by: sjohanss, pliden ! test/TEST.groups Changeset: a8447b111060 Author: gziemski Date: 2016-03-30 14:44 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a8447b111060 8142510: -XX:+PrintFlagsRanges should print default range value for those flags that have constraint and an implicit range. Summary: Implemented default ranges for flags with constraints and no explicit ranges Reviewed-by: ddmitriev, coleenp ! src/share/vm/runtime/commandLineFlagConstraintList.cpp ! src/share/vm/runtime/commandLineFlagConstraintList.hpp ! src/share/vm/runtime/commandLineFlagRangeList.cpp ! src/share/vm/runtime/commandLineFlagRangeList.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp Changeset: 0c9df1e164e2 Author: tschatzl Date: 2016-03-31 12:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0c9df1e164e2 8153065: "Preserve CM refs" log message disconnected from "Parallel Preserve CM refs" Summary: Bring the log messages into the correct order again. Reviewed-by: mgerdin ! src/share/vm/gc/g1/g1GCPhaseTimes.cpp Changeset: fdb75a37bebb Author: dsamersoff Date: 2016-03-31 14:17 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fdb75a37bebb 8150973: Hotspot agent use of sun.boot.class.path needs to be updated for Jigsaw Summary: remove the code Reviewed-by: alanb, sspitsyn ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaVM.java Changeset: 2d5956d1a9f3 Author: dsamersoff Date: 2016-03-31 11:21 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2d5956d1a9f3 Merge Changeset: 55867c470001 Author: gziemski Date: 2016-03-30 11:28 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/55867c470001 8143958: CDS Shared flags need constraint function Summary: Implement range constraints for CDS flags. Reviewed-by: iklam, jiangli ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.cpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.hpp ! src/share/vm/runtime/globals.hpp ! test/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java Changeset: 500776d80c5b Author: gziemski Date: 2016-03-31 14:18 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/500776d80c5b Merge ! src/share/vm/runtime/globals.hpp Changeset: 22af68174a23 Author: brutisso Date: 2016-03-31 17:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/22af68174a23 8152952: Allow G1 phase logging to use individual number of threads Reviewed-by: tschatzl, jmasa ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp ! src/share/vm/gc/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc/g1/g1GCPhaseTimes.hpp ! src/share/vm/gc/g1/workerDataArray.cpp ! src/share/vm/gc/g1/workerDataArray.hpp ! src/share/vm/gc/g1/workerDataArray.inline.hpp ! src/share/vm/gc/shared/workgroup.hpp Changeset: 12fa649d73af Author: brutisso Date: 2016-03-31 18:51 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/12fa649d73af Merge Changeset: ef17cf246969 Author: rprotacio Date: 2016-03-31 12:06 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ef17cf246969 8145235: Deprecate product flags that have been converted to Unified Logging Summary: Added deprecation message/mechanism for product flags aliased to Unified Logging options Reviewed-by: mockner, coleenp, ddmitriev, mlarsson ! src/share/vm/logging/logTag.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 2168f726b3d1 Author: rprotacio Date: 2016-03-31 18:22 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2168f726b3d1 Merge Changeset: 252b571bbb86 Author: ysuenaga Date: 2016-03-30 21:05 +0900 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/252b571bbb86 8151674: STW phases at Concurrent GC should count in PerfCounter Reviewed-by: jmasa, sla, tschatzl ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/g1/g1MonitoringSupport.cpp ! src/share/vm/gc/g1/g1MonitoringSupport.hpp ! src/share/vm/gc/g1/vm_operations_g1.cpp ! src/share/vm/gc/shared/vmGCOperations.hpp Changeset: 5bd11ac4d7ab Author: jmasa Date: 2016-03-31 22:04 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5bd11ac4d7ab Merge Changeset: 03c5c21d3620 Author: ccheung Date: 2016-03-31 10:42 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/03c5c21d3620 8075253: Multiversion JAR feature: CDS does not support MV-JARs Summary: handle "Multi-Release" jar during CDS dump time Reviewed-by: jiangli, iklam, minqi, redestad ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/prims/jvmtiEnv.cpp Changeset: 948921e2c49e Author: ccheung Date: 2016-04-01 03:07 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/948921e2c49e Merge Changeset: b2ea0857288f Author: ctornqvi Date: 2016-03-31 11:39 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b2ea0857288f 8150899: [TESTBUG] Split hotspot_all job into smaller jobs Reviewed-by: gtriantafill, iignatyev ! test/TEST.groups Changeset: e32b24aec9b1 Author: ctornqvi Date: 2016-04-01 03:33 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e32b24aec9b1 Merge Changeset: d480f32efee5 Author: brutisso Date: 2016-04-01 07:08 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d480f32efee5 8153186: Convert TraceGCTaskThread to use unified logging Reviewed-by: mgerdin, tschatzl ! src/share/vm/gc/parallel/gcTaskManager.cpp ! src/share/vm/gc/parallel/gcTaskThread.cpp ! src/share/vm/runtime/globals.hpp Changeset: ec619fe64be0 Author: brutisso Date: 2016-04-01 07:08 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec619fe64be0 8153187: Convert TraceWorkGang to use unified logging Reviewed-by: mgerdin, tschatzl ! src/share/vm/gc/shared/workgroup.cpp ! src/share/vm/gc/shared/workgroup.hpp ! src/share/vm/logging/logPrefix.hpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/runtime/globals.hpp Changeset: 8342931bdc56 Author: brutisso Date: 2016-04-01 07:08 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8342931bdc56 8153188: Use log_error(gc, verify) for logging in verification code Reviewed-by: mgerdin, tschatzl ! src/share/vm/gc/shared/cardTableModRefBS.cpp ! src/share/vm/gc/shared/gcLocker.cpp Changeset: 1938de5a453a Author: csahu Date: 2016-04-01 13:51 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1938de5a453a 8151442: jstack doesn't close quotation marks properly with threads' name greater than 1996 characters Reviewed-by: dsamersoff, kevinw ! src/share/vm/runtime/thread.cpp + test/serviceability/tmtools/jstack/JstackThreadTest.java Changeset: 7e2f9d1f8ec1 Author: tschatzl Date: 2016-04-01 11:57 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7e2f9d1f8ec1 8148099: Improve memory access to FromCardCache during GC Summary: Transpose the FromCardCache data array so the access during GC is linear instead of element-by-element with stride. Reviewed-by: mgerdin, brutisso ! src/share/vm/gc/g1/g1FromCardCache.cpp ! src/share/vm/gc/g1/g1FromCardCache.hpp Changeset: 37ca085d8f56 Author: tschatzl Date: 2016-04-01 11:58 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/37ca085d8f56 8153182: GC ID prefix for gc, humongous log messages are missing Reviewed-by: mgerdin, brutisso ! src/share/vm/logging/logPrefix.hpp Changeset: 594e01e4be2f Author: tschatzl Date: 2016-04-01 12:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/594e01e4be2f 8153193: Missing includes in gc/g1/heapRegionBounds.hpp Reviewed-by: jwilhelm, brutisso ! src/share/vm/gc/g1/heapRegionBounds.hpp Changeset: 998266581c6c Author: tschatzl Date: 2016-04-01 12:46 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/998266581c6c Merge Changeset: d9d1edafdf2d Author: mchernov Date: 2016-04-01 16:15 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d9d1edafdf2d 8148397: Create new tests for IHOP Reviewed-by: tschatzl, dfazunen + test/gc/g1/ihop/TestIHOPErgo.java + test/gc/g1/ihop/TestIHOPStatic.java + test/gc/g1/ihop/lib/IhopUtils.java + test/stress/gc/TestStressIHOPMultiThread.java Changeset: d76f8fccd37c Author: sangheki Date: 2016-04-01 09:43 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d76f8fccd37c 8152176: Big ParGCCardsPerStrideChunk values can cause overflow for CMS GC Summary: Limit the max value of ParGCCardsPerStrideChunk based on card table size and other stride flags Reviewed-by: jmasa, tbenson ! src/share/vm/gc/shared/cardTableModRefBS.hpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.hpp ! src/share/vm/runtime/globals.hpp Changeset: a54b3ac03c32 Author: sangheki Date: 2016-04-01 09:45 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a54b3ac03c32 8153201: TestOptionsWithRanges fails with -XX:OldPLABSize=2147483648 Summary: Add parallel gc into min/max PLAB constraint function Reviewed-by: brutisso, tbenson ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp Changeset: 08d444fa6457 Author: dcubed Date: 2016-04-01 14:30 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/08d444fa6457 8153302: [BACKOUT] STW phases at Concurrent GC should count in PerfCounter Reviewed-by: jmasa, jwilhelm ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/g1/g1MonitoringSupport.cpp ! src/share/vm/gc/g1/g1MonitoringSupport.hpp ! src/share/vm/gc/g1/vm_operations_g1.cpp ! src/share/vm/gc/shared/vmGCOperations.hpp Changeset: 0b5557c0db4e Author: dcubed Date: 2016-04-01 14:34 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b5557c0db4e Merge Changeset: 7cfce1ae8bd6 Author: jwilhelm Date: 2016-04-02 05:39 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7cfce1ae8bd6 Merge ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/jvmci/jvmciCompilerToVM.cpp ! src/share/vm/runtime/arguments.cpp - src/share/vm/runtime/logTimer.hpp Changeset: b1234a6bef08 Author: brutisso Date: 2016-04-01 10:16 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b1234a6bef08 8153203: Remove liveRange.hpp Reviewed-by: mgerdin, jwilhelm ! src/share/vm/gc/cms/compactibleFreeListSpace.cpp ! src/share/vm/gc/g1/heapRegion.cpp ! src/share/vm/gc/parallel/psMarkSweepDecorator.cpp - src/share/vm/gc/shared/liveRange.hpp ! src/share/vm/gc/shared/space.cpp ! src/share/vm/gc/shared/space.inline.hpp Changeset: 13b4b179f129 Author: mlarsson Date: 2016-04-04 08:58 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/13b4b179f129 8153174: Remove trailing comma from log configuration listings Reviewed-by: rehn, sla ! src/share/vm/logging/log.cpp ! src/share/vm/logging/logOutput.cpp Changeset: 14c47dfcbfe8 Author: mlarsson Date: 2016-04-04 09:59 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/14c47dfcbfe8 Merge Changeset: f28f6f68aec1 Author: stefank Date: 2016-04-04 09:15 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f28f6f68aec1 8152538: UL doesn't inline the LogTagSet::is_level check Reviewed-by: mlarsson, brutisso ! src/share/vm/logging/logTagSet.cpp ! src/share/vm/logging/logTagSet.hpp Changeset: 4a0121d1e772 Author: stefank Date: 2016-04-04 09:15 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4a0121d1e772 8152632: Rename LogHandle(...) to Log(...) Reviewed-by: brutisso, mlarsson, rprotacio ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/loaderConstraints.cpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/classfile/sharedPathsMiscInfo.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/gc/cms/compactibleFreeListSpace.cpp ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/parNewGeneration.cpp ! src/share/vm/gc/cms/parOopClosures.inline.hpp ! src/share/vm/gc/g1/g1AllocRegion.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1ConcurrentMark.cpp ! src/share/vm/gc/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc/g1/g1HeapVerifier.cpp ! src/share/vm/gc/g1/g1RemSet.cpp ! src/share/vm/gc/g1/g1StringDedupTable.cpp ! src/share/vm/gc/g1/heapRegion.cpp ! src/share/vm/gc/parallel/adjoiningGenerations.cpp ! src/share/vm/gc/parallel/asPSOldGen.cpp ! src/share/vm/gc/parallel/gcTaskManager.cpp ! src/share/vm/gc/parallel/psParallelCompact.cpp ! src/share/vm/gc/parallel/psPromotionManager.cpp ! src/share/vm/gc/shared/collectedHeap.cpp ! src/share/vm/gc/shared/gcLocker.cpp ! src/share/vm/gc/shared/gcTraceTime.inline.hpp ! src/share/vm/gc/shared/threadLocalAllocBuffer.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/logging/log.cpp ! src/share/vm/logging/log.hpp ! src/share/vm/logging/logConfiguration.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/timerTrace.hpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/utilities/exceptions.cpp Changeset: d63aab8f7cb6 Author: stefank Date: 2016-04-04 11:32 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d63aab8f7cb6 Merge ! src/share/vm/gc/cms/compactibleFreeListSpace.cpp ! src/share/vm/gc/g1/heapRegion.cpp ! src/share/vm/logging/log.cpp Changeset: eb591308c2a2 Author: sjohanss Date: 2016-03-24 10:49 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/eb591308c2a2 8151460: Metaspace counters can have inconsistent values Reviewed-by: jmasa, pliden ! test/gc/metaspace/TestMetaspacePerfCounters.java ! test/gc/metaspace/TestPerfCountersAndMemoryPools.java Changeset: 4c596ac49e42 Author: stefank Date: 2016-04-04 12:45 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4c596ac49e42 8152635: Create a UL class to represent a Log + Level combination Reviewed-by: brutisso, mlarsson, rehn ! src/share/vm/gc/cms/compactibleFreeListSpace.cpp ! src/share/vm/logging/log.cpp ! src/share/vm/logging/log.hpp ! src/share/vm/utilities/internalVMTests.cpp Changeset: eaf1796d3a6c Author: stefank Date: 2016-04-04 13:36 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/eaf1796d3a6c Merge Changeset: eb227ccc8a84 Author: rehn Date: 2016-04-04 15:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/eb227ccc8a84 8153254: Delegate (v)write from Log to LogTagSet Reviewed-by: stefank, kbarrett ! src/share/vm/logging/log.cpp ! src/share/vm/logging/log.hpp ! src/share/vm/logging/logTagSet.cpp ! src/share/vm/logging/logTagSet.hpp Changeset: ea81fe138932 Author: jprovino Date: 2016-04-04 12:57 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ea81fe138932 8132524: Missing includes to resourceArea.hpp Summary: Files that use ResourceMark are missing the include of resourceArea.hpp Reviewed-by: tschatzl, jwilhelm ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp ! src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp ! src/cpu/ppc/vm/methodHandles_ppc.cpp ! src/cpu/ppc/vm/runtime_ppc.cpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/runtime_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/runtime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/zero/vm/methodHandles_zero.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_ValueType.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciSignature.cpp ! src/share/vm/ci/ciType.cpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/classfile/classFileStream.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/classfile/sharedPathsMiscInfo.cpp ! src/share/vm/classfile/stringTable.cpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileTask.cpp ! src/share/vm/compiler/compilerDirectives.cpp ! src/share/vm/compiler/directivesParser.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/methodLiveness.cpp ! src/share/vm/compiler/methodMatcher.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1RemSet.cpp ! src/share/vm/gc/g1/heapRegion.cpp ! src/share/vm/gc/parallel/pcTasks.cpp ! src/share/vm/gc/parallel/psParallelCompact.cpp ! src/share/vm/gc/parallel/psPromotionManager.cpp ! src/share/vm/gc/parallel/psScavenge.inline.hpp ! src/share/vm/gc/parallel/psTasks.cpp ! src/share/vm/gc/serial/defNewGeneration.cpp ! src/share/vm/gc/shared/collectedHeap.cpp ! src/share/vm/gc/shared/referenceProcessor.cpp ! src/share/vm/interpreter/cppInterpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/jvmci/jvmciCompiler.cpp ! src/share/vm/jvmci/jvmciCompilerToVM.cpp ! src/share/vm/jvmci/jvmciEnv.cpp ! src/share/vm/jvmci/jvmciRuntime.cpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/oop.cpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/domgraph.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/replacednodes.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/superword.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/jvmtiTrace.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/wbtestmethods/parserTests.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/fieldType.cpp ! src/share/vm/runtime/fprofiler.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticFramework.cpp ! src/share/vm/services/gcNotifier.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/lowMemoryDetector.cpp ! src/share/vm/services/threadService.cpp ! src/share/vm/shark/sharkCompiler.cpp ! src/share/vm/shark/sharkInliner.cpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/xmlstream.cpp Changeset: f2abf8448100 Author: ddmitriev Date: 2016-04-05 00:36 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f2abf8448100 8153437: Temporary exclude AllocatePrefetchDistance from testing Reviewed-by: dcubed ! test/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java Changeset: df76f64caa15 Author: dcubed Date: 2016-04-04 14:41 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/df76f64caa15 8077392: Stream fork/join tasks occasionally fail to complete 8131715: backout the fix for JDK-8079359 when JDK-8077392 is fixed Summary: Add missing BasicLock::_displaced_header init to ObjectSynchronizer::quick_enter() and re-enable Contended Locked "fast enter" bucket. Reviewed-by: gthornbr, dholmes, kvn, cvarming, acorn ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp Changeset: 45fd8d3556d2 Author: dcubed Date: 2016-04-04 14:49 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/45fd8d3556d2 8152358: code and comment cleanups found during the hunt for 8077392 Reviewed-by: gthornbr, kvn, cvarming ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/interp_masm_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/share/vm/runtime/biasedLocking.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp Changeset: dc8669b055d2 Author: dcubed Date: 2016-04-05 00:41 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dc8669b055d2 Merge Changeset: e61ec982539a Author: pliden Date: 2016-04-05 09:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e61ec982539a 8152929: Remove UNSUPPORTED_GC_OPTION, use UNSUPPORTED_OPTION instead Reviewed-by: brutisso, jmasa ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! test/compiler/arguments/CheckCICompilerCount.java ! test/compiler/arguments/CheckCompileThresholdScaling.java ! test/compiler/codecache/CheckSegmentedCodeCache.java ! test/gc/g1/Test2GbHeap.java Changeset: 31b311779a7b Author: stefank Date: 2016-04-05 10:35 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/31b311779a7b 8152637: Create a stack allocatable LogStream class Reviewed-by: rehn, brutisso ! src/share/vm/logging/log.cpp ! src/share/vm/logging/log.hpp + src/share/vm/logging/logStream.cpp + src/share/vm/logging/logStream.hpp + src/share/vm/logging/logStream.inline.hpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/utilities/internalVMTests.cpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp Changeset: 421b50008870 Author: stefank Date: 2016-04-05 10:41 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/421b50008870 8152711: Create a non-template Log wrapper class Reviewed-by: kbarrett, rehn ! src/share/vm/gc/shared/gcTraceTime.hpp ! src/share/vm/gc/shared/gcTraceTime.inline.hpp ! src/share/vm/logging/log.cpp + src/share/vm/logging/logHandle.hpp ! src/share/vm/logging/logStream.inline.hpp ! src/share/vm/utilities/internalVMTests.cpp Changeset: 1c839fd8b3db Author: rehn Date: 2016-04-05 10:42 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1c839fd8b3db 8153396: Remove unused ResourceMarks from UL internal vm tests Reviewed-by: stefank, brutisso ! src/share/vm/logging/log.cpp Changeset: 3b30bc4a3cfc Author: stefank Date: 2016-04-05 11:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3b30bc4a3cfc Merge Changeset: 5ae0c7f89874 Author: tschatzl Date: 2016-04-05 11:22 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5ae0c7f89874 8151499: gc/g1/g1OopClosures.inline.hpp: assert(_from->is_in_reserved(p)) failed: p is not in from Summary: Fix wrong assertion. Reviewed-by: tbenson, shade ! src/share/vm/gc/g1/g1OopClosures.inline.hpp ! test/TEST.groups + test/gc/TestHumongousReferenceObject.java Changeset: d22fe74750ce Author: tschatzl Date: 2016-04-05 12:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d22fe74750ce Merge Changeset: d19a9badb2df Author: mgerdin Date: 2016-04-05 13:55 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d19a9badb2df 8153176: ParOldGC: Use correct TaskQueueSet for ParallelTaskTerminator in marking. Reviewed-by: mgerdin, tschatzl Contributed-by: richard.reingruber at sap.com ! src/share/vm/gc/parallel/pcTasks.cpp ! src/share/vm/gc/parallel/psParallelCompact.cpp Changeset: aff43ebb503f Author: rprotacio Date: 2016-04-05 09:42 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aff43ebb503f 8153026: Change logging tag 'verboseverification' to 'verification' Summary: Changed UL tag to 'verification' Reviewed-by: hseigel, lfoltan ! src/share/vm/classfile/verifier.cpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/runtime/arguments.cpp ! test/runtime/logging/RemovedDevelopFlagsTest.java - test/runtime/logging/VerboseVerificationTest.java + test/runtime/logging/VerificationTest.java Changeset: 16098172056c Author: tbenson Date: 2016-04-05 11:17 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/16098172056c 8153117: Back out JDK-8142935 until JDK-8152723 fixed Summary: JDK-8142935 fix can lead to avoidable Full GCs Reviewed-by: jwilhelm, tschatzl Contributed-by: tom.benson at oracle.com ! src/share/vm/gc/g1/g1CollectionSet.cpp ! src/share/vm/gc/g1/g1CollectionSet.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: 691c69fa726c Author: iklam Date: 2016-04-05 14:52 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/691c69fa726c 8153300: [TESTBUG] Enhance test/testlibrary/ClassFileInstaller.java to support JAR files Reviewed-by: lfoltan, mseledtsov ! test/runtime/SharedArchiveFile/BootAppendTests.java ! test/runtime/SharedArchiveFile/SharedStrings.java ! test/testlibrary/ClassFileInstaller.java Changeset: bf308b2affed Author: sangheki Date: 2016-04-05 16:15 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bf308b2affed 8152188: Allow CMSBitMapYieldQuantum for BitMap::clear_range and clear_large_range Summary: Let BitMap::clear_large_range call clear_range instead of firing an assert Reviewed-by: jmasa, jwilhelm ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.inline.hpp Changeset: f6aed2e19cae Author: sangheki Date: 2016-04-05 23:59 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f6aed2e19cae Merge Changeset: 7924a5f2f606 Author: jwilhelm Date: 2016-04-06 14:51 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7924a5f2f606 8153671: Quarantine serviceability/tmtools/jstack/JstackThreadTest.java until JDK-8153319 is fixed Reviewed-by: jprovino, dcubed ! test/serviceability/tmtools/jstack/JstackThreadTest.java Changeset: 20b66ba124e9 Author: dcubed Date: 2016-04-07 09:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/20b66ba124e9 Merge ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp - src/share/vm/gc/shared/liveRange.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/jvmci/jvmciCompilerToVM.cpp ! src/share/vm/jvmci/jvmciRuntime.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/globals.hpp - src/share/vm/runtime/logTimer.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/trace/trace.xml + src/share/vm/trace/traceevents.xml + src/share/vm/trace/tracerelationdecls.xml ! src/share/vm/utilities/globalDefinitions.hpp ! test/TEST.groups ! test/gc/metaspace/TestMetaspacePerfCounters.java ! test/gc/metaspace/TestPerfCountersAndMemoryPools.java Changeset: c42f970dbb62 Author: bharadwaj Date: 2016-04-08 01:00 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c42f970dbb62 8153816: [BACKOUT] Make intrinsics flags diagnostic Summary: Backout fix for 8145348 Reviewed-by: kvn, jwilhelm ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/runtime/globals.hpp ! test/compiler/intrinsics/muladd/TestMulAdd.java ! test/compiler/runtime/6859338/Test6859338.java Changeset: 03fb00b96355 Author: enevill Date: 2016-03-29 10:07 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/03fb00b96355 8151775: aarch64: add support for 8.1 LSE atomic operations Reviewed-by: aph ! src/cpu/aarch64/vm/assembler_aarch64.hpp ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp ! src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp ! src/cpu/aarch64/vm/vm_version_aarch64.hpp Changeset: 9e2388205f66 Author: fyang Date: 2016-03-23 18:00 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9e2388205f66 8152537: aarch64: Make use of CBZ and CBNZ when comparing unsigned values with zero. Summary: aarch64: c2 make use of CBZ and CBNZ when comparing unsigned values with zero. Reviewed-by: aph ! src/cpu/aarch64/vm/aarch64.ad Changeset: 0d2b390d451a Author: fyang Date: 2016-03-28 21:21 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0d2b390d451a 8152840: aarch64: improve _unsafe_arraycopy stub routine Summary: aarch64: improve StubRoutines::_unsafe_arraycopy stub routine Reviewed-by: aph ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: 1e653c794138 Author: cjplummer Date: 2016-03-30 09:52 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1e653c794138 8148639: Some MethodCounter fields can be excluded when not including C2 Summary: Removed _interpreter_invocation_count and _interpreter_throwout_count fields for C1 Reviewed-by: kvn, coleenp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodCounters.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/macros.hpp Changeset: 7d45fbf2b0de Author: thartmann Date: 2016-03-31 09:26 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7d45fbf2b0de 8136798: TestMonomorphicObjectCall.java fails with compilation error Summary: Refactored test to work with Jake. Reviewed-by: kvn, zmajo ! test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java + test/compiler/dependencies/MonomorphicObjectCall/java.base/java/lang/Object.java - test/compiler/dependencies/MonomorphicObjectCall/java/lang/Object.java Changeset: 8911d94e888b Author: enevill Date: 2016-03-31 12:00 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8911d94e888b 8153172: aarch64: hotspot crashes after the 8.1 LSE patch is merged Summary: Fix scratch register usage in C1 atomic_op to avoid unpredictable instruction Reviewed-by: aph Contributed-by: felix.yang at linaro.org ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Changeset: 68394bf0a09f Author: mdoerr Date: 2016-03-18 12:50 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/68394bf0a09f 8152172: PPC64: Support AES intrinsics Reviewed-by: kvn, mdoerr, simonis Contributed-by: horii at jp.ibm.com ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/stubGenerator_ppc.cpp ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp Changeset: 1b1fb02718ef Author: kvn Date: 2016-03-31 09:16 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1b1fb02718ef Merge - test/compiler/dependencies/MonomorphicObjectCall/java/lang/Object.java Changeset: 774d5cc05db2 Author: dnsimon Date: 2016-03-31 09:16 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/774d5cc05db2 8152021: MethodHandleAccessProvider.lookupMethodHandleIntrinsic throws NPE on null argument Reviewed-by: kvn, twisti ! src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MethodHandleAccessProvider.java Changeset: 461e9f8abc73 Author: dnsimon Date: 2016-03-31 09:16 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/461e9f8abc73 8152022: JVMCI: MethodHandleAccessProvider.resolveInvokeBasicTarget throws NPE on null first argument Reviewed-by: kvn, twisti ! src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MethodHandleAccessProvider.java Changeset: 019fddb2c36c Author: dnsimon Date: 2016-03-31 09:16 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/019fddb2c36c 8152023: MethodHandleAccessProvider.resolveLinkToTarget throws NPE/IAE on null/wrong argument Reviewed-by: kvn, twisti ! src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MethodHandleAccessProvider.java Changeset: 0856748f72bf Author: dnsimon Date: 2016-03-31 09:16 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0856748f72bf 8152024: MemoryAccessProvider javadoc should be modified Reviewed-by: kvn, twisti ! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java ! src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MemoryAccessProvider.java Changeset: 2ea1790969e2 Author: twisti Date: 2016-03-31 15:52 -1000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2ea1790969e2 8144964: JVMCI compilations need to be disabled until the module system is initialized Reviewed-by: kvn ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileTask.cpp ! src/share/vm/compiler/compileTask.hpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp Changeset: 07f1012b117e Author: rraghavan Date: 2016-04-01 01:34 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/07f1012b117e 8150690: C++11 user-defined literal syntax in jvmciCompilerToVM.cpp. Summary: Changes done for - 'C++11 requires a space between literal and identifier'. Reviewed-by: twisti ! src/share/vm/jvmci/jvmciCompilerToVM.cpp Changeset: fdc0e7bfa03b Author: thartmann Date: 2016-04-01 08:46 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fdc0e7bfa03b Merge Changeset: c926a039792e Author: dpochepk Date: 2016-04-01 16:31 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c926a039792e 8151828: Jittester: array creation node handled inproperly in source code visitor for non-int numerical arrays Reviewed-by: iignatyev ! test/testlibrary/jittester/src/jdk/test/lib/jittester/visitors/JavaCodeVisitor.java Changeset: 2b0a0523052d Author: dpochepk Date: 2016-04-01 16:56 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2b0a0523052d 8138798: improve tests for HotSpotVMEventListener::notifyInstall Reviewed-by: twisti ! test/compiler/jvmci/events/JvmciNotifyInstallEventTest.java Changeset: 9b49b47fe2bb Author: never Date: 2016-04-03 21:44 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9b49b47fe2bb 8153315: [JVMCI] evol_method dependencies failures should return dependencies_failed Reviewed-by: iveresov ! src/share/vm/jvmci/jvmciEnv.cpp Changeset: a1e41855499b Author: zmajo Date: 2016-04-04 12:52 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a1e41855499b 8072422: Cleanup: Remove some unused flags/code in loop optimizations Summary: Remove unused flags, change test using them. Reviewed-by: kvn, twisti ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopUnswitch.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/parse1.cpp ! test/compiler/loopopts/TestCastIINoLoopLimitCheck.java Changeset: 69648c4800f0 Author: thartmann Date: 2016-04-05 07:19 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/69648c4800f0 8074553: Crash with assert(!is_unloaded()) failed: should not call follow on unloaded nmethod Summary: Sweeper thread needs to override nmethods_do() to prevent G1 from unloading _scanned_nmethod. Reviewed-by: kvn, mgerdin ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 8b233711d4aa Author: jcm Date: 2016-04-05 01:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8b233711d4aa 8067247: Crash: assert(method_holder->data() == 0 ...) failed: a) MT-unsafe modification of inline cache Summary: Made invoker LambdaForm instance & its compiled form lifetime tightly coupled. Reviewed-by: vlivanov ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_operations.hpp + test/compiler/jsr292/InvokerGC.java Changeset: 35ea7a75d7d1 Author: thartmann Date: 2016-04-05 10:11 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35ea7a75d7d1 Merge Changeset: 352516babfab Author: thartmann Date: 2016-04-05 17:51 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/352516babfab 8151724: Remove -XX:GenerateCompilerNullChecks Summary: Removed the broken GenerateCompilerNullChecks flag. Reviewed-by: zmajo, kvn ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/runtime/globals.hpp Changeset: 7010ee970bfb Author: mcberg Date: 2016-04-05 10:34 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7010ee970bfb 8151573: Multiversioning for range check elimination Summary: range check elimination in post loops Reviewed-by: kvn ! src/cpu/aarch64/vm/c2_globals_aarch64.hpp ! src/cpu/ppc/vm/c2_globals_ppc.hpp ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/superword.cpp Changeset: 55f9239df8d7 Author: mcberg Date: 2016-04-05 11:37 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/55f9239df8d7 8151003: Remove nds->is_valid() checks from assembler_x86.cpp Reviewed-by: kvn ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.hpp Changeset: d10d7151bff1 Author: bharadwaj Date: 2016-04-05 15:39 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d10d7151bff1 Merge Changeset: c5400800de04 Author: bharadwaj Date: 2016-04-05 20:32 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5400800de04 Merge Changeset: 1b2d19e6b14d Author: bharadwaj Date: 2016-04-08 12:36 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1b2d19e6b14d Merge ! src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileTask.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/jvmci/jvmciCompilerToVM.cpp ! src/share/vm/jvmci/jvmciEnv.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/superword.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vm_operations.cpp - test/compiler/dependencies/MonomorphicObjectCall/java/lang/Object.java Changeset: 7bc36b9ff1e7 Author: amurillo Date: 2016-04-11 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7bc36b9ff1e7 Merge ! src/share/vm/classfile/vmSymbols.hpp - src/share/vm/gc/shared/liveRange.hpp - src/share/vm/runtime/logTimer.hpp ! src/share/vm/runtime/thread.cpp ! test/compiler/arguments/CheckCICompilerCount.java ! test/compiler/arguments/CheckCompileThresholdScaling.java ! test/compiler/codecache/CheckSegmentedCodeCache.java ! test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java - test/compiler/dependencies/MonomorphicObjectCall/java/lang/Object.java ! test/gc/arguments/TestMaxMinHeapFreeRatioFlags.java ! test/gc/arguments/TestSelectDefaultGC.java ! test/gc/g1/Test2GbHeap.java ! test/gc/g1/TestStringSymbolTableStats.java ! test/gc/metaspace/TestMetaspacePerfCounters.java ! test/gc/metaspace/TestPerfCountersAndMemoryPools.java ! test/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/runtime/CommandLine/TraceExceptionsTest.java ! test/runtime/SharedArchiveFile/SharedStrings.java ! test/runtime/logging/ExceptionsTest.java Changeset: f1a3e7786b3c Author: amurillo Date: 2016-04-11 20:38 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f1a3e7786b3c 8154028: Several hotspot tests need to be updated after 8153737 (Unsupported Module) Reviewed-by: darcy, kvn ! test/gc/arguments/TestDisableDefaultGC.java ! test/gc/arguments/TestShrinkHeapInSteps.java ! test/gc/g1/TestRegionLivenessPrint.java ! test/runtime/Throwable/StackTraceLogging.java ! test/runtime/Unsafe/PrimitiveHostClass.java ! test/runtime/logging/SafepointCleanupTest.java ! test/runtime/logging/VerificationTest.java Changeset: aa932d6404c1 Author: erikj Date: 2016-04-14 15:13 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aa932d6404c1 8149777: Enable enhanced failure handler for "make test" Reviewed-by: ihse ! test/Makefile Changeset: 1759965f1593 Author: lana Date: 2016-04-14 09:33 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1759965f1593 Merge - src/share/vm/gc/shared/liveRange.hpp - src/share/vm/runtime/logTimer.hpp - test/compiler/dependencies/MonomorphicObjectCall/java/lang/Object.java Changeset: 88dd08d7be0f Author: chegar Date: 2016-04-15 16:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/88dd08d7be0f 8137058: Clear out all non-Critical APIs from sun.reflect Reviewed-by: alanb, jfranck, mchung ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/reflectionUtils.cpp ! test/compiler/jvmci/compilerToVM/ConstantPoolTestCase.java ! test/compiler/jvmci/compilerToVM/ConstantPoolTestsHelper.java ! test/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupNameInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java ! test/compiler/jvmci/compilerToVM/MethodIsIgnoredBySecurityStackWalkTest.java ! test/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java ! test/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java ! test/compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java ! test/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 367eb38ebfff Author: lana Date: 2016-04-21 12:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/367eb38ebfff Added tag jdk-9+115 for changeset 88dd08d7be0f ! .hgtags Changeset: 44b38209bc06 Author: alanb Date: 2016-04-22 09:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/44b38209bc06 Merge ! .hgtags ! make/share/makefiles/mapfile-vers ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SAGetopt.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCCause.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/JSnap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/CompactHashTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaVM.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/soql/sa.js ! src/os/aix/vm/os_aix.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/classfile/sharedPathsMiscInfo.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp - src/share/vm/gc/shared/liveRange.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/jvmci/jvmciEnv.cpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/jniHandles.hpp - src/share/vm/runtime/logTimer.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/trace/traceMacros.hpp ! src/share/vm/utilities/ostream.cpp ! test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java - test/compiler/dependencies/MonomorphicObjectCall/java/lang/Object.java ! test/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java ! test/compiler/jvmci/compilerToVM/MethodIsIgnoredBySecurityStackWalkTest.java ! test/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java ! test/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java ! test/compiler/jvmci/events/JvmciNotifyInstallEventTest.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java ! test/gc/metaspace/TestMetaspacePerfCounters.java ! test/gc/metaspace/TestPerfCountersAndMemoryPools.java ! test/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/runtime/SharedArchiveFile/BootAppendTests.java ! test/runtime/SharedArchiveFile/SharedStrings.java ! test/testlibrary/ClassFileInstaller.java From paul.bakker.nl at gmail.com Fri Apr 22 10:36:12 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Fri, 22 Apr 2016 12:36:12 +0200 Subject: requires public for automatic modules In-Reply-To: <1600918195.360538.1461316378957.JavaMail.zimbra@u-pem.fr> References: <1600918195.360538.1461316378957.JavaMail.zimbra@u-pem.fr> Message-ID: Thanks for the answer Remi. I'm wondering if a (optional) build step is considered. During build the byte code analysis that jdeps does could be used to generate better metadata for automatic modules. This would be a compromise between using automatic modules without this metadata and actually adding a module-info to a JAR file (which isn't a great option for 3rd party libs). I've looked at several (small) code bases now, and using default modules keep resulting in a long list of transitive dependencies that I would prefer not to have in my module. Because of that a top down migration process doesn't result in proper modules when using automatic modules, and that would be a bad start when migrating to modules. The required trial and error work will frustrate users as well. Paul > On 22 Apr 2016, at 11:12, Remi Forax wrote: > > Hi Paul, > > ----- Mail original ----- >> De: "Paul Bakker" >> ?: jigsaw-dev at openjdk.java.net >> Envoy?: Vendredi 22 Avril 2016 10:52:23 >> Objet: requires public for automatic modules >> >> Hello, >> >> I'm experimenting with automatic modules again. I have a module >> "demonstrator" that uses Jackson Databind. >> >> import com.fasterxml.jackson.databind.ObjectMapper; >> .... >> ObjectMapper mapper = new ObjectMapper(); >> String json = mapper.writeValueAsString(modularityBook); >> >> In module-info.java I have the following: >> >> requires jackson.databind; >> >> On the modulepath I have jackson.core, jackson.databind and >> jackson.annotations. >> Building results in an error: >> >> class file for com.fasterxml.jackson.core.Versioned not found >> >> This makes sense because the ObjectMapper class that I'm using implements the >> Versioned interface (from jackson.core). >> When generating a module-info.java using jdeps for the jackson.databind JAR >> however, it generates the following: >> >> requires public jackson.annotations; >> requires public jackson.core; >> >> This is much closer to what I would expect when using the jackson.databind >> module. >> When using jackson.databind as an automatic module, I will end up with a list >> of requires for transitive dependencies that I shouldn't have to care about. >> Why don't automatic modules take better care of transitive dependencies, so >> that the application's module-info looks similar to what it would after >> transforming the dependencies to named modules? >> > > because it will require the runtime to parse the bytecode of an automatic module, which is a slow operation. > >> Also, jdeps doesn't actually show this problem when looking at the code when >> still on the classpath: >> >> jdeps -cp lib/jackson-databind-2.7.3.jar >> out/com/javamodularity/demonstrator/Demo.class >> >> Demo.class -> lib/jackson-databind-2.7.3.jar >> Demo.class -> java.base >> com.javamodularity.demonstrator (Demo.class) >> -> com.fasterxml.jackson.databind >> jackson-databind-2.7.3.jar >> -> java.io >> -> java.lang >> >> Best regards, >> >> Paul Bakker >> >> >> > > regards, > > R?mi From Alan.Bateman at oracle.com Fri Apr 22 11:16:40 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 12:16:40 +0100 Subject: requires public for automatic modules In-Reply-To: References: Message-ID: <571A0818.4000108@oracle.com> On 22/04/2016 09:52, Paul Bakker wrote: > Why don't automatic modules take better care of transitive dependencies, so that the application's module-info looks similar to what it would after transforming the dependencies to named modules? > > As R?mi said, there isn't any static analysis done at compile time or run time to figure out the dependences. It would be costly to do this and of course no guarantee that it would be accurate/complete. For that reason, automatic modules are specified to only require java.base and you can confirm this if you use -listmods to list/describe these modules: java -mp lib -listmods:jackson.core,jackson.databind,jackson.annotations So in your scenario then "demonstrator" requires jackson.databind but there is nobody that transitively depends on jackson.core or jackson.annotations and so neither module is resolved. You can of course use -addmods if you need it. I guess it's worth repeating that automatic modules are for migration and bridging to the class path. In the scenario then you'd like to create a module "demonstrator" that depends on Jackson databind but that project hasn't embraced modules yet. You move jackson-databind-2.6.jar to the module path where it becomes a module with a name ("jackson.databind" in this case) and that allows you to make progress on compiling and deploying "demonstrator" as a module. At this point then you can leave the other JAR files on the class path and the code in jackson.databind will link to whatever types it needs from the other Jackson components. -Alan. From paul.bakker.nl at gmail.com Fri Apr 22 11:24:31 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Fri, 22 Apr 2016 13:24:31 +0200 Subject: requires public for automatic modules In-Reply-To: <571A0818.4000108@oracle.com> References: <571A0818.4000108@oracle.com> Message-ID: Hi Alan, Thanks, the -addmods hint is a very useful one, I had not tried that yet. After adding the jackson.core and jackson.annotations explicitly to -addmods, I can compile/run without depending on them in my demonstrator module. That's a good workaround. Paul > On 22 Apr 2016, at 13:16, Alan Bateman wrote: > > On 22/04/2016 09:52, Paul Bakker wrote: >> Why don't automatic modules take better care of transitive dependencies, so that the application's module-info looks similar to what it would after transforming the dependencies to named modules? >> >> > As R?mi said, there isn't any static analysis done at compile time or run time to figure out the dependences. It would be costly to do this and of course no guarantee that it would be accurate/complete. > > For that reason, automatic modules are specified to only require java.base and you can confirm this if you use -listmods to list/describe these modules: > > java -mp lib -listmods:jackson.core,jackson.databind,jackson.annotations > > So in your scenario then "demonstrator" requires jackson.databind but there is nobody that transitively depends on jackson.core or jackson.annotations and so neither module is resolved. You can of course use -addmods if you need it. > > I guess it's worth repeating that automatic modules are for migration and bridging to the class path. In the scenario then you'd like to create a module "demonstrator" that depends on Jackson databind but that project hasn't embraced modules yet. You move jackson-databind-2.6.jar to the module path where it becomes a module with a name ("jackson.databind" in this case) and that allows you to make progress on compiling and deploying "demonstrator" as a module. At this point then you can leave the other JAR files on the class path and the code in jackson.databind will link to whatever types it needs from the other Jackson components. > > -Alan. > From Alan.Bateman at oracle.com Fri Apr 22 12:51:03 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 13:51:03 +0100 Subject: requires public for automatic modules In-Reply-To: References: <1600918195.360538.1461316378957.JavaMail.zimbra@u-pem.fr> Message-ID: <571A1E37.7010807@oracle.com> On 22/04/2016 11:36, Paul Bakker wrote: > Thanks for the answer Remi. I'm wondering if a (optional) build step is considered. During build the byte code analysis that jdeps does could be used to generate better metadata for automatic modules. This would be a compromise between using automatic modules without this metadata and actually adding a module-info to a JAR file (which isn't a great option for 3rd party libs). > > I've looked at several (small) code bases now, and using default modules keep resulting in a long list of transitive dependencies that I would prefer not to have in my module. Because of that a top down migration process doesn't result in proper modules when using automatic modules, and that would be a bad start when migrating to modules. The required trial and error work will frustrate users as well. The intention when doing top-down isn't to do a bulk move, otherwise you end up with many automatic modules on the module path that nobody requires and then resorting to `-addmods ALL-MODULE-PATH`. Instead, the intention is that you just move the components that "demonstrator" requires. This might mean using `jdeps` when migrating existing code, maybe using the -genmoduleinfo` option to generate an initial module-info.java to get you going. The rest can be left on the class path until the owners of components that have moved are released as explicit modules. That said, automatic modules and top-level migration is very much an area that needs real world experience and feedback. We definitely need more people trying it out and reporting back on whether they were successful or not. -Alan From james.laskey at oracle.com Fri Apr 22 13:12:16 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 10:12:16 -0300 Subject: RFR: JDK-8153930 - Compiler crashed (intermittently) Message-ID: <076AACDC-973D-4DA8-9327-7EBB65C9AB93@oracle.com> Two race conditions eliminated and ImageReader made idempotent. http://cr.openjdk.java.net/~jlaskey/8153930/webrev/index.html (Note webrev fails to diff ImageReader.java, best to view new file.) https://bugs.openjdk.java.net/browse/JDK-8153930 From james.laskey at oracle.com Fri Apr 22 13:12:18 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 10:12:18 -0300 Subject: RFR: JDK-8082537 - jimage should print usage when started with no args Message-ID: <09D49446-8641-419D-9E17-4645EE78836F@oracle.com> Now prints usage. http://cr.openjdk.java.net/~jlaskey/8082537/webrev/index.html https://bugs.openjdk.java.net/browse/JDK-8082537 From james.laskey at oracle.com Fri Apr 22 13:12:19 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 10:12:19 -0300 Subject: RFR: JDK-8154090 - Remove support for jimage recreate Message-ID: <0733C288-EA3C-41F7-8EEA-1ED81DCBDE21@oracle.com> http://cr.openjdk.java.net/~jlaskey/8154090/webrev/index.html https://bugs.openjdk.java.net/browse/JDK-8154090 From james.laskey at oracle.com Fri Apr 22 13:12:22 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 10:12:22 -0300 Subject: RFR: JDK-8069079 - jimage extract / list to organize classes by modules Message-ID: <1E4A98FB-E322-47CC-941A-1B1C6E94B682@oracle.com> Listing is by module, extract has been by module for some time. http://cr.openjdk.java.net/~jlaskey/8069079/webrev/index.html https://bugs.openjdk.java.net/browse/JDK-8069079 From james.laskey at oracle.com Fri Apr 22 13:12:23 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 10:12:23 -0300 Subject: RFR: JDK-8154179 - BasicImageReader activating ImageBufferCache when not used Message-ID: The unused cache is being unnecessarily activated (ThreadLocal) when buffers are being released. http://cr.openjdk.java.net/~jlaskey/8154179/webrev/index.html https://bugs.openjdk.java.net/browse/JDK-8154179 From james.laskey at oracle.com Fri Apr 22 13:12:26 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 10:12:26 -0300 Subject: RFR: JDK-8147426 - Missing definition for JIMAGE_NOT_FOUND Message-ID: <1A36919B-354F-43DA-9130-4156AADD001A@oracle.com> JIMAGE_NOT_FOUND was defined in the hotspot jimage.hpp header but not in the jdk jimage.hpp header. Brought the headers in line. http://cr.openjdk.java.net/~jlaskey/8147426/webrev/index.html https://bugs.openjdk.java.net/browse/JDK-8147426 From james.laskey at oracle.com Fri Apr 22 13:12:24 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 10:12:24 -0300 Subject: RFR: JDK-8147634 - Need a JImage API that given a JImageLocationRef returns class name Message-ID: <03EC625A-A5B8-4934-B1E9-591D694631F9@oracle.com> Implemented as requested by the runtime team. http://cr.openjdk.java.net/~jlaskey/8147634/webrev/index.html https://bugs.openjdk.java.net/browse/JDK-8147634 From claes.redestad at oracle.com Fri Apr 22 13:23:00 2016 From: claes.redestad at oracle.com (Claes Redestad) Date: Fri, 22 Apr 2016 15:23:00 +0200 Subject: RFR: JDK-8153930 - Compiler crashed (intermittently) In-Reply-To: <076AACDC-973D-4DA8-9327-7EBB65C9AB93@oracle.com> References: <076AACDC-973D-4DA8-9327-7EBB65C9AB93@oracle.com> Message-ID: <571A25B4.8070805@oracle.com> Hi Jim, the openers field could (maybe even should) be final, otherwise this looks really good! Thanks! /Claes On 2016-04-22 15:12, Jim Laskey (Oracle) wrote: > Two race conditions eliminated and ImageReader made idempotent. > > http://cr.openjdk.java.net/~jlaskey/8153930/webrev/index.html (Note webrev fails to diff ImageReader.java, best to view new file.) > https://bugs.openjdk.java.net/browse/JDK-8153930 > From claes.redestad at oracle.com Fri Apr 22 13:25:21 2016 From: claes.redestad at oracle.com (Claes Redestad) Date: Fri, 22 Apr 2016 15:25:21 +0200 Subject: RFR: JDK-8154179 - BasicImageReader activating ImageBufferCache when not used In-Reply-To: References: Message-ID: <571A2641.4080901@oracle.com> +1 On 2016-04-22 15:12, Jim Laskey (Oracle) wrote: > The unused cache is being unnecessarily activated (ThreadLocal) when buffers are being released. > > http://cr.openjdk.java.net/~jlaskey/8154179/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8154179 > > From peter.levart at gmail.com Fri Apr 22 13:42:57 2016 From: peter.levart at gmail.com (Peter Levart) Date: Fri, 22 Apr 2016 15:42:57 +0200 Subject: java.lang.reflect.Module.WeakSet is not thread-safe In-Reply-To: <57193B06.8040200@oracle.com> References: <5718FADF.5000601@gmail.com> <5718FE23.3070808@oracle.com> <2CE30172-D616-4C9A-94C7-5F2436979B06@univ-mlv.fr> <57193B06.8040200@oracle.com> Message-ID: <571A2A61.9050908@gmail.com> Hi Alan, Thanks for taking a look. On 04/21/2016 10:41 PM, Alan Bateman wrote: > > On 21/04/2016 20:52, R?mi Forax wrote: >> I remember seeing this codd an thinking that synchronized should do >> the job. >> I don't believe this use case requires something more complex. >> >> Remi > I've taken a first pass over it and WeakPairMap seems straight-forward > to use but its implementation, with Pair/Weak/Primary/Secondary/Lookup > is complex. > > Prior to #ReflectionWithoutReadability then transientReads was > important, less so now although I think we should continue to allow > concurrent lookups. > > -Alan I tried to reduce the complexity of WeakPairMap as much as I could. I added some docs that describe the architecture. Hopefully this is now easier to grasp: http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.03/ Another possibility for transientReads and transientExports (but not for transientUses) could be if each instance of Module object held a unique long id allocated at its creation from say AtomicLong. You could then construct maps with Long ids instead of Module(s), but that has a drawback that some Module (say a system module or a module of an app server) could accumulate ids from modules long gone (for example when some app in an app server is redeployed multiple times) so this would be a memory leak... a single global WeakPairMap has an advantage over individual WeakSet(s) per Module instance because it is accessed more frequently so expunging of stale entries happens more promptly. Regards, Peter From Alan.Bateman at oracle.com Fri Apr 22 13:51:25 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 14:51:25 +0100 Subject: RFR: JDK-8082537 - jimage should print usage when started with no args In-Reply-To: <09D49446-8641-419D-9E17-4645EE78836F@oracle.com> References: <09D49446-8641-419D-9E17-4645EE78836F@oracle.com> Message-ID: <571A2C5D.4070808@oracle.com> On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: > Now prints usage. > > http://cr.openjdk.java.net/~jlaskey/8082537/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8082537 > Does this need to be in the try/catch? I can't quickly tell if the getMessage can potentially throw BadArgs. -Alan From Alan.Bateman at oracle.com Fri Apr 22 13:53:02 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 14:53:02 +0100 Subject: RFR: JDK-8154090 - Remove support for jimage recreate In-Reply-To: <0733C288-EA3C-41F7-8EEA-1ED81DCBDE21@oracle.com> References: <0733C288-EA3C-41F7-8EEA-1ED81DCBDE21@oracle.com> Message-ID: <571A2CBE.3040101@oracle.com> On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: > http://cr.openjdk.java.net/~jlaskey/8154090/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8154090 > This looks to me assuming that it's only the one test that needs changing. -Alan From james.laskey at oracle.com Fri Apr 22 13:54:32 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 10:54:32 -0300 Subject: RFR: JDK-8082537 - jimage should print usage when started with no args In-Reply-To: <09D49446-8641-419D-9E17-4645EE78836F@oracle.com> References: <09D49446-8641-419D-9E17-4645EE78836F@oracle.com> Message-ID: <17E6F8A9-3A00-4A93-9A30-5DD7C2FFE87B@oracle.com> It can be outside, does the change add value? > On Apr 22, 2016, at 10:12 AM, Jim Laskey (Oracle) wrote: > > Now prints usage. > > http://cr.openjdk.java.net/~jlaskey/8082537/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8082537 > From Alan.Bateman at oracle.com Fri Apr 22 13:55:51 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 14:55:51 +0100 Subject: RFR: JDK-8069079 - jimage extract / list to organize classes by modules In-Reply-To: <1E4A98FB-E322-47CC-941A-1B1C6E94B682@oracle.com> References: <1E4A98FB-E322-47CC-941A-1B1C6E94B682@oracle.com> Message-ID: <571A2D67.1060905@oracle.com> On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: > Listing is by module, extract has been by module for some time. > > http://cr.openjdk.java.net/~jlaskey/8069079/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8069079 > This looks okay to me. I suspect Mandy will want to look at this too as she brought up this issue (I think prior to extract changing). -Alan. From Alan.Bateman at oracle.com Fri Apr 22 13:59:00 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 14:59:00 +0100 Subject: RFR: JDK-8082537 - jimage should print usage when started with no args In-Reply-To: <17E6F8A9-3A00-4A93-9A30-5DD7C2FFE87B@oracle.com> References: <09D49446-8641-419D-9E17-4645EE78836F@oracle.com> <17E6F8A9-3A00-4A93-9A30-5DD7C2FFE87B@oracle.com> Message-ID: <571A2E24.60409@oracle.com> On 22/04/2016 14:54, Jim Laskey (Oracle) wrote: > It can be outside, does the change add value? > > I think so as it's always been odd that the jimage tool would exit without printing anything when calling without any arguments. My comment on the place of the check is that it wasn't clear why it is done in the try/catch, it's a minor comment/question, nothing more. -Alan From james.laskey at oracle.com Fri Apr 22 14:03:04 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 11:03:04 -0300 Subject: RFR: JDK-8082537 - jimage should print usage when started with no args In-Reply-To: <571A2E24.60409@oracle.com> References: <09D49446-8641-419D-9E17-4645EE78836F@oracle.com> <17E6F8A9-3A00-4A93-9A30-5DD7C2FFE87B@oracle.com> <571A2E24.60409@oracle.com> Message-ID: Will change. Thank you. > On Apr 22, 2016, at 10:59 AM, Alan Bateman wrote: > > > > On 22/04/2016 14:54, Jim Laskey (Oracle) wrote: >> It can be outside, does the change add value? >> >> > I think so as it's always been odd that the jimage tool would exit without printing anything when calling without any arguments. My comment on the place of the check is that it wasn't clear why it is done in the try/catch, it's a minor comment/question, nothing more. > > -Alan From james.laskey at oracle.com Fri Apr 22 14:03:18 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 11:03:18 -0300 Subject: RFR: JDK-8069079 - jimage extract / list to organize classes by modules In-Reply-To: <571A2D67.1060905@oracle.com> References: <1E4A98FB-E322-47CC-941A-1B1C6E94B682@oracle.com> <571A2D67.1060905@oracle.com> Message-ID: Thank you, will wait. > On Apr 22, 2016, at 10:55 AM, Alan Bateman wrote: > > > > On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: >> Listing is by module, extract has been by module for some time. >> >> http://cr.openjdk.java.net/~jlaskey/8069079/webrev/index.html >> https://bugs.openjdk.java.net/browse/JDK-8069079 >> > This looks okay to me. I suspect Mandy will want to look at this too as she brought up this issue (I think prior to extract changing). > > -Alan. From james.laskey at oracle.com Fri Apr 22 14:03:45 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 11:03:45 -0300 Subject: RFR: JDK-8154090 - Remove support for jimage recreate In-Reply-To: <571A2CBE.3040101@oracle.com> References: <0733C288-EA3C-41F7-8EEA-1ED81DCBDE21@oracle.com> <571A2CBE.3040101@oracle.com> Message-ID: <3C202A5B-5EDD-4F15-A242-0B66D76374F2@oracle.com> Thank you. > On Apr 22, 2016, at 10:53 AM, Alan Bateman wrote: > > > > On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: >> http://cr.openjdk.java.net/~jlaskey/8154090/webrev/index.html >> https://bugs.openjdk.java.net/browse/JDK-8154090 >> > This looks to me assuming that it's only the one test that needs changing. > > -Alan From james.laskey at oracle.com Fri Apr 22 14:59:35 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 22 Apr 2016 11:59:35 -0300 Subject: Build craziness Message-ID: make clean ; make images Building target 'images' in configuration 'macosx-x86_64-normal-server-fastdebug' Building JVM variant 'server' with features 'all-gcs cds compiler1 compiler2 dtrace fprof jni-check jvmci jvmti management nmt services vm-structs' Compiling 8 files for BUILD_TOOLS_LANGTOOLS Creating adlc from 13 file(s) Creating libjsig.dylib from 1 file(s) dtrace: failed to compile script /Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/hotspot/variant-server/support/dtrace/hotspot.h.d: line 1: empty D program translation unit make[4]: *** [/Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/hotspot/variant-server/gensrc/dtracefiles/hotspot.h] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [variant-server-gensrc] Error 2 make[3]: *** Waiting for unfinished jobs.... Compiling 19 properties into resource bundles for jdk.javadoc Parsing 1 properties into enum-like class for jdk.compiler Compiling 9 properties into resource bundles for jdk.jdeps make[2]: *** [hotspot] Error 2 make[2]: *** Waiting for unfinished jobs.... Compiling 3 properties into resource bundles for jdk.jshell Compiling 16 properties into resource bundles for jdk.compiler ERROR: Build failed for target 'images' in configuration 'macosx-x86_64-normal-server-fastdebug' (exit code 2) === Output from failing command(s) repeated here === * For target hotspot_variant-server_gensrc_dtracefiles_hotspot.h: dtrace: failed to compile script /Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/hotspot/variant-server/support/dtrace/hotspot.h.d: line 1: empty D program translation unit === End of repeated output === No indication of failed target found. Hint: Try searching the build log for '] Error'. Hint: If caused by a warning, try configure --disable-warnings-as-errors. make[1]: *** [main] Error 2 make: *** [images] Error 2 From Alan.Bateman at oracle.com Fri Apr 22 16:09:36 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 17:09:36 +0100 Subject: Build craziness In-Reply-To: References: Message-ID: <571A4CC0.5030707@oracle.com> I don't recognize this it looks to be the DTrace support. I also see it is jdk9/dev. You might be better bringing it to build-dev with more details on the tool chain used. -Alan On 22/04/2016 15:59, Jim Laskey (Oracle) wrote: > make clean ; make images > > Building target 'images' in configuration 'macosx-x86_64-normal-server-fastdebug' > Building JVM variant 'server' with features 'all-gcs cds compiler1 compiler2 dtrace fprof jni-check jvmci jvmti management nmt services vm-structs' > Compiling 8 files for BUILD_TOOLS_LANGTOOLS > Creating adlc from 13 file(s) > Creating libjsig.dylib from 1 file(s) > dtrace: failed to compile script /Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/hotspot/variant-server/support/dtrace/hotspot.h.d: line 1: empty D program translation unit > make[4]: *** [/Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/hotspot/variant-server/gensrc/dtracefiles/hotspot.h] Error 1 > make[4]: *** Waiting for unfinished jobs.... > make[3]: *** [variant-server-gensrc] Error 2 > make[3]: *** Waiting for unfinished jobs.... > Compiling 19 properties into resource bundles for jdk.javadoc > Parsing 1 properties into enum-like class for jdk.compiler > Compiling 9 properties into resource bundles for jdk.jdeps > make[2]: *** [hotspot] Error 2 > make[2]: *** Waiting for unfinished jobs.... > Compiling 3 properties into resource bundles for jdk.jshell > Compiling 16 properties into resource bundles for jdk.compiler > > ERROR: Build failed for target 'images' in configuration 'macosx-x86_64-normal-server-fastdebug' (exit code 2) > === Output from failing command(s) repeated here === > * For target hotspot_variant-server_gensrc_dtracefiles_hotspot.h: > dtrace: failed to compile script /Projects/jdk9-dev/build/macosx-x86_64-normal-server-fastdebug/hotspot/variant-server/support/dtrace/hotspot.h.d: line 1: empty D program translation unit > === End of repeated output === > No indication of failed target found. > Hint: Try searching the build log for '] Error'. > Hint: If caused by a warning, try configure --disable-warnings-as-errors. > > make[1]: *** [main] Error 2 > make: *** [images] Error 2 > From mandy.chung at oracle.com Fri Apr 22 17:08:14 2016 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 22 Apr 2016 10:08:14 -0700 Subject: RFR: JDK-8069079 - jimage extract / list to organize classes by modules In-Reply-To: <1E4A98FB-E322-47CC-941A-1B1C6E94B682@oracle.com> References: <1E4A98FB-E322-47CC-941A-1B1C6E94B682@oracle.com> Message-ID: <8EFFD103-744D-4EF1-B594-0B1E5AC2DCCA@oracle.com> Hi Jim, > On Apr 22, 2016, at 6:12 AM, Jim Laskey (Oracle) wrote: > > Listing is by module, extract has been by module for some time. > > http://cr.openjdk.java.net/~jlaskey/8069079/webrev/index.html JDK-8069079 was filed long time ago and I now retested it. jimage list and extract in jdk9 works as what I'd like to see when filing the issue. $ ./bin/jimage list lib/modules jimage: modules /java.activation/META-INF/mailcap.default /java.activation/META-INF/mimetypes.default /java.activation/com/sun/activation/registries/LineTokenizer.class /java.activation/com/sun/activation/registries/LogSupport.class : The current output looks fine to me. This issue can be issued. A minor comment (a separate issue): jimage: modules It would help to print the path supplied in the command line than just the base filename. $ ./bin/jimage list This silently returns. Since the list/extract command requires to specify the path to the jimage file, it would be helpful to report that. Mandy From sanne at redhat.com Fri Apr 22 18:55:37 2016 From: sanne at redhat.com (Sanne Grinovero) Date: Fri, 22 Apr 2016 19:55:37 +0100 Subject: The javax.annotation.Generated and annotation processors Message-ID: Hello all, related to https://bugs.openjdk.java.net/browse/JDK-8152842 I'm having to patch our annotation processors to avoid the @Generated annotation, as I can't use the proposed workaround to use `-addmods java.annotations.common`: our build also requires `-target 1.7` and the two options are not compatible. But I hope this will be only very short term? I'm only working this around temporarily so that I can keep testing other more interesting aspects of Jigsaw, but ultimately we'll need that annotation back. Thanks, Sanne From sanne at redhat.com Fri Apr 22 19:01:39 2016 From: sanne at redhat.com (Sanne Grinovero) Date: Fri, 22 Apr 2016 20:01:39 +0100 Subject: Root modules (was Re: JMH and JDK9) In-Reply-To: <57177CA8.7000605@oracle.com> References: <56FBFA22.2060204@redhat.com> <56FBFB05.9050706@oracle.com> <56FBFCCD.1000704@oracle.com> <428721B0-47A4-453E-89C2-1D6CA09DEC75@oracle.com> <56FE29EE.1090801@oracle.com> <0C6C1D21-1592-426A-B9DE-33458FC90CF9@oracle.com> <57038495.40603@redhat.com> <570390AE.6050406@oracle.com> <5703C8B1.5080501@redhat.com> <57177CA8.7000605@oracle.com> Message-ID: On Wed, Apr 20, 2016 at 1:57 PM, Alan Bateman wrote: > > (dropping hotspot-dev and change the subject line as this discussion thread > has moved on) > > On 20/04/2016 13:28, Sanne Grinovero wrote: >> >> : >> Agreed: excellent idea! >> >> I'm eager to try it out so that we can resume testing of everything >> else too; I just tried my luck with build 9-ea+114 but it didn't seem >> to work: I'm going to assume this wasn't implemented yet, or should I >> double check how I'm building? >> Did I understand correctly that I won't need to pass any switch to >> neither java nor javac, as long as I have the JavaEE jar as external >> dependencies on my classpath? (i.e. if this build is "proven" on Java8 >> it should work on Java9 ?) >> >> Is there an issue tracker which I could follow to watch updates on this? >> >> Slightly unrelated, but is it expected that compilation is successful, >> even though (in my specific case) javax.transaction.Synchronization >> causes a java.lang.NoClassDefFoundError at runtime? >> > It's in Jigsaw EA builds [1], it hasn't been brought into the JDK 9 main > line yet. > > I'm not well aquatinted with of contents of the "Java EE jar" but I believe > it has the API classes for the Java Transaction API, Common Annotations, > JAXB, and JAX-WS. So if you are compiling or running with the Jigsaw EA > builds then you should see that it won't locate these classes in the runtime > image, instead they will be located on the class path in this JAR file. > > One thing to mention is that the JavaBeans Activiation Framework (package > javax.activation). That was in EE 5 but doesn't appear in the javadoc for EE > 6 or 7. I don't know the full story there but it remains a standalone > technology and upgradable. If it's not in the Java EE JAR then and you don't > have it on your class path then you will need `-addmods java.activation` to > ensure that this module is resolved. > > On javax.transaction.Synchronization then I would not expect this to compile > with jdk-9+114 because this type is not in the java.transaction. I would > expect it will compile (and run) with the Jigsaw EA builds. Thanks! Indeed, it's working great. [tested 9-ea+114-2016-04-19-162931.javare.4880.nc] Ironically this means we can make more progress testing using the Jigsaw EA builds, while I'm completely blocked on the "mainline". Thanks, Sanne > > -Alan > > [1] https://jdk9.java.net/jigsaw/ From sanne at redhat.com Fri Apr 22 19:06:25 2016 From: sanne at redhat.com (Sanne Grinovero) Date: Fri, 22 Apr 2016 20:06:25 +0100 Subject: JMH and JDK9 In-Reply-To: <10982358-95d5-40c1-8e20-c153e355d495@default> References: <56FBFA22.2060204@redhat.com> <56FBFB05.9050706@oracle.com> <56FBFCCD.1000704@oracle.com> <428721B0-47A4-453E-89C2-1D6CA09DEC75@oracle.com> <56FE29EE.1090801@oracle.com> <0C6C1D21-1592-426A-B9DE-33458FC90CF9@oracle.com> <57038495.40603@redhat.com> <570390AE.6050406@oracle.com> <5703C8B1.5080501@redhat.com> <10982358-95d5-40c1-8e20-c153e355d495@default> Message-ID: On Wed, Apr 20, 2016 at 3:15 PM, Stephen Felts wrote: > There was a bug that was just fixed yesterday such that the Java EE classes were not hidden. > It should have been fixed in the last nightly 114 build. > > As long as the necessary Java EE API classes are on the classpath, no command line options are needed. > > If you have the Java EE JTA API jar in the classpath, then use of javax.transaction.Synchronization (which is not in the JDK but is in the JTA API jar) will be resolved for both javac and java. Thanks Stephen, indeed testing 9-ea+114-2016-04-19-162931.javare.4880.nc this is working great. [Sorry all for the forked email thread.. I should have changed the subject early on] Regards, Sanne > > -----Original Message----- > From: Sanne Grinovero [mailto:sanne at redhat.com] > Sent: Wednesday, April 20, 2016 8:29 AM > To: Alan Bateman > Cc: jigsaw-dev; hotspot-dev Source Developers > Subject: Re: JMH and JDK9 > > On Tue, Apr 5, 2016 at 3:16 PM, Andrew Dinn wrote: >> On 05/04/16 11:17, Alan Bateman wrote: >> . . . >>> We recently updated JEP 261 proposing that "java.se" be the only >>> java.* root module that is resolved when compiling code in the >>> unnamed module or at runtime when the main class is loaded from the >>> class path [1]. On the surface then it will "appear" to developers >>> that the JDK does not have the EE components but from everything >>> we've seen so far, then those EE components are usually on the class path anyway. >> >> Ah ok, so this means that the problem has been punted to the other >> foot i.e. the only apps affected will be those which i) don't have an >> EE jar on their classpath and ii) require the (partial) stub >> implementations provided by Java SE. That sounds much better since >> such a configuration is of almost no use to anyone and hence is very unlikely to arise. > > Agreed: excellent idea! > > I'm eager to try it out so that we can resume testing of everything else too; I just tried my luck with build 9-ea+114 but it didn't seem to work: I'm going to assume this wasn't implemented yet, or should I double check how I'm building? > Did I understand correctly that I won't need to pass any switch to neither java nor javac, as long as I have the JavaEE jar as external dependencies on my classpath? (i.e. if this build is "proven" on Java8 it should work on Java9 ?) > > Is there an issue tracker which I could follow to watch updates on this? > > Slightly unrelated, but is it expected that compilation is successful, even though (in my specific case) javax.transaction.Synchronization causes a java.lang.NoClassDefFoundError at runtime? > > Thanks, > Sanne From Alan.Bateman at oracle.com Fri Apr 22 19:09:48 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 20:09:48 +0100 Subject: Root modules (was Re: JMH and JDK9) In-Reply-To: References: <56FBFA22.2060204@redhat.com> <56FBFB05.9050706@oracle.com> <56FBFCCD.1000704@oracle.com> <428721B0-47A4-453E-89C2-1D6CA09DEC75@oracle.com> <56FE29EE.1090801@oracle.com> <0C6C1D21-1592-426A-B9DE-33458FC90CF9@oracle.com> <57038495.40603@redhat.com> <570390AE.6050406@oracle.com> <5703C8B1.5080501@redhat.com> <57177CA8.7000605@oracle.com> Message-ID: <571A76FC.6000508@oracle.com> On 22/04/2016 20:01, Sanne Grinovero wrote: > : > Thanks! Indeed, it's working great. > > [tested 9-ea+114-2016-04-19-162931.javare.4880.nc] > > Ironically this means we can make more progress testing using the > Jigsaw EA builds, while I'm completely blocked on the "mainline". > > Thanks for confirming. We expect the changes in jake to move into JDK 9 soon. There's a bit of coordination with the jtreg test harness that has to be worked out before this can happen. -Alan From Alan.Bateman at oracle.com Fri Apr 22 19:47:02 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Apr 2016 20:47:02 +0100 Subject: The javax.annotation.Generated and annotation processors In-Reply-To: References: Message-ID: <571A7FB6.9030700@oracle.com> On 22/04/2016 19:55, Sanne Grinovero wrote: > Hello all, > > related to https://bugs.openjdk.java.net/browse/JDK-8152842 > > I'm having to patch our annotation processors to avoid the @Generated > annotation, as I can't use the proposed workaround to use `-addmods > java.annotations.common`: our build also requires `-target 1.7` and > the two options are not compatible. > > But I hope this will be only very short term? I'm only working this > around temporarily so that I can keep testing other more interesting > aspects of Jigsaw, but ultimately we'll need that annotation back. > > Thanks, > Sanne There's two issues here. One is that when you run `javac` then the you are essentially executing the jdk.compiler module. This module is resolved at startup and the transitively closure (+ services) is restricting the set of modules that can be read by your annotation processor (that is in its own unnamed module). We had a small update that we need to do in JEP 261 to support this and at the same time align with the updated policy on root modules when executing code in the unnamed module. So assume that `javac`, `javadoc` and several other tools will be updated with this soon. The other issue is specific to the java.corba module and the 5 modules that are shared with Java EE. These are not resolved by default so this is why `-addmods` (or `-J-addmods` if javac -processor and the annotation processor needs the module to be resolved) is needed. In the other thread then you are happy that the EE version of Java Transaction API is located in preference to the subset in the JDK, in this case you want the Java SE subset of the Common Annotations. It's impossible to fix all cases without going back to split packages again. On combing options then if you are compiling with `-target 1.7` then I assume you must be also specifying `-source 1.7` and `-bootclasspath ...` and so `-addmods` isn't in the picture. Better still then `javac -release 7` should do it. On the other hand, if this its the annotation processor using @Generated then I would expect this should work: -J-addmods -Jjava.annotations.common -processor ... -release 7 The -J is the way to pass options through to the underlying runtime (or execution environment in javac speak). -Alan From sanne at redhat.com Fri Apr 22 23:14:51 2016 From: sanne at redhat.com (Sanne Grinovero) Date: Sat, 23 Apr 2016 00:14:51 +0100 Subject: The javax.annotation.Generated and annotation processors In-Reply-To: <571A7FB6.9030700@oracle.com> References: <571A7FB6.9030700@oracle.com> Message-ID: On Fri, Apr 22, 2016 at 8:47 PM, Alan Bateman wrote: > On 22/04/2016 19:55, Sanne Grinovero wrote: >> >> Hello all, >> >> related to https://bugs.openjdk.java.net/browse/JDK-8152842 >> >> I'm having to patch our annotation processors to avoid the @Generated >> annotation, as I can't use the proposed workaround to use `-addmods >> java.annotations.common`: our build also requires `-target 1.7` and >> the two options are not compatible. >> >> But I hope this will be only very short term? I'm only working this >> around temporarily so that I can keep testing other more interesting >> aspects of Jigsaw, but ultimately we'll need that annotation back. >> >> Thanks, >> Sanne > > There's two issues here. > > One is that when you run `javac` then the you are essentially executing the > jdk.compiler module. This module is resolved at startup and the transitively > closure (+ services) is restricting the set of modules that can be read by > your annotation processor (that is in its own unnamed module). We had a > small update that we need to do in JEP 261 to support this and at the same > time align with the updated policy on root modules when executing code in > the unnamed module. So assume that `javac`, `javadoc` and several other > tools will be updated with this soon. > > The other issue is specific to the java.corba module and the 5 modules that > are shared with Java EE. These are not resolved by default so this is why > `-addmods` (or `-J-addmods` if javac -processor and the annotation processor > needs the module to be resolved) is needed. In the other thread then you are > happy that the EE version of Java Transaction API is located in preference > to the subset in the JDK, in this case you want the Java SE subset of the > Common Annotations. It's impossible to fix all cases without going back to > split packages again. > > On combing options then if you are compiling with `-target 1.7` then I > assume you must be also specifying `-source 1.7` and `-bootclasspath ...` > and so `-addmods` isn't in the picture. Better still then `javac -release 7` > should do it. > > On the other hand, if this its the annotation processor using @Generated > then I would expect this should work: > -J-addmods -Jjava.annotations.common -processor ... -release 7 > > The -J is the way to pass options through to the underlying runtime (or > execution environment in javac speak). Thanks Alan for these explanations, your guidance is proving essential while I'm falling deeper in this wonderland. I can't use "-release 7" as our code needs to be built with JDK8 (at least): it has support for dealing with the new Date/Time APIs from Java8, yet it falls back gracefully to disable such functionality when run on Java 7. I realize that I have plenty of alternatives to break that in separate units - but I'll spare you such off topic details. It's good to know that other simpler projects should be able to benefit from your above suggestions. I couldn't try the "-J-addmods -Jjava.annotations.common" solution either, I suspect because Maven is getting in the way and possibly passing these parameters in the wrong order; for the record this is the stack: Caused by: java.lang.IllegalArgumentException: invalid flag: -J-addmods at com.sun.tools.javac.main.Arguments.error(jdk.compiler at 9-ea/Arguments.java:779) at com.sun.tools.javac.main.Arguments.doProcessArgs(jdk.compiler at 9-ea/Arguments.java:378) at com.sun.tools.javac.main.Arguments.processArgs(jdk.compiler at 9-ea/Arguments.java:294) at com.sun.tools.javac.main.Arguments.init(jdk.compiler at 9-ea/Arguments.java:250) at com.sun.tools.javac.api.JavacTool.getTask(jdk.compiler at 9-ea/JavacTool.java:175) at com.sun.tools.javac.api.JavacTool.getTask(jdk.compiler at 9-ea/JavacTool.java:109) at com.sun.tools.javac.api.JavacTool.getTask(jdk.compiler at 9-ea/JavacTool.java:65) at org.bsc.maven.plugin.processor.AbstractAnnotationProcessorMojo.executeWithExceptionsHandled(AbstractAnnotationProcessorMojo.java:527) But found a solution: your suggestion that this is a similar problem - but opposite - then what I had with the Java EE APIs was spot on: I simply added the API jar from jsr250 "javax.annotation" on the classpath of the annotation processor and it's all working nicely. I noticed something else which might be of interest. We build the project in two distinct phases: annotation processor(s) first, compilation second. I'm surprised to see that the second phase is working fine even though I did not add the jsr250 dependency; I didn't investigate further but it seems like the compiler knows that this annotation is annotated with "@Retention(SOURCE)" ?! For those using Maven, I pasted an example of this solution here: - https://issues.jboss.org/browse/LOGTOOL-105?focusedCommentId=13196069 BTW all these questions I've been sending recently relate to a popular open source project. If anyone would like to experiment with the same projects it's available at https://github.com/hibernate/hibernate-search . It might be of interest as it runs all of: Hibernate ORM, Apache Lucene, Elasticsearch, WildFly, JGroups, ApacheMQ which are all very popular in the Java community, and runs integration tests within Spring/JavaSE, within WildFly (JavaEE), with modules systems: both OSGi & JBoss Modules, uses bytecode manipulation including Javassist proxies, tests driven by Byteman, and finally building the documentation requires JRuby. Thanks, Sanne > > -Alan From Alan.Bateman at oracle.com Sun Apr 24 07:32:44 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 24 Apr 2016 08:32:44 +0100 Subject: The javax.annotation.Generated and annotation processors In-Reply-To: References: <571A7FB6.9030700@oracle.com> Message-ID: <571C769C.8050402@oracle.com> On 23/04/2016 00:14, Sanne Grinovero wrote: > : > > I couldn't try the "-J-addmods -Jjava.annotations.common" solution > either, I suspect because Maven is getting in the way and possibly > passing these parameters in the wrong order; for the record this is > the stack: > > Caused by: java.lang.IllegalArgumentException: invalid flag: -J-addmods > at com.sun.tools.javac.main.Arguments.error(jdk.compiler at 9-ea/Arguments.java:779) > at com.sun.tools.javac.main.Arguments.doProcessArgs(jdk.compiler at 9-ea/Arguments.java:378) > at com.sun.tools.javac.main.Arguments.processArgs(jdk.compiler at 9-ea/Arguments.java:294) > at com.sun.tools.javac.main.Arguments.init(jdk.compiler at 9-ea/Arguments.java:250) > at com.sun.tools.javac.api.JavacTool.getTask(jdk.compiler at 9-ea/JavacTool.java:175) > at com.sun.tools.javac.api.JavacTool.getTask(jdk.compiler at 9-ea/JavacTool.java:109) > at com.sun.tools.javac.api.JavacTool.getTask(jdk.compiler at 9-ea/JavacTool.java:65) > at org.bsc.maven.plugin.processor.AbstractAnnotationProcessorMojo.executeWithExceptionsHandled(AbstractAnnotationProcessorMojo.java:527) The `javac` tool can take -J-addmods ... to pass the options through to the runtime (or "execution environment" in javac speak) but here there is already an execution environment that is running Maven and invoking the compiler via the API. > But found a solution: your suggestion that this is a similar problem - > but opposite - then what I had with the Java EE APIs was spot on: > I simply added the API jar from jsr250 "javax.annotation" on the > classpath of the annotation processor and it's all working nicely. Okay, although in some respects then this is a retrograde step. Going forward then I would hope that the JSR 250 annotations can be deployed as a module on the module path. > > I noticed something else which might be of interest. We build the > project in two distinct phases: annotation processor(s) first, > compilation second. > I'm surprised to see that the second phase is working fine even though > I did not add the jsr250 dependency; I didn't investigate further but > it seems like the compiler knows that this annotation is annotated > with "@Retention(SOURCE)" ?! In the compilation step then are you specifying -source/-target/-bootclasspath? > > For those using Maven, I pasted an example of this solution here: > - https://issues.jboss.org/browse/LOGTOOL-105?focusedCommentId=13196069 > > BTW all these questions I've been sending recently relate to a popular > open source project. If anyone would like to experiment with the same > projects it's available at > https://github.com/hibernate/hibernate-search . > It might be of interest as it runs all of: Hibernate ORM, Apache > Lucene, Elasticsearch, WildFly, JGroups, ApacheMQ which are all very > popular in the Java community, and runs integration tests within > Spring/JavaSE, within WildFly (JavaEE), with modules systems: both > OSGi & JBoss Modules, uses bytecode manipulation including Javassist > proxies, tests driven by Byteman, and finally building the > documentation requires JRuby. > Thanks for the context, please let us know how you get on as it is always useful to know what is working and not working. It would also be interesting to try out migrating some of these libraries and components to modules some day too. -Alan From Alan.Bateman at oracle.com Sun Apr 24 08:16:25 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 24 Apr 2016 09:16:25 +0100 Subject: java.lang.reflect.Module.WeakSet is not thread-safe In-Reply-To: <571A2A61.9050908@gmail.com> References: <5718FADF.5000601@gmail.com> <5718FE23.3070808@oracle.com> <2CE30172-D616-4C9A-94C7-5F2436979B06@univ-mlv.fr> <57193B06.8040200@oracle.com> <571A2A61.9050908@gmail.com> Message-ID: <571C80D9.5070709@oracle.com> On 22/04/2016 14:42, Peter Levart wrote: > : > > I tried to reduce the complexity of WeakPairMap as much as I could. I > added some docs that describe the architecture. Hopefully this is now > easier to grasp: > > http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.03/ > I think this looks quite good. As there are two keys then what would you think about renaming the type parameters to ? In the test when I wonder if 500ms is enough to guarantee that references has been queued, esp. on loaded machines, maybe a previous test has several something loop for example. In terms of the startup then only WeakPairMap should be loaded so I think that is okay. We'll find that -XaddExports will be a bit more expensive as will trigger quite a bit of initialization and class loading but I think that is okay too. A minor comment on Module L518 is that we might want to split this line to avoid it being too long. Alternatively, just replace exportedToAll, exportedToOther and exportedToAllUnnamed with "exports". > > Another possibility for transientReads and transientExports (but not > for transientUses) could be if each instance of Module object held a > unique long id allocated at its creation from say AtomicLong. You > could then construct maps with Long ids instead of Module(s), but that > has a drawback that some Module (say a system module or a module of an > app server) could accumulate ids from modules long gone (for example > when some app in an app server is redeployed multiple times) so this > would be a memory leak... I agree, particularly with exports (not reads, at least not anymore). > > a single global WeakPairMap has an advantage over individual > WeakSet(s) per Module instance because it is accessed more frequently > so expunging of stale entries happens more promptly. True. Another advantage is that it drops 3 instance fields. -Alan. From Alan.Bateman at oracle.com Sun Apr 24 08:22:25 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 24 Apr 2016 09:22:25 +0100 Subject: RFR: JDK-8147426 - Missing definition for JIMAGE_NOT_FOUND In-Reply-To: <1A36919B-354F-43DA-9130-4156AADD001A@oracle.com> References: <1A36919B-354F-43DA-9130-4156AADD001A@oracle.com> Message-ID: <571C8241.5010905@oracle.com> On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: > JIMAGE_NOT_FOUND was defined in the hotspot jimage.hpp header but not in the jdk jimage.hpp header. Brought the headers in line. > > http://cr.openjdk.java.net/~jlaskey/8147426/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8147426 > This looks okay to me but comment on JIMAGE_MAX_PATH about the JCK caught by eye and maybe now is a good time to remove that. -Alan From Alan.Bateman at oracle.com Sun Apr 24 08:23:31 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 24 Apr 2016 09:23:31 +0100 Subject: RFR: JDK-8154179 - BasicImageReader activating ImageBufferCache when not used In-Reply-To: References: Message-ID: <571C8283.9020104@oracle.com> On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: > The unused cache is being unnecessarily activated (ThreadLocal) when buffers are being released. > > http://cr.openjdk.java.net/~jlaskey/8154179/webrev/index.html > https://bugs.openjdk.java.net/browse/JDK-8154179 > > This looks okay to me. -Alan From paul.bakker.nl at gmail.com Sun Apr 24 09:57:31 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Sun, 24 Apr 2016 11:57:31 +0200 Subject: automatic modules leaking types when using addmods Message-ID: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> Hello, Another question related to automatic modules. I have the following code: import com.fasterxml.jackson.core.JsonFactory; ... JsonFactory f = new JsonFactory(); System.out.println(f.getCodec()); This code clearly depends on jackson.core. So my module-info contains: requires jackson.core; This is as expected. I can change the module-info to the following however (removing the dependency on jackson.core): requires jackson.databind; At first sight, this fails to compile as expected, because the JsonFactory type comes from jackson.core, not from jackson.databind. But when I add "-addmods jackson.core" to my build command, it builds successfully! That's not what I would expect, because my module doesn't declare a dependency on jackson.core. Why does this happen? I would expect that the -addmods adds the module to the available modules, but does not magically add read edges to named modules. When removing the "jackson.databind" requires in my module-info, it fails to compile again, so it looks like jackson.databind somehow leaks types from jackson.core to my module. The build command I use is the following: javac -mp mods -addmods jackson.core -d out -modulesourcepath src $(find src -name '*.java') Best regards, Paul Bakker From james.laskey at oracle.com Sun Apr 24 11:47:50 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Sun, 24 Apr 2016 08:47:50 -0300 Subject: RFR: JDK-8147426 - Missing definition for JIMAGE_NOT_FOUND In-Reply-To: <571C8241.5010905@oracle.com> References: <1A36919B-354F-43DA-9130-4156AADD001A@oracle.com> <571C8241.5010905@oracle.com> Message-ID: JCK change incorporated. Thank you. > On Apr 24, 2016, at 5:22 AM, Alan Bateman wrote: > > > On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: >> JIMAGE_NOT_FOUND was defined in the hotspot jimage.hpp header but not in the jdk jimage.hpp header. Brought the headers in line. >> >> http://cr.openjdk.java.net/~jlaskey/8147426/webrev/index.html >> https://bugs.openjdk.java.net/browse/JDK-8147426 >> > This looks okay to me but comment on JIMAGE_MAX_PATH about the JCK caught by eye and maybe now is a good time to remove that. > > -Alan From james.laskey at oracle.com Sun Apr 24 11:48:05 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Sun, 24 Apr 2016 08:48:05 -0300 Subject: RFR: JDK-8154179 - BasicImageReader activating ImageBufferCache when not used In-Reply-To: <571C8283.9020104@oracle.com> References: <571C8283.9020104@oracle.com> Message-ID: Thank you. > On Apr 24, 2016, at 5:23 AM, Alan Bateman wrote: > > > > On 22/04/2016 14:12, Jim Laskey (Oracle) wrote: >> The unused cache is being unnecessarily activated (ThreadLocal) when buffers are being released. >> >> http://cr.openjdk.java.net/~jlaskey/8154179/webrev/index.html >> https://bugs.openjdk.java.net/browse/JDK-8154179 >> >> > This looks okay to me. > > -Alan From james.laskey at oracle.com Sun Apr 24 11:50:17 2016 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Sun, 24 Apr 2016 08:50:17 -0300 Subject: RFR: JDK-8069079 - jimage extract / list to organize classes by modules In-Reply-To: <8EFFD103-744D-4EF1-B594-0B1E5AC2DCCA@oracle.com> References: <1E4A98FB-E322-47CC-941A-1B1C6E94B682@oracle.com> <8EFFD103-744D-4EF1-B594-0B1E5AC2DCCA@oracle.com> Message-ID: Thank you, changes incorporated. > On Apr 22, 2016, at 2:08 PM, Mandy Chung wrote: > > Hi Jim, > >> On Apr 22, 2016, at 6:12 AM, Jim Laskey (Oracle) wrote: >> >> Listing is by module, extract has been by module for some time. >> >> http://cr.openjdk.java.net/~jlaskey/8069079/webrev/index.html > > > JDK-8069079 was filed long time ago and I now retested it. jimage list and extract in jdk9 works as what I'd like to see when filing the issue. > > $ ./bin/jimage list lib/modules > > jimage: modules > /java.activation/META-INF/mailcap.default > /java.activation/META-INF/mimetypes.default > /java.activation/com/sun/activation/registries/LineTokenizer.class > /java.activation/com/sun/activation/registries/LogSupport.class > : > > The current output looks fine to me. This issue can be issued. > > A minor comment (a separate issue): > > jimage: modules > > It would help to print the path supplied in the command line than just the base filename. > > $ ./bin/jimage list > > This silently returns. Since the list/extract command requires to specify the path to the jimage file, it would be helpful to report that. > > Mandy From sundararajan.athijegannathan at oracle.com Sun Apr 24 14:20:04 2016 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Sun, 24 Apr 2016 19:50:04 +0530 Subject: RFR: JDK-8069079 - jimage extract / list to organize classes by modules In-Reply-To: References: <1E4A98FB-E322-47CC-941A-1B1C6E94B682@oracle.com> <8EFFD103-744D-4EF1-B594-0B1E5AC2DCCA@oracle.com> Message-ID: +1 -Sundar On 4/24/2016 5:20 PM, Jim Laskey (Oracle) wrote: > Thank you, changes incorporated. > >> On Apr 22, 2016, at 2:08 PM, Mandy Chung wrote: >> >> Hi Jim, >> >>> On Apr 22, 2016, at 6:12 AM, Jim Laskey (Oracle) wrote: >>> >>> Listing is by module, extract has been by module for some time. >>> >>> http://cr.openjdk.java.net/~jlaskey/8069079/webrev/index.html >> >> JDK-8069079 was filed long time ago and I now retested it. jimage list and extract in jdk9 works as what I'd like to see when filing the issue. >> >> $ ./bin/jimage list lib/modules >> >> jimage: modules >> /java.activation/META-INF/mailcap.default >> /java.activation/META-INF/mimetypes.default >> /java.activation/com/sun/activation/registries/LineTokenizer.class >> /java.activation/com/sun/activation/registries/LogSupport.class >> : >> >> The current output looks fine to me. This issue can be issued. >> >> A minor comment (a separate issue): >> >> jimage: modules >> >> It would help to print the path supplied in the command line than just the base filename. >> >> $ ./bin/jimage list >> >> This silently returns. Since the list/extract command requires to specify the path to the jimage file, it would be helpful to report that. >> >> Mandy From Alan.Bateman at oracle.com Sun Apr 24 19:06:01 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 24 Apr 2016 20:06:01 +0100 Subject: automatic modules leaking types when using addmods In-Reply-To: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> References: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> Message-ID: <571D1919.9080900@oracle.com> On 24/04/2016 10:57, Paul Bakker wrote: > Hello, > > Another question related to automatic modules. > I have the following code: > import com.fasterxml.jackson.core.JsonFactory; > ... > JsonFactory f = new JsonFactory(); > System.out.println(f.getCodec()); > > This code clearly depends on jackson.core. So my module-info contains: > requires jackson.core; > > This is as expected. I can change the module-info to the following however (removing the dependency on jackson.core): > requires jackson.databind; > > At first sight, this fails to compile as expected, because the JsonFactory type comes from jackson.core, not from jackson.databind. > But when I add "-addmods jackson.core" to my build command, it builds successfully! That's not what I would expect, because my module doesn't declare a dependency on jackson.core. Why does this happen? I would expect that the -addmods adds the module to the available modules, but does not magically add read edges to named modules. > When removing the "jackson.databind" requires in my module-info, it fails to compile again, so it looks like jackson.databind somehow leaks types from jackson.core to my module. > > The build command I use is the following: > javac -mp mods -addmods jackson.core -d out -modulesourcepath src $(find src -name '*.java') > > Are both jackson.databind and jackson.core automatic modules in this scenario? I assume so, in which case I think what you are seeing is correct (meaning it should compile). The reason is that automatic modules read all other modules and they also grant implied readability to all other automatic modules. In this example then it is as if jackson.databind `requires public jackson.core` so your module will read jackson.core. -Alan From paul.bakker.nl at gmail.com Sun Apr 24 20:00:50 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Sun, 24 Apr 2016 22:00:50 +0200 Subject: automatic modules leaking types when using addmods In-Reply-To: <571D1919.9080900@oracle.com> References: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> <571D1919.9080900@oracle.com> Message-ID: <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> So when modules B, C and D are automatic modules and named module A depends on B, A also gets implicit readability to C and D? What is the reasoning behind this automatic implicit readability? It makes migration less reliable I think, because it hides what dependencies a module really has. Paul > On 24 Apr 2016, at 21:06, Alan Bateman wrote: > > > On 24/04/2016 10:57, Paul Bakker wrote: >> Hello, >> >> Another question related to automatic modules. >> I have the following code: >> import com.fasterxml.jackson.core.JsonFactory; >> ... >> JsonFactory f = new JsonFactory(); >> System.out.println(f.getCodec()); >> >> This code clearly depends on jackson.core. So my module-info contains: >> requires jackson.core; >> >> This is as expected. I can change the module-info to the following however (removing the dependency on jackson.core): >> requires jackson.databind; >> >> At first sight, this fails to compile as expected, because the JsonFactory type comes from jackson.core, not from jackson.databind. >> But when I add "-addmods jackson.core" to my build command, it builds successfully! That's not what I would expect, because my module doesn't declare a dependency on jackson.core. Why does this happen? I would expect that the -addmods adds the module to the available modules, but does not magically add read edges to named modules. >> When removing the "jackson.databind" requires in my module-info, it fails to compile again, so it looks like jackson.databind somehow leaks types from jackson.core to my module. >> >> The build command I use is the following: >> javac -mp mods -addmods jackson.core -d out -modulesourcepath src $(find src -name '*.java') >> >> > Are both jackson.databind and jackson.core automatic modules in this scenario? I assume so, in which case I think what you are seeing is correct (meaning it should compile). The reason is that automatic modules read all other modules and they also grant implied readability to all other automatic modules. In this example then it is as if jackson.databind `requires public jackson.core` so your module will read jackson.core. > > -Alan From pbenedict at apache.org Mon Apr 25 00:38:24 2016 From: pbenedict at apache.org (Paul Benedict) Date: Sun, 24 Apr 2016 19:38:24 -0500 Subject: automatic modules leaking types when using addmods In-Reply-To: <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> References: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> <571D1919.9080900@oracle.com> <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> Message-ID: Automatic modules live in a classpath-like world. Everything is exported to each other. You use this feature if you don't have time to migrate to a modular architecture. On Apr 24, 2016 3:01 PM, "Paul Bakker" wrote: > So when modules B, C and D are automatic modules and named module A > depends on B, A also gets implicit readability to C and D? > What is the reasoning behind this automatic implicit readability? It makes > migration less reliable I think, because it hides what dependencies a > module really has. > > Paul > > > > On 24 Apr 2016, at 21:06, Alan Bateman wrote: > > > > > > On 24/04/2016 10:57, Paul Bakker wrote: > >> Hello, > >> > >> Another question related to automatic modules. > >> I have the following code: > >> import com.fasterxml.jackson.core.JsonFactory; > >> ... > >> JsonFactory f = new JsonFactory(); > >> System.out.println(f.getCodec()); > >> > >> This code clearly depends on jackson.core. So my module-info contains: > >> requires jackson.core; > >> > >> This is as expected. I can change the module-info to the following > however (removing the dependency on jackson.core): > >> requires jackson.databind; > >> > >> At first sight, this fails to compile as expected, because the > JsonFactory type comes from jackson.core, not from jackson.databind. > >> But when I add "-addmods jackson.core" to my build command, it builds > successfully! That's not what I would expect, because my module doesn't > declare a dependency on jackson.core. Why does this happen? I would expect > that the -addmods adds the module to the available modules, but does not > magically add read edges to named modules. > >> When removing the "jackson.databind" requires in my module-info, it > fails to compile again, so it looks like jackson.databind somehow leaks > types from jackson.core to my module. > >> > >> The build command I use is the following: > >> javac -mp mods -addmods jackson.core -d out -modulesourcepath src > $(find src -name '*.java') > >> > >> > > Are both jackson.databind and jackson.core automatic modules in this > scenario? I assume so, in which case I think what you are seeing is correct > (meaning it should compile). The reason is that automatic modules read all > other modules and they also grant implied readability to all other > automatic modules. In this example then it is as if jackson.databind > `requires public jackson.core` so your module will read jackson.core. > > > > -Alan > > From Alan.Bateman at oracle.com Mon Apr 25 06:29:45 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Apr 2016 07:29:45 +0100 Subject: automatic modules leaking types when using addmods In-Reply-To: <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> References: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> <571D1919.9080900@oracle.com> <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> Message-ID: <571DB959.5070806@oracle.com> On 24/04/2016 21:00, Paul Bakker wrote: > So when modules B, C and D are automatic modules and named module A > depends on B, A also gets implicit readability to C and D? > What is the reasoning behind this automatic implicit readability? It > makes migration less reliable I think, because it hides what > dependencies a module really has. > I do see one issue with javac in that it is granting implicit readability to explicit modules too, that seems to be a bug because such code will fail at runtime. -Alan From paul.bakker.nl at gmail.com Mon Apr 25 06:35:17 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Mon, 25 Apr 2016 08:35:17 +0200 Subject: automatic modules leaking types when using addmods In-Reply-To: <571DB959.5070806@oracle.com> References: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> <571D1919.9080900@oracle.com> <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> <571DB959.5070806@oracle.com> Message-ID: <4466A9FA-802D-4021-B4CF-852513E5B60B@gmail.com> That doesn't seem to be the case, I can run successfully, as long as I have the right -addmods. I've pushed my example here if you want to take a further look at it: https://github.com/paulbakker/automaticmodules-example Paul > On 25 Apr 2016, at 08:29, Alan Bateman wrote: > > > > On 24/04/2016 21:00, Paul Bakker wrote: >> So when modules B, C and D are automatic modules and named module A depends on B, A also gets implicit readability to C and D? >> What is the reasoning behind this automatic implicit readability? It makes migration less reliable I think, because it hides what dependencies a module really has. >> > I do see one issue with javac in that it is granting implicit readability to explicit modules too, that seems to be a bug because such code will fail at runtime. > > -Alan > From paul.bakker.nl at gmail.com Mon Apr 25 06:38:53 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Mon, 25 Apr 2016 08:38:53 +0200 Subject: automatic modules leaking types when using addmods In-Reply-To: References: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> <571D1919.9080900@oracle.com> <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> Message-ID: <02AF2AD9-FA19-4AB3-BF0E-417E95C99F4E@gmail.com> I understand this statement from the perspective of automatic modules. Not so much from the perspective of named modules however. Why would it be necessary to give implicit readability to all automatic modules when you're just explicitly using a single one? Paul > On 25 Apr 2016, at 02:38, Paul Benedict wrote: > > Automatic modules live in a classpath-like world. Everything is exported to each other. You use this feature if you don't have time to migrate to a modular architecture. > > On Apr 24, 2016 3:01 PM, "Paul Bakker" > wrote: > So when modules B, C and D are automatic modules and named module A depends on B, A also gets implicit readability to C and D? > What is the reasoning behind this automatic implicit readability? It makes migration less reliable I think, because it hides what dependencies a module really has. > > Paul > > > > On 24 Apr 2016, at 21:06, Alan Bateman > wrote: > > > > > > On 24/04/2016 10:57, Paul Bakker wrote: > >> Hello, > >> > >> Another question related to automatic modules. > >> I have the following code: > >> import com.fasterxml.jackson.core.JsonFactory; > >> ... > >> JsonFactory f = new JsonFactory(); > >> System.out.println(f.getCodec()); > >> > >> This code clearly depends on jackson.core. So my module-info contains: > >> requires jackson.core; > >> > >> This is as expected. I can change the module-info to the following however (removing the dependency on jackson.core): > >> requires jackson.databind; > >> > >> At first sight, this fails to compile as expected, because the JsonFactory type comes from jackson.core, not from jackson.databind. > >> But when I add "-addmods jackson.core" to my build command, it builds successfully! That's not what I would expect, because my module doesn't declare a dependency on jackson.core. Why does this happen? I would expect that the -addmods adds the module to the available modules, but does not magically add read edges to named modules. > >> When removing the "jackson.databind" requires in my module-info, it fails to compile again, so it looks like jackson.databind somehow leaks types from jackson.core to my module. > >> > >> The build command I use is the following: > >> javac -mp mods -addmods jackson.core -d out -modulesourcepath src $(find src -name '*.java') > >> > >> > > Are both jackson.databind and jackson.core automatic modules in this scenario? I assume so, in which case I think what you are seeing is correct (meaning it should compile). The reason is that automatic modules read all other modules and they also grant implied readability to all other automatic modules. In this example then it is as if jackson.databind `requires public jackson.core` so your module will read jackson.core. > > > > -Alan > From Alan.Bateman at oracle.com Mon Apr 25 06:59:13 2016 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Apr 2016 07:59:13 +0100 Subject: automatic modules leaking types when using addmods In-Reply-To: <4466A9FA-802D-4021-B4CF-852513E5B60B@gmail.com> References: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> <571D1919.9080900@oracle.com> <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> <571DB959.5070806@oracle.com> <4466A9FA-802D-4021-B4CF-852513E5B60B@gmail.com> Message-ID: <571DC041.50608@oracle.com> On 25/04/2016 07:35, Paul Bakker wrote: > That doesn't seem to be the case, I can run successfully, as long as I > have the right -addmods. > I've pushed my example here if you want to take a further look at it: > https://github.com/paulbakker/automaticmodules-example > I wasn't clear. My comment was on when the scenario is changed slightly to have an additional explicit module in the picture, say java.desktop. In that case then javac is granting implicit readability and so requiring jackson.databind allows the module to make use of types in java.desktop. It may be specific to system modules but I will create a bug on that. -Alan. From paul.bakker.nl at gmail.com Mon Apr 25 07:22:09 2016 From: paul.bakker.nl at gmail.com (Paul Bakker) Date: Mon, 25 Apr 2016 09:22:09 +0200 Subject: automatic modules leaking types when using addmods In-Reply-To: <571DC041.50608@oracle.com> References: <68268FD6-F6A4-442B-9B3C-A687AA7470AD@gmail.com> <571D1919.9080900@oracle.com> <89C2081D-E2B4-4E0D-81A4-8C916E4C6E9E@gmail.com> <571DB959.5070806@oracle.com> <4466A9FA-802D-4021-B4CF-852513E5B60B@gmail.com> <571DC041.50608@oracle.com> Message-ID: <1639BA34-9D37-4EB8-8034-C09FE3B2DBE1@gmail.com> I now understand (and tested) that when I use any automatic module from a named module, the named module gets implicit readability to *all* automatic modules. What is the reasoning behind this? If a module A has a dependency on B and C, I get the impression during migration that "requires B" would be sufficient for module A. Up until the point that B is migrated to a named module, because than suddenly A needs a "requires C" as well. Of course automatic modules will never be an exact representation of a fully migrated situation, but it would be nice to get as close as possible. Paul > On 25 Apr 2016, at 08:59, Alan Bateman wrote: > > > > On 25/04/2016 07:35, Paul Bakker wrote: >> That doesn't seem to be the case, I can run successfully, as long as I have the right -addmods. >> I've pushed my example here if you want to take a further look at it: https://github.com/paulbakker/automaticmodules-example >> > I wasn't clear. My comment was on when the scenario is changed slightly to have an additional explicit module in the picture, say java.desktop. In that case then javac is granting implicit readability and so requiring jackson.databind allows the module to make use of types in java.desktop. It may be specific to system modules but I will create a bug on that. > > -Alan. From peter.levart at gmail.com Mon Apr 25 11:13:37 2016 From: peter.levart at gmail.com (Peter Levart) Date: Mon, 25 Apr 2016 13:13:37 +0200 Subject: RFR JDK-8155005: java.lang.reflect.Module.WeakSet is not thread-safe In-Reply-To: <571C80D9.5070709@oracle.com> References: <5718FADF.5000601@gmail.com> <5718FE23.3070808@oracle.com> <2CE30172-D616-4C9A-94C7-5F2436979B06@univ-mlv.fr> <57193B06.8040200@oracle.com> <571A2A61.9050908@gmail.com> <571C80D9.5070709@oracle.com> Message-ID: <571DFBE1.3030906@gmail.com> Hi Alan, I created an issue for this: JDK-8155005: java.lang.reflect.Module.WeakSet is not thread-safe https://bugs.openjdk.java.net/browse/JDK-8155005 I did what you suggested, renamed type parameters to , split long line in Module and modified the test so that it now waits for entry to be expunged for up to 5 seconds when it is expected to be expunged but returns as soon as it detects that the entry is gone (usually in 1st 100 ms). It still waits just 500 ms when the entry is expected to remain in the map. False negatives should be eliminated this way and the test still doesn't waist plenty of execution time. Here's latest webrev: http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.04/ If this is accepted then I would need to know via which repo this should be pushed (jdk9/dev or jake). Regards, Peter On 04/24/2016 10:16 AM, Alan Bateman wrote: > > On 22/04/2016 14:42, Peter Levart wrote: >> : >> >> I tried to reduce the complexity of WeakPairMap as much as I could. I >> added some docs that describe the architecture. Hopefully this is now >> easier to grasp: >> >> http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.03/ >> > I think this looks quite good. > > As there are two keys then what would you think about renaming the > type parameters to ? > > In the test when I wonder if 500ms is enough to guarantee that > references has been queued, esp. on loaded machines, maybe a previous > test has several something loop for example. > > In terms of the startup then only WeakPairMap should be loaded so I > think that is okay. We'll find that -XaddExports will be a bit more > expensive as will trigger quite a bit of initialization and class > loading but I think that is okay too. > > A minor comment on Module L518 is that we might want to split this > line to avoid it being too long. Alternatively, just replace > exportedToAll, exportedToOther and exportedToAllUnnamed with "exports". > >> >> Another possibility for transientReads and transientExports (but not >> for transientUses) could be if each instance of Module object held a >> unique long id allocated at its creation from say AtomicLong. You >> could then construct maps with Long ids instead of Module(s), but >> that has a drawback that some Module (say a system module or a module >> of an app server) could accumulate ids from modules long gone (for >> example when some app in an app server is redeployed multiple times) >> so this would be a memory leak... > I agree, particularly with exports (not reads, at least not anymore). > >> >> a single global WeakPairMap has an advantage over individual >> WeakSet(s) per Module instance because it is accessed more frequently >> so expunging of stale entries happens more promptly. > True. Another advantage is that it drops 3 instance fields. > > -Alan. From claes.redestad at oracle.com Mon Apr 25 12:54:10 2016 From: claes.redestad at oracle.com (Claes Redestad) Date: Mon, 25 Apr 2016 14:54:10 +0200 Subject: RFR JDK-8155005: java.lang.reflect.Module.WeakSet is not thread-safe In-Reply-To: <571DFBE1.3030906@gmail.com> References: <5718FADF.5000601@gmail.com> <5718FE23.3070808@oracle.com> <2CE30172-D616-4C9A-94C7-5F2436979B06@univ-mlv.fr> <57193B06.8040200@oracle.com> <571A2A61.9050908@gmail.com> <571C80D9.5070709@oracle.com> <571DFBE1.3030906@gmail.com> Message-ID: <571E1372.3070108@oracle.com> Hi, I think this looks good, but since these WeakPairMaps won't be used for many applications I wonder if it's worth keeping the implementation lazy, for example by moving the maps to a holder class: http://cr.openjdk.java.net/~redestad/scratch/transients.01/ I verified this avoids loading the WeakPairMap class for various small programs and should be neutral in other regards. Thanks! /Claes On 2016-04-25 13:13, Peter Levart wrote: > Hi Alan, > > I created an issue for this: > > JDK-8155005: java.lang.reflect.Module.WeakSet is not thread-safe > > https://bugs.openjdk.java.net/browse/JDK-8155005 > > > I did what you suggested, renamed type parameters to , > split long line in Module and modified the test so that it now waits > for entry to be expunged for up to 5 seconds when it is expected to be > expunged but returns as soon as it detects that the entry is gone > (usually in 1st 100 ms). It still waits just 500 ms when the entry is > expected to remain in the map. False negatives should be eliminated > this way and the test still doesn't waist plenty of execution time. > > Here's latest webrev: > > http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.04/ > > > > If this is accepted then I would need to know via which repo this > should be pushed (jdk9/dev or jake). > > Regards, Peter > > > On 04/24/2016 10:16 AM, Alan Bateman wrote: >> >> On 22/04/2016 14:42, Peter Levart wrote: >>> : >>> >>> I tried to reduce the complexity of WeakPairMap as much as I could. >>> I added some docs that describe the architecture. Hopefully this is >>> now easier to grasp: >>> >>> http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.WeakSet.multithreadUnsafe/webrev.03/ >>> >> I think this looks quite good. >> >> As there are two keys then what would you think about renaming the >> type parameters to ? >> >> In the test when I wonder if 500ms is enough to guarantee that >> references has been queued, esp. on loaded machines, maybe a previous >> test has several something loop for example. >> >> In terms of the startup then only WeakPairMap should be loaded so I >> think that is okay. We'll find that -XaddExports will be a bit more >> expensive as will trigger quite a bit of initialization and class >> loading but I think that is okay too. >> >> A minor comment on Module L518 is that we might want to split this >> line to avoid it being too long. Alternatively, just replace >> exportedToAll, exportedToOther and exportedToAllUnnamed with "exports". >> >>> >>> Another possibility for transientReads and transientExports (but not >>> for transientUses) could be if each instance of Module object held a