From xueming.shen at oracle.com Sat Dec 1 11:35:44 2012 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Sat, 01 Dec 2012 19:35:44 +0000 Subject: hg: jdk8/tl/jdk: 8004212: java.util.Base64 methods decodeArray and decodeBuffer should return the number of bytes written Message-ID: <20121201193555.3FF4E47C75@hg.openjdk.java.net> Changeset: fd8ba2d8baec Author: sherman Date: 2012-12-01 11:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd8ba2d8baec 8004212: java.util.Base64 methods decodeArray and decodeBuffer should return the number of bytes written Summary: to return the length instead of position Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java From alan.bateman at oracle.com Sun Dec 2 08:37:41 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sun, 02 Dec 2012 16:37:41 +0000 Subject: hg: jdk8/tl/jdk: 8003846: Override mechanism for currency data should not require creating currency.properties in java.home Message-ID: <20121202163810.B846F47C8F@hg.openjdk.java.net> Changeset: f657adf4fe78 Author: alanb Date: 2012-12-02 16:37 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f657adf4fe78 8003846: Override mechanism for currency data should not require creating currency.properties in java.home Reviewed-by: naoto ! src/share/classes/java/util/Currency.java ! test/java/util/Currency/PropertiesTest.java ! test/java/util/Currency/PropertiesTest.sh From david.holmes at oracle.com Sun Dec 2 16:18:20 2012 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Mon, 03 Dec 2012 00:18:20 +0000 Subject: hg: jdk8/tl/jdk: 7200297: agent code does not handle multiple boot library path elements correctly Message-ID: <20121203001847.3487F47CB8@hg.openjdk.java.net> Changeset: 60550cd2b527 Author: dholmes Date: 2012-12-02 19:16 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/60550cd2b527 7200297: agent code does not handle multiple boot library path elements correctly Summary: When bug 6819213 was fixed it enabled sun.boot.library.path property to contain multiple paths. Code in agents does not handle multiple paths when attempting to find dependent shared libs. Reviewed-by: dholmes, sspitsyn, dsamersoff Contributed-by: Bill Pittore ! src/share/back/debugInit.c ! src/share/back/error_messages.c ! src/share/back/transport.c ! src/share/demo/jvmti/hprof/hprof.h ! src/share/demo/jvmti/hprof/hprof_init.c ! src/solaris/back/linker_md.c ! src/solaris/demo/jvmti/hprof/hprof_md.c ! src/solaris/npt/npt_md.h ! src/windows/back/linker_md.c ! src/windows/demo/jvmti/hprof/hprof_md.c ! src/windows/npt/npt_md.h From weijun.wang at oracle.com Mon Dec 3 01:14:21 2012 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Mon, 03 Dec 2012 09:14:21 +0000 Subject: hg: jdk8/tl/jdk: 7198507: [TEST_BUG] sun/security/tools/keytool/console.sh should be rewritten Message-ID: <20121203091444.97B8347CD1@hg.openjdk.java.net> Changeset: a42da685dfca Author: weijun Date: 2012-12-03 17:14 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a42da685dfca 7198507: [TEST_BUG] sun/security/tools/keytool/console.sh should be rewritten Reviewed-by: xuelei ! test/sun/security/tools/keytool/console.sh From xuelei.fan at oracle.com Mon Dec 3 06:01:35 2012 From: xuelei.fan at oracle.com (xuelei.fan at oracle.com) Date: Mon, 03 Dec 2012 14:01:35 +0000 Subject: hg: jdk8/tl/jdk: 8004184: security tests leave JSSEServer running Message-ID: <20121203140215.00D5D47CDD@hg.openjdk.java.net> Changeset: ead651efb271 Author: xuelei Date: 2012-12-03 06:00 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ead651efb271 8004184: security tests leave JSSEServer running Summary: Use othervm mode to release resources, and correct the system properties issues in JSSE Reviewed-by: chegar ! test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java From sean.mullan at oracle.com Mon Dec 3 08:17:10 2012 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Mon, 03 Dec 2012 16:17:10 +0000 Subject: hg: jdk8/tl/jdk: 7199143: RFE: OCSP revocation checker should provide possibility to specify connection timeout Message-ID: <20121203161732.2584F47CEC@hg.openjdk.java.net> Changeset: ee9846f351d7 Author: mullan Date: 2012-12-03 11:07 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ee9846f351d7 7199143: RFE: OCSP revocation checker should provide possibility to specify connection timeout Summary: Added com.sun.security.ocsp.timeout system property to control timeout Reviewed-by: mullan, vinnie Contributed-by: jason.uh at oracle.com ! src/share/classes/sun/security/provider/certpath/OCSP.java From staffan.larsen at oracle.com Mon Dec 3 11:14:05 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 3 Dec 2012 20:14:05 +0100 Subject: Request for review (XL): Event-Based JVM Tracing (JEP 167) In-Reply-To: <83B08058-5B23-4005-8611-6C97586E5C9A@oracle.com> References: <83B08058-5B23-4005-8611-6C97586E5C9A@oracle.com> Message-ID: <2EA32DB8-118A-4780-8B72-453A4073BAD2@oracle.com> Forgot to include serviceability-dev at openjdk.java.net which is the designated list for JEP 167. /Staffan On 3 dec 2012, at 12:32, Staffan Larsen wrote: > All, > > This is a request for review of the implementation for JEP 167: Event-Based JVM Tracing. It is a rather large change. > > The webrev is available here: http://cr.openjdk.java.net/~sla/jep167/webrev.01/ > The JEP is here: http://openjdk.java.net/jeps/167 > > The base changes are in src/share/vm/trace. This is where events are defined (trace.xml) and this is where the XSLT transforms that convert these definitions into classes are. The rest of the changes are related to instrumenting the code to capture the data for the events. > > To enabled the tracing events in a build use -XX:+EnableTracing. This will produce a ton of information in a standard format to tty. > > These changes are slated for hs24 in the 7u12 release and will be ported to hs25 in jdk8 later. The diff is against the jdk7u/jdk7u forest at the jdk7u12-b03 tag. > > Contributed-by: acorn, brutisso, ccheung, egahlin, ehelin, jwilhelm, kamg, mattias.tobiasson at oracle.com, mgronlun, mikael.auno at oracle.com, neliasso, nloodin, rbackman, sla, stefank, ykantser > > Comments, questions and suggestions are welcome! > > Thanks, > /Staffan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121203/dcf77376/attachment.html From dmitry.samersoff at oracle.com Mon Dec 3 14:35:54 2012 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Tue, 04 Dec 2012 02:35:54 +0400 Subject: RR(M): 8002048.JDP v10 Message-ID: <50BD294A.7000801@oracle.com> Hi Everybody, I hope it's a final round of JDP http://washi.ru.oracle.com/ds160299/webrev/8002048.JDP/webrev.10/ 1. Some bugs and nits fixed 2. Improved javadoc comments (generated javadoc resides in the same directory, all comments is much appreciated as English is not my native language) 3. Significantly changed tests -Dmitry -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Mon Dec 3 23:12:35 2012 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Tue, 04 Dec 2012 11:12:35 +0400 Subject: RR(CCC): 8002048.JDP - need a reviewer for CCC request In-Reply-To: <50AB2102.3030908@oracle.com> References: <50AB2102.3030908@oracle.com> Message-ID: <50BDA263.2030307@oracle.com> Hi Everybody, I would like to finalize the request, but I need a reviewer to do it. http://ccc.us.oracle.com/8002048 -Dmitry -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From alan.bateman at oracle.com Tue Dec 4 06:13:58 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 04 Dec 2012 14:13:58 +0000 Subject: hg: jdk8/tl/jdk: 7142921: (fs) Files.probeContentType reports a MIME type of "text/plain" on Ubuntu 11.04; ... Message-ID: <20121204141424.2273947D7C@hg.openjdk.java.net> Changeset: 38ec2838dd86 Author: dxu Date: 2012-12-04 14:07 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/38ec2838dd86 7142921: (fs) Files.probeContentType reports a MIME type of "text/plain" on Ubuntu 11.04 7144997: (fs) Files.probeContentType returns null on Solaris 64-bit Reviewed-by: alanb, mduigou ! make/java/nio/Makefile ! make/java/nio/mapfile-linux ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/mapfiles/libnio/mapfile-linux ! src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/MacOSXFileSystemProvider.java + src/solaris/classes/sun/nio/fs/MagicFileTypeDetector.java + src/solaris/classes/sun/nio/fs/MimeTypesFileTypeDetector.java ! src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java + src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c From staffan.larsen at oracle.com Tue Dec 4 07:04:25 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 4 Dec 2012 16:04:25 +0100 Subject: RR(M): 8002048.JDP v10 In-Reply-To: <50BD294A.7000801@oracle.com> References: <50BD294A.7000801@oracle.com> Message-ID: Hi Dmitry, diagnosticCommand.cpp:414 / diagnosticCommand.hpp:238: Shouldn't the type of the port argument be INTEGER? Although I can't find any information on what the possible types are. Agent.java: startDiscoveryService Indentation seems flawed. Why is there no default values for JDP address and port? Having default values would make it much easier to use. As I understand the code you would now have to say "-Dcom.sun.management.jdp.port=4711 -Dcom.sun.management.jdp.address=172.31.255.255". It would be simpler with something like "-Dcom.sun.management.jdp.enable". Agent.java: 279 Pass the UnknownHostException as the cause parameter to AgentConfigurationError. Agent.java: 286 A better error message would be "Could not parse JDP port argument: "+discoveryPort JDPController.java: startDiscoveryService The properties that are read here are read from System.getProperty, but the properties read in Agent.java (com.sun.management.jdp.port and com.sun.management.jdp.address) can come from either System.getProperty or the file specified with com.sun.management.config.file. Why this difference? Shouldn't all properties be specified in the same locations? "com.sun.management.jdp.name" is also read from System properties in Agent.java. JDPController.java: 150 sun.java.command can be empty or null which you need to handle. JDPController.java: 161 A better name for the thread could be "JDP Broadcaster". JDPController.java: 136 You set the default pause time to 60 ms. Is that intentional? It seems very small. JDPController.java: 72 Catching the IOException outside the while loop would simplify the code. Should we notify the user somehow if this exception happens and we shut down the broadcaster? JDPController.java: 169 There are no calls to stopDiscoveryService(). Should we include code that is never called? Is it tested that it works? If we plan to add calls to it in the future, I would prefer to delay the introduction of the code until it is used. JDPBroadcaster.java Don't you need to set the SO_BROADCAST option on the DatagramChannel? You set the IP_MULTICAST_TTL to 0 by default. According to the javadoc for DatagramChannel on IPv4: "Datagrams with a TTL of zero are not transmitted on the network but may be delivered locally." Is this intentional? JDPBroadcaster.java: 102 This constructor is never used. Should we remove it? JDPException.java Why is this a RuntimeException? Shouldn't it be a checked exception? JDPJMXPacket The class has an equals() method but no hashCode(). JDPJMXPacket:172 nit: en extra space JDPJMXPacket:168-170 nit: add space after the comma Indentation seems flawed for all new files. I have not (yet) looked at the tests or the javadoc. There were discussions about adding the OS process identifier and the broadcast period as fields in the packets. What happened to these features? Thanks, /Staffan On 3 dec 2012, at 23:35, Dmitry Samersoff wrote: > Hi Everybody, > > I hope it's a final round of JDP > > http://washi.ru.oracle.com/ds160299/webrev/8002048.JDP/webrev.10/ > > 1. Some bugs and nits fixed > > 2. Improved javadoc comments (generated javadoc resides in the same > directory, all comments is much appreciated as English is not my native > language) > > 3. Significantly changed tests > > -Dmitry > > -- > Dmitry Samersoff > Oracle Java development team, Saint Petersburg, Russia > * Give Rabbit time, and he'll always get the answer From alan.bateman at oracle.com Tue Dec 4 07:11:01 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 04 Dec 2012 15:11:01 +0000 Subject: hg: jdk8/tl/jdk: 8004066: TEST_BUG: test/java/lang/Math/DivModTests.java assumes ArithmeticException message Message-ID: <20121204151120.8597847D7F@hg.openjdk.java.net> Changeset: 2e8863c4f7d0 Author: kmo Date: 2012-12-04 15:10 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2e8863c4f7d0 8004066: TEST_BUG: test/java/lang/Math/DivModTests.java assumes ArithmeticException message Reviewed-by: twisti, alanb, dholmes ! test/java/lang/Math/DivModTests.java From dmitry.samersoff at oracle.com Tue Dec 4 08:32:56 2012 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Tue, 04 Dec 2012 20:32:56 +0400 Subject: RR(M): 8002048.JDP v10 In-Reply-To: References: <50BD294A.7000801@oracle.com> Message-ID: <50BE25B8.7010905@oracle.com> Staffan, Thank you for detailed review, see below inline. On 2012-12-04 19:04, Staffan Larsen wrote: > diagnosticCommand.cpp:414 / diagnosticCommand.hpp:238: Shouldn't the > type of the port argument be INTEGER? Although I can't find any > information on what the possible types are. >From IPv4 perspective port could be a service name and I hope that Java will have getservicebyname() API shortly. But I can change it. > Agent.java: startDiscoveryService Indentation seems flawed. OK. > > Why is there no default values for JDP address and port? Having > default values would make it much easier to use. As I understand the > code you would now have to say "-Dcom.sun.management.jdp.port=4711 > -Dcom.sun.management.jdp.address=172.31.255.255". It would be simpler > with something like "-Dcom.sun.management.jdp.enable". There are no such things as public broadcast address or public broadcast port. If we decide to set some default we should ask IANA to assign one for Java/JDP. > Agent.java: 279 Pass the UnknownHostException as the cause parameter > to AgentConfigurationError. OK. > Agent.java: 286 A better error message would be "Could not parse JDP > port argument: "+discoveryPort Agree with "Couldn't parse". We should have a generic policy whether we quote user arguments in exceptions or not. I'm paranoid and prefer don't quote. But can change it (in all places). > JDPController.java: startDiscoveryService The properties that are > read here are read from System.getProperty, but the properties read > in Agent.java (com.sun.management.jdp.port and > com.sun.management.jdp.address) can come from either > System.getProperty or the file specified with > com.sun.management.config.file. Why this difference? Shouldn't all > properties be specified in the same locations? > "com.sun.management.jdp.name" is also read from System properties in > Agent.java. These properties moved to JDPController intentionally - average user shouldn't change it, as it can cause security or network problem. i.e. properties below could be set either in config file or in command line: com.sun.management.jdp.port com.sun.management.jdp.address com.sun.management.jdp.name properties below have to be set explicitly using command line. com.sun.management.jdp.ttl com.sun.management.jdp.pause com.sun.management.jdp.source_addr I'll document it. > JDPController.java: 150 sun.java.command can be empty or null which > you need to handle. OK. > > JDPController.java: 161 A better name for the thread could be "JDP > Broadcaster". OK. > > JDPController.java: 136 You set the default pause time to 60 ms. Is > that intentional? It seems very small. Will fix it. > > JDPController.java: 72 Catching the IOException outside the while > loop would simplify the code. Should we notify the user somehow if > this exception happens and we shut down the broadcaster? Agree with IOException. I have no ideas how to notify user that something bad happens with broadcast socket as broadcaster run in background thread. > JDPController.java: 169 There are no calls to stopDiscoveryService(). > Should we include code that is never called? Is it tested that it > works? If we plan to add calls to it in the future, I would prefer to > delay the introduction of the code until it is used. stopDiscoveryService have to be called from stopAgent - my bad will fix it. > JDPBroadcaster.java Don't you need to set the SO_BROADCAST option on > the DatagramChannel? We shouldn't. But I'll re-check it. > You set the IP_MULTICAST_TTL to 0 by default. According to the > javadoc for DatagramChannel on IPv4: "Datagrams with a TTL of zero > are not transmitted on the network but may be delivered locally." Is > this intentional? It should be 1 as in all previous webrevs - left from my internal tests. > JDPBroadcaster.java: 102 This constructor is never used. Should we > remove it? It's a convenience interface for developers/SQE who would like to use broadcaster directly, because setting source address for broadcast is very rare case. I think it's worth to leave it. > JDPException.java Why is this a RuntimeException? Shouldn't it be a > checked exception? I'll fix it. > JDPJMXPacket The class has an equals() method but no hashCode(). OK. I'll add it. > JDPJMXPacket:172 nit: en extra space OK. > JDPJMXPacket:168-170 nit: add space after the comma OK. > > Indentation seems flawed for all new files. OK. > I have not (yet) looked at the tests or the javadoc. > > There were discussions about adding the OS process identifier and the > broadcast period as fields in the packets. What happened to these > features? We discussed it with Marcus Hirt here in SPB, and come to agreement to continue without these two fields for now but file a bug for it (done). I don't like a minute-to-train changes, also value of these two filed is doubtful (we don't have reliable getPID() on all platforms, broadcast period doesn't correlate with actual packet rate). -Dmitry > > Thanks, /Staffan > > > > On 3 dec 2012, at 23:35, Dmitry Samersoff > wrote: > >> Hi Everybody, >> >> I hope it's a final round of JDP >> >> http://washi.ru.oracle.com/ds160299/webrev/8002048.JDP/webrev.10/ >> >> 1. Some bugs and nits fixed >> >> 2. Improved javadoc comments (generated javadoc resides in the >> same directory, all comments is much appreciated as English is not >> my native language) >> >> 3. Significantly changed tests >> >> -Dmitry >> >> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, >> Russia * Give Rabbit time, and he'll always get the answer > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From maurizio.cimadamore at oracle.com Tue Dec 4 09:59:37 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 04 Dec 2012 17:59:37 +0000 Subject: hg: jdk8/tl/langtools: 8004360: regression test DefaultMethodRegressionTests fails in langtools Message-ID: <20121204175941.ADEE447D98@hg.openjdk.java.net> Changeset: 0e70eb71fec0 Author: mcimadamore Date: 2012-12-04 17:19 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/0e70eb71fec0 8004360: regression test DefaultMethodRegressionTests fails in langtools Summary: ignore broken failing test Reviewed-by: jjg - test/tools/javac/defaultMethodExecution/DefaultMethodRegressionTests.java + test/tools/javac/defaultMethods/defaultMethodExecution/DefaultMethodRegressionTests.java From shanliang.jiang at oracle.com Tue Dec 4 10:05:52 2012 From: shanliang.jiang at oracle.com (shanliang) Date: Tue, 04 Dec 2012 19:05:52 +0100 Subject: jmx-dev [PATCH] JDK-7009998: JMX synchronization during connection restart is faulty In-Reply-To: <5087F0F6.40902@oracle.com> References: <5087F0F6.40902@oracle.com> Message-ID: <50BE3B80.6040309@oracle.com> The fix is OK for me. The test is OK too. I would like to test more, for example the first thread throws an IOException when executing the method doStart(), we can check whether the 2 other threads are used to execute doStart(). But this is out of this bug fix. Thanks to fix this bug :) Shanliang Jaroslav Bachorik wrote: > I am looking for a review and patch sponsor. > > Webrev available at > http://cr.openjdk.java.net/~jbachorik/JDK-7009998/webrev.00 > > The issue is about a possible race condition in the > ClientCommunicatorAdmin when the reconnection process may be initiated > by more than one thread (eg. 3). The main reason is that the > re-connection routine logic is split into two synchronized blocks and it > relies on the state staying consistent when transiting from the one > synchronized block to the other. > > The race condition is described by the reporter as: > "In reading the code there is a scenario where the synchronization does > the wrong thing if 3 threads attempt to go through the code at the same > time. Consider the code in > com.sun.jmx.remote.internal.ClientCommunicatorAdmin.restart, the first > thread will set the state to RE_CONNECTING and then leave the > sychronization block, the second thread will find the state to be > RE_CONNECTING and wait on the lock. When thread 1 finishes and sets the > state to CONNECTED, then thread 2 can leave the synchronization block - > but fails to set the state to RE_CONNECTING because that code is > incorrectly in the else branch. Thus thread 2 starts the reconnecting > and thread 3 wakes to find the state not RE_CONNECTING so it believes it > can safely start the reconnect and it also starts reconnecting. The bad > mode is discovered in the preReconnection method." > > The fix is adding a return statement at the end of the first > synchronized block in case when the admin has been successfully > re-connected by the other thread. > > Test in "test/com/sun/jmx/remote/CCAdminReconnectTest.java" tests the > fix. Changes in "make/netbeans/jmx/build.properties" are there for the > NetBeans project to recognize the newly added test. > > > Thanks, > > -JB- > > From alan.bateman at oracle.com Tue Dec 4 12:21:47 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 04 Dec 2012 20:21:47 +0000 Subject: hg: jdk8/tl/jdk: 8003596: TEST_BUG: java/util/logging/CheckLockLocationTest.java failing [win] Message-ID: <20121204202227.EC74B47DA4@hg.openjdk.java.net> Changeset: 7004848974a2 Author: jgish Date: 2012-12-04 20:21 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7004848974a2 8003596: TEST_BUG: java/util/logging/CheckLockLocationTest.java failing [win] Reviewed-by: alanb ! test/ProblemList.txt ! test/java/util/logging/CheckLockLocationTest.java From sean.mullan at oracle.com Tue Dec 4 14:42:45 2012 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Tue, 04 Dec 2012 22:42:45 +0000 Subject: hg: jdk8/tl/jdk: 8004188: Rename src/share/lib/security/java.security to java.security-linux Message-ID: <20121204224256.AAADD47DD0@hg.openjdk.java.net> Changeset: 44ae777564eb Author: mullan Date: 2012-12-04 17:40 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/44ae777564eb 8004188: Rename src/share/lib/security/java.security to java.security-linux Reviewed-by: mullan, mchung Contributed-by: jason.uh at oracle.com ! make/java/security/Makefile - src/share/lib/security/java.security + src/share/lib/security/java.security-linux From alan.bateman at oracle.com Wed Dec 5 04:55:51 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 05 Dec 2012 12:55:51 +0000 Subject: hg: jdk8/tl/jdk: 8004491: Build breakage on Linux due to 8004188 Message-ID: <20121205125631.21EC047E25@hg.openjdk.java.net> Changeset: b54a5b7d2e65 Author: alanb Date: 2012-12-05 12:20 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b54a5b7d2e65 8004491: Build breakage on Linux due to 8004188 Reviewed-by: chegar, erikj ! makefiles/CopyFiles.gmk From stuart.marks at oracle.com Wed Dec 5 21:12:03 2012 From: stuart.marks at oracle.com (stuart.marks at oracle.com) Date: Thu, 06 Dec 2012 05:12:03 +0000 Subject: hg: jdk8/tl/jdk: 8004317: TestLibrary.getUnusedRandomPort() fails intermittently, but exception not reported Message-ID: <20121206051214.7A1D447EF1@hg.openjdk.java.net> Changeset: a971516029ab Author: jgish Date: 2012-12-05 21:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a971516029ab 8004317: TestLibrary.getUnusedRandomPort() fails intermittently, but exception not reported Reviewed-by: alanb, dmocek, smarks ! test/java/rmi/testlibrary/TestLibrary.java From dmitry.samersoff at oracle.com Thu Dec 6 04:49:44 2012 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Thu, 06 Dec 2012 16:49:44 +0400 Subject: RR(M): 8002048.JDP v11 In-Reply-To: References: <50BD294A.7000801@oracle.com> Message-ID: <50C09468.5020305@oracle.com> Staffan, Addressed you concerns, Changed test http://washi.ru.oracle.com/ds160299/webrev/8002048.JDP/webrev.11/ Could you review a CCC request? -Dmitry On 2012-12-04 19:04, Staffan Larsen wrote: > Hi Dmitry, > > diagnosticCommand.cpp:414 / diagnosticCommand.hpp:238: > Shouldn't the type of the port argument be INTEGER? Although I can't find any information on what the possible types are. > > Agent.java: startDiscoveryService > Indentation seems flawed. > > Why is there no default values for JDP address and port? Having default values would make it much easier to use. As I understand the code you would now have to say "-Dcom.sun.management.jdp.port=4711 -Dcom.sun.management.jdp.address=172.31.255.255". It would be simpler with something like "-Dcom.sun.management.jdp.enable". > > Agent.java: 279 > Pass the UnknownHostException as the cause parameter to AgentConfigurationError. > > Agent.java: 286 > A better error message would be "Could not parse JDP port argument: "+discoveryPort > > JDPController.java: startDiscoveryService > The properties that are read here are read from System.getProperty, but the properties read in Agent.java (com.sun.management.jdp.port and com.sun.management.jdp.address) can come from either System.getProperty or the file specified with com.sun.management.config.file. Why this difference? Shouldn't all properties be specified in the same locations? "com.sun.management.jdp.name" is also read from System properties in Agent.java. > > JDPController.java: 150 > sun.java.command can be empty or null which you need to handle. > > JDPController.java: 161 > A better name for the thread could be "JDP Broadcaster". > > JDPController.java: 136 > You set the default pause time to 60 ms. Is that intentional? It seems very small. > > JDPController.java: 72 > Catching the IOException outside the while loop would simplify the code. Should we notify the user somehow if this exception happens and we shut down the broadcaster? > > JDPController.java: 169 > There are no calls to stopDiscoveryService(). Should we include code that is never called? Is it tested that it works? If we plan to add calls to it in the future, I would prefer to delay the introduction of the code until it is used. > > JDPBroadcaster.java > Don't you need to set the SO_BROADCAST option on the DatagramChannel? > > You set the IP_MULTICAST_TTL to 0 by default. According to the javadoc for DatagramChannel on IPv4: "Datagrams with a TTL of zero are not transmitted on the network but may be delivered locally." Is this intentional? > > JDPBroadcaster.java: 102 > This constructor is never used. Should we remove it? > > JDPException.java > Why is this a RuntimeException? Shouldn't it be a checked exception? > > JDPJMXPacket > The class has an equals() method but no hashCode(). > > JDPJMXPacket:172 > nit: en extra space > > JDPJMXPacket:168-170 > nit: add space after the comma > > Indentation seems flawed for all new files. > > I have not (yet) looked at the tests or the javadoc. > > There were discussions about adding the OS process identifier and the broadcast period as fields in the packets. What happened to these features? > > Thanks, > /Staffan > > > > On 3 dec 2012, at 23:35, Dmitry Samersoff wrote: > >> Hi Everybody, >> >> I hope it's a final round of JDP >> >> http://washi.ru.oracle.com/ds160299/webrev/8002048.JDP/webrev.10/ >> >> 1. Some bugs and nits fixed >> >> 2. Improved javadoc comments (generated javadoc resides in the same >> directory, all comments is much appreciated as English is not my native >> language) >> >> 3. Significantly changed tests >> >> -Dmitry >> >> -- >> Dmitry Samersoff >> Oracle Java development team, Saint Petersburg, Russia >> * Give Rabbit time, and he'll always get the answer > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From lance.andersen at oracle.com Thu Dec 6 12:52:41 2012 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Thu, 06 Dec 2012 20:52:41 +0000 Subject: hg: jdk8/tl/jdk: 8004374: CachedRowSetSwriter.writeData reports wrong number of conflicts in SyncProviderException Message-ID: <20121206205310.E808047F56@hg.openjdk.java.net> Changeset: 41a1b110f34d Author: lancea Date: 2012-12-06 15:51 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/41a1b110f34d 8004374: CachedRowSetSwriter.writeData reports wrong number of conflicts in SyncProviderException Reviewed-by: naoto ! src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java From mike.duigou at oracle.com Thu Dec 6 15:39:14 2012 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Thu, 06 Dec 2012 23:39:14 +0000 Subject: hg: jdk8/tl: 8004685: add java.util.function to CORE_PKGS.gmk Message-ID: <20121206233914.9C9E847F5F@hg.openjdk.java.net> Changeset: fb1bf5e5bc9e Author: henryjen Date: 2012-12-06 15:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/fb1bf5e5bc9e 8004685: add java.util.function to CORE_PKGS.gmk Reviewed-by: mduigou ! common/makefiles/javadoc/CORE_PKGS.gmk From john.coomes at oracle.com Thu Dec 6 20:57:47 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Dec 2012 04:57:47 +0000 Subject: hg: hsx/hotspot-rt: 6 new changesets Message-ID: <20121207045748.1BF6147FA0@hg.openjdk.java.net> Changeset: 98a7af257bee Author: erikj Date: 2012-12-03 10:26 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/98a7af257bee 8003819: build-infra: backslashes at end of LIB and INCLUDE in spec.gmk Summary: Removing trailing backslash from LIB and INCLUDE. Reviewed-by: ohrstrom, ohair ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain_windows.m4 Changeset: 754f91d22e1c Author: erikj Date: 2012-12-05 09:39 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/754f91d22e1c 8001541: Cannot build on Solaris using softlinks Summary: Fixed softlink resolver macro in configure. Reviewed-by: tbell, ohair ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: ec187d02c95e Author: erikj Date: 2012-12-05 10:12 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/ec187d02c95e 8004281: build-infra: Move all jar creation to images target and put jars in images/lib Summary: Fixed bug in setting up make dependencies in SetupArchive. Reviewed-by: ohair, tbell, dholmes ! common/makefiles/JavaCompilation.gmk Changeset: bd32ef0789ca Author: erikj Date: 2012-12-05 16:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/bd32ef0789ca 8003414: build-infra: fails on on windows Summary: Added extra check that windows sdk is valid. Reviewed-by: tbell, ohrstrom, ohair ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain_windows.m4 Changeset: 9a6ec97ec45c Author: katleman Date: 2012-12-05 12:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/9a6ec97ec45c Merge Changeset: c91c581321ce Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/c91c581321ce Added tag jdk8-b67 for changeset 9a6ec97ec45c ! .hgtags From john.coomes at oracle.com Thu Dec 6 20:57:52 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Dec 2012 04:57:52 +0000 Subject: hg: hsx/hotspot-rt/corba: Added tag jdk8-b67 for changeset 394515ad2a55 Message-ID: <20121207045754.B91F647FA1@hg.openjdk.java.net> Changeset: 82000531feaa Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/82000531feaa Added tag jdk8-b67 for changeset 394515ad2a55 ! .hgtags From john.coomes at oracle.com Thu Dec 6 20:57:59 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Dec 2012 04:57:59 +0000 Subject: hg: hsx/hotspot-rt/jaxp: Added tag jdk8-b67 for changeset 83df3493ca3c Message-ID: <20121207045808.BA7D447FA2@hg.openjdk.java.net> Changeset: b854e7008421 Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/b854e7008421 Added tag jdk8-b67 for changeset 83df3493ca3c ! .hgtags From john.coomes at oracle.com Thu Dec 6 20:58:13 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Dec 2012 04:58:13 +0000 Subject: hg: hsx/hotspot-rt/jaxws: Added tag jdk8-b67 for changeset eb06aa51dfc2 Message-ID: <20121207045818.CEFEF47FA3@hg.openjdk.java.net> Changeset: d3fe408f3a9a Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/d3fe408f3a9a Added tag jdk8-b67 for changeset eb06aa51dfc2 ! .hgtags From john.coomes at oracle.com Thu Dec 6 20:58:27 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Dec 2012 04:58:27 +0000 Subject: hg: hsx/hotspot-rt/jdk: 4 new changesets Message-ID: <20121207045954.50A5547FA4@hg.openjdk.java.net> Changeset: b0f008ab45d7 Author: twisti Date: 2012-11-30 11:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b0f008ab45d7 8001885: JSR 292 classes should use jdk.internal.org.objectweb.asm Reviewed-by: kvn, jrose, twisti Contributed-by: David Chase ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Changeset: 0fda013e4638 Author: erikj Date: 2012-12-05 10:12 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0fda013e4638 8004281: build-infra: Move all jar creation to images target and put jars in images/lib Reviewed-by: ohair, tbell, dholmes ! makefiles/CompileDemos.gmk ! makefiles/CompileJavaClasses.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk ! makefiles/Import.gmk Changeset: ce9b02a3a17e Author: katleman Date: 2012-12-05 12:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ce9b02a3a17e Merge Changeset: ea0d3a9d0d01 Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ea0d3a9d0d01 Added tag jdk8-b67 for changeset ce9b02a3a17e ! .hgtags From john.coomes at oracle.com Thu Dec 6 21:01:07 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Dec 2012 05:01:07 +0000 Subject: hg: hsx/hotspot-rt/langtools: Added tag jdk8-b67 for changeset 303b09787a69 Message-ID: <20121207050116.8F2DF47FA5@hg.openjdk.java.net> Changeset: e9a13a6c9d5d Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/e9a13a6c9d5d Added tag jdk8-b67 for changeset 303b09787a69 ! .hgtags From robert.field at oracle.com Thu Dec 6 21:57:22 2012 From: robert.field at oracle.com (robert.field at oracle.com) Date: Fri, 07 Dec 2012 05:57:22 +0000 Subject: hg: jdk8/tl/jdk: 8003881: Prevent lambda implementing inner classes from allowing the creation of new instances Message-ID: <20121207055741.6431447FA8@hg.openjdk.java.net> Changeset: 896d4af2ebfd Author: rfield Date: 2012-12-06 21:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/896d4af2ebfd 8003881: Prevent lambda implementing inner classes from allowing the creation of new instances Summary: Lambda implementing inner classes now has private constructor (thanks Kumar) Reviewed-by: ksrini ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java + test/java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java + test/java/lang/invoke/lambda/LambdaAccessControlTest.java From staffan.larsen at oracle.com Fri Dec 7 01:51:14 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 7 Dec 2012 10:51:14 +0100 Subject: RR(M): 8002048.JDP v11 In-Reply-To: <50C09468.5020305@oracle.com> References: <50BD294A.7000801@oracle.com> <50C09468.5020305@oracle.com> Message-ID: diagnosticCommand.cpp:425 Should be "jdp.ttl". On 6 dec 2012, at 13:49, Dmitry Samersoff wrote: > Staffan, > > Addressed you concerns, > > Changed test > > http://washi.ru.oracle.com/ds160299/webrev/8002048.JDP/webrev.11/ > > Could you review a CCC request? > > -Dmitry > > On 2012-12-04 19:04, Staffan Larsen wrote: >> Hi Dmitry, >> >> diagnosticCommand.cpp:414 / diagnosticCommand.hpp:238: >> Shouldn't the type of the port argument be INTEGER? Although I can't find any information on what the possible types are. >> >> Agent.java: startDiscoveryService >> Indentation seems flawed. >> >> Why is there no default values for JDP address and port? Having default values would make it much easier to use. As I understand the code you would now have to say "-Dcom.sun.management.jdp.port=4711 -Dcom.sun.management.jdp.address=172.31.255.255". It would be simpler with something like "-Dcom.sun.management.jdp.enable". >> >> Agent.java: 279 >> Pass the UnknownHostException as the cause parameter to AgentConfigurationError. >> >> Agent.java: 286 >> A better error message would be "Could not parse JDP port argument: "+discoveryPort >> >> JDPController.java: startDiscoveryService >> The properties that are read here are read from System.getProperty, but the properties read in Agent.java (com.sun.management.jdp.port and com.sun.management.jdp.address) can come from either System.getProperty or the file specified with com.sun.management.config.file. Why this difference? Shouldn't all properties be specified in the same locations? "com.sun.management.jdp.name" is also read from System properties in Agent.java. >> >> JDPController.java: 150 >> sun.java.command can be empty or null which you need to handle. >> >> JDPController.java: 161 >> A better name for the thread could be "JDP Broadcaster". >> >> JDPController.java: 136 >> You set the default pause time to 60 ms. Is that intentional? It seems very small. >> >> JDPController.java: 72 >> Catching the IOException outside the while loop would simplify the code. Should we notify the user somehow if this exception happens and we shut down the broadcaster? >> >> JDPController.java: 169 >> There are no calls to stopDiscoveryService(). Should we include code that is never called? Is it tested that it works? If we plan to add calls to it in the future, I would prefer to delay the introduction of the code until it is used. >> >> JDPBroadcaster.java >> Don't you need to set the SO_BROADCAST option on the DatagramChannel? >> >> You set the IP_MULTICAST_TTL to 0 by default. According to the javadoc for DatagramChannel on IPv4: "Datagrams with a TTL of zero are not transmitted on the network but may be delivered locally." Is this intentional? >> >> JDPBroadcaster.java: 102 >> This constructor is never used. Should we remove it? >> >> JDPException.java >> Why is this a RuntimeException? Shouldn't it be a checked exception? >> >> JDPJMXPacket >> The class has an equals() method but no hashCode(). >> >> JDPJMXPacket:172 >> nit: en extra space >> >> JDPJMXPacket:168-170 >> nit: add space after the comma >> >> Indentation seems flawed for all new files. >> >> I have not (yet) looked at the tests or the javadoc. >> >> There were discussions about adding the OS process identifier and the broadcast period as fields in the packets. What happened to these features? >> >> Thanks, >> /Staffan >> >> >> >> On 3 dec 2012, at 23:35, Dmitry Samersoff wrote: >> >>> Hi Everybody, >>> >>> I hope it's a final round of JDP >>> >>> http://washi.ru.oracle.com/ds160299/webrev/8002048.JDP/webrev.10/ >>> >>> 1. Some bugs and nits fixed >>> >>> 2. Improved javadoc comments (generated javadoc resides in the same >>> directory, all comments is much appreciated as English is not my native >>> language) >>> >>> 3. Significantly changed tests >>> >>> -Dmitry >>> >>> -- >>> Dmitry Samersoff >>> Oracle Java development team, Saint Petersburg, Russia >>> * Give Rabbit time, and he'll always get the answer >> > > > -- > Dmitry Samersoff > Oracle Java development team, Saint Petersburg, Russia > * Give Rabbit time, and he'll always get the answer From alejandro.murillo at oracle.com Fri Dec 7 15:28:26 2012 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 07 Dec 2012 23:28:26 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 22 new changesets Message-ID: <20121207232909.B45ED47FCC@hg.openjdk.java.net> Changeset: 10587a580c51 Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/10587a580c51 Added tag jdk8-b67 for changeset 25bdce771bb3 ! .hgtags Changeset: 7cc69864a29b Author: kvn Date: 2012-11-16 15:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/7cc69864a29b 7146636: compiler/6865265/StackOverflowBug.java fails due to changed stack minimum Summary: Increase the stack size in the run parameters. Reviewed-by: kvn Contributed-by: david.r.chase at oracle.com ! test/compiler/6865265/StackOverflowBug.java Changeset: ee32440febeb Author: vlivanov Date: 2012-11-21 05:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ee32440febeb 8001538: hs_err file does not list anymore compiled methods in compilation events Summary: Fixed message buffer size calculation. Reviewed-by: kvn, twisti ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/utilities/events.hpp Changeset: beebba0acc11 Author: twisti Date: 2012-11-26 17:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/beebba0acc11 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop() Reviewed-by: kvn, jrose ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciSignature.hpp ! src/share/vm/interpreter/bytecodes.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/opto/type.hpp Changeset: 2cd5e15048e6 Author: twisti Date: 2012-11-27 12:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2cd5e15048e6 8003868: fix shark for latest HotSpot and LLVM Reviewed-by: twisti Contributed-by: Roman Kennke ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/assembler_zero.hpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/globals_zero.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/shark/llvmHeaders.hpp ! src/share/vm/shark/llvmValue.hpp ! src/share/vm/shark/sharkBlock.cpp ! src/share/vm/shark/sharkBuilder.cpp ! src/share/vm/shark/sharkBuilder.hpp ! src/share/vm/shark/sharkCacheDecache.cpp ! src/share/vm/shark/sharkCacheDecache.hpp ! src/share/vm/shark/sharkCodeBuffer.hpp ! src/share/vm/shark/sharkCompiler.cpp ! src/share/vm/shark/sharkConstant.cpp ! src/share/vm/shark/sharkContext.cpp ! src/share/vm/shark/sharkContext.hpp ! src/share/vm/shark/sharkFunction.hpp ! src/share/vm/shark/sharkIntrinsics.cpp ! src/share/vm/shark/sharkMemoryManager.cpp ! src/share/vm/shark/sharkMemoryManager.hpp ! src/share/vm/shark/sharkNativeWrapper.cpp ! src/share/vm/shark/sharkStack.cpp ! src/share/vm/shark/sharkStack.hpp ! src/share/vm/shark/sharkState.cpp ! src/share/vm/shark/sharkTopLevelBlock.cpp ! src/share/vm/shark/sharkTopLevelBlock.hpp ! src/share/vm/shark/sharkType.hpp ! src/share/vm/shark/sharkValue.cpp ! src/share/vm/shark/shark_globals.hpp Changeset: 2aff40cb4703 Author: bharadwaj Date: 2012-11-27 17:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2aff40cb4703 7092905: C2: Keep track of the number of dead nodes Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes. Reviewed-by: kvn, twisti, jrose, vlivanov ! src/share/tools/LogCompilation/README ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Phase.java ! src/share/vm/opto/block.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopUnswitch.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/stringopts.cpp Changeset: 1acccb7c0b01 Author: kvn Date: 2012-11-27 17:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1acccb7c0b01 8003850: add support for constants in stub code Summary: remember the code section and switch back to the proper one when adding constants. Reviewed-by: twisti, kvn Contributed-by: goetz.lindenmaier at sap.com ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp Changeset: 6ab62ad83507 Author: twisti Date: 2012-11-30 11:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/6ab62ad83507 8003195: AbstractAssembler should not store code pointers but use the CodeSection directly Reviewed-by: twisti, kvn Contributed-by: Bharadwaj Yadavalli ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/assembler_x86.inline.hpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/assembler.inline.hpp ! src/share/vm/asm/codeBuffer.hpp Changeset: cd3d6a6b95d9 Author: twisti Date: 2012-11-30 15:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/cd3d6a6b95d9 8003240: x86: move MacroAssembler into separate file Reviewed-by: kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/codeBuffer_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/assembler_x86.inline.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/icBuffer_x86.cpp ! src/cpu/x86/vm/icache_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interp_masm_x86_64.hpp ! src/cpu/x86/vm/interpreter_x86_32.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp ! src/cpu/x86/vm/jniFastGetField_x86_32.cpp ! src/cpu/x86/vm/jniFastGetField_x86_64.cpp + src/cpu/x86/vm/macroAssembler_x86.cpp + src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/metaspaceShared_x86_32.cpp ! src/cpu/x86/vm/metaspaceShared_x86_64.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.cpp ! src/cpu/x86/vm/relocInfo_x86.cpp ! src/cpu/x86/vm/runtime_x86_32.cpp ! src/cpu/x86/vm/runtime_x86_64.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/os/bsd/vm/osThread_bsd.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/linux/vm/osThread_linux.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.inline.hpp ! src/os/solaris/vm/osThread_solaris.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.inline.hpp ! src/os/windows/vm/osThread_windows.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.inline.hpp ! src/os_cpu/bsd_x86/vm/assembler_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/assembler_linux_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/assembler.inline.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp + src/share/vm/asm/macroAssembler.hpp + src/share/vm/asm/macroAssembler.inline.hpp ! src/share/vm/c1/c1_MacroAssembler.hpp ! src/share/vm/code/icBuffer.cpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp + src/share/vm/runtime/atomic.inline.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/stubCodeGenerator.cpp Changeset: dd38cfd12c3a Author: twisti Date: 2012-12-03 15:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/dd38cfd12c3a 8004319: test/gc/7168848/HumongousAlloc.java fails after 7172640 Reviewed-by: kvn, johnc ! src/share/vm/opto/library_call.cpp Changeset: c5d414e98fd4 Author: neliasso Date: 2012-11-26 15:11 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c5d414e98fd4 8003983: LogCompilation tool is broken since c1 support Summary: Fixed emitting and parsing Reviewed-by: jrose, kvn ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/vm/c1/c1_Compilation.cpp Changeset: b7ff5879152e Author: neliasso Date: 2012-12-06 09:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b7ff5879152e 8003934: Fix generation of malformed options to Projectcreator Summary: Makefile produces unmatched quotes due to nmake bug Reviewed-by: jwilhelm, brutisso ! make/windows/projectfiles/common/Makefile Changeset: 228a94f37a67 Author: neliasso Date: 2012-12-06 14:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/228a94f37a67 Merge Changeset: f0c2369fda5a Author: twisti Date: 2012-12-06 09:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f0c2369fda5a 8003250: SPARC: move MacroAssembler into separate file Reviewed-by: jrose, kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/sparc/vm/icBuffer_sparc.cpp ! src/cpu/sparc/vm/icache_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.hpp ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/sparc/vm/jniFastGetField_sparc.cpp + src/cpu/sparc/vm/macroAssembler_sparc.cpp + src/cpu/sparc/vm/macroAssembler_sparc.hpp + src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/cpu/sparc/vm/metaspaceShared_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/relocInfo_sparc.cpp ! src/cpu/sparc/vm/runtime_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vmreg_sparc.cpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/assembler_zero.hpp ! src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/share/vm/adlc/main.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp ! src/share/vm/asm/register.hpp ! src/share/vm/code/vmreg.hpp Changeset: 522662fa9c16 Author: twisti Date: 2012-12-06 11:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/522662fa9c16 Merge Changeset: d2f8c38e543d Author: roland Date: 2012-12-07 01:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d2f8c38e543d Merge ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.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/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/thread.cpp Changeset: 0f80645e9c26 Author: johnc Date: 2012-11-30 11:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/0f80645e9c26 8004170: G1: Verbose GC output is not getting flushed to log file using JDK 8 Summary: Add flushes to G1CollectedHeap::log_gc_footer() and TraceCPUTime destructor. Reviewed-by: jwilhelm, azeemj, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/runtime/timer.cpp Changeset: eade6b2e4782 Author: jmasa Date: 2012-11-29 10:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/eade6b2e4782 8003554: NPG: move Metablock and Metachunk code out of metaspace.cpp Reviewed-by: coleenp + src/share/vm/memory/metablock.cpp + src/share/vm/memory/metachunk.cpp ! src/share/vm/memory/metaspace.cpp Changeset: cbe736bc70fa Author: jwilhelm Date: 2012-12-07 07:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/cbe736bc70fa Merge Changeset: a35a72dd2e12 Author: amurillo Date: 2012-12-07 10:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a35a72dd2e12 Merge Changeset: 121aa71316af Author: amurillo Date: 2012-12-07 10:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/121aa71316af Added tag hs25-b12 for changeset a35a72dd2e12 ! .hgtags Changeset: 4a2ed49abd51 Author: amurillo Date: 2012-12-07 10:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4a2ed49abd51 8004724: new hotspot build - hs25-b13 Reviewed-by: jcoomes ! make/hotspot_version From kumar.x.srinivasan at oracle.com Sun Dec 9 09:17:55 2012 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sun, 09 Dec 2012 17:17:55 +0000 Subject: hg: jdk8/tl/jdk: 8004042: Arrrghs.java test failed on windows with access error. Message-ID: <20121209171842.20CC747FF6@hg.openjdk.java.net> Changeset: da387f0cecb7 Author: ksrini Date: 2012-12-09 07:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/da387f0cecb7 8004042: Arrrghs.java test failed on windows with access error. Reviewed-by: smarks, jjh, ksrini Contributed-by: david.dehaven at oracle.com ! test/tools/launcher/Arrrghs.java ! test/tools/launcher/TestHelper.java From alan.bateman at oracle.com Sun Dec 9 11:13:03 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sun, 09 Dec 2012 19:13:03 +0000 Subject: hg: jdk8/tl/jdk: 7194370: (fs) WatchService fails if volume S/N is 0 [win] Message-ID: <20121209191314.ADFA647FF9@hg.openjdk.java.net> Changeset: 343615aa0539 Author: dxu Date: 2012-12-09 19:13 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/343615aa0539 7194370: (fs) WatchService fails if volume S/N is 0 [win] Reviewed-by: alanb, forax ! src/windows/classes/sun/nio/fs/WindowsFileAttributes.java From masayoshi.okutsu at oracle.com Sun Dec 9 18:01:06 2012 From: masayoshi.okutsu at oracle.com (masayoshi.okutsu at oracle.com) Date: Mon, 10 Dec 2012 02:01:06 +0000 Subject: hg: jdk8/tl/jdk: 8000983: Support narrow display names for calendar fields; ... Message-ID: <20121210020127.5EB7747FFC@hg.openjdk.java.net> Changeset: fda257689786 Author: okutsu Date: 2012-12-10 10:52 +0900 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fda257689786 8000983: Support narrow display names for calendar fields 8003267: Support generic time zone names in TimeZoneNameProvider (SPI) Reviewed-by: naoto ! make/tools/src/build/tools/cldrconverter/Bundle.java ! make/tools/src/build/tools/cldrconverter/BundleGenerator.java ! make/tools/src/build/tools/cldrconverter/CLDRConverter.java ! make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java ! make/tools/src/build/tools/cldrconverter/MetaZonesParseHandler.java ! make/tools/src/build/tools/cldrconverter/ResourceBundleGenerator.java ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/text/SimpleDateFormat.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/JapaneseImperialCalendar.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/java/util/spi/CalendarNameProvider.java ! src/share/classes/java/util/spi/TimeZoneNameProvider.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/be/FormatData_be.java ! src/share/classes/sun/text/resources/bg/FormatData_bg.java ! src/share/classes/sun/text/resources/ca/FormatData_ca.java ! src/share/classes/sun/text/resources/cs/FormatData_cs.java ! src/share/classes/sun/text/resources/da/FormatData_da.java ! src/share/classes/sun/text/resources/de/FormatData_de.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/es/FormatData_es.java ! src/share/classes/sun/text/resources/et/FormatData_et.java ! src/share/classes/sun/text/resources/fi/FormatData_fi.java ! src/share/classes/sun/text/resources/fr/FormatData_fr.java ! src/share/classes/sun/text/resources/hi/FormatData_hi_IN.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/hu/FormatData_hu.java ! src/share/classes/sun/text/resources/is/FormatData_is.java ! src/share/classes/sun/text/resources/it/FormatData_it.java ! src/share/classes/sun/text/resources/iw/FormatData_iw.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/lt/FormatData_lt.java ! src/share/classes/sun/text/resources/lv/FormatData_lv.java ! src/share/classes/sun/text/resources/mk/FormatData_mk.java ! src/share/classes/sun/text/resources/ms/FormatData_ms.java ! src/share/classes/sun/text/resources/mt/FormatData_mt.java ! src/share/classes/sun/text/resources/nl/FormatData_nl.java ! src/share/classes/sun/text/resources/pl/FormatData_pl.java ! src/share/classes/sun/text/resources/pt/FormatData_pt.java ! src/share/classes/sun/text/resources/ro/FormatData_ro.java ! src/share/classes/sun/text/resources/ru/FormatData_ru.java ! src/share/classes/sun/text/resources/sk/FormatData_sk.java ! src/share/classes/sun/text/resources/sl/FormatData_sl.java ! src/share/classes/sun/text/resources/sq/FormatData_sq.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/th/FormatData_th.java ! src/share/classes/sun/text/resources/tr/FormatData_tr.java ! src/share/classes/sun/text/resources/uk/FormatData_uk.java ! src/share/classes/sun/text/resources/vi/FormatData_vi.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java ! src/share/classes/sun/util/locale/provider/SPILocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java ! src/share/classes/sun/util/resources/LocaleData.java ! src/share/classes/sun/util/resources/OpenListResourceBundle.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNamesBundle.java + test/java/util/Calendar/GenericTimeZoneNamesTest.java + test/java/util/Calendar/GenericTimeZoneNamesTest.sh + test/java/util/Calendar/NarrowNamesTest.java + test/java/util/Calendar/NarrowNamesTest.sh ! test/java/util/PluggableLocale/GenericTest.java ! test/java/util/PluggableLocale/TimeZoneNameProviderTest.java ! test/java/util/PluggableLocale/TimeZoneNameProviderTest.sh ! test/java/util/PluggableLocale/barprovider.jar + test/java/util/PluggableLocale/providersrc/GenericTimeZoneNameProviderImpl.java ! test/java/util/PluggableLocale/providersrc/Makefile ! test/java/util/PluggableLocale/providersrc/java.util.spi.TimeZoneNameProvider ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java From maurizio.cimadamore at oracle.com Mon Dec 10 04:31:47 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Dec 2012 12:31:47 +0000 Subject: hg: jdk8/tl/langtools: 8004094: Javac compiler error - synthetic method accessor generated with duplicate name Message-ID: <20121210123154.906744700B@hg.openjdk.java.net> Changeset: c78acf6c2f3e Author: mcimadamore Date: 2012-12-10 12:10 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/c78acf6c2f3e 8004094: Javac compiler error - synthetic method accessor generated with duplicate name Summary: method clash check logic should skip methods marked with ACC_SYNTHETIC Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/8004094/B.java + test/tools/javac/generics/8004094/T8004094.java From michael.x.mcmahon at oracle.com Mon Dec 10 07:06:03 2012 From: michael.x.mcmahon at oracle.com (michael.x.mcmahon at oracle.com) Date: Mon, 10 Dec 2012 15:06:03 +0000 Subject: hg: jdk8/tl/jdk: 8003948: NTLM/Negotiate authentication problem Message-ID: <20121210150632.D753A47015@hg.openjdk.java.net> Changeset: fda2b2b5b98b Author: michaelm Date: 2012-12-10 14:56 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fda2b2b5b98b 8003948: NTLM/Negotiate authentication problem Reviewed-by: chegar, weijun ! src/share/classes/sun/net/www/MessageHeader.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/MessageHeaderTest.java From mikael.vidstedt at oracle.com Mon Dec 10 13:01:28 2012 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Mon, 10 Dec 2012 13:01:28 -0800 Subject: RFR (S): 8004747: Remove last_entry from VM_STRUCT macros Message-ID: <50C64DA8.7020700@oracle.com> Please review the following change: Webrev: http://cr.openjdk.java.net/~mikael/8004747/webrev.00/ Background: This patch does 3 things (depending on how you count it): 1. Move the call to generating the last entry for the VM structures database The vmStructs functionality is a macro based way of creating a database of information about VM internal structures, types and constants. The database for structures is defined in runtime/vmStructs.cpp in an array called localHotSpotVMStructs. The content of the array is generated with calls to a few different macros (VM_STRUCTS, VM_STRUCTS_PARALLELGC, VM_STRUCTS_CMS, VM_STRUCTS_G1, VM_STRUCTS_CPU and VM_STRUCTS_OS_CPU respectively). Common for all these macros is the fact that the last argument passed in is another macro (GENERATE_VM_STRUCT_LAST_ENTRY) which is a generator for the end marker/last entry in the database; a special entry which can be easily located by an external consumer of the information. Even though the end marker generator macro (GENERATE_VM_STRUCT_LAST_ENTRY) is passed to all the VM_STRUCT* macros, the actual end marker must be generated once and only once. The way this is currently handled is that only the last VM_STRUCT macro, which happens to be VM_STRUCTS_OS_CPU, actually makes use of its last argument and adds it to the end of the array. Not only is this fairly complex to understand, it's also more fragile than it needs to be. This change removes the last argument for all the VM_STRUCT macros and instead explicitly inserts the end marker at the end of the localHotSpotVMStructs array. The same VM_STRUCTS macros are being used in VMStructs::init to do type checking. Instead of passing the end marker generator into the macros the last parameter is instead CHECK_SENTINEL, which is defined to expand to nothing, which means it can be safely removed. 2. Move the end marker generating for the VM types, VM int constants and VM long constants databases Repeat the exact above story, but replace anything called Structs/STRUCT with Types/TYPES, IntConstants/INT_CONSTANTS and LongConstants/LONG_CONSTANTS respectively. 3. Minor prettification In addition to the above the change also removes some superfluous backslashes from a few of the VM_STRUCT* macro calls. Thanks, Mikael From mandy.chung at oracle.com Mon Dec 10 15:17:53 2012 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 10 Dec 2012 23:17:53 +0000 Subject: hg: jdk8/tl/jdk: 4819681: Typo in http://java.sun.com/j2se/1.4.1/docs/api/java/util/logging/LogManager.html Message-ID: <20121210231812.B49ED47020@hg.openjdk.java.net> Changeset: cac1bfaceaaa Author: mchung Date: 2012-12-10 15:15 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cac1bfaceaaa 4819681: Typo in http://java.sun.com/j2se/1.4.1/docs/api/java/util/logging/LogManager.html Summary: Simple capitalization typo in LogManager() description Reviewed-by: darcy, mchung ! src/share/classes/java/util/logging/LogManager.java From luchsh at linux.vnet.ibm.com Mon Dec 10 18:42:58 2012 From: luchsh at linux.vnet.ibm.com (luchsh at linux.vnet.ibm.com) Date: Tue, 11 Dec 2012 02:42:58 +0000 Subject: hg: jdk8/tl/jdk: 6512101: Incorrect encoding in NetworkInterface.getDisplayName() Message-ID: <20121211024324.4C83147036@hg.openjdk.java.net> Changeset: 883feced1cdd Author: dingxmin Date: 2012-12-11 10:42 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/883feced1cdd 6512101: Incorrect encoding in NetworkInterface.getDisplayName() Reviewed-by: chegar, dsamersoff ! src/windows/native/java/net/NetworkInterface.c From weijun.wang at oracle.com Mon Dec 10 21:15:30 2012 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Tue, 11 Dec 2012 05:15:30 +0000 Subject: hg: jdk8/tl/jdk: 8004488: wrong permissions checked in krb5 Message-ID: <20121211051541.92D194703D@hg.openjdk.java.net> Changeset: d206e52bf8a6 Author: weijun Date: 2012-12-11 13:14 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d206e52bf8a6 8004488: wrong permissions checked in krb5 Reviewed-by: xuelei ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java + test/sun/security/krb5/auto/KeyPermissions.java ! test/sun/security/krb5/auto/KeyTabCompat.java From jonathan.gibbons at oracle.com Tue Dec 11 08:28:33 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 11 Dec 2012 16:28:33 +0000 Subject: hg: jdk8/tl/langtools: 8003967: detect and remove all mutable implicit static enum fields in langtools Message-ID: <20121211162835.DAC7347067@hg.openjdk.java.net> Changeset: fcf89720ae71 Author: vromero Date: 2012-12-10 16:21 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/fcf89720ae71 8003967: detect and remove all mutable implicit static enum fields in langtools Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/Opcode.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFileFactory.java ! src/share/classes/com/sun/tools/javac/Server.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/TypeTag.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/ConstFold.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/util/BaseFileManager.java ! src/share/classes/com/sun/tools/javac/util/List.java ! src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javah/JavahTask.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/javax/lang/model/element/Modifier.java ! src/share/classes/javax/lang/model/util/ElementFilter.java ! src/share/classes/javax/tools/StandardLocation.java + test/tools/javac/T8003967/DetectMutableStaticFields.java From jonathan.gibbons at oracle.com Tue Dec 11 15:05:56 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 11 Dec 2012 23:05:56 +0000 Subject: hg: jdk8/tl/langtools: 8004828: refactor init of *DocImpl classes Message-ID: <20121211230601.6FED947097@hg.openjdk.java.net> Changeset: cfde9737131e Author: jjg Date: 2012-12-11 15:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/cfde9737131e 8004828: refactor init of *DocImpl classes Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java ! src/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/DocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java ! src/share/classes/com/sun/tools/javadoc/JavadocEnter.java ! src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java ! src/share/classes/com/sun/tools/javadoc/MemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java From mike.duigou at oracle.com Tue Dec 11 15:49:54 2012 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 11 Dec 2012 23:49:54 +0000 Subject: hg: jdk8/tl/jdk: 8003246: Add InitialValue Supplier to ThreadLocal Message-ID: <20121211235017.14A764709A@hg.openjdk.java.net> Changeset: c4bd81de2868 Author: akhil Date: 2012-12-11 15:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c4bd81de2868 8003246: Add InitialValue Supplier to ThreadLocal Reviewed-by: mduigou, forax, dl, chegar, briangoetz ! src/share/classes/java/lang/ThreadLocal.java + test/java/lang/ThreadLocal/ThreadLocalSupplierTest.java From david.holmes at oracle.com Tue Dec 11 20:16:17 2012 From: david.holmes at oracle.com (David Holmes) Date: Wed, 12 Dec 2012 14:16:17 +1000 Subject: RFR (S): 8004747: Remove last_entry from VM_STRUCT macros In-Reply-To: <50C64DA8.7020700@oracle.com> References: <50C64DA8.7020700@oracle.com> Message-ID: <50C80511.6000900@oracle.com> Hi Mikael, This looks okay to me - I like the simplification. However as I don't perform mental macro substitution particularly well (okay, not at all ;-)) I was wondering if there was a simple validation test where we could compare the pre-processed output before and after? Thanks, David On 11/12/2012 7:01 AM, Mikael Vidstedt wrote: > > Please review the following change: > > Webrev: http://cr.openjdk.java.net/~mikael/8004747/webrev.00/ > > Background: > > This patch does 3 things (depending on how you count it): > > 1. Move the call to generating the last entry for the VM structures > database > > The vmStructs functionality is a macro based way of creating a database > of information about VM internal structures, types and constants. > > The database for structures is defined in runtime/vmStructs.cpp in an > array called localHotSpotVMStructs. The content of the array is > generated with calls to a few different macros (VM_STRUCTS, > VM_STRUCTS_PARALLELGC, VM_STRUCTS_CMS, VM_STRUCTS_G1, VM_STRUCTS_CPU and > VM_STRUCTS_OS_CPU respectively). Common for all these macros is the fact > that the last argument passed in is another macro > (GENERATE_VM_STRUCT_LAST_ENTRY) which is a generator for the end > marker/last entry in the database; a special entry which can be easily > located by an external consumer of the information. > > Even though the end marker generator macro > (GENERATE_VM_STRUCT_LAST_ENTRY) is passed to all the VM_STRUCT* macros, > the actual end marker must be generated once and only once. The way this > is currently handled is that only the last VM_STRUCT macro, which > happens to be VM_STRUCTS_OS_CPU, actually makes use of its last argument > and adds it to the end of the array. > > Not only is this fairly complex to understand, it's also more fragile > than it needs to be. > > This change removes the last argument for all the VM_STRUCT macros and > instead explicitly inserts the end marker at the end of the > localHotSpotVMStructs array. > > The same VM_STRUCTS macros are being used in VMStructs::init to do type > checking. Instead of passing the end marker generator into the macros > the last parameter is instead CHECK_SENTINEL, which is defined to expand > to nothing, which means it can be safely removed. > > 2. Move the end marker generating for the VM types, VM int constants and > VM long constants databases > > Repeat the exact above story, but replace anything called Structs/STRUCT > with Types/TYPES, IntConstants/INT_CONSTANTS and > LongConstants/LONG_CONSTANTS respectively. > > 3. Minor prettification > > In addition to the above the change also removes some superfluous > backslashes from a few of the VM_STRUCT* macro calls. > > Thanks, > Mikael > From mike.duigou at oracle.com Tue Dec 11 20:50:55 2012 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Wed, 12 Dec 2012 04:50:55 +0000 Subject: hg: jdk8/tl/jdk: 8004905: Correct license of test to remove classpath exception Message-ID: <20121212045118.9651C470AE@hg.openjdk.java.net> Changeset: 6c795437f212 Author: mduigou Date: 2012-12-11 20:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6c795437f212 8004905: Correct license of test to remove classpath exception Reviewed-by: akhil ! test/java/lang/ThreadLocal/ThreadLocalSupplierTest.java From weijun.wang at oracle.com Wed Dec 12 02:41:08 2012 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Wed, 12 Dec 2012 10:41:08 +0000 Subject: hg: jdk8/tl/jdk: 8004904: Makefile for ntlm Message-ID: <20121212104501.70F4F470BB@hg.openjdk.java.net> Changeset: 12fba0974a9d Author: weijun Date: 2012-12-12 18:39 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/12fba0974a9d 8004904: Makefile for ntlm Reviewed-by: erikj, chegar ! make/com/sun/security/Makefile + make/com/sun/security/ntlm/Makefile From chris.hegarty at oracle.com Wed Dec 12 03:36:21 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 12 Dec 2012 11:36:21 +0000 Subject: hg: jdk8/tl/jdk: 8004921: Trivial javadoc warnings in Base64 Message-ID: <20121212113645.3471B470BD@hg.openjdk.java.net> Changeset: 806cf26e5063 Author: chegar Date: 2012-12-12 11:35 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/806cf26e5063 8004921: Trivial javadoc warnings in Base64 Reviewed-by: darcy ! src/share/classes/java/util/Base64.java From alan.bateman at oracle.com Wed Dec 12 05:06:39 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 12 Dec 2012 13:06:39 +0000 Subject: hg: jdk8/tl/jdk: 8004874: Reduce dependency on java.beans to only add/removePropertyChangeListener Message-ID: <20121212130702.533D2470BE@hg.openjdk.java.net> Changeset: 81640e75c7a7 Author: alanb Date: 2012-12-12 13:03 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/81640e75c7a7 8004874: Reduce dependency on java.beans to only add/removePropertyChangeListener Reviewed-by: ksrini, mchung, dholmes ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/java/util/logging/LogManager.java From sean.mullan at oracle.com Wed Dec 12 06:48:39 2012 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Wed, 12 Dec 2012 14:48:39 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20121212144946.95267470C0@hg.openjdk.java.net> Changeset: 346c0af4af41 Author: mullan Date: 2012-12-12 09:25 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/346c0af4af41 8004064: Downgrade normative references to ${java.home}/lib/security/java.security Reviewed-by: alanb, vinnie, xuelei ! src/share/classes/com/sun/net/ssl/KeyManagerFactory.java ! src/share/classes/com/sun/net/ssl/TrustManagerFactory.java ! src/share/classes/com/sun/security/auth/PolicyFile.java ! src/share/classes/com/sun/security/auth/login/ConfigFile.java ! src/share/classes/java/net/doc-files/net-properties.html ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/Policy.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/cert/CertPathBuilder.java ! src/share/classes/java/security/cert/CertPathValidator.java ! src/share/classes/java/security/cert/CertStore.java ! src/share/classes/javax/net/ssl/KeyManagerFactory.java ! src/share/classes/javax/net/ssl/TrustManagerFactory.java ! src/share/classes/javax/security/auth/Policy.java ! src/share/classes/javax/security/auth/callback/CallbackHandler.java ! src/share/classes/javax/security/auth/login/Configuration.java ! src/share/classes/javax/security/auth/login/LoginContext.java ! src/share/classes/javax/security/cert/X509Certificate.java Changeset: c7f86908d5fd Author: mullan Date: 2012-12-12 09:27 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c7f86908d5fd Merge - src/share/lib/security/java.security From rob.mckenna at oracle.com Wed Dec 12 07:53:52 2012 From: rob.mckenna at oracle.com (rob.mckenna at oracle.com) Date: Wed, 12 Dec 2012 15:53:52 +0000 Subject: hg: jdk8/tl/jdk: 8004337: java/sql tests aren't run in test/Makefile Message-ID: <20121212155414.29B01470C5@hg.openjdk.java.net> Changeset: 68374c6e65c1 Author: robm Date: 2012-12-12 15:57 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/68374c6e65c1 8004337: java/sql tests aren't run in test/Makefile Reviewed-by: lancea, alanb ! test/Makefile From stuart.marks at oracle.com Wed Dec 12 10:16:18 2012 From: stuart.marks at oracle.com (stuart.marks at oracle.com) Date: Wed, 12 Dec 2012 18:16:18 +0000 Subject: hg: jdk8/tl/jdk: 8004748: clean up @build tags in RMI tests Message-ID: <20121212181630.EDE2E470CD@hg.openjdk.java.net> Changeset: bd84d0927a2e Author: smarks Date: 2012-12-12 09:53 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bd84d0927a2e 8004748: clean up @build tags in RMI tests Reviewed-by: alanb, darcy, mchung ! test/java/rmi/MarshalledObject/compare/Compare.java ! test/java/rmi/MarshalledObject/compare/HashCode.java ! test/java/rmi/MarshalledObject/compare/NullReference.java ! test/java/rmi/Naming/DefaultRegistryPort.java ! test/java/rmi/Naming/LookupIPv6.java ! test/java/rmi/Naming/RmiIsNoScheme.java ! test/java/rmi/Naming/UnderscoreHost.java ! test/java/rmi/Naming/legalRegistryNames/LegalRegistryNames.java ! test/java/rmi/RMISecurityManager/checkPackageAccess/CheckPackageAccess.java ! test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java ! test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java ! test/java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java ! test/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java ! test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java ! test/java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java ! test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java ! test/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java ! test/java/rmi/activation/Activatable/lookupActivationSystem/LookupActivationSystem.java ! test/java/rmi/activation/Activatable/nestedActivate/NestedActivate.java ! test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java ! test/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java ! test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java ! test/java/rmi/activation/Activatable/restartService/RestartService.java ! test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java ! test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java ! test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java ! test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java ! test/java/rmi/activation/CommandEnvironment/NullOptions.java ! test/java/rmi/activation/CommandEnvironment/SetChildEnv.java ! test/java/rmi/activation/checkusage/CheckUsage.java ! test/java/rmi/activation/log/LogTest.java ! test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java ! test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java ! test/java/rmi/dgc/VMID/CheckVMID.java ! test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java ! test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java ! test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java ! test/java/rmi/invalidName/InvalidName.java ! test/java/rmi/registry/altSecurityManager/AltSecurityManager.java ! test/java/rmi/registry/checkusage/CheckUsage.java ! test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java ! test/java/rmi/registry/interfaceHash/InterfaceHash.java ! test/java/rmi/registry/multipleRegistries/MultipleRegistries.java ! test/java/rmi/registry/readTest/readTest.sh ! test/java/rmi/registry/reexport/Reexport.java ! test/java/rmi/reliability/benchmark/runRmiBench.sh ! test/java/rmi/reliability/benchmark/runSerialBench.sh ! test/java/rmi/reliability/juicer/AppleUserImpl.java ! test/java/rmi/server/ObjID/randomIDs/RandomIDs.java ! test/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java ! test/java/rmi/server/RMIClassLoader/delegateToContextLoader/DelegateToContextLoader.java ! test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java ! test/java/rmi/server/RMIClassLoader/getClassAnnotation/NullClass.java ! test/java/rmi/server/RMIClassLoader/getClassLoader/GetClassLoader.java ! test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java ! test/java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java ! test/java/rmi/server/RMIClassLoader/spi/ContextInsulation.java ! test/java/rmi/server/RMIClassLoader/spi/DefaultProperty.java ! test/java/rmi/server/RMIClassLoader/spi/Installed.java ! test/java/rmi/server/RMIClassLoader/spi/InvalidProperty.java ! test/java/rmi/server/RMIClassLoader/spi/Property.java ! test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly.java ! test/java/rmi/server/RMIClassLoader/useGetURLs/UseGetURLs.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java ! test/java/rmi/server/RemoteObject/notExtending/NotExtending.java ! test/java/rmi/server/RemoteObject/verifyRemoteEquals/VerifyRemoteEquals.java ! test/java/rmi/server/RemoteServer/AddrInUse.java ! test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java ! test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java ! test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java ! test/java/rmi/server/Unmarshal/PrimitiveClasses.java + test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshal.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java ! test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java ! test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java ! test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java ! test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java ! test/java/rmi/server/clientStackTrace/ClientStackTrace.java ! test/java/rmi/server/getRemoteClass/GetRemoteClass.java ! test/java/rmi/server/serverStackTrace/ServerStackTrace.java ! test/java/rmi/server/serverStackTrace/SuppressStackTraces.java ! test/java/rmi/server/useCustomRef/UseCustomRef.java ! test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java ! test/java/rmi/transport/closeServerSocket/CloseServerSocket.java ! test/java/rmi/transport/dgcDeadLock/DGCDeadLock.java ! test/java/rmi/transport/handshakeFailure/HandshakeFailure.java ! test/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java ! test/java/rmi/transport/httpSocket/HttpSocketTest.java ! test/java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java ! test/java/rmi/transport/readTimeout/ReadTimeoutTest.java ! test/java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java ! test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java ! test/javax/rmi/ssl/SocketFactoryTest.java ! test/sun/rmi/log/ReliableLog/LogAlignmentTest.java ! test/sun/rmi/log/ReliableLog/SnapshotSize.java ! test/sun/rmi/rmic/RMIGenerator/RmicDefault.java ! test/sun/rmi/rmic/newrmic/equivalence/run.sh ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java ! test/sun/rmi/runtime/Log/checkLogging/CheckLogStreams.java ! test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java ! test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java ! test/sun/rmi/transport/proxy/EagerHttpFallback.java ! test/sun/rmi/transport/tcp/DeadCachedConnection.java ! test/sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java ! test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java From jonathan.gibbons at oracle.com Wed Dec 12 14:42:06 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 12 Dec 2012 22:42:06 +0000 Subject: hg: jdk8/tl/langtools: 8004504: ListBuffer could reuse List.nil() as the sentinel element Message-ID: <20121212224208.B5808470ED@hg.openjdk.java.net> Changeset: 170e486632d9 Author: jlahoda Date: 2012-12-12 20:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/170e486632d9 8004504: ListBuffer could reuse List.nil() as the sentinel element Summary: ListBuffer.last now points to the last elements with client data, or null if none. Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/util/ListBuffer.java + test/tools/javac/util/list/ListBufferTest.java From stuart.marks at oracle.com Wed Dec 12 15:36:13 2012 From: stuart.marks at oracle.com (stuart.marks at oracle.com) Date: Wed, 12 Dec 2012 23:36:13 +0000 Subject: hg: jdk8/tl/jdk: 8004651: TEST: java/util/logging/CheckLockLocationTest.java failed to delete file (win) Message-ID: <20121212233633.B1748470F0@hg.openjdk.java.net> Changeset: 56fd5479a98f Author: jgish Date: 2012-12-12 15:37 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/56fd5479a98f 8004651: TEST: java/util/logging/CheckLockLocationTest.java failed to delete file (win) Summary: Failure to delete test log file should be a warning instead of test failure Reviewed-by: mduigou, smarks ! test/java/util/logging/CheckLockLocationTest.java From weijun.wang at oracle.com Wed Dec 12 16:12:35 2012 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Thu, 13 Dec 2012 00:12:35 +0000 Subject: hg: jdk8/tl/jdk: 8004235: Disable native JGSS provider on Mac Message-ID: <20121213001247.26992470F2@hg.openjdk.java.net> Changeset: 5a2ab2c3f106 Author: weijun Date: 2012-12-13 08:11 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5a2ab2c3f106 8004235: Disable native JGSS provider on Mac Reviewed-by: erikj, valeriep ! make/sun/security/Makefile ! makefiles/CompileNativeLibraries.gmk ! src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java From lance.andersen at oracle.com Wed Dec 12 17:59:14 2012 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Thu, 13 Dec 2012 01:59:14 +0000 Subject: hg: jdk8/tl/jdk: 8004357: Implement various methods in SerialBlob/Clob/Array and specify Thread Safety Message-ID: <20121213015927.3E708470F5@hg.openjdk.java.net> Changeset: 7a8978a5bb6e Author: lancea Date: 2012-12-12 20:57 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7a8978a5bb6e 8004357: Implement various methods in SerialBlob/Clob/Array and specify Thread Safety Reviewed-by: naoto ! src/share/classes/javax/sql/rowset/serial/SerialArray.java ! src/share/classes/javax/sql/rowset/serial/SerialBlob.java ! src/share/classes/javax/sql/rowset/serial/SerialClob.java ! src/share/classes/javax/sql/rowset/serial/SerialDatalink.java ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java ! src/share/classes/javax/sql/rowset/serial/SerialRef.java ! src/share/classes/javax/sql/rowset/serial/SerialStruct.java From chris.hegarty at oracle.com Thu Dec 13 01:57:15 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 13 Dec 2012 09:57:15 +0000 Subject: hg: jdk8/tl/jdk: 8004925: java/net/Socks/SocksV4Test.java failing on all platforms Message-ID: <20121213095811.50B2E470FE@hg.openjdk.java.net> Changeset: 775b0050144a Author: chegar Date: 2012-12-13 09:55 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/775b0050144a 8004925: java/net/Socks/SocksV4Test.java failing on all platforms Reviewed-by: alanb, dsamersoff ! test/java/net/Socks/SocksV4Test.java From chris.hegarty at oracle.com Thu Dec 13 06:34:33 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 13 Dec 2012 14:34:33 +0000 Subject: hg: jdk8/tl/jdk: 8004675: Inet6Address.getHostAddress should use string scope identifier where available Message-ID: <20121213143445.2B5D047108@hg.openjdk.java.net> Changeset: 682d2d3ccff5 Author: chegar Date: 2012-12-13 14:33 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/682d2d3ccff5 8004675: Inet6Address.getHostAddress should use string scope identifier where available Summary: ...and some minor stylistic cleanup Reviewed-by: khazra, dsamersoff, michaelm ! src/share/classes/java/net/Inet6Address.java ! src/share/native/java/net/Inet6Address.c + test/java/net/Inet6Address/StringScope.java From sean.mullan at oracle.com Thu Dec 13 06:37:41 2012 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Thu, 13 Dec 2012 14:37:41 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20121213143805.4F23147109@hg.openjdk.java.net> Changeset: c97618a3c8c2 Author: juh Date: 2012-12-13 09:35 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c97618a3c8c2 7193792: sun/security/pkcs11/ec/TestECDSA.java failing intermittently Reviewed-by: vinnie, wetmore ! test/ProblemList.txt ! test/sun/security/pkcs11/ec/TestECDSA.java Changeset: 7b697da6626a Author: mullan Date: 2012-12-13 09:37 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7b697da6626a Merge From chris.hegarty at oracle.com Thu Dec 13 06:48:45 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 13 Dec 2012 14:48:45 +0000 Subject: hg: jdk8/tl/jdk: 8003890: corelibs test scripts should pass TESTVMOPTS Message-ID: <20121213144857.1B39D4710A@hg.openjdk.java.net> Changeset: ae5d04dbacd6 Author: chegar Date: 2012-12-13 14:47 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ae5d04dbacd6 8003890: corelibs test scripts should pass TESTVMOPTS Reviewed-by: chegar, alanb Contributed-by: Mark Sheppard ! test/com/oracle/net/sanity.sh ! test/com/sun/corba/cachedSocket/7056731.sh ! test/com/sun/management/OperatingSystemMXBean/TestTotalSwap.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh ! test/com/sun/tools/attach/ApplicationSetup.sh ! test/com/sun/tools/attach/BasicTests.sh ! test/com/sun/tools/attach/PermissionTests.sh ! test/com/sun/tools/attach/ProviderTests.sh ! test/com/sun/tools/extcheck/TestExtcheckArgs.sh ! test/demo/zipfs/basic.sh ! test/java/io/File/GetXSpace.sh ! test/java/io/File/MacPathTest.sh ! test/java/io/File/basic.sh ! test/java/io/FileOutputStream/FileOpen.sh ! test/java/io/Serializable/class/run.sh ! test/java/io/Serializable/evolution/AddedExternField/run.sh ! test/java/io/Serializable/evolution/RenamePackage/run.sh ! test/java/io/Serializable/maskSyntheticModifier/run.sh ! test/java/io/Serializable/packageAccess/run.sh ! test/java/io/Serializable/resolveClass/consTest/run.sh ! test/java/io/Serializable/resolveClass/deserializeButton/run.sh ! test/java/io/Serializable/subclass/run.sh ! test/java/io/Serializable/superclassDataLoss/run.sh ! test/java/io/Serializable/unnamedPackageSwitch/run.sh ! test/java/lang/Class/forName/NonJavaNames.sh ! test/java/lang/ClassLoader/Assert.sh ! test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ! test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ! test/java/lang/ClassLoader/getdotresource.sh ! test/java/lang/Runtime/exec/setcwd.sh ! test/java/lang/StringCoding/CheckEncodings.sh ! test/java/lang/System/finalization/FinExit.sh ! test/java/lang/annotation/loaderLeak/LoaderLeak.sh ! test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh ! test/java/net/Authenticator/B4933582.sh ! test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh ! test/java/net/InetAddress/ptr/lookup.sh ! test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.sh ! test/java/net/Socket/OldSocketImpl.sh ! test/java/net/URL/B5086147.sh ! test/java/net/URL/runconstructor.sh ! test/java/net/URLClassLoader/B5077773.sh ! test/java/net/URLClassLoader/getresourceasstream/test.sh ! test/java/net/URLClassLoader/sealing/checksealed.sh ! test/java/net/URLConnection/6212146/test.sh ! test/java/net/URLConnection/UNCTest.sh ! test/java/nio/Buffer/LimitDirectMemory.sh ! test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh ! test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh ! test/java/nio/charset/Charset/default.sh ! test/java/nio/charset/coders/CheckSJISMappingProp.sh ! test/java/nio/charset/spi/basic.sh ! test/java/nio/file/Files/delete_on_close.sh ! test/java/nio/file/Files/walkFileTree/walk_file_tree.sh ! test/java/nio/file/Path/MacPathTest.sh ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/registry/readTest/readTest.sh ! test/java/rmi/reliability/benchmark/runSerialBench.sh ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ! test/java/security/Security/signedfirst/Dyn.sh ! test/java/security/Security/signedfirst/Static.sh ! test/java/security/cert/CertificateFactory/slowstream.sh ! test/java/util/Currency/PropertiesTest.sh ! test/java/util/Locale/LocaleCategory.sh ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ResourceBundle/Bug6299235Test.sh ! test/java/util/ResourceBundle/Control/MissingResourceCauseTest.sh ! test/java/util/ServiceLoader/basic.sh ! test/java/util/TimeZone/OldIDMappingTest.sh ! test/java/util/TimeZone/TimeZoneDatePermissionCheck.sh ! test/java/util/prefs/CheckUserPrefsStorage.sh ! test/java/util/prefs/PrefsSpi.sh ! test/java/util/spi/ResourceBundleControlProvider/UserDefaultControlTest.sh ! test/java/util/zip/3GBZipFiles.sh ! test/java/util/zip/ZipFile/deletetempjar.sh ! test/javax/crypto/SecretKeyFactory/FailOverTest.sh ! test/javax/print/applet/AppletPrintLookup.sh ! test/javax/script/ProviderTest.sh ! test/javax/security/auth/Subject/doAs/Test.sh ! test/lib/security/java.policy/Ext_AllPolicy.sh ! test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh ! test/sun/management/jmxremote/bootstrap/CustomLauncherTest.sh ! test/sun/management/jmxremote/bootstrap/LocalManagementTest.sh ! test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh ! test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh ! test/sun/misc/Cleaner/exitOnThrow.sh ! test/sun/net/InetAddress/nameservice/dns/cname.sh ! test/sun/net/sdp/sanity.sh ! test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/RetryPost.sh ! test/sun/net/www/protocol/file/DirPermissionDenied.sh ! test/sun/net/www/protocol/jar/B5105410.sh ! test/sun/net/www/protocol/jar/getcontenttype.sh ! test/sun/net/www/protocol/jar/jarbug/run.sh ! test/sun/rmi/rmic/manifestClassPath/run.sh ! test/sun/rmi/rmic/minimizeWrapperInstances/run.sh ! test/sun/rmi/rmic/oldjavacRemoved/sunToolsJavacMain.sh ! test/sun/security/krb5/runNameEquals.sh ! test/sun/security/krb5/tools/ktcheck.sh ! test/sun/security/mscapi/AccessKeyStore.sh ! test/sun/security/mscapi/IsSunMSCAPIAvailable.sh ! test/sun/security/mscapi/KeyStoreCompatibilityMode.sh ! test/sun/security/mscapi/PublicKeyInterop.sh ! test/sun/security/mscapi/RSAEncryptDecrypt.sh ! test/sun/security/mscapi/ShortRSAKey1024.sh ! test/sun/security/mscapi/SignUsingNONEwithRSA.sh ! test/sun/security/mscapi/SignUsingSHA2withRSA.sh ! test/sun/security/pkcs11/KeyStore/Basic.sh ! test/sun/security/pkcs11/KeyStore/ClientAuth.sh ! test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh ! test/sun/security/pkcs11/KeyStore/Solaris.sh ! test/sun/security/pkcs11/Provider/ConfigQuotedString.sh ! test/sun/security/pkcs11/Provider/Login.sh ! test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh ! test/sun/security/provider/PolicyFile/getinstance/getinstance.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh ! test/sun/security/tools/jarsigner/emptymanifest.sh ! test/sun/security/tools/jarsigner/ts.sh ! test/sun/security/tools/keytool/printssl.sh ! test/sun/security/tools/keytool/standard.sh ! test/sun/security/validator/certreplace.sh ! test/sun/security/validator/samedn.sh ! test/tools/launcher/6842838/Test6842838.sh ! test/tools/launcher/MultipleJRE.sh From rob.mckenna at oracle.com Thu Dec 13 07:24:20 2012 From: rob.mckenna at oracle.com (rob.mckenna at oracle.com) Date: Thu, 13 Dec 2012 15:24:20 +0000 Subject: hg: jdk8/tl/jdk: 8000525: Java.net.httpcookie api does not support 2-digit year format Message-ID: <20121213152432.0C2154710D@hg.openjdk.java.net> Changeset: 087425441a48 Author: robm Date: 2012-12-13 15:28 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/087425441a48 8000525: Java.net.httpcookie api does not support 2-digit year format Reviewed-by: chegar ! src/share/classes/java/net/HttpCookie.java ! test/java/net/CookieHandler/B6791927.java ! test/java/net/CookieHandler/CookieManagerTest.java + test/java/net/HttpCookie/ExpiredCookieTest.java From daniel.daugherty at oracle.com Thu Dec 13 10:53:10 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 13 Dec 2012 11:53:10 -0700 Subject: code review request for 7153050 remove crufty '_g' support Message-ID: <50CA2416.9070806@oracle.com> Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure you include Ron on any e-mail replies since he is not yet on the OpenJDK aliases. Dan Intro: This set of changes removes the makefile support for generation of debug versions that follow _g semantics. Defect: 7153050 ?remove crufty '_g' support from HotSpot repo? http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 https://jbs.oracle.com/bugs/browse/JDK-7153050 Webrev http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 Details: Many makefiles have been modified to remove all reference and support for debug versions that follow _g semantics. From serguei.spitsyn at oracle.com Thu Dec 13 12:22:51 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 13 Dec 2012 12:22:51 -0800 Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA2416.9070806@oracle.com> References: <50CA2416.9070806@oracle.com> Message-ID: <50CA391B.3030509@oracle.com> Dan, It is nice fix and simplified many places. Just one minor comment: make/bsd/makefiles/dtrace.make 41 #LIBJVM_DB = libjvm_db.dylib 42 LIBJVM_DB = libjvm_db.dylib 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib 46 LIBJVM_DTRACE = libjvm_dtrace.dylib The lines #41 and #45 can be removed. Thanks, Serguei On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure > you include Ron on any e-mail replies since he is not yet on the > OpenJDK aliases. > > Dan > > > Intro: > > This set of changes removes the makefile support for generation of debug > versions that follow _g semantics. > > Defect: > > 7153050 ?remove crufty '_g' support from HotSpot repo? > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 > https://jbs.oracle.com/bugs/browse/JDK-7153050 > > > Webrev > > http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 > > Details: > > Many makefiles have been modified to remove all reference and support > for debug versions that follow _g semantics. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121213/fbc69578/attachment.html From daniel.daugherty at oracle.com Thu Dec 13 12:43:54 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 13 Dec 2012 13:43:54 -0700 Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA2416.9070806@oracle.com> References: <50CA2416.9070806@oracle.com> Message-ID: <50CA3E0A.6020302@oracle.com> Forgot to mention the testing: These changes were tested with a full JPRT-hotspotwest job. Verified that the JPRT bundles no longer contain _g files: $ pwd /net/prt-archiver.us.oracle.com/data/jprt/archive/2012/12/2012-12-13-030336.ddaugher.7153050_exp/bundles $ for zfile in *.zip; do > echo "zfile=$zfile" > unzip -l "$zfile" | grep _g | grep -v _gcc > done zfile=linux_armsflt_2.6-fastdebugEmb.zip zfile=linux_armsflt_2.6-productEmb.zip zfile=linux_armv6_2.6-fastdebug.zip zfile=linux_armv6_2.6-product.zip zfile=linux_armvfp_2.6-fastdebugEmb.zip zfile=linux_armvfp_2.6-productEmb.zip zfile=linux_i586-fastdebug-c1-wbapitest.zip zfile=linux_i586-fastdebug-c2-wbapitest.zip zfile=linux_i586-product-c1-wbapitest.zip zfile=linux_i586-product-c2-wbapitest.zip zfile=linux_i586_2.6-debug.zip zfile=linux_i586_2.6-debugEmb.zip zfile=linux_i586_2.6-fastdebug.zip zfile=linux_i586_2.6-fastdebugEmb.zip zfile=linux_i586_2.6-product.zip zfile=linux_i586_2.6-productEmb.zip zfile=linux_ppc_2.6-fastdebugEmb.zip zfile=linux_ppc_2.6-productEmb.zip zfile=linux_ppcsflt_2.6-fastdebugEmb.zip zfile=linux_ppcsflt_2.6-productEmb.zip zfile=linux_ppcv2_2.6-fastdebugEmb.zip zfile=linux_ppcv2_2.6-productEmb.zip zfile=linux_x64-fastdebug-c2-wbapitest.zip zfile=linux_x64-product-c2-wbapitest.zip zfile=linux_x64_2.6-fastdebug.zip zfile=linux_x64_2.6-product.zip zfile=linux_x64_2.6-productOpen.zip zfile=macosx_x64_10.7-debug.zip zfile=macosx_x64_10.7-fastdebug.zip zfile=macosx_x64_10.7-product.zip zfile=solaris_i586-fastdebug-c1-wbapitest.zip zfile=solaris_i586-fastdebug-c2-wbapitest.zip zfile=solaris_i586-product-c1-wbapitest.zip zfile=solaris_i586-product-c2-wbapitest.zip zfile=solaris_i586_5.10-debug.zip zfile=solaris_i586_5.10-fastdebug.zip zfile=solaris_i586_5.10-product.zip zfile=solaris_i586_5.10-productOpen.zip zfile=solaris_sparc-fastdebug-c1-wbapitest.zip zfile=solaris_sparc-fastdebug-c2-wbapitest.zip zfile=solaris_sparc-product-c1-wbapitest.zip zfile=solaris_sparc-product-c2-wbapitest.zip zfile=solaris_sparc_5.10-debug.zip zfile=solaris_sparc_5.10-fastdebug.zip zfile=solaris_sparc_5.10-product.zip zfile=solaris_sparcv9-fastdebug-c2-wbapitest.zip zfile=solaris_sparcv9-product-c2-wbapitest.zip zfile=solaris_sparcv9_5.10-debug.zip zfile=solaris_sparcv9_5.10-fastdebug.zip zfile=solaris_sparcv9_5.10-product.zip zfile=solaris_x64-fastdebug-c2-wbapitest.zip zfile=solaris_x64-product-c2-wbapitest.zip zfile=solaris_x64_5.10-debug.zip zfile=solaris_x64_5.10-debugOpen.zip zfile=solaris_x64_5.10-fastdebug.zip zfile=solaris_x64_5.10-product.zip zfile=windows_i586-fastdebug-c1-wbapitest.zip zfile=windows_i586-fastdebug-c2-wbapitest.zip zfile=windows_i586-product-c1-wbapitest.zip zfile=windows_i586-product-c2-wbapitest.zip zfile=windows_i586_5.1-debug.zip zfile=windows_i586_5.1-fastdebug.zip zfile=windows_i586_5.1-product.zip zfile=windows_x64-fastdebug-c2-wbapitest.zip zfile=windows_x64-product-c2-wbapitest.zip zfile=windows_x64_5.2-debug.zip zfile=windows_x64_5.2-fastdebug.zip zfile=windows_x64_5.2-product.zip On 12/13/12 11:53 AM, Daniel D. Daugherty wrote: > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure > you include Ron on any e-mail replies since he is not yet on the > OpenJDK aliases. > > Dan > > > Intro: > > This set of changes removes the makefile support for generation of debug > versions that follow _g semantics. > > Defect: > > 7153050 ?remove crufty '_g' support from HotSpot repo? > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 > https://jbs.oracle.com/bugs/browse/JDK-7153050 > > > Webrev > > http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 > > Details: > > Many makefiles have been modified to remove all reference and support > for debug versions that follow _g semantics. > > From daniel.daugherty at oracle.com Thu Dec 13 12:50:36 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 13 Dec 2012 13:50:36 -0700 Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA391B.3030509@oracle.com> References: <50CA2416.9070806@oracle.com> <50CA391B.3030509@oracle.com> Message-ID: <50CA3F9C.5050005@oracle.com> Serguei, Thanks for the fast review! I could swear that Ron had removed lines 41 and 45 in an earlier version. Sigh... Will be fixed. Dan On 12/13/12 1:22 PM, serguei.spitsyn at oracle.com wrote: > Dan, > > It is nice fix and simplified many places. > > Just one minor comment: > > make/bsd/makefiles/dtrace.make > > 41 #LIBJVM_DB = libjvm_db.dylib > 42 LIBJVM_DB = libjvm_db.dylib > > 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib > 46 LIBJVM_DTRACE = libjvm_dtrace.dylib > > The lines #41 and #45 can be removed. > > > Thanks, > Serguei > > > On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure >> you include Ron on any e-mail replies since he is not yet on the >> OpenJDK aliases. >> >> Dan >> >> >> Intro: >> >> This set of changes removes the makefile support for generation of debug >> versions that follow _g semantics. >> >> Defect: >> >> 7153050 ?remove crufty '_g' support from HotSpot repo? >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 >> https://jbs.oracle.com/bugs/browse/JDK-7153050 >> >> >> Webrev >> >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 >> >> Details: >> >> Many makefiles have been modified to remove all reference and support >> for debug versions that follow _g semantics. > From ron.durbin at oracle.com Thu Dec 13 12:52:22 2012 From: ron.durbin at oracle.com (Ron Durbin) Date: Thu, 13 Dec 2012 12:52:22 -0800 (PST) Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA391B.3030509@oracle.com> References: <50CA2416.9070806@oracle.com> <50CA391B.3030509@oracle.com> Message-ID: <18c12a94-8f10-4268-8820-40239d2c90e9@default> You are correct Thx Ron From: Serguei Spitsyn Sent: Thursday, December 13, 2012 1:23 PM To: Daniel Daugherty Cc: build-dev; serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net; Ron Durbin Subject: Re: code review request for 7153050 remove crufty '_g' support Dan, It is nice fix and simplified many places. Just one minor comment: make/bsd/makefiles/dtrace.make 41 #LIBJVM_DB = libjvm_db.dylib 42 LIBJVM_DB = libjvm_db.dylib 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib 46 LIBJVM_DTRACE = libjvm_dtrace.dylib The lines #41 and #45 can be removed. Thanks, Serguei On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure you include Ron on any e-mail replies since he is not yet on the OpenJDK aliases. Dan Intro: This set of changes removes the makefile support for generation of debug versions that follow _g semantics. Defect: 7153050 "remove crufty '_g' support from HotSpot repo" http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 https://jbs.oracle.com/bugs/browse/JDK-7153050 Webrev http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 Details: Many makefiles have been modified to remove all reference and support for debug versions that follow _g semantics. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121213/991f1a71/attachment-0001.html From ron.durbin at oracle.com Thu Dec 13 12:53:18 2012 From: ron.durbin at oracle.com (Ron Durbin) Date: Thu, 13 Dec 2012 12:53:18 -0800 (PST) Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA3F9C.5050005@oracle.com> References: <50CA2416.9070806@oracle.com> <50CA391B.3030509@oracle.com> <50CA3F9C.5050005@oracle.com> Message-ID: <8f2a9523-5390-41db-bf5d-6ddf8040bc8b@default> Thx again -----Original Message----- From: Daniel D. Daugherty Sent: Thursday, December 13, 2012 1:51 PM To: build-dev; serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net; Ron Durbin Subject: Re: code review request for 7153050 remove crufty '_g' support Serguei, Thanks for the fast review! I could swear that Ron had removed lines 41 and 45 in an earlier version. Sigh... Will be fixed. Dan On 12/13/12 1:22 PM, serguei.spitsyn at oracle.com wrote: > Dan, > > It is nice fix and simplified many places. > > Just one minor comment: > > make/bsd/makefiles/dtrace.make > > 41 #LIBJVM_DB = libjvm_db.dylib > 42 LIBJVM_DB = libjvm_db.dylib > > 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib > 46 LIBJVM_DTRACE = libjvm_dtrace.dylib > > The lines #41 and #45 can be removed. > > > Thanks, > Serguei > > > On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure >> you include Ron on any e-mail replies since he is not yet on the >> OpenJDK aliases. >> >> Dan >> >> >> Intro: >> >> This set of changes removes the makefile support for generation of >> debug versions that follow _g semantics. >> >> Defect: >> >> 7153050 "remove crufty '_g' support from HotSpot repo" >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 >> https://jbs.oracle.com/bugs/browse/JDK-7153050 >> >> >> Webrev >> >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 >> >> Details: >> >> Many makefiles have been modified to remove all reference and support >> for debug versions that follow _g semantics. > From daniel.daugherty at oracle.com Thu Dec 13 13:10:11 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 13 Dec 2012 14:10:11 -0700 Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA2416.9070806@oracle.com> References: <50CA2416.9070806@oracle.com> Message-ID: <50CA4433.6000804@oracle.com> Just for the record: I have reviewed all of Ron's changes and I approve them. Dan On 12/13/12 11:53 AM, Daniel D. Daugherty wrote: > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure > you include Ron on any e-mail replies since he is not yet on the > OpenJDK aliases. > > Dan > > > Intro: > > This set of changes removes the makefile support for generation of debug > versions that follow _g semantics. > > Defect: > > 7153050 ?remove crufty '_g' support from HotSpot repo? > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 > https://jbs.oracle.com/bugs/browse/JDK-7153050 > > > Webrev > > http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 > > Details: > > Many makefiles have been modified to remove all reference and support > for debug versions that follow _g semantics. > > From david.holmes at oracle.com Thu Dec 13 15:30:11 2012 From: david.holmes at oracle.com (David Holmes) Date: Fri, 14 Dec 2012 09:30:11 +1000 Subject: RFR (trivial): 8003632 HPROF class file version java.lang.RuntimeException errors Message-ID: <50CA6503.8050104@oracle.com> Trivial update of max classfile version to 52. http://cr.openjdk.java.net/~dholmes/8003632/webrev/ Pushing through tl/jdk Thanks, David From daniel.daugherty at oracle.com Thu Dec 13 15:32:07 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 13 Dec 2012 16:32:07 -0700 Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA6137.8030402@oracle.com> References: <50CA2416.9070806@oracle.com> <50CA391B.3030509@oracle.com> <50CA3F9C.5050005@oracle.com> <8f2a9523-5390-41db-bf5d-6ddf8040bc8b@default> <50CA6137.8030402@oracle.com> Message-ID: <50CA6577.8010809@oracle.com> Adding back in the other OpenJDK aliases... Ron's e-mail has gone off-line (no e-mail for him since 1440 MT)... Coleen, Thanks for the review! This bug (7153050) is just for the Makefile changes so that the reviews are more focused. Ron has separate bugs for the other parts of the hotspot repo that need to be fixed. I believe he is going to attack the src/... paths in his second fix. Dan On 12/13/12 4:13 PM, Coleen Phillimore wrote: > > Ron, I'm so happy this is going away. The code changed looks > good. There are some comments in some files that refer to the old > jvm_g.dll and libjvm_g.so. Can you remove these too? > > carrs% ygrep -l libjvm_g > ./os/bsd/vm/os_bsd.cpp > ./os/linux/vm/os_linux.cpp > ./os/solaris/vm/os_solaris.cpp > carrs% ygre jvm_g.dll > ygre: Command not found. > carrs% ygrep jvm_g.dll > ./os/windows/vm/os_windows.cpp:// Find the full path to the current > module, jvm.dll or jvm_g.dll > ./share/tools/ProjectCreator/ProjectCreator.java: + > "jvm.dll and jvm_g.dll; no trailing slash>"); > > Thanks, > Coleen > > On 12/13/2012 03:53 PM, Ron Durbin wrote: >> Thx again >> -----Original Message----- >> From: Daniel D. Daugherty >> Sent: Thursday, December 13, 2012 1:51 PM >> To: build-dev; serviceability-dev at openjdk.java.net; >> hotspot-runtime-dev at openjdk.java.net; Ron Durbin >> Subject: Re: code review request for 7153050 remove crufty '_g' support >> >> Serguei, >> >> Thanks for the fast review! >> >> I could swear that Ron had removed lines 41 and 45 in an earlier >> version. Sigh... Will be fixed. >> >> Dan >> >> >> On 12/13/12 1:22 PM, serguei.spitsyn at oracle.com wrote: >>> Dan, >>> >>> It is nice fix and simplified many places. >>> >>> Just one minor comment: >>> >>> make/bsd/makefiles/dtrace.make >>> >>> 41 #LIBJVM_DB = libjvm_db.dylib >>> 42 LIBJVM_DB = libjvm_db.dylib >>> >>> 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib >>> 46 LIBJVM_DTRACE = libjvm_dtrace.dylib >>> >>> The lines #41 and #45 can be removed. >>> >>> >>> Thanks, >>> Serguei >>> >>> >>> On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I'm sponsoring this code review request from Ron Durbin. This change >>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure >>>> you include Ron on any e-mail replies since he is not yet on the >>>> OpenJDK aliases. >>>> >>>> Dan >>>> >>>> >>>> Intro: >>>> >>>> This set of changes removes the makefile support for generation of >>>> debug versions that follow _g semantics. >>>> >>>> Defect: >>>> >>>> 7153050 "remove crufty '_g' support from HotSpot repo" >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 >>>> https://jbs.oracle.com/bugs/browse/JDK-7153050 >>>> >>>> >>>> Webrev >>>> >>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 >>>> >>>> Details: >>>> >>>> Many makefiles have been modified to remove all reference and support >>>> for debug versions that follow _g semantics. > From daniel.daugherty at oracle.com Thu Dec 13 15:33:51 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 13 Dec 2012 16:33:51 -0700 Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA6137.8030402@oracle.com> References: <50CA2416.9070806@oracle.com> <50CA391B.3030509@oracle.com> <50CA3F9C.5050005@oracle.com> <8f2a9523-5390-41db-bf5d-6ddf8040bc8b@default> <50CA6137.8030402@oracle.com> Message-ID: <50CA65DF.9060700@oracle.com> Trying again... now my e-mail client is complaining... Adding back in the other OpenJDK aliases... Ron's e-mail has gone off-line (no e-mail for him since 1440 MT)... Coleen, Thanks for the review! This bug (7153050) is just for the Makefile changes so that the reviews are more focused. Ron has separate bugs for the other parts of the hotspot repo that need to be fixed. I believe he is going to attack the src/... paths in his second fix. Dan On 12/13/12 4:13 PM, Coleen Phillimore wrote: > > Ron, I'm so happy this is going away. The code changed looks > good. There are some comments in some files that refer to the old > jvm_g.dll and libjvm_g.so. Can you remove these too? > > carrs% ygrep -l libjvm_g > ./os/bsd/vm/os_bsd.cpp > ./os/linux/vm/os_linux.cpp > ./os/solaris/vm/os_solaris.cpp > carrs% ygre jvm_g.dll > ygre: Command not found. > carrs% ygrep jvm_g.dll > ./os/windows/vm/os_windows.cpp:// Find the full path to the current > module, jvm.dll or jvm_g.dll > ./share/tools/ProjectCreator/ProjectCreator.java: + > "jvm.dll and jvm_g.dll; no trailing slash>"); > > Thanks, > Coleen > > On 12/13/2012 03:53 PM, Ron Durbin wrote: >> Thx again >> -----Original Message----- >> From: Daniel D. Daugherty >> Sent: Thursday, December 13, 2012 1:51 PM >> To: build-dev; serviceability-dev at openjdk.java.net; >> hotspot-runtime-dev at openjdk.java.net; Ron Durbin >> Subject: Re: code review request for 7153050 remove crufty '_g' support >> >> Serguei, >> >> Thanks for the fast review! >> >> I could swear that Ron had removed lines 41 and 45 in an earlier >> version. Sigh... Will be fixed. >> >> Dan >> >> >> On 12/13/12 1:22 PM, serguei.spitsyn at oracle.com wrote: >>> Dan, >>> >>> It is nice fix and simplified many places. >>> >>> Just one minor comment: >>> >>> make/bsd/makefiles/dtrace.make >>> >>> 41 #LIBJVM_DB = libjvm_db.dylib >>> 42 LIBJVM_DB = libjvm_db.dylib >>> >>> 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib >>> 46 LIBJVM_DTRACE = libjvm_dtrace.dylib >>> >>> The lines #41 and #45 can be removed. >>> >>> >>> Thanks, >>> Serguei >>> >>> >>> On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I'm sponsoring this code review request from Ron Durbin. This change >>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure >>>> you include Ron on any e-mail replies since he is not yet on the >>>> OpenJDK aliases. >>>> >>>> Dan >>>> >>>> >>>> Intro: >>>> >>>> This set of changes removes the makefile support for generation of >>>> debug versions that follow _g semantics. >>>> >>>> Defect: >>>> >>>> 7153050 "remove crufty '_g' support from HotSpot repo" >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 >>>> https://jbs.oracle.com/bugs/browse/JDK-7153050 >>>> >>>> >>>> Webrev >>>> >>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 >>>> >>>> Details: >>>> >>>> Many makefiles have been modified to remove all reference and support >>>> for debug versions that follow _g semantics. > From Lance.Andersen at oracle.com Thu Dec 13 15:54:52 2012 From: Lance.Andersen at oracle.com (Lance Andersen) Date: Thu, 13 Dec 2012 18:54:52 -0500 Subject: RFR (trivial): 8003632 HPROF class file version java.lang.RuntimeException errors In-Reply-To: <50CA6503.8050104@oracle.com> References: <50CA6503.8050104@oracle.com> Message-ID: <3F6E15BA-BB9C-4CFD-8BE4-E29EC942FC0C@oracle.com> +1 -- Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037 Oracle Java Engineering 1 Network Drive Burlington, MA 01803 Lance.Andersen at oracle.com Sent from my iPhone On Dec 13, 2012, at 6:30 PM, David Holmes wrote: > Trivial update of max classfile version to 52. > > http://cr.openjdk.java.net/~dholmes/8003632/webrev/ > > Pushing through tl/jdk > > Thanks, > David -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121213/dfe79183/attachment.html From ron.durbin at oracle.com Thu Dec 13 16:49:40 2012 From: ron.durbin at oracle.com (Ron Durbin) Date: Thu, 13 Dec 2012 16:49:40 -0800 (PST) Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA6577.8010809@oracle.com> References: <50CA2416.9070806@oracle.com> <50CA391B.3030509@oracle.com> <50CA3F9C.5050005@oracle.com> <8f2a9523-5390-41db-bf5d-6ddf8040bc8b@default> <50CA6137.8030402@oracle.com> <50CA6577.8010809@oracle.com> Message-ID: <3131717b-f788-4b26-8bef-c9e271ca0823@default> I am back and Dan has It correct (JDK-8005044) -----Original Message----- From: Daniel D. Daugherty Sent: Thursday, December 13, 2012 4:32 PM To: hotspot-runtime-dev at openjdk.java.net; build-dev; serviceability-dev at openjdk.java.net Subject: Re: code review request for 7153050 remove crufty '_g' support Adding back in the other OpenJDK aliases... Ron's e-mail has gone off-line (no e-mail for him since 1440 MT)... Coleen, Thanks for the review! This bug (7153050) is just for the Makefile changes so that the reviews are more focused. Ron has separate bugs for the other parts of the hotspot repo that need to be fixed. I believe he is going to attack the src/... paths in his second fix. Dan On 12/13/12 4:13 PM, Coleen Phillimore wrote: > > Ron, I'm so happy this is going away. The code changed looks > good. There are some comments in some files that refer to the old > jvm_g.dll and libjvm_g.so. Can you remove these too? > > carrs% ygrep -l libjvm_g > ./os/bsd/vm/os_bsd.cpp > ./os/linux/vm/os_linux.cpp > ./os/solaris/vm/os_solaris.cpp > carrs% ygre jvm_g.dll > ygre: Command not found. > carrs% ygrep jvm_g.dll > ./os/windows/vm/os_windows.cpp:// Find the full path to the current > module, jvm.dll or jvm_g.dll > ./share/tools/ProjectCreator/ProjectCreator.java: + > "jvm.dll and jvm_g.dll; no trailing slash>"); > > Thanks, > Coleen > > On 12/13/2012 03:53 PM, Ron Durbin wrote: >> Thx again >> -----Original Message----- >> From: Daniel D. Daugherty >> Sent: Thursday, December 13, 2012 1:51 PM >> To: build-dev; serviceability-dev at openjdk.java.net; >> hotspot-runtime-dev at openjdk.java.net; Ron Durbin >> Subject: Re: code review request for 7153050 remove crufty '_g' >> support >> >> Serguei, >> >> Thanks for the fast review! >> >> I could swear that Ron had removed lines 41 and 45 in an earlier >> version. Sigh... Will be fixed. >> >> Dan >> >> >> On 12/13/12 1:22 PM, serguei.spitsyn at oracle.com wrote: >>> Dan, >>> >>> It is nice fix and simplified many places. >>> >>> Just one minor comment: >>> >>> make/bsd/makefiles/dtrace.make >>> >>> 41 #LIBJVM_DB = libjvm_db.dylib >>> 42 LIBJVM_DB = libjvm_db.dylib >>> >>> 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib >>> 46 LIBJVM_DTRACE = libjvm_dtrace.dylib >>> >>> The lines #41 and #45 can be removed. >>> >>> >>> Thanks, >>> Serguei >>> >>> >>> On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I'm sponsoring this code review request from Ron Durbin. This >>>> change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please >>>> make sure you include Ron on any e-mail replies since he is not yet >>>> on the OpenJDK aliases. >>>> >>>> Dan >>>> >>>> >>>> Intro: >>>> >>>> This set of changes removes the makefile support for generation of >>>> debug versions that follow _g semantics. >>>> >>>> Defect: >>>> >>>> 7153050 "remove crufty '_g' support from HotSpot repo" >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 >>>> https://jbs.oracle.com/bugs/browse/JDK-7153050 >>>> >>>> >>>> Webrev >>>> >>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 >>>> >>>> Details: >>>> >>>> Many makefiles have been modified to remove all reference and >>>> support for debug versions that follow _g semantics. > From jonathan.gibbons at oracle.com Thu Dec 13 17:50:14 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 14 Dec 2012 01:50:14 +0000 Subject: hg: jdk8/tl/langtools: 8001114: Container annotation is not checked for semantic correctness Message-ID: <20121214015018.AA5C947136@hg.openjdk.java.net> Changeset: 376d6c1b49e5 Author: jfranck Date: 2012-12-03 11:16 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/376d6c1b49e5 8001114: Container annotation is not checked for semantic correctness Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.out ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.out ! test/tools/javac/annotations/repeatingAnnotations/NoRepeatableAnno.out + test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.java + test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.out ! test/tools/javac/diags/examples/ContainedByNonDefault.java + test/tools/javac/diags/examples/InvalidDuplicateAnnotation.java From mandy.chung at oracle.com Thu Dec 13 18:03:59 2012 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 13 Dec 2012 18:03:59 -0800 Subject: RFR (trivial): 8003632 HPROF class file version java.lang.RuntimeException errors In-Reply-To: <50CA6503.8050104@oracle.com> References: <50CA6503.8050104@oracle.com> Message-ID: <50CA890F.7080101@oracle.com> Looks good to me. I didn't know about this file and so I was interested in finding out more. This file classfile_constants.h doesn't look like a header file exported from the hotspot repo (I couldn't find it). It's used by hprof and the old verifier (jdk/src/share/native/common/check_code.h). This is probably a good candidate for future clean up so that we don't need to remember to fix this header file when we bump the classfile version number every time if feasible. Anyway, David - your fix is good to go. Mandy On 12/13/2012 3:30 PM, David Holmes wrote: > Trivial update of max classfile version to 52. > > http://cr.openjdk.java.net/~dholmes/8003632/webrev/ > > Pushing through tl/jdk > > Thanks, > David From david.holmes at oracle.com Thu Dec 13 18:19:03 2012 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Fri, 14 Dec 2012 02:19:03 +0000 Subject: hg: jdk8/tl/jdk: 8003632: HPROF class file version java.lang.RuntimeException errors Message-ID: <20121214021924.3C81647137@hg.openjdk.java.net> Changeset: 8d7323a9d8ed Author: dholmes Date: 2012-12-13 21:18 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8d7323a9d8ed 8003632: HPROF class file version java.lang.RuntimeException errors Reviewed-by: mchung, lancea ! src/share/javavm/export/classfile_constants.h From david.holmes at oracle.com Thu Dec 13 18:27:47 2012 From: david.holmes at oracle.com (David Holmes) Date: Fri, 14 Dec 2012 12:27:47 +1000 Subject: RFR (trivial): 8003632 HPROF class file version java.lang.RuntimeException errors In-Reply-To: <50CA890F.7080101@oracle.com> References: <50CA6503.8050104@oracle.com> <50CA890F.7080101@oracle.com> Message-ID: <50CA8EA3.5@oracle.com> On 14/12/2012 12:03 PM, Mandy Chung wrote: > Looks good to me. Thanks Mandy. FYI tested with nsk/hprof suite > I didn't know about this file and so I was interested in finding out > more. This file classfile_constants.h doesn't look like a header file > exported from the hotspot repo (I couldn't find it). It's used by hprof > and the old verifier (jdk/src/share/native/common/check_code.h). This is > probably a good candidate for future clean up so that we don't need to > remember to fix this header file when we bump the classfile version > number every time if feasible. Anyway, David - your fix is good to go. Yes definitely a candidate for clean up. FYI this was added here under: 6855180: Fix classfile version check in java_crw_demo Previously the version number was hard-wired into jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c Cheers, David > Mandy > > On 12/13/2012 3:30 PM, David Holmes wrote: >> Trivial update of max classfile version to 52. >> >> http://cr.openjdk.java.net/~dholmes/8003632/webrev/ >> >> Pushing through tl/jdk >> >> Thanks, >> David From kelly.ohair at oracle.com Thu Dec 13 18:54:53 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Thu, 13 Dec 2012 18:54:53 -0800 Subject: RFR (trivial): 8003632 HPROF class file version java.lang.RuntimeException errors In-Reply-To: <50CA8EA3.5@oracle.com> References: <50CA6503.8050104@oracle.com> <50CA890F.7080101@oracle.com> <50CA8EA3.5@oracle.com> Message-ID: <65FB0317-453B-429D-9659-A81B0FB790C0@oracle.com> This file was added by me, to the jdk repo, mostly for reading class files. But as I recall (it was a while ago) the idea was that this file would describe the classfile format for the jdk being released. As I recall, the hotspot sources never exported anything like this, certainly not something that could be used in C code. -kto On Dec 13, 2012, at 6:27 PM, David Holmes wrote: > On 14/12/2012 12:03 PM, Mandy Chung wrote: >> Looks good to me. > > Thanks Mandy. > > FYI tested with nsk/hprof suite > >> I didn't know about this file and so I was interested in finding out >> more. This file classfile_constants.h doesn't look like a header file >> exported from the hotspot repo (I couldn't find it). It's used by hprof >> and the old verifier (jdk/src/share/native/common/check_code.h). This is >> probably a good candidate for future clean up so that we don't need to >> remember to fix this header file when we bump the classfile version >> number every time if feasible. Anyway, David - your fix is good to go. > > Yes definitely a candidate for clean up. > > FYI this was added here under: > > 6855180: Fix classfile version check in java_crw_demo > > Previously the version number was hard-wired into > > jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c > > Cheers, > David > >> Mandy >> >> On 12/13/2012 3:30 PM, David Holmes wrote: >>> Trivial update of max classfile version to 52. >>> >>> http://cr.openjdk.java.net/~dholmes/8003632/webrev/ >>> >>> Pushing through tl/jdk >>> >>> Thanks, >>> David From john.coomes at oracle.com Fri Dec 14 03:10:12 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Dec 2012 11:10:12 +0000 Subject: hg: hsx/hotspot-rt: 8 new changesets Message-ID: <20121214111013.0E89147163@hg.openjdk.java.net> Changeset: ab1ab9b148dd Author: smarks Date: 2012-11-28 17:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/ab1ab9b148dd 8004131: move jdi tests out of core testset Reviewed-by: alanb, chegar ! make/jprt.properties Changeset: ad54163c95f5 Author: lana Date: 2012-11-30 16:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/ad54163c95f5 Merge Changeset: 04435608c613 Author: lana Date: 2012-12-10 20:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/04435608c613 Merge Changeset: 6b96b7744913 Author: erikj Date: 2012-12-07 17:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6b96b7744913 8004045: build-infra: Error 12 from zip when updating src.zip Summary: Hiding this error from make so that it doesn't fail Reviewed-by: ohrstrom, dholmes ! common/makefiles/JavaCompilation.gmk Changeset: 2795874efd16 Author: erikj Date: 2012-12-11 11:29 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2795874efd16 8003945: build-infra: problems finding compiler when using --with-dev-kit Summary: Search all compiler names in dev-kit dir first. Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: e175ecff1391 Author: erikj Date: 2012-12-11 11:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/e175ecff1391 8001753: build-infra: mismatch with full debug symbol control for hotspot Summary: Enabling hotspot to use the FDS settings established at configure time Reviewed-by: dholmes, ohair ! common/autoconf/generated-configure.sh ! common/autoconf/hotspot-spec.gmk.in ! common/autoconf/jdk-options.m4 ! common/makefiles/NativeCompilation.gmk Changeset: cdb401a60cea Author: katleman Date: 2012-12-12 13:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/cdb401a60cea Merge Changeset: e9ec00893bb4 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/e9ec00893bb4 Added tag jdk8-b68 for changeset cdb401a60cea ! .hgtags From john.coomes at oracle.com Fri Dec 14 03:10:17 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Dec 2012 11:10:17 +0000 Subject: hg: hsx/hotspot-rt/corba: Added tag jdk8-b68 for changeset 82000531feaa Message-ID: <20121214111019.C44BE47164@hg.openjdk.java.net> Changeset: 22ddcac208a8 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/22ddcac208a8 Added tag jdk8-b68 for changeset 82000531feaa ! .hgtags From john.coomes at oracle.com Fri Dec 14 03:10:24 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Dec 2012 11:10:24 +0000 Subject: hg: hsx/hotspot-rt/jaxp: Added tag jdk8-b68 for changeset b854e7008421 Message-ID: <20121214111036.13B5C47165@hg.openjdk.java.net> Changeset: 789a855de959 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/789a855de959 Added tag jdk8-b68 for changeset b854e7008421 ! .hgtags From john.coomes at oracle.com Fri Dec 14 03:10:41 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Dec 2012 11:10:41 +0000 Subject: hg: hsx/hotspot-rt/jaxws: Added tag jdk8-b68 for changeset d3fe408f3a9a Message-ID: <20121214111045.5995F47166@hg.openjdk.java.net> Changeset: 756323c99011 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/756323c99011 Added tag jdk8-b68 for changeset d3fe408f3a9a ! .hgtags From john.coomes at oracle.com Fri Dec 14 03:13:10 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Dec 2012 11:13:10 +0000 Subject: hg: hsx/hotspot-rt/jdk: 69 new changesets Message-ID: <20121214112724.32DC647168@hg.openjdk.java.net> Changeset: 39f9b2cc5738 Author: bae Date: 2012-11-28 12:28 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/39f9b2cc5738 4649812: GIFImageReader handles transparency incorrectly Reviewed-by: bae, prr Contributed-by: Vadim Pakhnushev ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java Changeset: 6569819eb2fe Author: bae Date: 2012-11-28 12:38 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6569819eb2fe 5082749: GIF stream metadata specification of aspect ratio is incorrect Reviewed-by: bae, prr Contributed-by: Vadim Pakhnushev ! src/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html Changeset: 934595726263 Author: bae Date: 2012-11-28 14:12 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/934595726263 7064516: ImageIO.read() fails to load an image Reviewed-by: jgodinez, prr ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/java/awt/image/ColorConvertOp.java + test/sun/java2d/cmm/ColorConvertOp/InvalidRenderIntentTest.java Changeset: d54db1e16b97 Author: bae Date: 2012-11-30 11:32 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d54db1e16b97 7124223: [macosx] Regression test failure with new exception, when glyph is positioned explicitly Reviewed-by: jgodinez ! src/share/classes/sun/print/PathGraphics.java Changeset: bd3b3cda125d Author: lana Date: 2012-11-30 16:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bd3b3cda125d Merge Changeset: 3c5bf5ed45a9 Author: bae Date: 2012-12-03 16:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3c5bf5ed45a9 7124347: [macosx] java.lang.InternalError: not implemented yet on call Graphics2D.drawRenderedImage Reviewed-by: prr, flar ! src/share/classes/sun/java2d/opengl/OGLBlitLoops.java ! src/share/classes/sun/java2d/opengl/OGLSurfaceDataProxy.java + test/sun/java2d/OpenGL/CustomCompositeTest.java Changeset: 1175410d98ea Author: serb Date: 2012-11-21 15:50 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1175410d98ea 7124552: [macosx] NullPointerException in getBufferStrategy() 7124219: [macosx] Unable to draw images to fullscreen Reviewed-by: bae, anthony ! src/macosx/classes/sun/awt/CGraphicsConfig.java ! src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java ! src/macosx/classes/sun/lwawt/LWCanvasPeer.java ! src/macosx/classes/sun/lwawt/LWComponentPeer.java + src/macosx/classes/sun/lwawt/LWGraphicsConfig.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java - src/share/classes/sun/awt/TextureSizeConstraining.java Changeset: 5b2c31d20a64 Author: serb Date: 2012-11-21 15:54 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5b2c31d20a64 7193214: Consider simplifying CPlatformWindow.setResizable() Reviewed-by: anthony, denis ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m Changeset: c9dead63607c Author: serb Date: 2012-11-21 15:58 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c9dead63607c 7154516: [macosx] Popup menus have no visible borders Reviewed-by: anthony, denis ! src/macosx/classes/com/apple/laf/AquaLookAndFeel.java Changeset: 9cd48409539e Author: kizune Date: 2012-11-21 20:42 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9cd48409539e 8003273: Missing testcase for 7171812 Reviewed-by: art, serb + test/javax/swing/dnd/7171812/JListWithScroll.java + test/javax/swing/dnd/7171812/bug7171812.java Changeset: 5600005b87fb Author: serb Date: 2012-11-27 17:03 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5600005b87fb 8002308: [macosx] 7198229 should be applied to the user action only Reviewed-by: anthony, skovatch ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m + test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java Changeset: 0e91d6f3019c Author: alexsch Date: 2012-11-29 07:42 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0e91d6f3019c 8000423: Diacritic is not applyed to a base letter on Linux Reviewed-by: anthony, serb ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: abee1d528df1 Author: kshefov Date: 2012-11-30 12:39 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/abee1d528df1 7124242: [macosx] Test doesn't work because of the frame round corners in the LaF Reviewed-by: anthony, yan, alexsch ! test/javax/swing/text/CSSBorder/6796710/bug6796710.java Changeset: 35d8085aa14a Author: lana Date: 2012-11-30 17:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/35d8085aa14a Merge Changeset: da55ef766e48 Author: alexsch Date: 2012-12-04 15:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/da55ef766e48 6671481: NPE at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection Reviewed-by: serb ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Changeset: bd175c70684c Author: alexsch Date: 2012-12-04 15:56 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bd175c70684c 8003830: NPE at BasicTreeUI$Actions.page:4470 Reviewed-by: serb, alexsch Contributed-by: Jaroslav Tulach ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java + test/javax/swing/JTree/8003830/bug8003830.java Changeset: 009fd6e1d9f5 Author: alexsch Date: 2012-12-04 16:42 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/009fd6e1d9f5 8002077: Possible mnemonic issue on JFileChooser Save button on nimbus L&F Reviewed-by: serb ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java Changeset: 4aad3e6f68d2 Author: jviswana Date: 2012-12-04 17:17 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4aad3e6f68d2 4631925: JColor Chooser is not fully accessible Reviewed-by: alexsch ! src/share/classes/javax/swing/JColorChooser.java ! src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java ! src/share/classes/javax/swing/colorchooser/ColorPanel.java ! src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java Changeset: ea20c9388d90 Author: aph Date: 2012-12-04 14:02 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ea20c9388d90 8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c Summary: Code does not check for JNU_GetEnv returning NULL. Reviewed-by: anthony ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: bbbb5c70aa59 Author: lana Date: 2012-12-04 11:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bbbb5c70aa59 Merge - src/share/classes/sun/awt/TextureSizeConstraining.java Changeset: f389bf27fc4f Author: dbuck Date: 2012-11-20 21:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f389bf27fc4f 7198904: (alt-rt) TreeMap.clone is broken Summary: Test case for cr7198904. Issue only found in OracleJDK, but test case is valid for OpenJDK as well Reviewed-by: mduigou, dholmes + test/java/util/TreeMap/Clone.java Changeset: ee6e5b7d5d55 Author: uta Date: 2012-11-23 13:07 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ee6e5b7d5d55 8003898: X11 toolkit can be chosen as the default toolkit Summary: XToolkit is not selected for any values of system-wide environment variables (ex. DISPLAY). Reviewed-by: anthony, art ! src/solaris/native/java/lang/java_props_macosx.c Changeset: 621c379d909d Author: xuelei Date: 2012-11-24 03:34 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/621c379d909d 8001751: Javadoc warnings in JSSE code Reviewed-by: alanb ! src/share/classes/javax/net/ssl/HostnameVerifier.java ! src/share/classes/javax/net/ssl/SNIHostName.java ! src/share/classes/javax/net/ssl/SNIMatcher.java ! src/share/classes/javax/net/ssl/SNIServerName.java ! src/share/classes/javax/net/ssl/SSLParameters.java ! src/share/classes/javax/net/ssl/SSLSocketFactory.java Changeset: f7d45462b225 Author: xuelei Date: 2012-11-24 04:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f7d45462b225 8003950: Adds missing Override annotations and removes unnecessary imports in sun.security.ssl Reviewed-by: xuelei Contributed-by: Florian Weimer ! src/share/classes/sun/security/ssl/AppInputStream.java ! src/share/classes/sun/security/ssl/AppOutputStream.java ! src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java ! src/share/classes/sun/security/ssl/ByteBufferInputStream.java ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/CipherSuiteList.java ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/DHClientKeyExchange.java ! src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java ! src/share/classes/sun/security/ssl/ECDHCrypt.java ! src/share/classes/sun/security/ssl/EngineInputRecord.java ! src/share/classes/sun/security/ssl/EngineOutputRecord.java ! src/share/classes/sun/security/ssl/EngineWriter.java ! src/share/classes/sun/security/ssl/ExtensionType.java ! src/share/classes/sun/security/ssl/HandshakeHash.java ! src/share/classes/sun/security/ssl/HandshakeInStream.java ! src/share/classes/sun/security/ssl/HandshakeMessage.java ! src/share/classes/sun/security/ssl/HandshakeOutStream.java ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/HelloExtension.java ! src/share/classes/sun/security/ssl/HelloExtensions.java ! src/share/classes/sun/security/ssl/InputRecord.java ! src/share/classes/sun/security/ssl/JsseJce.java ! src/share/classes/sun/security/ssl/KerberosClientKeyExchange.java ! src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java ! src/share/classes/sun/security/ssl/Krb5Helper.java ! src/share/classes/sun/security/ssl/OutputRecord.java ! src/share/classes/sun/security/ssl/ProtocolList.java ! src/share/classes/sun/security/ssl/ProtocolVersion.java ! src/share/classes/sun/security/ssl/RSAClientKeyExchange.java ! src/share/classes/sun/security/ssl/RSASignature.java ! src/share/classes/sun/security/ssl/RenegotiationInfoExtension.java ! src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java ! src/share/classes/sun/security/ssl/SSLContextImpl.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLServerSocketFactoryImpl.java ! src/share/classes/sun/security/ssl/SSLServerSocketImpl.java ! src/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java ! src/share/classes/sun/security/ssl/ServerNameExtension.java ! src/share/classes/sun/security/ssl/SessionId.java ! src/share/classes/sun/security/ssl/SunJSSE.java ! src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java ! src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java ! src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java ! src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java ! src/share/classes/sun/security/ssl/UnknownExtension.java ! src/share/classes/sun/security/ssl/X509KeyManagerImpl.java ! src/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: d30c13172254 Author: xuelei Date: 2012-11-24 04:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d30c13172254 8003951: Removes unused variables in sun.security.ssl Reviewed-by: xuelei Contributed-by: Florian Weimer ! src/share/classes/sun/security/ssl/HandshakeMessage.java ! src/share/classes/sun/security/ssl/JsseJce.java ! src/share/classes/sun/security/ssl/SSLServerSocketImpl.java ! src/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java ! src/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: 8970128e040d Author: uta Date: 2012-11-26 15:54 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8970128e040d 7162111: TEST_BUG: change tests run in headless mode [macosx] (open) Summary: In problem tests detection of AWT headless mode was introduced or AWT dependence was removed. Reviewed-by: alanb ! test/ProblemList.txt ! test/demo/jvmti/mtrace/TraceJFrame.java ! test/java/io/Serializable/resolveClass/deserializeButton/Foo.java ! test/java/io/Serializable/resolveClass/deserializeButton/Test.java ! test/java/io/Serializable/resolveClass/deserializeButton/run.sh Changeset: 054470092795 Author: mullan Date: 2012-11-26 08:12 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/054470092795 7167056: Clarify that BasicPermission names that contain non-wildcard asterisks are not invalid Reviewed-by: weijun, xuelei ! src/share/classes/com/sun/net/ssl/SSLPermission.java ! src/share/classes/java/lang/RuntimePermission.java ! src/share/classes/java/net/NetPermission.java ! src/share/classes/java/security/BasicPermission.java ! src/share/classes/java/sql/SQLPermission.java ! src/share/classes/java/util/PropertyPermission.java ! src/share/classes/javax/net/ssl/SSLPermission.java + test/java/security/BasicPermission/Wildcard.java Changeset: ea66140be78d Author: mullan Date: 2012-11-26 08:23 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ea66140be78d Merge - makefiles/docs/CORE_PKGS.gmk - makefiles/docs/Makefile - makefiles/docs/NON_CORE_PKGS.gmk - makefiles/docs/Notes.html - makefiles/mapfiles/launchers/mapfile-amd64 - makefiles/mapfiles/launchers/mapfile-i586 - makefiles/mapfiles/libawt_headless/reorder-i586 - makefiles/mapfiles/libjava/reorder-i586 - makefiles/mapfiles/libjpeg/reorder-i586 - makefiles/mapfiles/libnio/mapfile-bsd - makefiles/mapfiles/libnio/reorder-i586 - makefiles/mapfiles/libverify/reorder-i586 - makefiles/mapfiles/libzip/reorder-i586 - makefiles/sun/xawt/ToBin.java ! src/share/classes/java/security/BasicPermission.java ! src/share/classes/java/sql/SQLPermission.java ! src/share/classes/java/util/PropertyPermission.java ! src/share/classes/javax/net/ssl/SSLPermission.java - src/share/classes/sun/net/www/protocol/gopher/GopherClient.java - src/share/classes/sun/net/www/protocol/gopher/Handler.java Changeset: d7ed56d57d97 Author: mullan Date: 2012-11-26 08:34 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d7ed56d57d97 Merge Changeset: c2e80176a697 Author: mduigou Date: 2012-11-26 15:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c2e80176a697 8001634: Initial set of functional interface types Summary: Add the core functional interfaces used by the JSR335 libraries. Reviewed-by: dholmes, briangoetz, darcy ! make/docs/CORE_PKGS.gmk ! make/java/java/Makefile + src/share/classes/java/util/function/BinaryOperator.java + src/share/classes/java/util/function/Block.java + src/share/classes/java/util/function/DoubleBinaryOperator.java + src/share/classes/java/util/function/DoubleBlock.java + src/share/classes/java/util/function/DoubleFunction.java + src/share/classes/java/util/function/DoubleSupplier.java + src/share/classes/java/util/function/DoubleUnaryOperator.java + src/share/classes/java/util/function/Function.java + src/share/classes/java/util/function/IntBinaryOperator.java + src/share/classes/java/util/function/IntBlock.java + src/share/classes/java/util/function/IntFunction.java + src/share/classes/java/util/function/IntSupplier.java + src/share/classes/java/util/function/IntUnaryOperator.java + src/share/classes/java/util/function/LongBinaryOperator.java + src/share/classes/java/util/function/LongBlock.java + src/share/classes/java/util/function/LongFunction.java + src/share/classes/java/util/function/LongSupplier.java + src/share/classes/java/util/function/LongUnaryOperator.java + src/share/classes/java/util/function/Predicate.java + src/share/classes/java/util/function/Supplier.java + src/share/classes/java/util/function/UnaryOperator.java + src/share/classes/java/util/function/package-info.java Changeset: ddf97baea570 Author: chegar Date: 2012-11-27 17:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ddf97baea570 8003833: Spurious NPE from Socket.getIn/OutputStream Reviewed-by: alanb, dsamersoff ! src/share/classes/java/net/AbstractPlainSocketImpl.java + test/java/net/Socket/Streams.java Changeset: 40311b5f478f Author: robm Date: 2012-11-28 00:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/40311b5f478f 8003597: TEST_BUG: Eliminate dependency on javaweb from closed net tests Reviewed-by: chegar + test/java/net/ResponseCache/Test.java + test/java/net/Socket/B6210227.java Changeset: 39b25d5880c6 Author: sherman Date: 2012-11-27 21:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/39b25d5880c6 4235519: Make sun.misc.BASE64{De,En}coder classes public Summary: to add java.util.Base64 Reviewed-by: alanb, mduigou ! make/java/java/FILES_java.gmk Changeset: c6ed2c238d4f Author: sherman Date: 2012-11-27 22:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c6ed2c238d4f 8004088: hg push for bug#4235519 failed to push all files Summary: pushed all base64 files Reviewed-by: alanb, mduigou + src/share/classes/java/util/Base64.java + test/java/util/Base64/TestBase64.java + test/java/util/Base64/TestBase64Golden.java + test/java/util/Base64/baseEncode.txt + test/java/util/Base64/mimeEncode.txt + test/java/util/Base64/plain.txt + test/java/util/Base64/urlEncode.txt Changeset: 46c627801490 Author: xuelei Date: 2012-11-28 05:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/46c627801490 8004019: Removes unused method HandshakeHash.setCertificateVerifyAlg() Summary: certification verification in HandshakeHash was abandoned during TLS 1.2 implementation Reviewed-by: xuelei, weijun Contributed-by: Florian Weimer ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/HandshakeHash.java ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/MAC.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java ! src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java Changeset: 735b93462eed Author: jfranck Date: 2012-11-28 09:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/735b93462eed 7154390: Add support for repeating annotations in j.l.r.AnnotatedElement Reviewed-by: darcy ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/annotation/ContainedBy.java ! src/share/classes/java/lang/annotation/ContainerFor.java + src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java + src/share/classes/sun/reflect/annotation/AnnotationSupport.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java + test/java/lang/annotation/repeatingAnnotations/RepeatedUnitTest.java + test/java/lang/annotation/repeatingAnnotations/subpackage/Containee.java + test/java/lang/annotation/repeatingAnnotations/subpackage/Container.java + test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainee.java + test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainer.java + test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedNonRepeated.java + test/java/lang/annotation/repeatingAnnotations/subpackage/NonRepeated.java + test/java/lang/annotation/repeatingAnnotations/subpackage/package-info.java Changeset: 3b6a2fe6d75c Author: dfuchs Date: 2012-11-28 15:14 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3b6a2fe6d75c 8003476: Cleanup warnings in com.sun.jmx.snmp code Reviewed-by: alanb, smarks ! src/share/classes/com/sun/jmx/snmp/EnumRowStatus.java ! src/share/classes/com/sun/jmx/snmp/Enumerated.java ! src/share/classes/com/sun/jmx/snmp/IPAcl/AclImpl.java ! src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAclBlock.java ! src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformBlock.java ! src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapBlock.java ! src/share/classes/com/sun/jmx/snmp/IPAcl/JJTParserState.java ! src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java ! src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java ! src/share/classes/com/sun/jmx/snmp/InetAddressAcl.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpErrorHandlerAgent.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpGenericObjectServer.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpIndex.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequest.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequestImpl.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpMibSubRequest.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpRequestTree.java ! src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardObjectServer.java ! src/share/classes/com/sun/jmx/snmp/daemon/CommunicatorServer.java ! src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServer.java ! src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServerMBean.java ! src/share/classes/com/sun/jmx/snmp/daemon/SnmpMibTree.java ! src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java ! src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java ! src/share/classes/com/sun/jmx/snmp/defaults/SnmpProperties.java ! src/share/classes/com/sun/jmx/snmp/tasks/ThreadService.java ! src/share/classes/sun/management/snmp/AdaptorBootstrap.java Changeset: 262b3b2f3aa3 Author: dfuchs Date: 2012-11-28 10:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/262b3b2f3aa3 Merge Changeset: 09bef1e118e3 Author: mchung Date: 2012-11-28 10:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/09bef1e118e3 8003851: MethodHandleNatives dependency on java.sql.DriverManager Reviewed-by: alanb, dholmes ! src/share/classes/java/lang/invoke/MethodHandleNatives.java Changeset: 80ddee59a21d Author: mchung Date: 2012-11-28 10:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/80ddee59a21d 8003869: Eliminate java.lang.invoke.InnerClassLambdaMetafactory dependency on java.util.logging Reviewed-by: alanb, dholmes ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java Changeset: 13ec794734f5 Author: michaelm Date: 2012-11-29 09:41 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/13ec794734f5 7200720: crash in net.dll during NTLM authentication Reviewed-by: chegar, dsamersoff ! make/java/net/Makefile ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c Changeset: ba5eabd6a37b Author: michaelm Date: 2012-11-29 09:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ba5eabd6a37b Merge Changeset: 2b829a5a46ee Author: jgish Date: 2012-11-29 12:28 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2b829a5a46ee 8003380: Compiler warnings in logging test code Summary: Use generics, suppress warnings where appropriate, remove unused imports, etc. Reviewed-by: lancea, chegar ! test/java/util/logging/ClassLoaderLeakTest.java ! test/java/util/logging/Listeners.java ! test/java/util/logging/ListenersWithSM.java ! test/java/util/logging/LoggerResourceBundleRace.java ! test/java/util/logging/LoggingDeadlock2.java ! test/java/util/logging/LoggingDeadlock3.java ! test/java/util/logging/LoggingDeadlock4.java ! test/java/util/logging/LoggingMXBeanTest.java ! test/java/util/logging/LoggingMXBeanTest2.java ! test/java/util/logging/MemoryHandlerTest.java ! test/java/util/logging/ParentLoggersTest.java ! test/java/util/logging/SimpleFormatterFormat.java Changeset: d91e6cb1da41 Author: shade Date: 2012-11-29 17:03 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d91e6cb1da41 8004141: UnsafeStaticFieldAccessorImpl#base should be final Reviewed-by: chegar, alanb Contributed-by: peter.levart at gmail.com ! src/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java Changeset: bf6ceb6b8f80 Author: mduigou Date: 2012-11-29 14:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bf6ceb6b8f80 7175464: entrySetView field is never updated in NavigableSubMap Summary: The method entrySet() in AscendingSubMap and DescendingSubMap failed to cache the entrySetView. Reviewed-by: alanb, psandoz ! src/share/classes/java/util/TreeMap.java Changeset: 75cb07a7b622 Author: mduigou Date: 2012-11-29 14:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/75cb07a7b622 6553074: String{Buffer,Builder}.indexOf(Str, int) contains unnecessary allocation Summary: It is not necessary to extract the value array with toCharArray. The value array can now be used directly. Reviewed-by: alanb ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/String.java Changeset: 83d9f30ebeed Author: smarks Date: 2012-11-28 17:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/83d9f30ebeed 8004131: move jdi tests out of core testset Reviewed-by: alanb, chegar ! make/jprt.properties Changeset: 7ccf93c60c4d Author: smarks Date: 2012-11-29 14:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7ccf93c60c4d 8004134: More ProblemList.txt updates (11/2012) Reviewed-by: alanb Contributed-by: amy.lu at oracle.com ! test/ProblemList.txt Changeset: 55f8ddc2f9c6 Author: sla Date: 2012-11-30 08:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/55f8ddc2f9c6 7155168: java/util/TimeZone/Bug6912560.java: expected Asia/Tokyo Reviewed-by: okutsu ! test/java/util/TimeZone/Bug6912560.java Changeset: e988de7465d4 Author: zhangshj Date: 2012-11-30 17:24 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e988de7465d4 8004211: Remove unused dlinfo local variable in launcher code Reviewed-by: alanb ! src/solaris/bin/java_md_solinux.c Changeset: 72d3d07b625d Author: alanb Date: 2012-11-30 11:18 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/72d3d07b625d 8003949: LogManager, downgrade normative reference to ${java.home}/lib/logging.properties Reviewed-by: psandoz, mchung ! src/share/classes/java/util/logging/LogManager.java Changeset: c370048be8fc Author: alanb Date: 2012-11-30 16:29 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c370048be8fc 7165762: (aio) Default thread pool should be configured so that threads terminated after a timeout period Reviewed-by: chegar ! src/share/classes/sun/nio/ch/ThreadPool.java Changeset: e7edb0da9c6a Author: jfranck Date: 2012-11-30 09:47 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e7edb0da9c6a 8004110: Remove debug code form sun/reflect/annotation/AnnotationSupport.java Reviewed-by: jjg, darcy ! src/share/classes/sun/reflect/annotation/AnnotationSupport.java Changeset: 43d2e02c4098 Author: khazra Date: 2012-11-30 12:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/43d2e02c4098 7197662: (prefs) java/util/prefs/AddNodeChangeListener.java fails by timeout or by "couldn't get file lock" Summary: Set -Djava.util.prefs.userRoot to current working directory of user in the prefs tests Reviewed-by: alanb, chegar, weijun, dxu ! test/java/util/prefs/AddNodeChangeListener.java ! test/java/util/prefs/CheckUserPrefsStorage.sh ! test/java/util/prefs/CommentsInXml.java ! test/java/util/prefs/ConflictInFlush.java ! test/java/util/prefs/ExportNode.java ! test/java/util/prefs/ExportSubtree.java ! test/java/util/prefs/PrefsSpi.sh ! test/java/util/prefs/RemoveNullKeyCheck.java ! test/java/util/prefs/RemoveReadOnlyNode.java ! test/java/util/prefs/RemoveUnregedListener.java Changeset: e66ec5b8c15e Author: lana Date: 2012-11-30 16:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e66ec5b8c15e Merge Changeset: fd8ba2d8baec Author: sherman Date: 2012-12-01 11:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fd8ba2d8baec 8004212: java.util.Base64 methods decodeArray and decodeBuffer should return the number of bytes written Summary: to return the length instead of position Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: f657adf4fe78 Author: alanb Date: 2012-12-02 16:37 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f657adf4fe78 8003846: Override mechanism for currency data should not require creating currency.properties in java.home Reviewed-by: naoto ! src/share/classes/java/util/Currency.java ! test/java/util/Currency/PropertiesTest.java ! test/java/util/Currency/PropertiesTest.sh Changeset: 60550cd2b527 Author: dholmes Date: 2012-12-02 19:16 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/60550cd2b527 7200297: agent code does not handle multiple boot library path elements correctly Summary: When bug 6819213 was fixed it enabled sun.boot.library.path property to contain multiple paths. Code in agents does not handle multiple paths when attempting to find dependent shared libs. Reviewed-by: dholmes, sspitsyn, dsamersoff Contributed-by: Bill Pittore ! src/share/back/debugInit.c ! src/share/back/error_messages.c ! src/share/back/transport.c ! src/share/demo/jvmti/hprof/hprof.h ! src/share/demo/jvmti/hprof/hprof_init.c ! src/solaris/back/linker_md.c ! src/solaris/demo/jvmti/hprof/hprof_md.c ! src/solaris/npt/npt_md.h ! src/windows/back/linker_md.c ! src/windows/demo/jvmti/hprof/hprof_md.c ! src/windows/npt/npt_md.h Changeset: a42da685dfca Author: weijun Date: 2012-12-03 17:14 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a42da685dfca 7198507: [TEST_BUG] sun/security/tools/keytool/console.sh should be rewritten Reviewed-by: xuelei ! test/sun/security/tools/keytool/console.sh Changeset: ead651efb271 Author: xuelei Date: 2012-12-03 06:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ead651efb271 8004184: security tests leave JSSEServer running Summary: Use othervm mode to release resources, and correct the system properties issues in JSSE Reviewed-by: chegar ! test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java Changeset: ee9846f351d7 Author: mullan Date: 2012-12-03 11:07 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ee9846f351d7 7199143: RFE: OCSP revocation checker should provide possibility to specify connection timeout Summary: Added com.sun.security.ocsp.timeout system property to control timeout Reviewed-by: mullan, vinnie Contributed-by: jason.uh at oracle.com ! src/share/classes/sun/security/provider/certpath/OCSP.java Changeset: 38ec2838dd86 Author: dxu Date: 2012-12-04 14:07 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/38ec2838dd86 7142921: (fs) Files.probeContentType reports a MIME type of "text/plain" on Ubuntu 11.04 7144997: (fs) Files.probeContentType returns null on Solaris 64-bit Reviewed-by: alanb, mduigou ! make/java/nio/Makefile ! make/java/nio/mapfile-linux ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/mapfiles/libnio/mapfile-linux ! src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/MacOSXFileSystemProvider.java + src/solaris/classes/sun/nio/fs/MagicFileTypeDetector.java + src/solaris/classes/sun/nio/fs/MimeTypesFileTypeDetector.java ! src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java + src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c Changeset: 2e8863c4f7d0 Author: kmo Date: 2012-12-04 15:10 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2e8863c4f7d0 8004066: TEST_BUG: test/java/lang/Math/DivModTests.java assumes ArithmeticException message Reviewed-by: twisti, alanb, dholmes ! test/java/lang/Math/DivModTests.java Changeset: 87028eb3f020 Author: lana Date: 2012-12-04 11:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/87028eb3f020 Merge Changeset: b68a5404de60 Author: lana Date: 2012-12-10 20:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b68a5404de60 Merge ! makefiles/CompileJavaClasses.gmk - src/share/classes/sun/awt/TextureSizeConstraining.java Changeset: 379e3dfa521d Author: erikj Date: 2012-12-06 12:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/379e3dfa521d 8004104: build-infra: Minor cleanup Reviewed-by: ohrstrom, tbell ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk Changeset: 2689f6cfe835 Author: erikj Date: 2012-12-11 12:27 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2689f6cfe835 8001753: build-infra: mismatch with full debug symbol control for hotspot Summary: Changing boolean values of ENABLE_DEBUG_SYMBOLS. Reviewed-by: dholmes, ohair ! makefiles/CompileNativeLibraries.gmk Changeset: 53fb43e4d614 Author: katleman Date: 2012-12-12 13:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/53fb43e4d614 Merge ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk Changeset: 7fd56a5abd94 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7fd56a5abd94 Added tag jdk8-b68 for changeset 53fb43e4d614 ! .hgtags From john.coomes at oracle.com Fri Dec 14 03:30:00 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 14 Dec 2012 11:30:00 +0000 Subject: hg: hsx/hotspot-rt/langtools: 13 new changesets Message-ID: <20121214113036.86EB547169@hg.openjdk.java.net> Changeset: d9fe1f80515d Author: vromero Date: 2012-11-21 18:40 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d9fe1f80515d 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used 7109747: (javap) classfile not treating iinc_w correctly. Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/classfile/Instruction.java ! src/share/classes/com/sun/tools/classfile/Opcode.java + test/tools/javap/T7190862.java Changeset: 3746b071d75b Author: vromero Date: 2012-11-21 19:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/3746b071d75b 6574624: javax.tools.JavaCompiler spec contains errors in sample code Reviewed-by: jjg, mcimadamore ! src/share/classes/javax/tools/JavaCompiler.java Changeset: 4d68e2a05b50 Author: jjg Date: 2012-11-27 13:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/4d68e2a05b50 8004068: Fix build problems caused by on-demand imports Reviewed-by: jjg Contributed-by: eric.caspole at amd.com ! src/share/classes/com/sun/tools/javac/code/Types.java Changeset: 1f41a5758cf7 Author: vromero Date: 2012-11-23 15:13 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1f41a5758cf7 7144981: javac should ignore ignorable characters in input Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java + test/tools/javac/7144981/IgnoreIgnorableCharactersInInput.java Changeset: 969c96b980b7 Author: vromero Date: 2012-11-29 09:41 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/969c96b980b7 7153958: add constant pool reference to class containing inlined constants Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/7153958/CPoolRefClassContainingInlinedCts.java + test/tools/javac/7153958/pkg/ClassToBeStaticallyImported.java Changeset: 4f9853659bf1 Author: mcimadamore Date: 2012-11-30 15:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/4f9853659bf1 8004105: Expression statement lambdas should be void-compatible Summary: Fix lambda compatibility rules as per latest EDR Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/tools/javac/lambda/LambdaConv21.java ! test/tools/javac/lambda/LambdaConv21.out ! test/tools/javac/lambda/VoidCompatibility.out Changeset: 34d1ebaf4645 Author: mcimadamore Date: 2012-11-30 15:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/34d1ebaf4645 8004102: Add support for generic functional descriptors Summary: Method references are allowed to have a generic functional interface descriptor target Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties - test/tools/javac/diags/examples/InvalidGenericDescInFunctionalInterface.java + test/tools/javac/diags/examples/InvalidGenericLambdaTarget.java + test/tools/javac/lambda/FunctionalInterfaceConversionTest.java - test/tools/javac/lambda/LambdaConversionTest.java + test/tools/javac/lambda/MethodReference57.java + test/tools/javac/lambda/MethodReference58.java + test/tools/javac/lambda/MethodReference58.out Changeset: 9b26c96f5138 Author: mcimadamore Date: 2012-11-30 15:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/9b26c96f5138 8004101: Add checks for method reference well-formedness Summary: Bring method reference type-checking in sync with latest EDR Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/diags/examples/StaticBoundMref.java + test/tools/javac/diags/examples/StaticMrefWithTargs.java ! test/tools/javac/lambda/MethodReference30.java + test/tools/javac/lambda/MethodReference55.java + test/tools/javac/lambda/MethodReference55.out + test/tools/javac/lambda/MethodReference56.java + test/tools/javac/lambda/MethodReference56.out ! test/tools/javac/lambda/methodReference/MethodRef1.java ! test/tools/javac/lambda/methodReference/SamConversion.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestKinds.java Changeset: f6f1fd261f57 Author: mcimadamore Date: 2012-11-30 15:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/f6f1fd261f57 8002099: Add support for intersection types in cast expression Summary: Add parser and type-checking support for intersection types in cast expressions Reviewed-by: jjg + src/share/classes/com/sun/source/tree/IntersectionTypeTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java + src/share/classes/javax/lang/model/type/IntersectionType.java ! src/share/classes/javax/lang/model/type/TypeKind.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java + test/tools/javac/cast/intersection/IntersectionTypeCastTest.java + test/tools/javac/cast/intersection/IntersectionTypeParserTest.java + test/tools/javac/cast/intersection/model/Check.java + test/tools/javac/cast/intersection/model/IntersectionTypeInfo.java + test/tools/javac/cast/intersection/model/Member.java + test/tools/javac/cast/intersection/model/Model01.java + test/tools/javac/cast/intersection/model/ModelChecker.java + test/tools/javac/diags/examples/IntersectionTypesInCastNotSupported.java + test/tools/javac/diags/examples/SecondaryBoundMustBeMarkerIntf.java + test/tools/javac/lambda/Intersection01.java + test/tools/javac/lambda/Intersection01.out ! test/tools/javac/lambda/LambdaParserTest.java + test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java Changeset: 98e14fc9ee11 Author: lana Date: 2012-11-30 16:34 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/98e14fc9ee11 Merge Changeset: 0e70eb71fec0 Author: mcimadamore Date: 2012-12-04 17:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/0e70eb71fec0 8004360: regression test DefaultMethodRegressionTests fails in langtools Summary: ignore broken failing test Reviewed-by: jjg - test/tools/javac/defaultMethodExecution/DefaultMethodRegressionTests.java + test/tools/javac/defaultMethods/defaultMethodExecution/DefaultMethodRegressionTests.java Changeset: 014a6a11dfe5 Author: lana Date: 2012-12-10 20:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/014a6a11dfe5 Merge - test/tools/javac/defaultMethodExecution/DefaultMethodRegressionTests.java - test/tools/javac/diags/examples/InvalidGenericDescInFunctionalInterface.java - test/tools/javac/lambda/LambdaConversionTest.java Changeset: 13ccb5269f3d Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/13ccb5269f3d Added tag jdk8-b68 for changeset 014a6a11dfe5 ! .hgtags From tim.bell at oracle.com Fri Dec 14 09:57:19 2012 From: tim.bell at oracle.com (Tim Bell) Date: Fri, 14 Dec 2012 09:57:19 -0800 Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CA65DF.9060700@oracle.com> References: <50CA2416.9070806@oracle.com> <50CA391B.3030509@oracle.com> <50CA3F9C.5050005@oracle.com> <8f2a9523-5390-41db-bf5d-6ddf8040bc8b@default> <50CA6137.8030402@oracle.com> <50CA65DF.9060700@oracle.com> Message-ID: <50CB687F.5000502@oracle.com> This looks fine to me from a build and build-infra perspective. Thanks for taking this on - code deletion is all good. Tim On 12/13/12 15:33, Daniel D. Daugherty wrote: > Trying again... now my e-mail client is complaining... > > Adding back in the other OpenJDK aliases... > > Ron's e-mail has gone off-line (no e-mail for him since 1440 MT)... > > Coleen, > > Thanks for the review! > > This bug (7153050) is just for the Makefile changes so that the > reviews are more focused. Ron has separate bugs for the other parts > of the hotspot repo that need to be fixed. I believe he is going to > attack the src/... paths in his second fix. > > Dan > > > On 12/13/12 4:13 PM, Coleen Phillimore wrote: >> >> Ron, I'm so happy this is going away. The code changed looks >> good. There are some comments in some files that refer to the old >> jvm_g.dll and libjvm_g.so. Can you remove these too? >> >> carrs% ygrep -l libjvm_g >> ./os/bsd/vm/os_bsd.cpp >> ./os/linux/vm/os_linux.cpp >> ./os/solaris/vm/os_solaris.cpp >> carrs% ygre jvm_g.dll >> ygre: Command not found. >> carrs% ygrep jvm_g.dll >> ./os/windows/vm/os_windows.cpp:// Find the full path to the current >> module, jvm.dll or jvm_g.dll >> ./share/tools/ProjectCreator/ProjectCreator.java: + >> "jvm.dll and jvm_g.dll; no trailing slash>"); >> >> Thanks, >> Coleen >> >> On 12/13/2012 03:53 PM, Ron Durbin wrote: >>> Thx again >>> -----Original Message----- >>> From: Daniel D. Daugherty >>> Sent: Thursday, December 13, 2012 1:51 PM >>> To: build-dev; serviceability-dev at openjdk.java.net; >>> hotspot-runtime-dev at openjdk.java.net; Ron Durbin >>> Subject: Re: code review request for 7153050 remove crufty '_g' support >>> >>> Serguei, >>> >>> Thanks for the fast review! >>> >>> I could swear that Ron had removed lines 41 and 45 in an earlier >>> version. Sigh... Will be fixed. >>> >>> Dan >>> >>> >>> On 12/13/12 1:22 PM, serguei.spitsyn at oracle.com wrote: >>>> Dan, >>>> >>>> It is nice fix and simplified many places. >>>> >>>> Just one minor comment: >>>> >>>> make/bsd/makefiles/dtrace.make >>>> >>>> 41 #LIBJVM_DB = libjvm_db.dylib >>>> 42 LIBJVM_DB = libjvm_db.dylib >>>> >>>> 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib >>>> 46 LIBJVM_DTRACE = libjvm_dtrace.dylib >>>> >>>> The lines #41 and #45 can be removed. >>>> >>>> >>>> Thanks, >>>> Serguei >>>> >>>> >>>> On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I'm sponsoring this code review request from Ron Durbin. This change >>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure >>>>> you include Ron on any e-mail replies since he is not yet on the >>>>> OpenJDK aliases. >>>>> >>>>> Dan >>>>> >>>>> >>>>> Intro: >>>>> >>>>> This set of changes removes the makefile support for generation of >>>>> debug versions that follow _g semantics. >>>>> >>>>> Defect: >>>>> >>>>> 7153050 "remove crufty '_g' support from HotSpot repo" >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7153050 >>>>> >>>>> >>>>> Webrev >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 >>>>> >>>>> Details: >>>>> >>>>> Many makefiles have been modified to remove all reference and support >>>>> for debug versions that follow _g semantics. >> > From daniel.daugherty at oracle.com Fri Dec 14 10:19:45 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 14 Dec 2012 11:19:45 -0700 Subject: code review request for 7153050 remove crufty '_g' support In-Reply-To: <50CB687F.5000502@oracle.com> References: <50CA2416.9070806@oracle.com> <50CA391B.3030509@oracle.com> <50CA3F9C.5050005@oracle.com> <8f2a9523-5390-41db-bf5d-6ddf8040bc8b@default> <50CA6137.8030402@oracle.com> <50CA65DF.9060700@oracle.com> <50CB687F.5000502@oracle.com> Message-ID: <50CB6DC1.7050404@oracle.com> Thanks Tim! Dan On 12/14/12 10:57 AM, Tim Bell wrote: > This looks fine to me from a build and build-infra perspective. > > Thanks for taking this on - code deletion is all good. > > Tim > > On 12/13/12 15:33, Daniel D. Daugherty wrote: >> Trying again... now my e-mail client is complaining... >> >> Adding back in the other OpenJDK aliases... >> >> Ron's e-mail has gone off-line (no e-mail for him since 1440 MT)... >> >> Coleen, >> >> Thanks for the review! >> >> This bug (7153050) is just for the Makefile changes so that the >> reviews are more focused. Ron has separate bugs for the other parts >> of the hotspot repo that need to be fixed. I believe he is going to >> attack the src/... paths in his second fix. >> >> Dan >> >> >> On 12/13/12 4:13 PM, Coleen Phillimore wrote: >>> >>> Ron, I'm so happy this is going away. The code changed looks >>> good. There are some comments in some files that refer to the old >>> jvm_g.dll and libjvm_g.so. Can you remove these too? >>> >>> carrs% ygrep -l libjvm_g >>> ./os/bsd/vm/os_bsd.cpp >>> ./os/linux/vm/os_linux.cpp >>> ./os/solaris/vm/os_solaris.cpp >>> carrs% ygre jvm_g.dll >>> ygre: Command not found. >>> carrs% ygrep jvm_g.dll >>> ./os/windows/vm/os_windows.cpp:// Find the full path to the current >>> module, jvm.dll or jvm_g.dll >>> ./share/tools/ProjectCreator/ProjectCreator.java: + >>> "jvm.dll and jvm_g.dll; no trailing slash>"); >>> >>> Thanks, >>> Coleen >>> >>> On 12/13/2012 03:53 PM, Ron Durbin wrote: >>>> Thx again >>>> -----Original Message----- >>>> From: Daniel D. Daugherty >>>> Sent: Thursday, December 13, 2012 1:51 PM >>>> To: build-dev; serviceability-dev at openjdk.java.net; >>>> hotspot-runtime-dev at openjdk.java.net; Ron Durbin >>>> Subject: Re: code review request for 7153050 remove crufty '_g' >>>> support >>>> >>>> Serguei, >>>> >>>> Thanks for the fast review! >>>> >>>> I could swear that Ron had removed lines 41 and 45 in an earlier >>>> version. Sigh... Will be fixed. >>>> >>>> Dan >>>> >>>> >>>> On 12/13/12 1:22 PM, serguei.spitsyn at oracle.com wrote: >>>>> Dan, >>>>> >>>>> It is nice fix and simplified many places. >>>>> >>>>> Just one minor comment: >>>>> >>>>> make/bsd/makefiles/dtrace.make >>>>> >>>>> 41 #LIBJVM_DB = libjvm_db.dylib >>>>> 42 LIBJVM_DB = libjvm_db.dylib >>>>> >>>>> 45 #LIBJVM_DTRACE = libjvm_dtrace.dylib >>>>> 46 LIBJVM_DTRACE = libjvm_dtrace.dylib >>>>> >>>>> The lines #41 and #45 can be removed. >>>>> >>>>> >>>>> Thanks, >>>>> Serguei >>>>> >>>>> >>>>> On 12/13/12 10:53 AM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I'm sponsoring this code review request from Ron Durbin. This change >>>>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. Please make sure >>>>>> you include Ron on any e-mail replies since he is not yet on the >>>>>> OpenJDK aliases. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> Intro: >>>>>> >>>>>> This set of changes removes the makefile support for generation of >>>>>> debug versions that follow _g semantics. >>>>>> >>>>>> Defect: >>>>>> >>>>>> 7153050 "remove crufty '_g' support from HotSpot repo" >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153050 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7153050 >>>>>> >>>>>> >>>>>> Webrev >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/7153050-webrev/0 >>>>>> >>>>>> Details: >>>>>> >>>>>> Many makefiles have been modified to remove all reference and >>>>>> support >>>>>> for debug versions that follow _g semantics. >>> >> > > > > From huizhe.wang at oracle.com Fri Dec 14 13:21:58 2012 From: huizhe.wang at oracle.com (huizhe.wang at oracle.com) Date: Fri, 14 Dec 2012 21:21:58 +0000 Subject: hg: jdk8/tl/jaxp: 8003260: [findbug] some fields should be package protected Message-ID: <20121214212203.216C64717E@hg.openjdk.java.net> Changeset: b1fdb101c82e Author: joehw Date: 2012-12-14 13:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/b1fdb101c82e 8003260: [findbug] some fields should be package protected Summary: change public or protected mutable static fields to private or package private. Reviewed-by: lancea ! src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java ! src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java From daniel.daugherty at oracle.com Fri Dec 14 16:39:00 2012 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Sat, 15 Dec 2012 00:39:00 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 7153050: remove crufty '_g' support from HotSpot repo makefiles Message-ID: <20121215003903.5A4F147188@hg.openjdk.java.net> Changeset: 892acf0431ef Author: dcubed Date: 2012-12-14 10:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/892acf0431ef 7153050: remove crufty '_g' support from HotSpot repo makefiles Summary: Phase 1 is removing '_g' support from the Makefiles. Reviewed-by: dcubed, sspitsyn, coleenp, tbell Contributed-by: ron.durbin at oracle.com ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/debug.make ! make/bsd/makefiles/dtrace.make ! make/bsd/makefiles/fastdebug.make ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/jsig.make ! make/bsd/makefiles/jvmg.make ! make/bsd/makefiles/optimized.make ! make/bsd/makefiles/product.make ! make/bsd/makefiles/saproc.make ! make/bsd/makefiles/vm.make ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/debug.make ! make/linux/makefiles/fastdebug.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/jvmg.make ! make/linux/makefiles/optimized.make ! make/linux/makefiles/product.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/vm.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/debug.make ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/fastdebug.make ! make/solaris/makefiles/gcc.make ! make/solaris/makefiles/jsig.make ! make/solaris/makefiles/jvmg.make ! make/solaris/makefiles/optimized.make ! make/solaris/makefiles/product.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/vm.make ! make/windows/build.make ! make/windows/projectfiles/compiler2/ADLCompiler.dsp ! make/windows/projectfiles/tiered/ADLCompiler.dsp From coleen.phillimore at oracle.com Fri Dec 14 20:49:34 2012 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Sat, 15 Dec 2012 04:49:34 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20121215044943.3BB2F47192@hg.openjdk.java.net> Changeset: 30866cd626b0 Author: coleenp Date: 2012-12-12 11:39 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/30866cd626b0 8004883: NPG: clean up anonymous class fix Summary: Add klass_holder() to return either mirror or class_loader depending on if the class is anonymous or not. Reviewed-by: stefank, jrose ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp Changeset: 18712b1caf7a Author: rkennke Date: 2012-12-12 21:40 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/18712b1caf7a 8004898: library_call.cpp build error after 7172640 with GCC 4.7.2 Summary: fix opto/library_call.cpp compilation errors Reviewed-by: twisti, coleenp ! src/share/vm/opto/library_call.cpp Changeset: 8580f22db905 Author: coleenp Date: 2012-12-14 16:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8580f22db905 Merge From alan.bateman at oracle.com Sat Dec 15 07:11:18 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sat, 15 Dec 2012 15:11:18 +0000 Subject: hg: jdk8/tl/jdk: 8004963: URLConnection, downgrade normative reference to ${java.home}/lib/content-types.properties Message-ID: <20121215151130.417F44719C@hg.openjdk.java.net> Changeset: 69fd3f3d20c1 Author: alanb Date: 2012-12-15 15:07 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/69fd3f3d20c1 8004963: URLConnection, downgrade normative reference to ${java.home}/lib/content-types.properties Reviewed-by: chegar ! src/share/classes/java/net/URLConnection.java From vicente.romero at oracle.com Sat Dec 15 05:43:42 2012 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sat, 15 Dec 2012 13:43:42 +0000 Subject: hg: jdk8/tl/langtools: 8004976: test/tools/javac/7153958/CPoolRefClassContainingInlinedCts.java can fail Message-ID: <20121215134348.1B0384719A@hg.openjdk.java.net> Changeset: 37a5d7eccb87 Author: vromero Date: 2012-12-14 11:16 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/37a5d7eccb87 8004976: test/tools/javac/7153958/CPoolRefClassContainingInlinedCts.java can fail Reviewed-by: jjg, mcimadamore ! test/tools/javac/7153958/CPoolRefClassContainingInlinedCts.java From vicente.romero at oracle.com Sat Dec 15 06:02:59 2012 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sat, 15 Dec 2012 14:02:59 +0000 Subject: hg: jdk8/tl/langtools: 8000518: Javac generates duplicate name_and_type constant pool entry for class BinaryOpValueExp.java Message-ID: <20121215140302.1CD004719B@hg.openjdk.java.net> Changeset: de1ec6fc93fe Author: vromero Date: 2012-12-15 13:54 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/de1ec6fc93fe 8000518: Javac generates duplicate name_and_type constant pool entry for class BinaryOpValueExp.java Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/Pool.java ! src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java + test/tools/javac/8000518/DuplicateConstantPoolEntry.java ! test/tools/javac/lambda/TestInvokeDynamic.java From weijun.wang at oracle.com Sun Dec 16 20:42:00 2012 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Mon, 17 Dec 2012 04:42:00 +0000 Subject: hg: jdk8/tl/jdk: 7197159: accept different kvno if there no match Message-ID: <20121217044222.4A03C471B5@hg.openjdk.java.net> Changeset: eaaec81aa974 Author: weijun Date: 2012-12-17 12:18 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/eaaec81aa974 7197159: accept different kvno if there no match Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/EncryptionKey.java ! test/sun/security/krb5/auto/DynamicKeytab.java + test/sun/security/krb5/auto/KvnoNA.java ! test/sun/security/krb5/auto/MoreKvno.java From lana.steuck at oracle.com Sun Dec 16 23:36:21 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Dec 2012 07:36:21 +0000 Subject: hg: jdk8/tl: 13 new changesets Message-ID: <20121217073622.E5498471B9@hg.openjdk.java.net> Changeset: 98a7af257bee Author: erikj Date: 2012-12-03 10:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/98a7af257bee 8003819: build-infra: backslashes at end of LIB and INCLUDE in spec.gmk Summary: Removing trailing backslash from LIB and INCLUDE. Reviewed-by: ohrstrom, ohair ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain_windows.m4 Changeset: 754f91d22e1c Author: erikj Date: 2012-12-05 09:39 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/754f91d22e1c 8001541: Cannot build on Solaris using softlinks Summary: Fixed softlink resolver macro in configure. Reviewed-by: tbell, ohair ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: ec187d02c95e Author: erikj Date: 2012-12-05 10:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/ec187d02c95e 8004281: build-infra: Move all jar creation to images target and put jars in images/lib Summary: Fixed bug in setting up make dependencies in SetupArchive. Reviewed-by: ohair, tbell, dholmes ! common/makefiles/JavaCompilation.gmk Changeset: bd32ef0789ca Author: erikj Date: 2012-12-05 16:35 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/bd32ef0789ca 8003414: build-infra: fails on on windows Summary: Added extra check that windows sdk is valid. Reviewed-by: tbell, ohrstrom, ohair ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain_windows.m4 Changeset: 9a6ec97ec45c Author: katleman Date: 2012-12-05 12:52 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/9a6ec97ec45c Merge Changeset: c91c581321ce Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c91c581321ce Added tag jdk8-b67 for changeset 9a6ec97ec45c ! .hgtags Changeset: 04435608c613 Author: lana Date: 2012-12-10 20:52 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/04435608c613 Merge Changeset: 6b96b7744913 Author: erikj Date: 2012-12-07 17:23 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/6b96b7744913 8004045: build-infra: Error 12 from zip when updating src.zip Summary: Hiding this error from make so that it doesn't fail Reviewed-by: ohrstrom, dholmes ! common/makefiles/JavaCompilation.gmk Changeset: 2795874efd16 Author: erikj Date: 2012-12-11 11:29 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/2795874efd16 8003945: build-infra: problems finding compiler when using --with-dev-kit Summary: Search all compiler names in dev-kit dir first. Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: e175ecff1391 Author: erikj Date: 2012-12-11 11:33 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/e175ecff1391 8001753: build-infra: mismatch with full debug symbol control for hotspot Summary: Enabling hotspot to use the FDS settings established at configure time Reviewed-by: dholmes, ohair ! common/autoconf/generated-configure.sh ! common/autoconf/hotspot-spec.gmk.in ! common/autoconf/jdk-options.m4 ! common/makefiles/NativeCompilation.gmk Changeset: cdb401a60cea Author: katleman Date: 2012-12-12 13:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/cdb401a60cea Merge Changeset: e9ec00893bb4 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/e9ec00893bb4 Added tag jdk8-b68 for changeset cdb401a60cea ! .hgtags Changeset: 2ed5be3dd506 Author: lana Date: 2012-12-16 22:02 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/2ed5be3dd506 Merge From lana.steuck at oracle.com Sun Dec 16 23:36:21 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Dec 2012 07:36:21 +0000 Subject: hg: jdk8/tl/corba: 2 new changesets Message-ID: <20121217073624.2ABCA471BA@hg.openjdk.java.net> Changeset: 82000531feaa Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/82000531feaa Added tag jdk8-b67 for changeset 394515ad2a55 ! .hgtags Changeset: 22ddcac208a8 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/22ddcac208a8 Added tag jdk8-b68 for changeset 82000531feaa ! .hgtags From lana.steuck at oracle.com Sun Dec 16 23:36:21 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Dec 2012 07:36:21 +0000 Subject: hg: jdk8/tl/jaxws: 2 new changesets Message-ID: <20121217073630.41FAB471BB@hg.openjdk.java.net> Changeset: d3fe408f3a9a Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/d3fe408f3a9a Added tag jdk8-b67 for changeset eb06aa51dfc2 ! .hgtags Changeset: 756323c99011 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/756323c99011 Added tag jdk8-b68 for changeset d3fe408f3a9a ! .hgtags From lana.steuck at oracle.com Sun Dec 16 23:36:21 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Dec 2012 07:36:21 +0000 Subject: hg: jdk8/tl/jaxp: 3 new changesets Message-ID: <20121217073633.F1ED7471BC@hg.openjdk.java.net> Changeset: b854e7008421 Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/b854e7008421 Added tag jdk8-b67 for changeset 83df3493ca3c ! .hgtags Changeset: 789a855de959 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/789a855de959 Added tag jdk8-b68 for changeset b854e7008421 ! .hgtags Changeset: 8a20e948b806 Author: lana Date: 2012-12-16 22:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/8a20e948b806 Merge From lana.steuck at oracle.com Sun Dec 16 23:36:24 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Dec 2012 07:36:24 +0000 Subject: hg: jdk8/tl/langtools: 4 new changesets Message-ID: <20121217073636.62D0F471BD@hg.openjdk.java.net> Changeset: e9a13a6c9d5d Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/e9a13a6c9d5d Added tag jdk8-b67 for changeset 303b09787a69 ! .hgtags Changeset: 014a6a11dfe5 Author: lana Date: 2012-12-10 20:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/014a6a11dfe5 Merge - test/tools/javac/defaultMethodExecution/DefaultMethodRegressionTests.java - test/tools/javac/diags/examples/InvalidGenericDescInFunctionalInterface.java - test/tools/javac/lambda/LambdaConversionTest.java Changeset: 13ccb5269f3d Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/13ccb5269f3d Added tag jdk8-b68 for changeset 014a6a11dfe5 ! .hgtags Changeset: f72dc656a306 Author: lana Date: 2012-12-16 22:10 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f72dc656a306 Merge From lana.steuck at oracle.com Sun Dec 16 23:36:38 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Dec 2012 07:36:38 +0000 Subject: hg: jdk8/tl/hotspot: 48 new changesets Message-ID: <20121217073813.AEFEA471BE@hg.openjdk.java.net> Changeset: e1d42ba865de Author: amurillo Date: 2012-11-16 09:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e1d42ba865de 8003541: new hotspot build - hs25-b11 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 49cbd3e25ba9 Author: zgu Date: 2012-11-16 09:05 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/49cbd3e25ba9 8003487: NMT: incorrect assertion in VMMemPointerIterator::remove_released_region method (memSnapshot.cpp) Summary: The assertion is applied to only the region to be released, also performs region integrity checking Reviewed-by: acorn, coleenp ! src/share/vm/services/memSnapshot.cpp ! src/share/vm/services/memSnapshot.hpp Changeset: 3ed6de6e139b Author: coleenp Date: 2012-11-20 20:27 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3ed6de6e139b Merge Changeset: 73e64867adb7 Author: mikael Date: 2012-11-21 09:02 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/73e64867adb7 8003690: Example code in JVMTI GetStackTrace documentation is broken Summary: Fixed to minor errors in example code Reviewed-by: sspitsyn, dholmes ! src/share/vm/prims/jvmti.xml Changeset: 6b881a6b0665 Author: dholmes Date: 2012-11-21 20:07 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6b881a6b0665 8003591: Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use Reviewed-by: coleenp, kvn ! src/share/vm/runtime/vm_version.cpp Changeset: ca1be5fbe6ff Author: dholmes Date: 2012-11-21 21:26 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ca1be5fbe6ff Merge Changeset: 7c15faa95ce7 Author: mikael Date: 2012-11-27 07:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7c15faa95ce7 8003879: Duplicate definitions in vmStructs Summary: Removed duplicate entries Reviewed-by: dholmes, sspitsyn ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmStructs.hpp Changeset: bbc14465e7db Author: zgu Date: 2012-11-28 09:19 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/bbc14465e7db 8003689: MemTracker::init_tracking_options() reads outside array if commandline argument is empty Summary: Fixed potential buffer overrun when giving empty option to NativeMemoryTracking commandline option Reviewed-by: ctornqvi, hseigel, kvn ! src/share/vm/services/memTracker.cpp Changeset: 5de2a5bd519e Author: zgu Date: 2012-11-28 06:42 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5de2a5bd519e Merge Changeset: fe81517cfb77 Author: hseigel Date: 2012-11-28 08:17 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/fe81517cfb77 6924920: Class Data Sharing limit on the java version string can create failures Summary: Truncate the java version string and add a hash value if it is too long. Reviewed-by: dholmes, coleenp ! src/share/vm/memory/filemap.cpp Changeset: b51dc8df86e5 Author: coleenp Date: 2012-11-28 08:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b51dc8df86e5 Merge Changeset: 59c790074993 Author: coleenp Date: 2012-11-28 17:50 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/59c790074993 8003635: NPG: AsynchGetCallTrace broken by Method* virtual call Summary: Make metaspace::contains be lock free and used to see if something is in metaspace, also compare Method* with vtbl pointer. Reviewed-by: dholmes, sspitsyn, dcubed, jmasa ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/compiledICHolder.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 53715fb1597d Author: brutisso Date: 2012-11-20 11:40 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/53715fb1597d 7198334: UseNUMA modifies system parameters on non-NUMA system Summary: The flags MinHeapDeltaBytes and UseNUMAInterleaving must be adjusted after the OS have adjusted the UseNUMA flag in the method os::init_2. Reviewed-by: dholmes, brutisso Contributed-by: erik.helin at oracle.com ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/thread.cpp Changeset: 19c1bd641922 Author: coleenp Date: 2012-11-26 12:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/19c1bd641922 8003722: More gcc 4.7 compilation errors Summary: Add a few more this->qualifications. Reviewed-by: coleenp, dholmes Contributed-by: duboscq at ssw.jku.at ! src/share/vm/memory/binaryTreeDictionary.cpp Changeset: d0aa87f04bd5 Author: stefank Date: 2012-11-27 10:13 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d0aa87f04bd5 8003720: NPG: Method in interpreter stack frame can be deallocated Summary: Pass down a closure during root scanning to keep the class of the method alive. Reviewed-by: coleenp, jcoomes ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vmThread.hpp + test/runtime/8003720/Asmator.java + test/runtime/8003720/Test8003720.java + test/runtime/8003720/Victim.java + test/runtime/8003720/VictimClassLoader.java Changeset: f34d701e952e Author: stefank Date: 2012-11-27 14:20 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f34d701e952e 8003935: Simplify the needed includes for using Thread::current() Reviewed-by: dholmes, rbackman, coleenp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_32.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.cpp ! src/cpu/zero/vm/interp_masm_zero.cpp ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/cpu/zero/vm/stubRoutines_zero.cpp ! src/os/bsd/vm/mutex_bsd.cpp ! src/os/bsd/vm/mutex_bsd.inline.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/threadCritical_bsd.cpp ! src/os/bsd/vm/thread_bsd.inline.hpp ! src/os/linux/vm/mutex_linux.cpp ! src/os/linux/vm/mutex_linux.inline.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/threadCritical_linux.cpp ! src/os/linux/vm/thread_linux.inline.hpp ! src/os/solaris/vm/mutex_solaris.cpp ! src/os/solaris/vm/mutex_solaris.inline.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/threadCritical_solaris.cpp ! src/os/solaris/vm/thread_solaris.inline.hpp ! src/os/windows/vm/mutex_windows.cpp ! src/os/windows/vm/mutex_windows.inline.hpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/threadCritical_windows.cpp ! src/os/windows/vm/thread_windows.inline.hpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/thread_bsd_x86.cpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ! src/os_cpu/bsd_zero/vm/threadLS_bsd_zero.cpp ! src/os_cpu/bsd_zero/vm/thread_bsd_zero.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/thread_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_x86/vm/threadLS_linux_x86.cpp ! src/os_cpu/linux_x86/vm/thread_linux_x86.cpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp ! src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp ! src/os_cpu/linux_zero/vm/thread_linux_zero.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/threadLS_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/thread_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/threadLS_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/thread_solaris_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/os_cpu/windows_x86/vm/threadLS_windows_x86.cpp ! src/os_cpu/windows_x86/vm/thread_windows_x86.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/resourceArea.cpp ! src/share/vm/memory/resourceArea.hpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/markOop.cpp ! src/share/vm/oops/oop.cpp ! src/share/vm/oops/oopsHierarchy.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/handles.cpp ! src/share/vm/runtime/handles.inline.hpp ! src/share/vm/runtime/interfaceSupport.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/memprofiler.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/task.cpp ! src/share/vm/runtime/thread.cpp + src/share/vm/runtime/thread.inline.hpp ! src/share/vm/runtime/threadLocalStorage.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vmThread.hpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/services/memTracker.hpp ! src/share/vm/utilities/array.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/events.cpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/growableArray.cpp ! src/share/vm/utilities/preserveException.hpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/workgroup.hpp Changeset: 2fc0334f613a Author: johnc Date: 2012-11-27 14:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2fc0334f613a 7194633: G1: Assertion and guarantee failures in block offset table Summary: Add detailed error messages to assertions and guarantees in G1's block offset table. Reviewed-by: ysr, brutisso ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.inline.hpp ! src/share/vm/memory/space.cpp Changeset: c24f778e9401 Author: johnc Date: 2012-11-29 11:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c24f778e9401 Merge ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: b2dbd323c668 Author: jiangli Date: 2012-11-27 17:03 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b2dbd323c668 8003848: Make ConstMethod::generic_signature_index optional and move Method::_max_stack to ConstMethod. Summary: Make ConstMethod::generic_signature_index optional and move Method::_max_stack to ConstMethod. Reviewed-by: bdelsart, sspitsyn, coleenp ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 5505fbbae3d3 Author: cjplummer Date: 2012-11-29 13:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5505fbbae3d3 Merge ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 90273fc0a981 Author: coleenp Date: 2012-11-29 16:50 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/90273fc0a981 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in. Reviewed-by: twisti, jrose, stefank ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/ci/ciReplay.hpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/loaderConstraints.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/memory/metachunk.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/prims/unsafe.cpp Changeset: dad48145e775 Author: stefank Date: 2012-11-29 23:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dad48145e775 8004199: Change the ASM package for Test8003720 Reviewed-by: kvn, jrose ! test/runtime/8003720/Asmator.java ! test/runtime/8003720/Test8003720.java Changeset: 5fafdef522c6 Author: johnc Date: 2012-11-30 12:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5fafdef522c6 Merge ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp Changeset: b61d9c88b759 Author: amurillo Date: 2012-11-30 16:45 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b61d9c88b759 Merge Changeset: 25bdce771bb3 Author: amurillo Date: 2012-11-30 16:45 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/25bdce771bb3 Added tag hs25-b11 for changeset b61d9c88b759 ! .hgtags Changeset: 10587a580c51 Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/10587a580c51 Added tag jdk8-b67 for changeset 25bdce771bb3 ! .hgtags Changeset: 816b7e5bf2ed Author: amurillo Date: 2012-11-30 17:00 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/816b7e5bf2ed 8004248: new hotspot build - hs25-b12 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 7cc69864a29b Author: kvn Date: 2012-11-16 15:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7cc69864a29b 7146636: compiler/6865265/StackOverflowBug.java fails due to changed stack minimum Summary: Increase the stack size in the run parameters. Reviewed-by: kvn Contributed-by: david.r.chase at oracle.com ! test/compiler/6865265/StackOverflowBug.java Changeset: ee32440febeb Author: vlivanov Date: 2012-11-21 05:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ee32440febeb 8001538: hs_err file does not list anymore compiled methods in compilation events Summary: Fixed message buffer size calculation. Reviewed-by: kvn, twisti ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/utilities/events.hpp Changeset: beebba0acc11 Author: twisti Date: 2012-11-26 17:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/beebba0acc11 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop() Reviewed-by: kvn, jrose ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciSignature.hpp ! src/share/vm/interpreter/bytecodes.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/opto/type.hpp Changeset: 2cd5e15048e6 Author: twisti Date: 2012-11-27 12:48 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2cd5e15048e6 8003868: fix shark for latest HotSpot and LLVM Reviewed-by: twisti Contributed-by: Roman Kennke ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/assembler_zero.hpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/globals_zero.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/shark/llvmHeaders.hpp ! src/share/vm/shark/llvmValue.hpp ! src/share/vm/shark/sharkBlock.cpp ! src/share/vm/shark/sharkBuilder.cpp ! src/share/vm/shark/sharkBuilder.hpp ! src/share/vm/shark/sharkCacheDecache.cpp ! src/share/vm/shark/sharkCacheDecache.hpp ! src/share/vm/shark/sharkCodeBuffer.hpp ! src/share/vm/shark/sharkCompiler.cpp ! src/share/vm/shark/sharkConstant.cpp ! src/share/vm/shark/sharkContext.cpp ! src/share/vm/shark/sharkContext.hpp ! src/share/vm/shark/sharkFunction.hpp ! src/share/vm/shark/sharkIntrinsics.cpp ! src/share/vm/shark/sharkMemoryManager.cpp ! src/share/vm/shark/sharkMemoryManager.hpp ! src/share/vm/shark/sharkNativeWrapper.cpp ! src/share/vm/shark/sharkStack.cpp ! src/share/vm/shark/sharkStack.hpp ! src/share/vm/shark/sharkState.cpp ! src/share/vm/shark/sharkTopLevelBlock.cpp ! src/share/vm/shark/sharkTopLevelBlock.hpp ! src/share/vm/shark/sharkType.hpp ! src/share/vm/shark/sharkValue.cpp ! src/share/vm/shark/shark_globals.hpp Changeset: 2aff40cb4703 Author: bharadwaj Date: 2012-11-27 17:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2aff40cb4703 7092905: C2: Keep track of the number of dead nodes Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes. Reviewed-by: kvn, twisti, jrose, vlivanov ! src/share/tools/LogCompilation/README ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Phase.java ! src/share/vm/opto/block.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopUnswitch.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/stringopts.cpp Changeset: 1acccb7c0b01 Author: kvn Date: 2012-11-27 17:41 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1acccb7c0b01 8003850: add support for constants in stub code Summary: remember the code section and switch back to the proper one when adding constants. Reviewed-by: twisti, kvn Contributed-by: goetz.lindenmaier at sap.com ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp Changeset: 6ab62ad83507 Author: twisti Date: 2012-11-30 11:44 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6ab62ad83507 8003195: AbstractAssembler should not store code pointers but use the CodeSection directly Reviewed-by: twisti, kvn Contributed-by: Bharadwaj Yadavalli ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/assembler_x86.inline.hpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/assembler.inline.hpp ! src/share/vm/asm/codeBuffer.hpp Changeset: cd3d6a6b95d9 Author: twisti Date: 2012-11-30 15:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cd3d6a6b95d9 8003240: x86: move MacroAssembler into separate file Reviewed-by: kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/codeBuffer_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/assembler_x86.inline.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/icBuffer_x86.cpp ! src/cpu/x86/vm/icache_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interp_masm_x86_64.hpp ! src/cpu/x86/vm/interpreter_x86_32.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp ! src/cpu/x86/vm/jniFastGetField_x86_32.cpp ! src/cpu/x86/vm/jniFastGetField_x86_64.cpp + src/cpu/x86/vm/macroAssembler_x86.cpp + src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/metaspaceShared_x86_32.cpp ! src/cpu/x86/vm/metaspaceShared_x86_64.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.cpp ! src/cpu/x86/vm/relocInfo_x86.cpp ! src/cpu/x86/vm/runtime_x86_32.cpp ! src/cpu/x86/vm/runtime_x86_64.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/os/bsd/vm/osThread_bsd.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/linux/vm/osThread_linux.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.inline.hpp ! src/os/solaris/vm/osThread_solaris.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.inline.hpp ! src/os/windows/vm/osThread_windows.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.inline.hpp ! src/os_cpu/bsd_x86/vm/assembler_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/assembler_linux_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/assembler.inline.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp + src/share/vm/asm/macroAssembler.hpp + src/share/vm/asm/macroAssembler.inline.hpp ! src/share/vm/c1/c1_MacroAssembler.hpp ! src/share/vm/code/icBuffer.cpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp + src/share/vm/runtime/atomic.inline.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/stubCodeGenerator.cpp Changeset: dd38cfd12c3a Author: twisti Date: 2012-12-03 15:48 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dd38cfd12c3a 8004319: test/gc/7168848/HumongousAlloc.java fails after 7172640 Reviewed-by: kvn, johnc ! src/share/vm/opto/library_call.cpp Changeset: c5d414e98fd4 Author: neliasso Date: 2012-11-26 15:11 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c5d414e98fd4 8003983: LogCompilation tool is broken since c1 support Summary: Fixed emitting and parsing Reviewed-by: jrose, kvn ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/vm/c1/c1_Compilation.cpp Changeset: b7ff5879152e Author: neliasso Date: 2012-12-06 09:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b7ff5879152e 8003934: Fix generation of malformed options to Projectcreator Summary: Makefile produces unmatched quotes due to nmake bug Reviewed-by: jwilhelm, brutisso ! make/windows/projectfiles/common/Makefile Changeset: 228a94f37a67 Author: neliasso Date: 2012-12-06 14:33 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/228a94f37a67 Merge Changeset: f0c2369fda5a Author: twisti Date: 2012-12-06 09:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f0c2369fda5a 8003250: SPARC: move MacroAssembler into separate file Reviewed-by: jrose, kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/sparc/vm/icBuffer_sparc.cpp ! src/cpu/sparc/vm/icache_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.hpp ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/sparc/vm/jniFastGetField_sparc.cpp + src/cpu/sparc/vm/macroAssembler_sparc.cpp + src/cpu/sparc/vm/macroAssembler_sparc.hpp + src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/cpu/sparc/vm/metaspaceShared_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/relocInfo_sparc.cpp ! src/cpu/sparc/vm/runtime_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vmreg_sparc.cpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/assembler_zero.hpp ! src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/share/vm/adlc/main.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp ! src/share/vm/asm/register.hpp ! src/share/vm/code/vmreg.hpp Changeset: 522662fa9c16 Author: twisti Date: 2012-12-06 11:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/522662fa9c16 Merge Changeset: d2f8c38e543d Author: roland Date: 2012-12-07 01:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d2f8c38e543d Merge ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.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/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/thread.cpp Changeset: 0f80645e9c26 Author: johnc Date: 2012-11-30 11:46 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0f80645e9c26 8004170: G1: Verbose GC output is not getting flushed to log file using JDK 8 Summary: Add flushes to G1CollectedHeap::log_gc_footer() and TraceCPUTime destructor. Reviewed-by: jwilhelm, azeemj, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/runtime/timer.cpp Changeset: eade6b2e4782 Author: jmasa Date: 2012-11-29 10:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/eade6b2e4782 8003554: NPG: move Metablock and Metachunk code out of metaspace.cpp Reviewed-by: coleenp + src/share/vm/memory/metablock.cpp + src/share/vm/memory/metachunk.cpp ! src/share/vm/memory/metaspace.cpp Changeset: cbe736bc70fa Author: jwilhelm Date: 2012-12-07 07:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cbe736bc70fa Merge Changeset: a35a72dd2e12 Author: amurillo Date: 2012-12-07 10:46 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a35a72dd2e12 Merge Changeset: 121aa71316af Author: amurillo Date: 2012-12-07 10:46 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/121aa71316af Added tag hs25-b12 for changeset a35a72dd2e12 ! .hgtags Changeset: 8af7d22f1f8f Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8af7d22f1f8f Added tag jdk8-b68 for changeset 121aa71316af ! .hgtags From lana.steuck at oracle.com Sun Dec 16 23:37:33 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Dec 2012 07:37:33 +0000 Subject: hg: jdk8/tl/jdk: 31 new changesets Message-ID: <20121217074324.6403E471BF@hg.openjdk.java.net> Changeset: b0f008ab45d7 Author: twisti Date: 2012-11-30 11:42 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b0f008ab45d7 8001885: JSR 292 classes should use jdk.internal.org.objectweb.asm Reviewed-by: kvn, jrose, twisti Contributed-by: David Chase ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Changeset: 0fda013e4638 Author: erikj Date: 2012-12-05 10:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0fda013e4638 8004281: build-infra: Move all jar creation to images target and put jars in images/lib Reviewed-by: ohair, tbell, dholmes ! makefiles/CompileDemos.gmk ! makefiles/CompileJavaClasses.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk ! makefiles/Import.gmk Changeset: ce9b02a3a17e Author: katleman Date: 2012-12-05 12:53 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ce9b02a3a17e Merge Changeset: ea0d3a9d0d01 Author: katleman Date: 2012-12-06 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ea0d3a9d0d01 Added tag jdk8-b67 for changeset ce9b02a3a17e ! .hgtags Changeset: 39f9b2cc5738 Author: bae Date: 2012-11-28 12:28 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/39f9b2cc5738 4649812: GIFImageReader handles transparency incorrectly Reviewed-by: bae, prr Contributed-by: Vadim Pakhnushev ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java Changeset: 6569819eb2fe Author: bae Date: 2012-11-28 12:38 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6569819eb2fe 5082749: GIF stream metadata specification of aspect ratio is incorrect Reviewed-by: bae, prr Contributed-by: Vadim Pakhnushev ! src/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html Changeset: 934595726263 Author: bae Date: 2012-11-28 14:12 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/934595726263 7064516: ImageIO.read() fails to load an image Reviewed-by: jgodinez, prr ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/java/awt/image/ColorConvertOp.java + test/sun/java2d/cmm/ColorConvertOp/InvalidRenderIntentTest.java Changeset: d54db1e16b97 Author: bae Date: 2012-11-30 11:32 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d54db1e16b97 7124223: [macosx] Regression test failure with new exception, when glyph is positioned explicitly Reviewed-by: jgodinez ! src/share/classes/sun/print/PathGraphics.java Changeset: bd3b3cda125d Author: lana Date: 2012-11-30 16:02 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bd3b3cda125d Merge Changeset: 3c5bf5ed45a9 Author: bae Date: 2012-12-03 16:26 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3c5bf5ed45a9 7124347: [macosx] java.lang.InternalError: not implemented yet on call Graphics2D.drawRenderedImage Reviewed-by: prr, flar ! src/share/classes/sun/java2d/opengl/OGLBlitLoops.java ! src/share/classes/sun/java2d/opengl/OGLSurfaceDataProxy.java + test/sun/java2d/OpenGL/CustomCompositeTest.java Changeset: 1175410d98ea Author: serb Date: 2012-11-21 15:50 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1175410d98ea 7124552: [macosx] NullPointerException in getBufferStrategy() 7124219: [macosx] Unable to draw images to fullscreen Reviewed-by: bae, anthony ! src/macosx/classes/sun/awt/CGraphicsConfig.java ! src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java ! src/macosx/classes/sun/lwawt/LWCanvasPeer.java ! src/macosx/classes/sun/lwawt/LWComponentPeer.java + src/macosx/classes/sun/lwawt/LWGraphicsConfig.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java - src/share/classes/sun/awt/TextureSizeConstraining.java Changeset: 5b2c31d20a64 Author: serb Date: 2012-11-21 15:54 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5b2c31d20a64 7193214: Consider simplifying CPlatformWindow.setResizable() Reviewed-by: anthony, denis ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m Changeset: c9dead63607c Author: serb Date: 2012-11-21 15:58 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c9dead63607c 7154516: [macosx] Popup menus have no visible borders Reviewed-by: anthony, denis ! src/macosx/classes/com/apple/laf/AquaLookAndFeel.java Changeset: 9cd48409539e Author: kizune Date: 2012-11-21 20:42 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9cd48409539e 8003273: Missing testcase for 7171812 Reviewed-by: art, serb + test/javax/swing/dnd/7171812/JListWithScroll.java + test/javax/swing/dnd/7171812/bug7171812.java Changeset: 5600005b87fb Author: serb Date: 2012-11-27 17:03 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5600005b87fb 8002308: [macosx] 7198229 should be applied to the user action only Reviewed-by: anthony, skovatch ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m + test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java Changeset: 0e91d6f3019c Author: alexsch Date: 2012-11-29 07:42 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e91d6f3019c 8000423: Diacritic is not applyed to a base letter on Linux Reviewed-by: anthony, serb ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: abee1d528df1 Author: kshefov Date: 2012-11-30 12:39 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/abee1d528df1 7124242: [macosx] Test doesn't work because of the frame round corners in the LaF Reviewed-by: anthony, yan, alexsch ! test/javax/swing/text/CSSBorder/6796710/bug6796710.java Changeset: 35d8085aa14a Author: lana Date: 2012-11-30 17:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/35d8085aa14a Merge Changeset: da55ef766e48 Author: alexsch Date: 2012-12-04 15:26 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/da55ef766e48 6671481: NPE at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection Reviewed-by: serb ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Changeset: bd175c70684c Author: alexsch Date: 2012-12-04 15:56 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bd175c70684c 8003830: NPE at BasicTreeUI$Actions.page:4470 Reviewed-by: serb, alexsch Contributed-by: Jaroslav Tulach ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java + test/javax/swing/JTree/8003830/bug8003830.java Changeset: 009fd6e1d9f5 Author: alexsch Date: 2012-12-04 16:42 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/009fd6e1d9f5 8002077: Possible mnemonic issue on JFileChooser Save button on nimbus L&F Reviewed-by: serb ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java Changeset: 4aad3e6f68d2 Author: jviswana Date: 2012-12-04 17:17 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4aad3e6f68d2 4631925: JColor Chooser is not fully accessible Reviewed-by: alexsch ! src/share/classes/javax/swing/JColorChooser.java ! src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java ! src/share/classes/javax/swing/colorchooser/ColorPanel.java ! src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java Changeset: ea20c9388d90 Author: aph Date: 2012-12-04 14:02 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ea20c9388d90 8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c Summary: Code does not check for JNU_GetEnv returning NULL. Reviewed-by: anthony ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: bbbb5c70aa59 Author: lana Date: 2012-12-04 11:41 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bbbb5c70aa59 Merge - src/share/classes/sun/awt/TextureSizeConstraining.java Changeset: 87028eb3f020 Author: lana Date: 2012-12-04 11:46 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/87028eb3f020 Merge Changeset: b68a5404de60 Author: lana Date: 2012-12-10 20:58 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b68a5404de60 Merge ! makefiles/CompileJavaClasses.gmk - src/share/classes/sun/awt/TextureSizeConstraining.java Changeset: 379e3dfa521d Author: erikj Date: 2012-12-06 12:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/379e3dfa521d 8004104: build-infra: Minor cleanup Reviewed-by: ohrstrom, tbell ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk Changeset: 2689f6cfe835 Author: erikj Date: 2012-12-11 12:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2689f6cfe835 8001753: build-infra: mismatch with full debug symbol control for hotspot Summary: Changing boolean values of ENABLE_DEBUG_SYMBOLS. Reviewed-by: dholmes, ohair ! makefiles/CompileNativeLibraries.gmk Changeset: 53fb43e4d614 Author: katleman Date: 2012-12-12 13:21 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/53fb43e4d614 Merge ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk Changeset: 7fd56a5abd94 Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7fd56a5abd94 Added tag jdk8-b68 for changeset 53fb43e4d614 ! .hgtags Changeset: f959e0cc8766 Author: lana Date: 2012-12-16 22:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f959e0cc8766 Merge ! makefiles/CompileNativeLibraries.gmk - src/share/classes/sun/awt/TextureSizeConstraining.java From alexey.utkin at oracle.com Mon Dec 17 02:37:35 2012 From: alexey.utkin at oracle.com (alexey.utkin at oracle.com) Date: Mon, 17 Dec 2012 10:37:35 +0000 Subject: hg: jdk8/tl/jdk: 8004928: TEST_BUG: Reduce dependence of CoreLib tests from the AWT subsystem Message-ID: <20121217103804.29186471CB@hg.openjdk.java.net> Changeset: a02212de8db6 Author: uta Date: 2012-12-17 14:34 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a02212de8db6 8004928: TEST_BUG: Reduce dependence of CoreLib tests from the AWT subsystem Summary: the tests were refactored to drop AWT dependence where it was possible. Reviewed-by: alanb, mchung ! test/java/io/Serializable/resolveProxyClass/NonPublicInterface.java ! test/java/lang/Throwable/LegacyChainedExceptionSerialization.java ! test/java/lang/management/CompilationMXBean/Basic.java ! test/java/lang/reflect/Generics/Probe.java ! test/java/lang/reflect/Proxy/ClassRestrictions.java ! test/java/util/Collections/EmptyIterator.java ! test/java/util/logging/LoggingDeadlock4.java ! test/sun/tools/jrunscript/common.sh From frederic.parain at oracle.com Mon Dec 17 03:26:55 2012 From: frederic.parain at oracle.com (Frederic Parain) Date: Mon, 17 Dec 2012 12:26:55 +0100 Subject: RFR: 8004095: Add support for JMX interface to Diagnostic Framework and Commands, Message-ID: <50CF017F.5050502@oracle.com> Hi, Please review the following change for CR 8004095. This changeset is the JDK side of two parts project. The goal of this feature is to allow remote invocations of Diagnostic Commands via JMX. Diagnostic Commands are actually invoked from the jcmd tool, which is a local tool using the attachAPI. It was not possible to remotely invoke these commands. This project creates a new PlatformMBean, remotely accessible via the Platform MBean Server, providing access to Diagnostic Commands too. The JDK side of this project, including the new Platform MBean, is covered in CR 7150256. This changeset contains the modifications in the JVM to support the new API. There are two types of modifications: 1 - extension of the diagnostic command framework 2 - extension of existing diagnostic commands Modifications of the framework: The first modification of the framework is the mechanism to communicate with the DiagnosticCommandsMBean defined in the JDK. Communications are performed via the jmm.h interface. In addition to a few new entries in the jmm structure, several data structures have been declared to export diagnostic command meta-data to the JDK. The second modification of the framework consists in an export control mechanism. Diagnostic Commands are executed inside the JVM, they have access to critical information and can perform very disruptive operations. Even if the DiagnosticCommandsMBean includes some security checks using Java Permissions, it sometime better to simply make a diagnostic command not available from the JMX API. The export control mechanism gives to diagnostic command developers full control on how the command will be accessible. When a diagnostic command is registered to the framework, a list of interfaces allowed to export this command must be provided. The current implementation defines three interfaces: JVM internal, attachAPI and JMX. A diagnostic command can be exported to any combination of these interfaces. Modifications of existing diagnostic commands: Because this feature allows remote invocations, it is important to be able to control who is invoking and what is invoked. Java Permission checks have been introduced in the DiagnosticCommandsMBean and are performed before a remote invocation request is forwarded to the JVM. So, each Diagnostic Command can require a Java Permission to be invoked remotely. Note that invocations from inside the JVM or via the attachAPI do not check these permissions. Invocations from inside the JVM are considered trusted, and the attachAPI has its own security model based on EUID/ EGID. Some existing diagnostic commands that have been identified as begin potentially harmful have been extended to specify the Java Permission required for their execution. The webrev is here: http://cr.openjdk.java.net/~fparain/8004095/webrev.00/ Thanks, Fred -- Frederic Parain - Oracle Grenoble Engineering Center - France Phone: +33 4 76 18 81 17 Email: Frederic.Parain at Oracle.com From frederic.parain at oracle.com Mon Dec 17 03:27:03 2012 From: frederic.parain at oracle.com (Frederic Parain) Date: Mon, 17 Dec 2012 12:27:03 +0100 Subject: RFR: 7150256: Add back Diagnostic Command JMX API Message-ID: <50CF0187.6080001@oracle.com> Hi, Please review the following change for CR 7150256. This changeset is the JDK side of two parts project. The goal of this feature is to allow remote invocations of Diagnostic Commands via JMX. Diagnostic Commands are actually invoked from the jcmd tool, which is a local tool using the attachAPI. It was not possible to remotely invoke these commands. This changeset creates a new PlatformMBean, remotely accessible via the Platform MBean Server, providing access to Diagnostic Commands too. The set of supported Diagnostic Commands varies with the JVM version, command line options and even some runtime operations. The new PlatformMBean, called DiagnosticCommandsMBean is not statically defined, but computes its content dynamically at runtime. This is why the MBeanInfo returned by this new MBean contains a lot of meta-data describing each supported Diagnostic Command (name, help message, syntax, etc.) Because this feature allows remote invocations, it is important to be able to control who is invoking and what is invoked. Java Permission checks have been introduced before a remote invocation request is forwarded to the JVM. So, each Diagnostic Command can require a Java Permission to be invoked remotely. The name of the required Java Permission is provided in the meta-data in the MBeanInfo. The security configuration is done using a Security Manager and the regular JMX configurations. Some existing Diagnostic Commands have been extended to specify which Java Permission they require. The webrev is here: http://cr.openjdk.java.net/~fparain/7150256/webrev.00/ The second part of this project is the support for this feature in the HotSpot VM, and is tracked by CR 8004095 (separate request for review will be sent for it). Thanks, Fred -- Frederic Parain - Oracle Grenoble Engineering Center - France Phone: +33 4 76 18 81 17 Email: Frederic.Parain at Oracle.com From staffan.larsen at oracle.com Mon Dec 17 04:27:41 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 17 Dec 2012 13:27:41 +0100 Subject: RFR: 8004095: Add support for JMX interface to Diagnostic Framework and Commands, In-Reply-To: <50CF017F.5050502@oracle.com> References: <50CF017F.5050502@oracle.com> Message-ID: <32B19E42-82A3-424C-85DA-977815A230CD@oracle.com> Frederic, Looks good! Just a few small comments below. diagnosticCommand.cpp:255: When DisableExplicitGC is set, it would be great if the SystemGC command printed on error message so that the caller knows that the GC didn't happen as intended. I also think we should add an entry to GCCause for GCs caused by the DCmd (but that isn't new to this change). diagnosticFramework.hpp:423: nit: misspelled "enabled" in the method name diagnosticFramework.cpp:435: seems some testing code has slipped in diagnosticFramework.cpp:509: nit: missing spaces around '&'. (Consider adding () to clarify the precedence.) Thanks, /Staffan On 17 dec 2012, at 12:26, Frederic Parain wrote: > Hi, > > Please review the following change for CR 8004095. > > This changeset is the JDK side of two parts project. > > The goal of this feature is to allow remote invocations of > Diagnostic Commands via JMX. > > > Diagnostic Commands are actually invoked from the jcmd > tool, which is a local tool using the attachAPI. It was > not possible to remotely invoke these commands. > This project creates a new PlatformMBean, remotely > accessible via the Platform MBean Server, providing > access to Diagnostic Commands too. > > The JDK side of this project, including the new > Platform MBean, is covered in CR 7150256. > > This changeset contains the modifications in the > JVM to support the new API. > > There are two types of modifications: > 1 - extension of the diagnostic command framework > 2 - extension of existing diagnostic commands > > Modifications of the framework: > > The first modification of the framework is the mechanism > to communicate with the DiagnosticCommandsMBean defined > in the JDK. Communications are performed via the jmm.h > interface. In addition to a few new entries in the > jmm structure, several data structures have been declared > to export diagnostic command meta-data to the JDK. > > The second modification of the framework consists in an > export control mechanism. Diagnostic Commands are executed > inside the JVM, they have access to critical information > and can perform very disruptive operations. Even if the > DiagnosticCommandsMBean includes some security checks > using Java Permissions, it sometime better to simply > make a diagnostic command not available from the JMX > API. The export control mechanism gives to diagnostic > command developers full control on how the command will > be accessible. When a diagnostic command is registered > to the framework, a list of interfaces allowed to > export this command must be provided. The current > implementation defines three interfaces: JVM internal, > attachAPI and JMX. A diagnostic command can be > exported to any combination of these interfaces. > > Modifications of existing diagnostic commands: > > Because this feature allows remote invocations, it > is important to be able to control who is invoking > and what is invoked. Java Permission checks have > been introduced in the DiagnosticCommandsMBean and > are performed before a remote invocation request > is forwarded to the JVM. So, each Diagnostic Command > can require a Java Permission to be invoked remotely. > Note that invocations from inside the JVM or via the > attachAPI do not check these permissions. Invocations > from inside the JVM are considered trusted, and the > attachAPI has its own security model based on EUID/ > EGID. > Some existing diagnostic commands that have been > identified as begin potentially harmful have been > extended to specify the Java Permission required > for their execution. > > The webrev is here: > > http://cr.openjdk.java.net/~fparain/8004095/webrev.00/ > > Thanks, > > Fred > > > > > > -- > Frederic Parain - Oracle > Grenoble Engineering Center - France > Phone: +33 4 76 18 81 17 > Email: Frederic.Parain at Oracle.com > From jaroslav.bachorik at oracle.com Mon Dec 17 05:12:17 2012 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Mon, 17 Dec 2012 14:12:17 +0100 Subject: RFR: 7150256: Add back Diagnostic Command JMX API In-Reply-To: <50CF0187.6080001@oracle.com> References: <50CF0187.6080001@oracle.com> Message-ID: <50CF1A31.7020106@oracle.com> Hi Frederic, I've found the following issues when inspecting the changes in the Java code: JB1: src/share/classes/sun/management/VMManagementImpl.java getDiagnosticCommands(), getDiagnosticCommandInfo() and executeDiagnosticCommand() are all publicly accessible native methods accepting the user input. According to the secure coding guide the native methods should be wrapped in public java methods performing the necessary user input validation. JB2: src/share/classes/sun/management/DiagnosticCommandArgumentInfo.java The file is new but has "@since 7u6" (should be @since 7u12) JB3: src/share/classes/sun/management/DiagnosticCommandImpl.java In method getMBeanInfo() the wrapper map is first created (149-159) and immediately iterated over (164-182). It seems possible to merge those two passes and save some CPU. JB4: src/share/classes/sun/management/DiagnosticCommandImpl.java Line 249 - typo "dcmd.permissionCame" instead of "dcmd.permissionName" -JB- On 12/17/2012 12:27 PM, Frederic Parain wrote: > Hi, > > Please review the following change for CR 7150256. > > This changeset is the JDK side of two parts project. > > The goal of this feature is to allow remote invocations of > Diagnostic Commands via JMX. > > Diagnostic Commands are actually invoked from the jcmd > tool, which is a local tool using the attachAPI. It was > not possible to remotely invoke these commands. > This changeset creates a new PlatformMBean, remotely > accessible via the Platform MBean Server, providing > access to Diagnostic Commands too. > > The set of supported Diagnostic Commands varies with > the JVM version, command line options and even some > runtime operations. The new PlatformMBean, called > DiagnosticCommandsMBean is not statically defined, > but computes its content dynamically at runtime. > This is why the MBeanInfo returned by this new > MBean contains a lot of meta-data describing > each supported Diagnostic Command (name, help > message, syntax, etc.) > > Because this feature allows remote invocations, it > is important to be able to control who is invoking > and what is invoked. Java Permission checks have > been introduced before a remote invocation request > is forwarded to the JVM. So, each Diagnostic Command > can require a Java Permission to be invoked remotely. > The name of the required Java Permission is provided > in the meta-data in the MBeanInfo. > The security configuration is done using a Security > Manager and the regular JMX configurations. Some > existing Diagnostic Commands have been extended to > specify which Java Permission they require. > > The webrev is here: > > http://cr.openjdk.java.net/~fparain/7150256/webrev.00/ > > The second part of this project is the support for this > feature in the HotSpot VM, and is tracked by CR 8004095 > (separate request for review will be sent for it). > > Thanks, > > Fred > From sean.mullan at oracle.com Mon Dec 17 05:41:22 2012 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Mon, 17 Dec 2012 13:41:22 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20121217134217.4D9A9471D0@hg.openjdk.java.net> Changeset: e4d88a7352c6 Author: mullan Date: 2012-12-17 08:28 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e4d88a7352c6 8004234: Downgrade normative references to ${java.home}/lib/security/krb5.conf Reviewed-by: alanb, weijun ! src/share/classes/javax/security/auth/kerberos/package.html Changeset: 4a21f818ebb1 Author: mullan Date: 2012-12-17 08:30 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4a21f818ebb1 Merge - src/share/classes/sun/awt/TextureSizeConstraining.java - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java From frederic.parain at oracle.com Mon Dec 17 06:58:25 2012 From: frederic.parain at oracle.com (Frederic Parain) Date: Mon, 17 Dec 2012 15:58:25 +0100 Subject: RFR: 7150256: Add back Diagnostic Command JMX API In-Reply-To: <50CF1A31.7020106@oracle.com> References: <50CF0187.6080001@oracle.com> <50CF1A31.7020106@oracle.com> Message-ID: <50CF3311.7020606@oracle.com> Thank you for this feedback, my comments are in-lined below. The updated webrev is here: http://cr.openjdk.java.net/~fparain/7150256/webrev.01/ On 12/17/12 02:12 PM, Jaroslav Bachorik wrote: > Hi Frederic, > > I've found the following issues when inspecting the changes in the Java > code: > > JB1: src/share/classes/sun/management/VMManagementImpl.java > getDiagnosticCommands(), getDiagnosticCommandInfo() and > executeDiagnosticCommand() are all publicly accessible native methods > accepting the user input. According to the secure coding guide the > native methods should be wrapped in public java methods performing the > necessary user input validation. This is a valid point according to the secure coding guidelines, however, there's some aspects to consider here: 1) a Java application cannot access directly to a VMManagementImpl instance. The class is package protected and no reference is leaked through the public management APIs. 2) With Diagnostic Commands, there's no input validation that could be performed at the Java level, because there's no way for the DiagnosticCommandsMBean to know the syntax of the different commands (it doesn't even know the list of existing commands). By design, each DiagnosticCommand can have its own syntax. The only input validation actually performed is in the Wrapper (DiagnosticCommandImpl$Wrapper) where a null element in a Sting array causes an exception to be thrown. 3) The DiagnosticCommandMBean is not the only way to invoke Diagnostic Command. They can also be invoked with the jcmd tool using the attachAPI. So, inside the VM, there's already the logic to parse and validate arguments. Trying to add input validation in VMManagementImpl would cause code duplication and would require a more complex API to export DCMD syntax from the JVM to the Java level. > JB2: src/share/classes/sun/management/DiagnosticCommandArgumentInfo.java > The file is new but has "@since 7u6" (should be @since 7u12) This class is not public anymore, but I'll update the tag. > JB3: src/share/classes/sun/management/DiagnosticCommandImpl.java > In method getMBeanInfo() the wrapper map is first created (149-159) and > immediately iterated over (164-182). It seems possible to merge those > two passes and save some CPU. Done. > JB4: src/share/classes/sun/management/DiagnosticCommandImpl.java > Line 249 - typo "dcmd.permissionCame" instead of "dcmd.permissionName" Fixed. Thank you for the review, Fred > On 12/17/2012 12:27 PM, Frederic Parain wrote: >> Hi, >> >> Please review the following change for CR 7150256. >> >> This changeset is the JDK side of two parts project. >> >> The goal of this feature is to allow remote invocations of >> Diagnostic Commands via JMX. >> >> Diagnostic Commands are actually invoked from the jcmd >> tool, which is a local tool using the attachAPI. It was >> not possible to remotely invoke these commands. >> This changeset creates a new PlatformMBean, remotely >> accessible via the Platform MBean Server, providing >> access to Diagnostic Commands too. >> >> The set of supported Diagnostic Commands varies with >> the JVM version, command line options and even some >> runtime operations. The new PlatformMBean, called >> DiagnosticCommandsMBean is not statically defined, >> but computes its content dynamically at runtime. >> This is why the MBeanInfo returned by this new >> MBean contains a lot of meta-data describing >> each supported Diagnostic Command (name, help >> message, syntax, etc.) >> >> Because this feature allows remote invocations, it >> is important to be able to control who is invoking >> and what is invoked. Java Permission checks have >> been introduced before a remote invocation request >> is forwarded to the JVM. So, each Diagnostic Command >> can require a Java Permission to be invoked remotely. >> The name of the required Java Permission is provided >> in the meta-data in the MBeanInfo. >> The security configuration is done using a Security >> Manager and the regular JMX configurations. Some >> existing Diagnostic Commands have been extended to >> specify which Java Permission they require. >> >> The webrev is here: >> >> http://cr.openjdk.java.net/~fparain/7150256/webrev.00/ >> >> The second part of this project is the support for this >> feature in the HotSpot VM, and is tracked by CR 8004095 >> (separate request for review will be sent for it). >> >> Thanks, >> >> Fred >> > -- Frederic Parain - Oracle Grenoble Engineering Center - France Phone: +33 4 76 18 81 17 Email: Frederic.Parain at Oracle.com From vicente.romero at oracle.com Mon Dec 17 07:00:36 2012 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 17 Dec 2012 15:00:36 +0000 Subject: hg: jdk8/tl/langtools: 8004814: javadoc should be able to detect default methods Message-ID: <20121217150042.25926471D1@hg.openjdk.java.net> Changeset: 02a18f209ab3 Author: vromero Date: 2012-12-17 14:54 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/02a18f209ab3 8004814: javadoc should be able to detect default methods Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/javadoc/ClassDoc.java ! src/share/classes/com/sun/javadoc/MethodDoc.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java From frederic.parain at oracle.com Mon Dec 17 07:01:04 2012 From: frederic.parain at oracle.com (Frederic Parain) Date: Mon, 17 Dec 2012 16:01:04 +0100 Subject: RFR: 8004095: Add support for JMX interface to Diagnostic Framework and Commands, In-Reply-To: <32B19E42-82A3-424C-85DA-977815A230CD@oracle.com> References: <50CF017F.5050502@oracle.com> <32B19E42-82A3-424C-85DA-977815A230CD@oracle.com> Message-ID: <50CF33B0.6030301@oracle.com> Staffan, Thank you for the review, I've fixed the code to address all the issue you reported. The new webrev is here: http://cr.openjdk.java.net/~fparain/8004095/webrev.01/ Regards, Fred On 12/17/12 01:27 PM, Staffan Larsen wrote: > Frederic, > > Looks good! Just a few small comments below. > > diagnosticCommand.cpp:255: When DisableExplicitGC is set, it would be great if the SystemGC command printed on error message so that the caller knows that the GC didn't happen as intended. I also think we should add an entry to GCCause for GCs caused by the DCmd (but that isn't new to this change). > > diagnosticFramework.hpp:423: nit: misspelled "enabled" in the method name > > diagnosticFramework.cpp:435: seems some testing code has slipped in > > diagnosticFramework.cpp:509: nit: missing spaces around '&'. (Consider adding () to clarify the precedence.) > > Thanks, > /Staffan > > On 17 dec 2012, at 12:26, Frederic Parain wrote: > >> Hi, >> >> Please review the following change for CR 8004095. >> >> This changeset is the JDK side of two parts project. >> >> The goal of this feature is to allow remote invocations of >> Diagnostic Commands via JMX. >> >> >> Diagnostic Commands are actually invoked from the jcmd >> tool, which is a local tool using the attachAPI. It was >> not possible to remotely invoke these commands. >> This project creates a new PlatformMBean, remotely >> accessible via the Platform MBean Server, providing >> access to Diagnostic Commands too. >> >> The JDK side of this project, including the new >> Platform MBean, is covered in CR 7150256. >> >> This changeset contains the modifications in the >> JVM to support the new API. >> >> There are two types of modifications: >> 1 - extension of the diagnostic command framework >> 2 - extension of existing diagnostic commands >> >> Modifications of the framework: >> >> The first modification of the framework is the mechanism >> to communicate with the DiagnosticCommandsMBean defined >> in the JDK. Communications are performed via the jmm.h >> interface. In addition to a few new entries in the >> jmm structure, several data structures have been declared >> to export diagnostic command meta-data to the JDK. >> >> The second modification of the framework consists in an >> export control mechanism. Diagnostic Commands are executed >> inside the JVM, they have access to critical information >> and can perform very disruptive operations. Even if the >> DiagnosticCommandsMBean includes some security checks >> using Java Permissions, it sometime better to simply >> make a diagnostic command not available from the JMX >> API. The export control mechanism gives to diagnostic >> command developers full control on how the command will >> be accessible. When a diagnostic command is registered >> to the framework, a list of interfaces allowed to >> export this command must be provided. The current >> implementation defines three interfaces: JVM internal, >> attachAPI and JMX. A diagnostic command can be >> exported to any combination of these interfaces. >> >> Modifications of existing diagnostic commands: >> >> Because this feature allows remote invocations, it >> is important to be able to control who is invoking >> and what is invoked. Java Permission checks have >> been introduced in the DiagnosticCommandsMBean and >> are performed before a remote invocation request >> is forwarded to the JVM. So, each Diagnostic Command >> can require a Java Permission to be invoked remotely. >> Note that invocations from inside the JVM or via the >> attachAPI do not check these permissions. Invocations >> from inside the JVM are considered trusted, and the >> attachAPI has its own security model based on EUID/ >> EGID. >> Some existing diagnostic commands that have been >> identified as begin potentially harmful have been >> extended to specify the Java Permission required >> for their execution. >> >> The webrev is here: >> >> http://cr.openjdk.java.net/~fparain/8004095/webrev.00/ >> >> Thanks, >> >> Fred >> >> >> >> >> >> -- >> Frederic Parain - Oracle >> Grenoble Engineering Center - France >> Phone: +33 4 76 18 81 17 >> Email: Frederic.Parain at Oracle.com >> > -- Frederic Parain - Oracle Grenoble Engineering Center - France Phone: +33 4 76 18 81 17 Email: Frederic.Parain at Oracle.com From staffan.larsen at oracle.com Mon Dec 17 07:47:34 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 17 Dec 2012 16:47:34 +0100 Subject: RFR: 8004095: Add support for JMX interface to Diagnostic Framework and Commands, In-Reply-To: <50CF33B0.6030301@oracle.com> References: <50CF017F.5050502@oracle.com> <32B19E42-82A3-424C-85DA-977815A230CD@oracle.com> <50CF33B0.6030301@oracle.com> Message-ID: <7CD24BA6-2A19-427B-B51B-29E3FD6436D3@oracle.com> diagnosticCommand.cpp:259: nit: wrong indentation Otherwise: Looks good to me! Thanks, /Staffan On 17 dec 2012, at 16:01, Frederic Parain wrote: > Staffan, > > Thank you for the review, I've fixed the code to address all > the issue you reported. The new webrev is here: > > http://cr.openjdk.java.net/~fparain/8004095/webrev.01/ > > Regards, > > Fred > > On 12/17/12 01:27 PM, Staffan Larsen wrote: >> Frederic, >> >> Looks good! Just a few small comments below. >> >> diagnosticCommand.cpp:255: When DisableExplicitGC is set, it would be great if the SystemGC command printed on error message so that the caller knows that the GC didn't happen as intended. I also think we should add an entry to GCCause for GCs caused by the DCmd (but that isn't new to this change). >> >> diagnosticFramework.hpp:423: nit: misspelled "enabled" in the method name >> >> diagnosticFramework.cpp:435: seems some testing code has slipped in >> >> diagnosticFramework.cpp:509: nit: missing spaces around '&'. (Consider adding () to clarify the precedence.) >> >> Thanks, >> /Staffan >> >> On 17 dec 2012, at 12:26, Frederic Parain wrote: >> >>> Hi, >>> >>> Please review the following change for CR 8004095. >>> >>> This changeset is the JDK side of two parts project. >>> >>> The goal of this feature is to allow remote invocations of >>> Diagnostic Commands via JMX. >>> >>> >>> Diagnostic Commands are actually invoked from the jcmd >>> tool, which is a local tool using the attachAPI. It was >>> not possible to remotely invoke these commands. >>> This project creates a new PlatformMBean, remotely >>> accessible via the Platform MBean Server, providing >>> access to Diagnostic Commands too. >>> >>> The JDK side of this project, including the new >>> Platform MBean, is covered in CR 7150256. >>> >>> This changeset contains the modifications in the >>> JVM to support the new API. >>> >>> There are two types of modifications: >>> 1 - extension of the diagnostic command framework >>> 2 - extension of existing diagnostic commands >>> >>> Modifications of the framework: >>> >>> The first modification of the framework is the mechanism >>> to communicate with the DiagnosticCommandsMBean defined >>> in the JDK. Communications are performed via the jmm.h >>> interface. In addition to a few new entries in the >>> jmm structure, several data structures have been declared >>> to export diagnostic command meta-data to the JDK. >>> >>> The second modification of the framework consists in an >>> export control mechanism. Diagnostic Commands are executed >>> inside the JVM, they have access to critical information >>> and can perform very disruptive operations. Even if the >>> DiagnosticCommandsMBean includes some security checks >>> using Java Permissions, it sometime better to simply >>> make a diagnostic command not available from the JMX >>> API. The export control mechanism gives to diagnostic >>> command developers full control on how the command will >>> be accessible. When a diagnostic command is registered >>> to the framework, a list of interfaces allowed to >>> export this command must be provided. The current >>> implementation defines three interfaces: JVM internal, >>> attachAPI and JMX. A diagnostic command can be >>> exported to any combination of these interfaces. >>> >>> Modifications of existing diagnostic commands: >>> >>> Because this feature allows remote invocations, it >>> is important to be able to control who is invoking >>> and what is invoked. Java Permission checks have >>> been introduced in the DiagnosticCommandsMBean and >>> are performed before a remote invocation request >>> is forwarded to the JVM. So, each Diagnostic Command >>> can require a Java Permission to be invoked remotely. >>> Note that invocations from inside the JVM or via the >>> attachAPI do not check these permissions. Invocations >>> from inside the JVM are considered trusted, and the >>> attachAPI has its own security model based on EUID/ >>> EGID. >>> Some existing diagnostic commands that have been >>> identified as begin potentially harmful have been >>> extended to specify the Java Permission required >>> for their execution. >>> >>> The webrev is here: >>> >>> http://cr.openjdk.java.net/~fparain/8004095/webrev.00/ >>> >>> Thanks, >>> >>> Fred >>> >>> >>> >>> >>> >>> -- >>> Frederic Parain - Oracle >>> Grenoble Engineering Center - France >>> Phone: +33 4 76 18 81 17 >>> Email: Frederic.Parain at Oracle.com >>> >> > > -- > Frederic Parain - Oracle > Grenoble Engineering Center - France > Phone: +33 4 76 18 81 17 > Email: Frederic.Parain at Oracle.com > From jonathan.gibbons at oracle.com Mon Dec 17 07:47:49 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 17 Dec 2012 15:47:49 +0000 Subject: hg: jdk8/tl/langtools: 8004832: Add new doclint package Message-ID: <20121217154752.7E17B471D3@hg.openjdk.java.net> Changeset: 75ab654b5cd5 Author: jjg Date: 2012-12-17 07:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/75ab654b5cd5 8004832: Add new doclint package Reviewed-by: mcimadamore ! make/build.properties ! src/share/classes/com/sun/source/util/DocTrees.java ! src/share/classes/com/sun/source/util/JavacTask.java ! src/share/classes/com/sun/source/util/TreePath.java + src/share/classes/com/sun/tools/doclint/Checker.java + src/share/classes/com/sun/tools/doclint/DocLint.java + src/share/classes/com/sun/tools/doclint/Entity.java + src/share/classes/com/sun/tools/doclint/Env.java + src/share/classes/com/sun/tools/doclint/HtmlTag.java + src/share/classes/com/sun/tools/doclint/Messages.java + src/share/classes/com/sun/tools/doclint/resources/doclint.properties ! src/share/classes/com/sun/tools/javac/api/BasicJavacTask.java ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/DCTree.java ! src/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/tools/doclint/AccessTest.java + test/tools/doclint/AccessTest.package.out + test/tools/doclint/AccessTest.private.out + test/tools/doclint/AccessTest.protected.out + test/tools/doclint/AccessTest.public.out + test/tools/doclint/AccessibilityTest.java + test/tools/doclint/AccessibilityTest.out + test/tools/doclint/DocLintTester.java + test/tools/doclint/EmptyAuthorTest.java + test/tools/doclint/EmptyAuthorTest.out + test/tools/doclint/EmptyExceptionTest.java + test/tools/doclint/EmptyExceptionTest.out + test/tools/doclint/EmptyParamTest.java + test/tools/doclint/EmptyParamTest.out + test/tools/doclint/EmptyReturnTest.java + test/tools/doclint/EmptyReturnTest.out + test/tools/doclint/EmptySerialDataTest.java + test/tools/doclint/EmptySerialDataTest.out + test/tools/doclint/EmptySerialFieldTest.java + test/tools/doclint/EmptySerialFieldTest.out + test/tools/doclint/EmptySinceTest.java + test/tools/doclint/EmptySinceTest.out + test/tools/doclint/EmptyVersionTest.java + test/tools/doclint/EmptyVersionTest.out + test/tools/doclint/HtmlAttrsTest.java + test/tools/doclint/HtmlAttrsTest.out + test/tools/doclint/HtmlTagsTest.java + test/tools/doclint/HtmlTagsTest.out + test/tools/doclint/MissingCommentTest.java + test/tools/doclint/MissingCommentTest.out + test/tools/doclint/MissingParamsTest.java + test/tools/doclint/MissingParamsTest.out + test/tools/doclint/MissingReturnTest.java + test/tools/doclint/MissingReturnTest.out + test/tools/doclint/MissingThrowsTest.java + test/tools/doclint/MissingThrowsTest.out + test/tools/doclint/OptionTest.java + test/tools/doclint/OverridesTest.java + test/tools/doclint/ReferenceTest.java + test/tools/doclint/ReferenceTest.out + test/tools/doclint/RunTest.java + test/tools/doclint/SyntaxTest.java + test/tools/doclint/SyntaxTest.out + test/tools/doclint/SyntheticTest.java + test/tools/doclint/ValidTest.java + test/tools/doclint/tidy/AnchorAlreadyDefined.java + test/tools/doclint/tidy/AnchorAlreadyDefined.out + test/tools/doclint/tidy/BadEnd.java + test/tools/doclint/tidy/BadEnd.out + test/tools/doclint/tidy/InsertImplicit.java + test/tools/doclint/tidy/InsertImplicit.out + test/tools/doclint/tidy/InvalidEntity.java + test/tools/doclint/tidy/InvalidEntity.out + test/tools/doclint/tidy/InvalidName.java + test/tools/doclint/tidy/InvalidName.out + test/tools/doclint/tidy/InvalidTag.java + test/tools/doclint/tidy/InvalidTag.out + test/tools/doclint/tidy/InvalidURI.java + test/tools/doclint/tidy/InvalidURI.out + test/tools/doclint/tidy/MissingGT.java + test/tools/doclint/tidy/MissingGT.out + test/tools/doclint/tidy/MissingTag.java + test/tools/doclint/tidy/MissingTag.out + test/tools/doclint/tidy/NestedTag.java + test/tools/doclint/tidy/NestedTag.out + test/tools/doclint/tidy/ParaInPre.java + test/tools/doclint/tidy/ParaInPre.out + test/tools/doclint/tidy/README.txt + test/tools/doclint/tidy/RepeatedAttr.java + test/tools/doclint/tidy/RepeatedAttr.out + test/tools/doclint/tidy/TextNotAllowed.java + test/tools/doclint/tidy/TextNotAllowed.out + test/tools/doclint/tidy/TrimmingEmptyTag.java + test/tools/doclint/tidy/TrimmingEmptyTag.out + test/tools/doclint/tidy/UnescapedOrUnknownEntity.java + test/tools/doclint/tidy/UnescapedOrUnknownEntity.out + test/tools/doclint/tidy/util/Main.java + test/tools/doclint/tidy/util/tidy.sh + test/tools/javac/diags/examples/NoContent.java From maurizio.cimadamore at oracle.com Mon Dec 17 08:27:55 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 17 Dec 2012 16:27:55 +0000 Subject: hg: jdk8/tl/langtools: 8004099: Bad compiler diagnostic generated when poly expression is passed to non-existent method Message-ID: <20121217162759.0D394471D5@hg.openjdk.java.net> Changeset: f20568328a57 Author: mcimadamore Date: 2012-12-17 16:13 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f20568328a57 8004099: Bad compiler diagnostic generated when poly expression is passed to non-existent method Summary: Some code paths in resolve do not use methodArguments to correctly format actuals Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/lambda/BadMethodCall2.java + test/tools/javac/lambda/BadMethodCall2.out From chris.hegarty at oracle.com Mon Dec 17 08:28:02 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Mon, 17 Dec 2012 16:28:02 +0000 Subject: hg: jdk8/tl/jdk: 8005081: java/util/prefs/PrefsSpi.sh fails on macos-x Message-ID: <20121217162814.AD0D8471D6@hg.openjdk.java.net> Changeset: bcf79e6f52a0 Author: chegar Date: 2012-12-17 16:27 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bcf79e6f52a0 8005081: java/util/prefs/PrefsSpi.sh fails on macos-x Reviewed-by: alanb ! test/java/util/prefs/PrefsSpi.sh From jonathan.gibbons at oracle.com Mon Dec 17 08:34:25 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 17 Dec 2012 16:34:25 +0000 Subject: hg: jdk8/tl: 8005090: Include com.sun.source.doctree in Tree API docs Message-ID: <20121217163426.233EF471D8@hg.openjdk.java.net> Changeset: a0779b1e9a4d Author: jjg Date: 2012-12-17 08:34 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/a0779b1e9a4d 8005090: Include com.sun.source.doctree in Tree API docs Reviewed-by: erikj ! common/makefiles/javadoc/NON_CORE_PKGS.gmk From jonathan.gibbons at oracle.com Mon Dec 17 08:34:56 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 17 Dec 2012 16:34:56 +0000 Subject: hg: jdk8/tl/jdk: 8005090: Include com.sun.source.doctree in Tree API docs Message-ID: <20121217163508.2BB34471D9@hg.openjdk.java.net> Changeset: 9f1b516cd9cb Author: jjg Date: 2012-12-17 08:34 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9f1b516cd9cb 8005090: Include com.sun.source.doctree in Tree API docs Reviewed-by: erikj ! make/docs/NON_CORE_PKGS.gmk From jaroslav.bachorik at oracle.com Mon Dec 17 08:38:06 2012 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Mon, 17 Dec 2012 17:38:06 +0100 Subject: RFR: 7150256: Add back Diagnostic Command JMX API In-Reply-To: <50CF3311.7020606@oracle.com> References: <50CF0187.6080001@oracle.com> <50CF1A31.7020106@oracle.com> <50CF3311.7020606@oracle.com> Message-ID: <50CF4A6E.4030301@oracle.com> On 12/17/2012 03:58 PM, Frederic Parain wrote: > Thank you for this feedback, my comments are in-lined below. > > The updated webrev is here: > http://cr.openjdk.java.net/~fparain/7150256/webrev.01/ > > On 12/17/12 02:12 PM, Jaroslav Bachorik wrote: >> Hi Frederic, >> >> I've found the following issues when inspecting the changes in the Java >> code: >> >> JB1: src/share/classes/sun/management/VMManagementImpl.java >> getDiagnosticCommands(), getDiagnosticCommandInfo() and >> executeDiagnosticCommand() are all publicly accessible native methods >> accepting the user input. According to the secure coding guide the >> native methods should be wrapped in public java methods performing the >> necessary user input validation. > > This is a valid point according to the secure coding guidelines, > however, there's some aspects to consider here: > > 1) a Java application cannot access directly to a VMManagementImpl > instance. The class is package protected and no reference is leaked > through the public management APIs. > > 2) With Diagnostic Commands, there's no input validation that could > be performed at the Java level, because there's no way for the > DiagnosticCommandsMBean to know the syntax of the different > commands (it doesn't even know the list of existing commands). > By design, each DiagnosticCommand can have its own syntax. > The only input validation actually performed is in the Wrapper > (DiagnosticCommandImpl$Wrapper) where a null element in a > Sting array causes an exception to be thrown. > > 3) The DiagnosticCommandMBean is not the only way to invoke > Diagnostic Command. They can also be invoked with the jcmd > tool using the attachAPI. So, inside the VM, there's already > the logic to parse and validate arguments. Trying to add > input validation in VMManagementImpl would cause code duplication > and would require a more complex API to export DCMD syntax from > the JVM to the Java level. Ok. I see. If there is already a code checking for e.g. null arguments in the native part there is no need to duplicate it. I have no further comments for the java part of the patch. -JB- > >> JB2: src/share/classes/sun/management/DiagnosticCommandArgumentInfo.java >> The file is new but has "@since 7u6" (should be @since 7u12) > > This class is not public anymore, but I'll update the tag. > >> JB3: src/share/classes/sun/management/DiagnosticCommandImpl.java >> In method getMBeanInfo() the wrapper map is first created (149-159) and >> immediately iterated over (164-182). It seems possible to merge those >> two passes and save some CPU. > > Done. > >> JB4: src/share/classes/sun/management/DiagnosticCommandImpl.java >> Line 249 - typo "dcmd.permissionCame" instead of "dcmd.permissionName" > > Fixed. > > Thank you for the review, > > Fred > >> On 12/17/2012 12:27 PM, Frederic Parain wrote: >>> Hi, >>> >>> Please review the following change for CR 7150256. >>> >>> This changeset is the JDK side of two parts project. >>> >>> The goal of this feature is to allow remote invocations of >>> Diagnostic Commands via JMX. >>> >>> Diagnostic Commands are actually invoked from the jcmd >>> tool, which is a local tool using the attachAPI. It was >>> not possible to remotely invoke these commands. >>> This changeset creates a new PlatformMBean, remotely >>> accessible via the Platform MBean Server, providing >>> access to Diagnostic Commands too. >>> >>> The set of supported Diagnostic Commands varies with >>> the JVM version, command line options and even some >>> runtime operations. The new PlatformMBean, called >>> DiagnosticCommandsMBean is not statically defined, >>> but computes its content dynamically at runtime. >>> This is why the MBeanInfo returned by this new >>> MBean contains a lot of meta-data describing >>> each supported Diagnostic Command (name, help >>> message, syntax, etc.) >>> >>> Because this feature allows remote invocations, it >>> is important to be able to control who is invoking >>> and what is invoked. Java Permission checks have >>> been introduced before a remote invocation request >>> is forwarded to the JVM. So, each Diagnostic Command >>> can require a Java Permission to be invoked remotely. >>> The name of the required Java Permission is provided >>> in the meta-data in the MBeanInfo. >>> The security configuration is done using a Security >>> Manager and the regular JMX configurations. Some >>> existing Diagnostic Commands have been extended to >>> specify which Java Permission they require. >>> >>> The webrev is here: >>> >>> http://cr.openjdk.java.net/~fparain/7150256/webrev.00/ >>> >>> The second part of this project is the support for this >>> feature in the HotSpot VM, and is tracked by CR 8004095 >>> (separate request for review will be sent for it). >>> >>> Thanks, >>> >>> Fred >>> >> > From jonathan.gibbons at oracle.com Mon Dec 17 10:32:04 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 17 Dec 2012 18:32:04 +0000 Subject: hg: jdk8/tl/jdk: 8004832: Add new doclint package Message-ID: <20121217183215.6557E471E6@hg.openjdk.java.net> Changeset: bac477d67867 Author: jjg Date: 2012-12-17 10:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bac477d67867 8004832: Add new doclint package Reviewed-by: erikj, ohair ! make/common/Release.gmk ! make/common/internal/Defs-langtools.gmk ! makefiles/CreateJars.gmk From jonathan.gibbons at oracle.com Mon Dec 17 10:56:12 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 17 Dec 2012 18:56:12 +0000 Subject: hg: jdk8/tl/langtools: 8004961: rename Plugin.call to Plugin.init Message-ID: <20121217185615.4331E471ED@hg.openjdk.java.net> Changeset: 064e372f273d Author: jjg Date: 2012-12-17 10:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/064e372f273d 8004961: rename Plugin.call to Plugin.init Reviewed-by: mcimadamore ! src/share/classes/com/sun/source/util/Plugin.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! test/tools/javac/plugin/showtype/ShowTypePlugin.java ! test/tools/javac/plugin/showtype/Test.java From zhengyu.gu at oracle.com Mon Dec 17 12:26:46 2012 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Mon, 17 Dec 2012 20:26:46 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20121217202650.A879E471F2@hg.openjdk.java.net> Changeset: 3f84e17b6bca Author: zgu Date: 2012-12-17 13:14 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3f84e17b6bca 8004802: jcmd VM.native_memory baseline=false crashes VM Summary: NMT has to check option's value also to determine which command to execute Reviewed-by: acorn, coleenp, hseigel ! src/share/vm/services/nmtDCmd.cpp Changeset: 805aa223d540 Author: zgu Date: 2012-12-17 10:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/805aa223d540 Merge From mandy.chung at oracle.com Mon Dec 17 15:21:32 2012 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 17 Dec 2012 23:21:32 +0000 Subject: hg: jdk8/tl/langtools: 8005137: Rename DocLint.call to DocLint.init which overrides Plugin.init Message-ID: <20121217232134.BBA01471FA@hg.openjdk.java.net> Changeset: ef537bcc825a Author: mchung Date: 2012-12-17 15:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/ef537bcc825a 8005137: Rename DocLint.call to DocLint.init which overrides Plugin.init Reviewed-by: darcy, jjh ! src/share/classes/com/sun/tools/doclint/DocLint.java From joe.darcy at oracle.com Tue Dec 18 00:25:42 2012 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 18 Dec 2012 08:25:42 +0000 Subject: hg: jdk8/tl/langtools: 8005046: Provide checking for a default method in javax.lang.model Message-ID: <20121218082544.95F7B47209@hg.openjdk.java.net> Changeset: bc74006c2d8d Author: darcy Date: 2012-12-18 00:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bc74006c2d8d 8005046: Provide checking for a default method in javax.lang.model Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/javax/lang/model/element/ExecutableElement.java + test/tools/javac/processing/model/element/TestExecutableElement.java From fredrik.ohrstrom at oracle.com Tue Dec 18 01:29:51 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 18 Dec 2012 09:29:51 +0000 Subject: hg: jdk8/tl/langtools: 8004657: Add hooks to javac to enable reporting dependency information. Message-ID: <20121218092954.2CEDB47212@hg.openjdk.java.net> Changeset: 92fcf299cd09 Author: ohrstrom Date: 2012-12-18 10:23 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/92fcf299cd09 8004657: Add hooks to javac to enable reporting dependency information. Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java From jaroslav.bachorik at oracle.com Tue Dec 18 07:28:11 2012 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Tue, 18 Dec 2012 16:28:11 +0100 Subject: [PATCH] JDK-7146162: javax/management/remote/mandatory/connection/BrokenConnectionTest.java failing intermittently In-Reply-To: <509120B0.6040703@oracle.com> References: <508E8F79.60909@oracle.com> <509120B0.6040703@oracle.com> Message-ID: <50D08B8B.4080904@oracle.com> I've updated the webrev - no additional synchronisation is required. Please, review: http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.04 -JB- On 10/31/2012 01:59 PM, Jaroslav Bachorik wrote: > On 10/30/2012 05:10 PM, Eamonn McManus wrote: >> This area has historically caused a lot of problems and I am not >> surprised to see that there are more. While I don't know what the best >> way to fix the issue at hand is, I don't think this proposed change is >> it. The reason is that the checkConnection and gotIOException methods >> do blocking operations, and it is generally not a good idea to do >> blocking operations in a synchronized block. Is there a way to avoid >> the race condition without that? > > The important part is calling the gotIOException() method even from the > heart-beat checker. I've tried to return the synchronization block back > to the original state and the test passes with the check period of 10ms > which pushes the probability of data races rather high. > > It seems that the worst that can happen would be one additional > checkConnection() call - in case when the state gets set to TERMINATED > by another thread right after it has been checked in the synchronized > block the loop condition might evaluate to true if the state value has > not been flushed yet. > > I could change the "state" variable to be volatile but I am not sure > whether it's worth the hassle. > > -JB- > >> >> ?amonn >> >> >> 2012/10/29 Jaroslav Bachorik : >>> I am looking for a sponsor and reviewers. >>> >>> The webrev is available at >>> http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.03 >>> >>> As explained in the issue the failure is caused by the RMI connection >>> heart-beat thread racing against the thread executing the MBean >>> operation and encountering the IOException. The heart beat thread sets >>> the the admin state to "terminated" but does not send the failure >>> notifications. On the other side the operation thread determines the >>> state to be already terminated and skips the notifications as well. >>> >>> The fix adds the call to handle an ioexception, including sending the >>> failure notifications, to the hear-beat connection failure handler. Also >>> it widens the synchronized block since the whole code block checking for >>> the connection failure and recovering must be run atomically, >>> >>> >>> Thanks, >>> >>> -JB- > From martinrb at google.com Tue Dec 18 10:04:25 2012 From: martinrb at google.com (martinrb at google.com) Date: Tue, 18 Dec 2012 18:04:25 +0000 Subject: hg: jdk8/tl/jdk: 8004863: Infinite Loop in KeepAliveStream Message-ID: <20121218180436.864A647228@hg.openjdk.java.net> Changeset: 0fabdf676395 Author: martin Date: 2012-12-17 18:39 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0fabdf676395 8004863: Infinite Loop in KeepAliveStream Reviewed-by: chegar ! src/share/classes/sun/net/www/http/KeepAliveStream.java + test/sun/net/www/http/KeepAliveStream/InfiniteLoop.java From shanliang.jiang at oracle.com Tue Dec 18 11:21:13 2012 From: shanliang.jiang at oracle.com (shanliang) Date: Tue, 18 Dec 2012 20:21:13 +0100 Subject: jmx-dev [PATCH] JDK-7146162: javax/management/remote/mandatory/connection/BrokenConnectionTest.java failing intermittently In-Reply-To: <50D08B8B.4080904@oracle.com> References: <508E8F79.60909@oracle.com> <509120B0.6040703@oracle.com> <50D08B8B.4080904@oracle.com> Message-ID: <50D0C229.2010708@oracle.com> It is good to call gotIOException((IOException)e); but no need to call in next restart((IOException)e); the method "gotIOException" should call "restart" if necessary, otherwise "restart" may be called 2 times and generated 2 times "Reconnection notification". Shanliang Jaroslav Bachorik wrote: > I've updated the webrev - no additional synchronisation is required. > Please, review: http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.04 > > -JB- > > On 10/31/2012 01:59 PM, Jaroslav Bachorik wrote: > >> On 10/30/2012 05:10 PM, Eamonn McManus wrote: >> >>> This area has historically caused a lot of problems and I am not >>> surprised to see that there are more. While I don't know what the best >>> way to fix the issue at hand is, I don't think this proposed change is >>> it. The reason is that the checkConnection and gotIOException methods >>> do blocking operations, and it is generally not a good idea to do >>> blocking operations in a synchronized block. Is there a way to avoid >>> the race condition without that? >>> >> The important part is calling the gotIOException() method even from the >> heart-beat checker. I've tried to return the synchronization block back >> to the original state and the test passes with the check period of 10ms >> which pushes the probability of data races rather high. >> >> It seems that the worst that can happen would be one additional >> checkConnection() call - in case when the state gets set to TERMINATED >> by another thread right after it has been checked in the synchronized >> block the loop condition might evaluate to true if the state value has >> not been flushed yet. >> >> I could change the "state" variable to be volatile but I am not sure >> whether it's worth the hassle. >> >> -JB- >> >> >>> ?amonn >>> >>> >>> 2012/10/29 Jaroslav Bachorik : >>> >>>> I am looking for a sponsor and reviewers. >>>> >>>> The webrev is available at >>>> http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.03 >>>> >>>> As explained in the issue the failure is caused by the RMI connection >>>> heart-beat thread racing against the thread executing the MBean >>>> operation and encountering the IOException. The heart beat thread sets >>>> the the admin state to "terminated" but does not send the failure >>>> notifications. On the other side the operation thread determines the >>>> state to be already terminated and skips the notifications as well. >>>> >>>> The fix adds the call to handle an ioexception, including sending the >>>> failure notifications, to the hear-beat connection failure handler. Also >>>> it widens the synchronized block since the whole code block checking for >>>> the connection failure and recovering must be run atomically, >>>> >>>> >>>> Thanks, >>>> >>>> -JB- >>>> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/42b26420/attachment.html From ron.durbin at oracle.com Tue Dec 18 11:31:08 2012 From: ron.durbin at oracle.com (Ron Durbin) Date: Tue, 18 Dec 2012 11:31:08 -0800 (PST) Subject: FW: Code Review fix for 7153050 ?remove crufty '_g' support from HotSpot run time Message-ID: <17d2d036-99a8-411e-8e53-95da33f17137@default> Intro: This set of changes removes the runtime support for generation of debug versions that follow _g semantics. Defect: JDK-8005044 remove crufty '_g' support from HS runtime code Webrev /u/rdurbin/8005044_exp/webrev/index.html Details: Files have been modified to remove all reference and support for debug versions that follow _g semantics. Testing: Passed JPRT last night: Additional Testing In process: ( suggested by Dan): src/share/vm/runtime/arguments.cpp - test with shared archive creation and use; see the e-mail from Coleen src/share/tools/ProjectCreator/ProjectCreator.java - just a usage message; visual inspection of the code src/os/windows/vm/os_windows.cpp - comments only; no testing needed src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp - the only code changes come into play when the "gamma" launcher is used - and when JAVA_HOME refers to a valid JDK, the function fakes up a JVM path so that callers using the JVM path to find other things in the JDK will work. - I can't find any way that the actual JVM path value that is returned is exposed - I don't see a way to test this other than have a debug printf() or manual code inspection. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/8c69e9a8/attachment-0001.html From daniel.daugherty at oracle.com Tue Dec 18 12:46:16 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 18 Dec 2012 13:46:16 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code Message-ID: <50D0D618.6020001@oracle.com> Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Dan Sending again with correct subject line, bug URLs and webrev URL. Intro: This set of changes removes the runtimesupport for generation of debug versions that follow _g semantics. Defect: JDK-8005044 remove crufty '_g' support from HS runtime code http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 https://jbs.oracle.com/bugs/browse/JDK-8005044 Webrev http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 Details: Files have been modified to remove all reference and support for debug versions that follow _g semantics. Testing: Passed JPRT last night: Additional Testing In process: (suggested by Dan): src/share/vm/runtime/arguments.cpp - test with shared archive creation and use; see the e-mail from Coleen src/share/tools/ProjectCreator/ProjectCreator.java - just a usage message; visual inspection of the code src/os/windows/vm/os_windows.cpp - comments only; no testing needed src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp - the only code changes come into play when the "gamma" launcher is used - and when JAVA_HOME refers to a valid JDK, the function fakes up a JVM path so that callers using the JVM path to find other things in the JDK will work. - I can't find any way that the actual JVM path value that is returned is exposed - I don't see a way to test this other than have a debug printf() or manual code inspection. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/8aebcc8c/attachment.html From kelly.ohair at oracle.com Tue Dec 18 13:06:23 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Tue, 18 Dec 2012 13:06:23 -0800 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D0D618.6020001@oracle.com> References: <50D0D618.6020001@oracle.com> Message-ID: I don't see any makefile changes. -kto On Dec 18, 2012, at 12:46 PM, Daniel D. Daugherty wrote: > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. > > Dan > > Sending again with correct subject line, bug URLs and webrev URL. > > > Intro: > > This set of changes removes the runtimesupport for generation of debug versions that follow _g semantics. > > Defect: > JDK-8005044 remove crufty '_g' support from HS runtime code > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 > https://jbs.oracle.com/bugs/browse/JDK-8005044 > > > Webrev > http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 > > > Details: > Files have been modified to remove all reference and support for debug versions that follow _g semantics. > > Testing: > > Passed JPRT last night: > > Additional Testing In process: (suggested by Dan): > > src/share/vm/runtime/arguments.cpp > - test with shared archive creation and use; see the e-mail > from Coleen > > src/share/tools/ProjectCreator/ProjectCreator.java > - just a usage message; visual inspection of the code > > src/os/windows/vm/os_windows.cpp > - comments only; no testing needed > > src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp > - the only code changes come into play when the "gamma" > launcher is used > - and when JAVA_HOME refers to a valid JDK, the function > fakes up a JVM path so that callers using the JVM path > to find other things in the JDK will work. > - I can't find any way that the actual JVM path value > that is returned is exposed > - I don't see a way to test this other than have a debug > printf() or manual code inspection. From daniel.daugherty at oracle.com Tue Dec 18 13:11:52 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 18 Dec 2012 14:11:52 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D0D618.6020001@oracle.com> References: <50D0D618.6020001@oracle.com> Message-ID: <50D0DC18.3020403@oracle.com> Just for the record: I have reviewed all of Ron's changes and I approve them. One thing I noticed of interest to launcher folks that is not due to any changes that Ron made: src/os/windows/vm/os_windows.cpp: 1718 // Find the full path to the current module, jvm.dll 1719 void os::jvm_path(char *buf, jint buflen) { 1720 // Error checking. 1721 if (buflen < MAX_PATH) { 1722 assert(false, "must use a large-enough buffer"); 1723 buf[0] = '\0'; 1724 return; 1725 } 1726 // Lazy resolve the path to current module. 1727 if (saved_jvm_path[0] != 0) { 1728 strcpy(buf, saved_jvm_path); 1729 return; 1730 } 1731 1732 buf[0] = '\0'; 1733 if (Arguments::created_by_gamma_launcher()) { 1734 // Support for the gamma launcher. Check for an 1735 // JAVA_HOME environment variable 1736 // and fix up the path so it looks like 1737 // libjvm.so is installed there (append a fake suffix 1738 // hotspot/libjvm.so). 1739 char* java_home_var = ::getenv("JAVA_HOME"); 1740 if (java_home_var != NULL && java_home_var[0] != 0) { 1741 1742 strncpy(buf, java_home_var, buflen); 1743 1744 // determine if this is a legacy image or modules image 1745 // modules image doesn't have "jre" subdirectory 1746 size_t len = strlen(buf); 1747 char* jrebin_p = buf + len; 1748 jio_snprintf(jrebin_p, buflen-len, "\\jre\\bin\\"); 1749 if (0 != _access(buf, 0)) { 1750 jio_snprintf(jrebin_p, buflen-len, "\\bin\\"); 1751 } 1752 len = strlen(buf); 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); 1754 } 1755 } 1756 1757 if(buf[0] == '\0') { 1758 GetModuleFileName(vm_lib_handle, buf, buflen); 1759 } 1760 strcpy(saved_jvm_path, buf); 1761 } the block from line 1733 -> 1755 is dead code on Windows. The launcher on Windows is now called "hotspot" and is not called "gamma" so Arguments::created_by_gamma_launcher() will not return true on Windows. And one more launcher nit: $ grep gamma make/windows/makefiles/launcher.make /D LAUNCHER_TYPE=\"gamma\" \ Dan On 12/18/12 1:46 PM, Daniel D. Daugherty wrote: > Greetings, > > I'm sponsoring this code review request from Ron Durbin. This change > is targeted at JDK8/HSX-25 in the RT_Baseline repo. > > Dan > > Sending again with correct subject line, bug URLs and webrev URL. > > > Intro: > > This set of changes removes the runtimesupport for generation of debug > versions that follow _g semantics. > > Defect: > JDK-8005044 remove crufty '_g' support from HS runtime code > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 > https://jbs.oracle.com/bugs/browse/JDK-8005044 > > > Webrev > http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 > > > Details: > Files have been modified to remove all reference and support for > debug versions that follow _g semantics. > > Testing: > > Passed JPRT last night: > > Additional Testing In process: (suggested by Dan): > > src/share/vm/runtime/arguments.cpp > - test with shared archive creation and use; see the e-mail > from Coleen > > src/share/tools/ProjectCreator/ProjectCreator.java > - just a usage message; visual inspection of the code > > src/os/windows/vm/os_windows.cpp > - comments only; no testing needed > > src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp > - the only code changes come into play when the "gamma" > launcher is used > - and when JAVA_HOME refers to a valid JDK, the function > fakes up a JVM path so that callers using the JVM path > to find other things in the JDK will work. > - I can't find any way that the actual JVM path value > that is returned is exposed > - I don't see a way to test this other than have a debug > printf() or manual code inspection. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/5bb2eb24/attachment-0001.html From daniel.daugherty at oracle.com Tue Dec 18 13:13:55 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 18 Dec 2012 14:13:55 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: References: <50D0D618.6020001@oracle.com> Message-ID: <50D0DC93.3030309@oracle.com> Kelly, The Makefile changes were reviewed under 7153050 last week and pushed to RT_Baseline. See the attached notification. Dan On 12/18/12 2:06 PM, Kelly O'Hair wrote: > I don't see any makefile changes. > > -kto > > On Dec 18, 2012, at 12:46 PM, Daniel D. Daugherty wrote: > >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >> >> Dan >> >> Sending again with correct subject line, bug URLs and webrev URL. >> >> >> Intro: >> >> This set of changes removes the runtimesupport for generation of debug versions that follow _g semantics. >> >> Defect: >> JDK-8005044 remove crufty '_g' support from HS runtime code >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >> https://jbs.oracle.com/bugs/browse/JDK-8005044 >> >> >> Webrev >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >> >> >> Details: >> Files have been modified to remove all reference and support for debug versions that follow _g semantics. >> >> Testing: >> >> Passed JPRT last night: >> >> Additional Testing In process: (suggested by Dan): >> >> src/share/vm/runtime/arguments.cpp >> - test with shared archive creation and use; see the e-mail >> from Coleen >> >> src/share/tools/ProjectCreator/ProjectCreator.java >> - just a usage message; visual inspection of the code >> >> src/os/windows/vm/os_windows.cpp >> - comments only; no testing needed >> >> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >> - the only code changes come into play when the "gamma" >> launcher is used >> - and when JAVA_HOME refers to a valid JDK, the function >> fakes up a JVM path so that callers using the JVM path >> to find other things in the JDK will work. >> - I can't find any way that the actual JVM path value >> that is returned is exposed >> - I don't see a way to test this other than have a debug >> printf() or manual code inspection. -------------- next part -------------- An embedded message was scrubbed... From: daniel.daugherty at oracle.com Subject: hg: hsx/hotspot-rt/hotspot: 7153050: remove crufty '_g' support from HotSpot repo makefiles Date: Sat, 15 Dec 2012 00:39:00 +0000 Size: 4186 Url: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/22d67472/AttachedMessage.nws From ron.durbin at oracle.com Tue Dec 18 13:18:29 2012 From: ron.durbin at oracle.com (Ron Durbin) Date: Tue, 18 Dec 2012 13:18:29 -0800 (PST) Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D0DC93.3030309@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0DC93.3030309@oracle.com> Message-ID: <65f435f8-42ce-42a7-9abf-0a0e3029cbdf@default> Dan is correct. -----Original Message----- From: Daniel D. Daugherty Sent: Tuesday, December 18, 2012 2:14 PM To: Kelly O'Hair Cc: serviceability-dev at openjdk.java.net; build-dev; hotspot-runtime-dev at openjdk.java.net Subject: Re: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code Kelly, The Makefile changes were reviewed under 7153050 last week and pushed to RT_Baseline. See the attached notification. Dan On 12/18/12 2:06 PM, Kelly O'Hair wrote: > I don't see any makefile changes. > > -kto > > On Dec 18, 2012, at 12:46 PM, Daniel D. Daugherty wrote: > >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >> >> Dan >> >> Sending again with correct subject line, bug URLs and webrev URL. >> >> >> Intro: >> >> This set of changes removes the runtimesupport for generation of debug versions that follow _g semantics. >> >> Defect: >> JDK-8005044 remove crufty '_g' support from HS runtime code >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >> https://jbs.oracle.com/bugs/browse/JDK-8005044 >> >> >> Webrev >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >> >> >> Details: >> Files have been modified to remove all reference and support for debug versions that follow _g semantics. >> >> Testing: >> >> Passed JPRT last night: >> >> Additional Testing In process: (suggested by Dan): >> >> src/share/vm/runtime/arguments.cpp >> - test with shared archive creation and use; see the e-mail >> from Coleen >> >> src/share/tools/ProjectCreator/ProjectCreator.java >> - just a usage message; visual inspection of the code >> >> src/os/windows/vm/os_windows.cpp >> - comments only; no testing needed >> >> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >> - the only code changes come into play when the "gamma" >> launcher is used >> - and when JAVA_HOME refers to a valid JDK, the function >> fakes up a JVM path so that callers using the JVM path >> to find other things in the JDK will work. >> - I can't find any way that the actual JVM path value >> that is returned is exposed >> - I don't see a way to test this other than have a debug >> printf() or manual code inspection. From kelly.ohair at oracle.com Tue Dec 18 13:31:21 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Tue, 18 Dec 2012 13:31:21 -0800 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <65f435f8-42ce-42a7-9abf-0a0e3029cbdf@default> References: <50D0D618.6020001@oracle.com> <50D0DC93.3030309@oracle.com> <65f435f8-42ce-42a7-9abf-0a0e3029cbdf@default> Message-ID: <023777FC-D0C1-4BBF-9361-157987C0C884@oracle.com> I suspected that, but you sent it to build-dev and I was expecting makefile changes. So good to go from build-dev -kto On Dec 18, 2012, at 1:18 PM, Ron Durbin wrote: > > Dan is correct. > -----Original Message----- > From: Daniel D. Daugherty > Sent: Tuesday, December 18, 2012 2:14 PM > To: Kelly O'Hair > Cc: serviceability-dev at openjdk.java.net; build-dev; hotspot-runtime-dev at openjdk.java.net > Subject: Re: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code > > Kelly, > > The Makefile changes were reviewed under 7153050 last week and pushed to RT_Baseline. > > See the attached notification. > > Dan > > > > On 12/18/12 2:06 PM, Kelly O'Hair wrote: >> I don't see any makefile changes. >> >> -kto >> >> On Dec 18, 2012, at 12:46 PM, Daniel D. Daugherty wrote: >> >>> Greetings, >>> >>> I'm sponsoring this code review request from Ron Durbin. This change >>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>> >>> Dan >>> >>> Sending again with correct subject line, bug URLs and webrev URL. >>> >>> >>> Intro: >>> >>> This set of changes removes the runtimesupport for generation of debug versions that follow _g semantics. >>> >>> Defect: >>> JDK-8005044 remove crufty '_g' support from HS runtime code >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >>> https://jbs.oracle.com/bugs/browse/JDK-8005044 >>> >>> >>> Webrev >>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >>> >>> >>> Details: >>> Files have been modified to remove all reference and support for debug versions that follow _g semantics. >>> >>> Testing: >>> >>> Passed JPRT last night: >>> >>> Additional Testing In process: (suggested by Dan): >>> >>> src/share/vm/runtime/arguments.cpp >>> - test with shared archive creation and use; see the e-mail >>> from Coleen >>> >>> src/share/tools/ProjectCreator/ProjectCreator.java >>> - just a usage message; visual inspection of the code >>> >>> src/os/windows/vm/os_windows.cpp >>> - comments only; no testing needed >>> >>> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >>> - the only code changes come into play when the "gamma" >>> launcher is used >>> - and when JAVA_HOME refers to a valid JDK, the function >>> fakes up a JVM path so that callers using the JVM path >>> to find other things in the JDK will work. >>> - I can't find any way that the actual JVM path value >>> that is returned is exposed >>> - I don't see a way to test this other than have a debug >>> printf() or manual code inspection. > From maurizio.cimadamore at oracle.com Tue Dec 18 14:17:22 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 18 Dec 2012 22:17:22 +0000 Subject: hg: jdk8/tl/langtools: 8005193: New regression test test/tools/javac/lambda/BadMethodCall2.java fails Message-ID: <20121218221725.5F42E47235@hg.openjdk.java.net> Changeset: 250f0acf880c Author: mcimadamore Date: 2012-12-18 22:16 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/250f0acf880c 8005193: New regression test test/tools/javac/lambda/BadMethodCall2.java fails Summary: Bad golden file in negative test Reviewed-by: jjh ! test/tools/javac/lambda/BadMethodCall2.out From daniel.daugherty at oracle.com Tue Dec 18 14:30:49 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 18 Dec 2012 15:30:49 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <023777FC-D0C1-4BBF-9361-157987C0C884@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0DC93.3030309@oracle.com> <65f435f8-42ce-42a7-9abf-0a0e3029cbdf@default> <023777FC-D0C1-4BBF-9361-157987C0C884@oracle.com> Message-ID: <50D0EE99.9030502@oracle.com> Ahhh... now I understand... The review threads for: 7153050 remove crufty '_g' support from HotSpot repo made mention of the need for fixes in the Runtime src/... files so I included all the aliases on the 7153050 review as my way of closing the loop. Ron, if you end up tackling the other two bugs, we should only include build-dev if there are Makefile changes. You may have to remind me down the road... :-) Dan On 12/18/12 2:31 PM, Kelly O'Hair wrote: > I suspected that, but you sent it to build-dev and I was expecting makefile changes. > > So good to go from build-dev > > -kto > > On Dec 18, 2012, at 1:18 PM, Ron Durbin wrote: > >> Dan is correct. >> -----Original Message----- >> From: Daniel D. Daugherty >> Sent: Tuesday, December 18, 2012 2:14 PM >> To: Kelly O'Hair >> Cc: serviceability-dev at openjdk.java.net; build-dev; hotspot-runtime-dev at openjdk.java.net >> Subject: Re: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code >> >> Kelly, >> >> The Makefile changes were reviewed under 7153050 last week and pushed to RT_Baseline. >> >> See the attached notification. >> >> Dan >> >> >> >> On 12/18/12 2:06 PM, Kelly O'Hair wrote: >>> I don't see any makefile changes. >>> >>> -kto >>> >>> On Dec 18, 2012, at 12:46 PM, Daniel D. Daugherty wrote: >>> >>>> Greetings, >>>> >>>> I'm sponsoring this code review request from Ron Durbin. This change >>>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>>> >>>> Dan >>>> >>>> Sending again with correct subject line, bug URLs and webrev URL. >>>> >>>> >>>> Intro: >>>> >>>> This set of changes removes the runtimesupport for generation of debug versions that follow _g semantics. >>>> >>>> Defect: >>>> JDK-8005044 remove crufty '_g' support from HS runtime code >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >>>> https://jbs.oracle.com/bugs/browse/JDK-8005044 >>>> >>>> >>>> Webrev >>>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >>>> >>>> >>>> Details: >>>> Files have been modified to remove all reference and support for debug versions that follow _g semantics. >>>> >>>> Testing: >>>> >>>> Passed JPRT last night: >>>> >>>> Additional Testing In process: (suggested by Dan): >>>> >>>> src/share/vm/runtime/arguments.cpp >>>> - test with shared archive creation and use; see the e-mail >>>> from Coleen >>>> >>>> src/share/tools/ProjectCreator/ProjectCreator.java >>>> - just a usage message; visual inspection of the code >>>> >>>> src/os/windows/vm/os_windows.cpp >>>> - comments only; no testing needed >>>> >>>> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >>>> - the only code changes come into play when the "gamma" >>>> launcher is used >>>> - and when JAVA_HOME refers to a valid JDK, the function >>>> fakes up a JVM path so that callers using the JVM path >>>> to find other things in the JDK will work. >>>> - I can't find any way that the actual JVM path value >>>> that is returned is exposed >>>> - I don't see a way to test this other than have a debug >>>> printf() or manual code inspection. From daniel.daugherty at oracle.com Tue Dec 18 14:32:19 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 18 Dec 2012 15:32:19 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D0E021.30505@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0E021.30505@oracle.com> Message-ID: <50D0EEF3.5020102@oracle.com> Adding back in the other aliases... Coleen, thanks for the fast review! Dan On 12/18/12 2:29 PM, Coleen Phillimore wrote: > > This looks good. Thank you for doing this. > Coleen > > On 12/18/2012 03:46 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >> >> Dan >> >> Sending again with correct subject line, bug URLs and webrev URL. >> >> >> Intro: >> >> This set of changes removes the runtimesupport for generation of >> debug versions that follow _g semantics. >> >> Defect: >> JDK-8005044 remove crufty '_g' support from HS runtime code >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >> https://jbs.oracle.com/bugs/browse/JDK-8005044 >> >> >> Webrev >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >> >> >> Details: >> Files have been modified to remove all reference and support for >> debug versions that follow _g semantics. >> >> Testing: >> >> Passed JPRT last night: >> >> Additional Testing In process: (suggested by Dan): >> >> src/share/vm/runtime/arguments.cpp >> - test with shared archive creation and use; see the e-mail >> from Coleen >> >> src/share/tools/ProjectCreator/ProjectCreator.java >> - just a usage message; visual inspection of the code >> >> src/os/windows/vm/os_windows.cpp >> - comments only; no testing needed >> >> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >> - the only code changes come into play when the "gamma" >> launcher is used >> - and when JAVA_HOME refers to a valid JDK, the function >> fakes up a JVM path so that callers using the JVM path >> to find other things in the JDK will work. >> - I can't find any way that the actual JVM path value >> that is returned is exposed >> - I don't see a way to test this other than have a debug >> printf() or manual code inspection. > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/35246ded/attachment-0001.html From joe.darcy at oracle.com Tue Dec 18 14:44:43 2012 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 18 Dec 2012 22:44:43 +0000 Subject: hg: jdk8/tl/jdk: 8005042: Add Method.isDefault to core reflection Message-ID: <20121218224503.D996C47238@hg.openjdk.java.net> Changeset: 0a1398021c7c Author: darcy Date: 2012-12-18 14:44 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0a1398021c7c 8005042: Add Method.isDefault to core reflection Reviewed-by: alanb, forax, mduigou, jgish, mchung ! src/share/classes/java/lang/reflect/Method.java + test/java/lang/reflect/Method/IsDefaultTest.java From joe.darcy at oracle.com Tue Dec 18 14:50:26 2012 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 18 Dec 2012 22:50:26 +0000 Subject: hg: jdk8/tl/jdk: 8004699: Add type annotation storage to Constructor, Field and Method Message-ID: <20121218225038.108464723B@hg.openjdk.java.net> Changeset: 6d977f61af5e Author: darcy Date: 2012-12-18 14:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6d977f61af5e 8004699: Add type annotation storage to Constructor, Field and Method Reviewed-by: darcy, dholmes Contributed-by: joel.franck at oracle.com ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java From daniel.daugherty at oracle.com Tue Dec 18 14:57:20 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 18 Dec 2012 15:57:20 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D0E4BF.305@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0E4BF.305@oracle.com> Message-ID: <50D0F4D0.2010108@oracle.com> Adding back in the other aliases... Harold, The equivalentof: snprintf(buf, n, str); is: strncpy(buf, str, n - 1); buf[n - 1] = '\0'; because snprintf() will only write out (n-1) bytes from 'str' to 'buf'and then write a NUL in the lastslot. strncpy() copies up to 'n' bytes from'str'to 'buf'. strncpy() will not copy past aNUL character in'str', but it will also not NULterminate 'buf' if a NULis not found in 'str'before the limit 'n' is reached. Dan On 12/18/12 2:48 PM, harold seigel wrote: > Hi Ron, > > I think these calls to snprintf() in os_solaris.cpp and the other > os_....cpp files could be replaced with calls to strncpy(). It might > be a little simpler. > > Otherwise, it looks good. > > Thanks, Harold > > 2539 if (0 == access(buf, F_OK)) { > 2540 // Use current module name "libjvm.so" > 2541 len = strlen(buf); > 2542 *snprintf(buf + len, buflen-len, "/hotspot/libjvm.so");* > 2543 } else { > 2544 // Go back to path of .so > 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } > > On 12/18/2012 3:46 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >> >> Dan >> >> Sending again with correct subject line, bug URLs and webrev URL. >> >> >> Intro: >> >> This set of changes removes the runtimesupport for generation of >> debug versions that follow _g semantics. >> >> Defect: >> JDK-8005044 remove crufty '_g' support from HS runtime code >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >> https://jbs.oracle.com/bugs/browse/JDK-8005044 >> >> >> Webrev >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >> >> >> Details: >> Files have been modified to remove all reference and support for >> debug versions that follow _g semantics. >> >> Testing: >> >> Passed JPRT last night: >> >> Additional Testing In process: (suggested by Dan): >> >> src/share/vm/runtime/arguments.cpp >> - test with shared archive creation and use; see the e-mail >> from Coleen >> >> src/share/tools/ProjectCreator/ProjectCreator.java >> - just a usage message; visual inspection of the code >> >> src/os/windows/vm/os_windows.cpp >> - comments only; no testing needed >> >> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >> - the only code changes come into play when the "gamma" >> launcher is used >> - and when JAVA_HOME refers to a valid JDK, the function >> fakes up a JVM path so that callers using the JVM path >> to find other things in the JDK will work. >> - I can't find any way that the actual JVM path value >> that is returned is exposed >> - I don't see a way to test this other than have a debug >> printf() or manual code inspection. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/b78922f5/attachment.html From daniel.daugherty at oracle.com Tue Dec 18 15:03:19 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 18 Dec 2012 16:03:19 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D0F4D0.2010108@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0E4BF.305@oracle.com> <50D0F4D0.2010108@oracle.com> Message-ID: <50D0F637.9080607@oracle.com> Sorry, I lost my manners somewhere... :-( Thanks for the fast review! Dan On 12/18/12 3:57 PM, Daniel D. Daugherty wrote: > Adding back in the other aliases... > > Harold, > > The equivalentof: > > snprintf(buf, n, str); > > is: > > strncpy(buf, str, n - 1); > buf[n - 1] = '\0'; > > because snprintf() will only write out (n-1) bytes from > 'str' to 'buf'and then write a NUL in the lastslot. > strncpy() copies up to 'n' bytes from'str'to 'buf'. > strncpy() will not copy past aNUL character in'str', but > it will also not NULterminate 'buf' if a NULis not found > in 'str'before the limit 'n' is reached. > > Dan > > > On 12/18/12 2:48 PM, harold seigel wrote: >> Hi Ron, >> >> I think these calls to snprintf() in os_solaris.cpp and the other >> os_....cpp files could be replaced with calls to strncpy(). It might >> be a little simpler. >> >> Otherwise, it looks good. >> >> Thanks, Harold >> >> 2539 if (0 == access(buf, F_OK)) { >> 2540 // Use current module name "libjvm.so" >> 2541 len = strlen(buf); >> 2542 *snprintf(buf + len, buflen-len, "/hotspot/libjvm.so");* >> 2543 } else { >> 2544 // Go back to path of .so >> 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } >> >> On 12/18/2012 3:46 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I'm sponsoring this code review request from Ron Durbin. This change >>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>> >>> Dan >>> >>> Sending again with correct subject line, bug URLs and webrev URL. >>> >>> >>> Intro: >>> >>> This set of changes removes the runtimesupport for generation of >>> debug versions that follow _g semantics. >>> >>> Defect: >>> JDK-8005044 remove crufty '_g' support from HS runtime code >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >>> https://jbs.oracle.com/bugs/browse/JDK-8005044 >>> >>> >>> Webrev >>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >>> >>> >>> Details: >>> Files have been modified to remove all reference and support for >>> debug versions that follow _g semantics. >>> >>> Testing: >>> >>> Passed JPRT last night: >>> >>> Additional Testing In process: (suggested by Dan): >>> >>> src/share/vm/runtime/arguments.cpp >>> - test with shared archive creation and use; see the e-mail >>> from Coleen >>> >>> src/share/tools/ProjectCreator/ProjectCreator.java >>> - just a usage message; visual inspection of the code >>> >>> src/os/windows/vm/os_windows.cpp >>> - comments only; no testing needed >>> >>> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >>> - the only code changes come into play when the "gamma" >>> launcher is used >>> - and when JAVA_HOME refers to a valid JDK, the function >>> fakes up a JVM path so that callers using the JVM path >>> to find other things in the JDK will work. >>> - I can't find any way that the actual JVM path value >>> that is returned is exposed >>> - I don't see a way to test this other than have a debug >>> printf() or manual code inspection. > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/7c5496bc/attachment-0001.html From ron.durbin at oracle.com Tue Dec 18 15:50:19 2012 From: ron.durbin at oracle.com (Ron Durbin) Date: Tue, 18 Dec 2012 15:50:19 -0800 (PST) Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D0F637.9080607@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0E4BF.305@oracle.com> <50D0F4D0.2010108@oracle.com> <50D0F637.9080607@oracle.com> Message-ID: <07e8ed19-fa2d-42f4-a862-824530c88441@default> Thanks for the quick reviews by all. I will agree with Dan on this one, sprint will stay. Ron From: Daniel D. Daugherty Sent: Tuesday, December 18, 2012 4:03 PM To: hotspot-runtime-dev at openjdk.java.net; build-dev; serviceability-dev at openjdk.java.net Subject: Re: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code Sorry, I lost my manners somewhere... :-( Thanks for the fast review! Dan On 12/18/12 3:57 PM, Daniel D. Daugherty wrote: Adding back in the other aliases... Harold, The equivalent of: snprintf(buf, n, str); is: strncpy(buf, str, n - 1); buf[n - 1] = '\0'; because snprintf() will only write out (n - 1) bytes from 'str' to 'buf' and then write a NUL in the last slot. strncpy() copies up to 'n' bytes from 'str' to 'buf'. strncpy() will not copy past a NUL character in 'str', but it will also not NUL terminate 'buf' if a NUL is not found in 'str' before the limit 'n' is reached. Dan On 12/18/12 2:48 PM, harold seigel wrote: Hi Ron, I think these calls to snprintf() in os_solaris.cpp and the other os_....cpp files could be replaced with calls to strncpy(). It might be a little simpler. Otherwise, it looks good. Thanks, Harold 2539 if (0 == access(buf, F_OK)) { 2540 // Use current module name "libjvm.so" 2541 len = strlen(buf); 2542 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); 2543 } else { 2544 // Go back to path of .so 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } On 12/18/2012 3:46 PM, Daniel D. Daugherty wrote: Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Dan Sending again with correct subject line, bug URLs and webrev URL. Intro: This set of changes removes the runtime support for generation of debug versions that follow _g semantics. Defect: JDK-8005044 remove crufty '_g' support from HS runtime code http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 https://jbs.oracle.com/bugs/browse/JDK-8005044 Webrev HYPERLINK "http://cr.openjdk.java.net/%7Edcubed/for_rdurbin/8005044-webrev/0"http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 Details: Files have been modified to remove all reference and support for debug versions that follow _g semantics. Testing: Passed JPRT last night: Additional Testing In process: (suggested by Dan): src/share/vm/runtime/arguments.cpp - test with shared archive creation and use; see the e-mail from Coleen src/share/tools/ProjectCreator/ProjectCreator.java - just a usage message; visual inspection of the code src/os/windows/vm/os_windows.cpp - comments only; no testing needed src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp - the only code changes come into play when the "gamma" launcher is used - and when JAVA_HOME refers to a valid JDK, the function fakes up a JVM path so that callers using the JVM path to find other things in the JDK will work. - I can't find any way that the actual JVM path value that is returned is exposed - I don't see a way to test this other than have a debug printf() or manual code inspection. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121218/312cc428/attachment.html From lana.steuck at oracle.com Tue Dec 18 19:17:21 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 19 Dec 2012 03:17:21 +0000 Subject: hg: jdk8/tl: 2 new changesets Message-ID: <20121219031722.0C8BC47258@hg.openjdk.java.net> Changeset: e08b0096058f Author: lana Date: 2012-12-14 11:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/e08b0096058f Merge Changeset: 68a81db3ceb1 Author: lana Date: 2012-12-18 17:42 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/68a81db3ceb1 Merge From lana.steuck at oracle.com Tue Dec 18 19:17:31 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 19 Dec 2012 03:17:31 +0000 Subject: hg: jdk8/tl/langtools: 2 new changesets Message-ID: <20121219031740.E4E3547259@hg.openjdk.java.net> Changeset: d7360bf35ee1 Author: lana Date: 2012-12-14 13:15 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/d7360bf35ee1 Merge Changeset: 573b38691a74 Author: lana Date: 2012-12-18 18:15 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/573b38691a74 Merge From lana.steuck at oracle.com Tue Dec 18 19:17:59 2012 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 19 Dec 2012 03:17:59 +0000 Subject: hg: jdk8/tl/jdk: 8 new changesets Message-ID: <20121219032112.8E53F4725C@hg.openjdk.java.net> Changeset: e8b54ae97344 Author: jviswana Date: 2012-12-12 13:28 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e8b54ae97344 8004316: Printer - tempfile having incorrect extension Reviewed-by: bae, jgodinez ! src/solaris/classes/sun/print/UnixPrintJob.java Changeset: fd9e6b4c8488 Author: lana Date: 2012-12-14 11:21 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd9e6b4c8488 Merge Changeset: c69424f78060 Author: serb Date: 2012-12-11 19:45 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c69424f78060 7154778: [macosx] NSView-based implementation of sun.awt.EmbeddedFrame Summary: The new implementation of EmbeddedFrame to support SWT_AWT Bridge Reviewed-by: anthony, serb, leonidr Contributed-by: Petr Pchelko ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CMouseInfoPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPrinterDialogPeer.java + src/macosx/classes/sun/lwawt/macosx/CViewEmbeddedFrame.java + src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CWrapper.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/AWTSurfaceLayers.m ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/CCursorManager.m ! src/macosx/native/sun/awt/CWrapper.m ! src/macosx/native/sun/awt/awt.m ! src/macosx/native/sun/java2d/opengl/CGLLayer.m ! src/macosx/native/sun/osxapp/ThreadUtilities.h ! src/macosx/native/sun/osxapp/ThreadUtilities.m Changeset: e016ad35a764 Author: kshefov Date: 2012-12-13 15:14 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e016ad35a764 7132385: [macosx] IconifyTest of RepaintManager could use some delay Reviewed-by: serb, alexsch + test/javax/swing/RepaintManager/IconifyTest/IconifyTest.java Changeset: 71e03e17c183 Author: kshefov Date: 2012-12-14 13:32 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/71e03e17c183 6757986: javax/swing/JInternalFrame/5066752/bug5066752.java needs correction Reviewed-by: serb, alexsch + test/javax/swing/JInternalFrame/5066752/bug5066752.java Changeset: 9fc7460ca3ac Author: lana Date: 2012-12-14 11:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9fc7460ca3ac Merge Changeset: de6b54a60d60 Author: lana Date: 2012-12-14 13:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/de6b54a60d60 Merge ! makefiles/CompileNativeLibraries.gmk - src/share/lib/security/java.security - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java Changeset: e515956879cd Author: lana Date: 2012-12-18 18:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e515956879cd Merge From huizhe.wang at oracle.com Tue Dec 18 21:08:38 2012 From: huizhe.wang at oracle.com (huizhe.wang at oracle.com) Date: Wed, 19 Dec 2012 05:08:38 +0000 Subject: hg: jdk8/tl/jaxp: 8003261: static field is public but not final Message-ID: <20121219050843.538F84726A@hg.openjdk.java.net> Changeset: 15b32367b23c Author: joehw Date: 2012-12-18 21:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/15b32367b23c 8003261: static field is public but not final Summary: add final to fVersion field, and make it a non-compile time constant. Reviewed-by: hawtin, lancea, dholmes, chegar ! src/com/sun/org/apache/xerces/internal/impl/Version.java From staffan.larsen at oracle.com Wed Dec 19 00:27:25 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 19 Dec 2012 09:27:25 +0100 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D0DC18.3020403@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0DC18.3020403@oracle.com> Message-ID: On 18 dec 2012, at 22:11, Daniel D. Daugherty wrote: > Just for the record: I have reviewed all of Ron's changes > and I approve them. > > One thing I noticed of interest to launcher folks that > is not due to any changes that Ron made: > > src/os/windows/vm/os_windows.cpp: > > 1718 // Find the full path to the current module, jvm.dll > 1719 void os::jvm_path(char *buf, jint buflen) { > 1720 // Error checking. > 1721 if (buflen < MAX_PATH) { > 1722 assert(false, "must use a large-enough buffer"); > 1723 buf[0] = '\0'; > 1724 return; > 1725 } > 1726 // Lazy resolve the path to current module. > 1727 if (saved_jvm_path[0] != 0) { > 1728 strcpy(buf, saved_jvm_path); > 1729 return; > 1730 } > 1731 > 1732 buf[0] = '\0'; > 1733 if (Arguments::created_by_gamma_launcher()) { > 1734 // Support for the gamma launcher. Check for an > 1735 // JAVA_HOME environment variable > 1736 // and fix up the path so it looks like > 1737 // libjvm.so is installed there (append a fake suffix > 1738 // hotspot/libjvm.so). > 1739 char* java_home_var = ::getenv("JAVA_HOME"); > 1740 if (java_home_var != NULL && java_home_var[0] != 0) { > 1741 > 1742 strncpy(buf, java_home_var, buflen); > 1743 > 1744 // determine if this is a legacy image or modules image > 1745 // modules image doesn't have "jre" subdirectory > 1746 size_t len = strlen(buf); > 1747 char* jrebin_p = buf + len; > 1748 jio_snprintf(jrebin_p, buflen-len, "\\jre\\bin\\"); > 1749 if (0 != _access(buf, 0)) { > 1750 jio_snprintf(jrebin_p, buflen-len, "\\bin\\"); > 1751 } > 1752 len = strlen(buf); > 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); > 1754 } > 1755 } > 1756 > 1757 if(buf[0] == '\0') { > 1758 GetModuleFileName(vm_lib_handle, buf, buflen); > 1759 } > 1760 strcpy(saved_jvm_path, buf); > 1761 } > > the block from line 1733 -> 1755 is dead code on Windows. > The launcher on Windows is now called "hotspot" and is not > called "gamma" so Arguments::created_by_gamma_launcher() > will not return true on Windows. > > And one more launcher nit: > > $ grep gamma make/windows/makefiles/launcher.make > /D LAUNCHER_TYPE=\"gamma\" \ > Isn't it this line that makes it work? Arguments::created_by_gamma_launcher() essentially checks that -Dsun.java.launcher=gamma is set. And the LAUNCHER_TYPE=gamma is what sets -Dsun.java.launcher=gamma. I think, but I may be missing something? Thanks, /Staffan > Dan > > > On 12/18/12 1:46 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >> >> Dan >> >> Sending again with correct subject line, bug URLs and webrev URL. >> >> >> Intro: >> >> This set of changes removes the runtimesupport for generation of debug versions that follow _g semantics. >> >> Defect: >> JDK-8005044 remove crufty '_g' support from HS runtime code >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >> https://jbs.oracle.com/bugs/browse/JDK-8005044 >> >> >> Webrev >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >> >> >> Details: >> Files have been modified to remove all reference and support for debug versions that follow _g semantics. >> >> Testing: >> >> Passed JPRT last night: >> >> Additional Testing In process: (suggested by Dan): >> >> src/share/vm/runtime/arguments.cpp >> - test with shared archive creation and use; see the e-mail >> from Coleen >> >> src/share/tools/ProjectCreator/ProjectCreator.java >> - just a usage message; visual inspection of the code >> >> src/os/windows/vm/os_windows.cpp >> - comments only; no testing needed >> >> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >> - the only code changes come into play when the "gamma" >> launcher is used >> - and when JAVA_HOME refers to a valid JDK, the function >> fakes up a JVM path so that callers using the JVM path >> to find other things in the JDK will work. >> - I can't find any way that the actual JVM path value >> that is returned is exposed >> - I don't see a way to test this other than have a debug >> printf() or manual code inspection. > From jaroslav.bachorik at oracle.com Wed Dec 19 02:00:49 2012 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Wed, 19 Dec 2012 11:00:49 +0100 Subject: jmx-dev [PATCH] JDK-7146162: javax/management/remote/mandatory/connection/BrokenConnectionTest.java failing intermittently In-Reply-To: <50D0C229.2010708@oracle.com> References: <508E8F79.60909@oracle.com> <509120B0.6040703@oracle.com> <50D08B8B.4080904@oracle.com> <50D0C229.2010708@oracle.com> Message-ID: <50D19051.2080904@oracle.com> On 12/18/2012 08:21 PM, shanliang wrote: > It is good to call > gotIOException((IOException)e); > > but no need to call in next > restart((IOException)e); > > the method "gotIOException" should call "restart" if necessary, > otherwise "restart" may be called 2 times and generated 2 times > "Reconnection notification". Yes, it seems that the restart() will be called exactly twice or not at all. I will remove the restart() call at the line 199. Updated webrev to http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.05 -JB- > > Shanliang > > Jaroslav Bachorik wrote: >> I've updated the webrev - no additional synchronisation is required. >> Please, review: >> http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.04 >> >> -JB- >> >> On 10/31/2012 01:59 PM, Jaroslav Bachorik wrote: >> >>> On 10/30/2012 05:10 PM, Eamonn McManus wrote: >>> >>>> This area has historically caused a lot of problems and I am not >>>> surprised to see that there are more. While I don't know what the best >>>> way to fix the issue at hand is, I don't think this proposed change is >>>> it. The reason is that the checkConnection and gotIOException methods >>>> do blocking operations, and it is generally not a good idea to do >>>> blocking operations in a synchronized block. Is there a way to avoid >>>> the race condition without that? >>>> >>> The important part is calling the gotIOException() method even from the >>> heart-beat checker. I've tried to return the synchronization block back >>> to the original state and the test passes with the check period of 10ms >>> which pushes the probability of data races rather high. >>> >>> It seems that the worst that can happen would be one additional >>> checkConnection() call - in case when the state gets set to TERMINATED >>> by another thread right after it has been checked in the synchronized >>> block the loop condition might evaluate to true if the state value has >>> not been flushed yet. >>> >>> I could change the "state" variable to be volatile but I am not sure >>> whether it's worth the hassle. >>> >>> -JB- >>> >>> >>>> ?amonn >>>> >>>> >>>> 2012/10/29 Jaroslav Bachorik : >>>> >>>>> I am looking for a sponsor and reviewers. >>>>> >>>>> The webrev is available at >>>>> http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.03 >>>>> >>>>> As explained in the issue the failure is caused by the RMI connection >>>>> heart-beat thread racing against the thread executing the MBean >>>>> operation and encountering the IOException. The heart beat thread sets >>>>> the the admin state to "terminated" but does not send the failure >>>>> notifications. On the other side the operation thread determines the >>>>> state to be already terminated and skips the notifications as well. >>>>> >>>>> The fix adds the call to handle an ioexception, including sending the >>>>> failure notifications, to the hear-beat connection failure handler. >>>>> Also >>>>> it widens the synchronized block since the whole code block >>>>> checking for >>>>> the connection failure and recovering must be run atomically, >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> -JB- >>>>> >> >> > > From shanliang.jiang at oracle.com Wed Dec 19 02:31:51 2012 From: shanliang.jiang at oracle.com (shanliang.jiang at oracle.com) Date: Wed, 19 Dec 2012 10:31:51 +0000 Subject: hg: jdk8/tl/jdk: 7158614: JMXStartStopTest.sh failing intermittently Message-ID: <20121219103239.3EE244727D@hg.openjdk.java.net> Changeset: c79b26b8efe0 Author: sjiang Date: 2012-12-19 11:06 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c79b26b8efe0 7158614: JMXStartStopTest.sh failing intermittently Summary: fixed 3 problems here: 1) checked the lock file too eary 2) never got the process id of a java test 3) some shell commands were not supported in some Solaris machines. Reviewed-by: dsamersoff, alanb ! test/ProblemList.txt ! test/sun/management/jmxremote/startstop/JMXStartStopDoSomething.java ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh From shanliang.jiang at oracle.com Wed Dec 19 02:53:07 2012 From: shanliang.jiang at oracle.com (shanliang) Date: Wed, 19 Dec 2012 11:53:07 +0100 Subject: jmx-dev [PATCH] JDK-7146162: javax/management/remote/mandatory/connection/BrokenConnectionTest.java failing intermittently In-Reply-To: <50D19051.2080904@oracle.com> References: <508E8F79.60909@oracle.com> <509120B0.6040703@oracle.com> <50D08B8B.4080904@oracle.com> <50D0C229.2010708@oracle.com> <50D19051.2080904@oracle.com> Message-ID: <50D19C93.10806@oracle.com> The fix is OK for me. Shanliang Jaroslav Bachorik wrote: > On 12/18/2012 08:21 PM, shanliang wrote: > >> It is good to call >> gotIOException((IOException)e); >> >> but no need to call in next >> restart((IOException)e); >> >> the method "gotIOException" should call "restart" if necessary, >> otherwise "restart" may be called 2 times and generated 2 times >> "Reconnection notification". >> > > Yes, it seems that the restart() will be called exactly twice or not at > all. I will remove the restart() call at the line 199. > > Updated webrev to > http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.05 > > -JB- > > > > >> Shanliang >> >> Jaroslav Bachorik wrote: >> >>> I've updated the webrev - no additional synchronisation is required. >>> Please, review: >>> http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.04 >>> >>> -JB- >>> >>> On 10/31/2012 01:59 PM, Jaroslav Bachorik wrote: >>> >>> >>>> On 10/30/2012 05:10 PM, Eamonn McManus wrote: >>>> >>>> >>>>> This area has historically caused a lot of problems and I am not >>>>> surprised to see that there are more. While I don't know what the best >>>>> way to fix the issue at hand is, I don't think this proposed change is >>>>> it. The reason is that the checkConnection and gotIOException methods >>>>> do blocking operations, and it is generally not a good idea to do >>>>> blocking operations in a synchronized block. Is there a way to avoid >>>>> the race condition without that? >>>>> >>>>> >>>> The important part is calling the gotIOException() method even from the >>>> heart-beat checker. I've tried to return the synchronization block back >>>> to the original state and the test passes with the check period of 10ms >>>> which pushes the probability of data races rather high. >>>> >>>> It seems that the worst that can happen would be one additional >>>> checkConnection() call - in case when the state gets set to TERMINATED >>>> by another thread right after it has been checked in the synchronized >>>> block the loop condition might evaluate to true if the state value has >>>> not been flushed yet. >>>> >>>> I could change the "state" variable to be volatile but I am not sure >>>> whether it's worth the hassle. >>>> >>>> -JB- >>>> >>>> >>>> >>>>> ?amonn >>>>> >>>>> >>>>> 2012/10/29 Jaroslav Bachorik : >>>>> >>>>> >>>>>> I am looking for a sponsor and reviewers. >>>>>> >>>>>> The webrev is available at >>>>>> http://cr.openjdk.java.net/~jbachorik/JDK-7146162/webrev.03 >>>>>> >>>>>> As explained in the issue the failure is caused by the RMI connection >>>>>> heart-beat thread racing against the thread executing the MBean >>>>>> operation and encountering the IOException. The heart beat thread sets >>>>>> the the admin state to "terminated" but does not send the failure >>>>>> notifications. On the other side the operation thread determines the >>>>>> state to be already terminated and skips the notifications as well. >>>>>> >>>>>> The fix adds the call to handle an ioexception, including sending the >>>>>> failure notifications, to the hear-beat connection failure handler. >>>>>> Also >>>>>> it widens the synchronized block since the whole code block >>>>>> checking for >>>>>> the connection failure and recovering must be run atomically, >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> -JB- >>>>>> >>>>>> >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121219/c16d00f0/attachment.html From jonathan.gibbons at oracle.com Wed Dec 19 03:35:36 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 19 Dec 2012 11:35:36 +0000 Subject: hg: jdk8/tl/langtools: 8004833: Integrate doclint support into javac Message-ID: <20121219113546.777424727F@hg.openjdk.java.net> Changeset: 67b01d295cd2 Author: jjg Date: 2012-12-19 11:29 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/67b01d295cd2 8004833: Integrate doclint support into javac Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/resources/javac.properties + test/tools/javac/doclint/DocLintTest.java From dmitry.samersoff at oracle.com Wed Dec 19 05:36:06 2012 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 19 Dec 2012 17:36:06 +0400 Subject: RR(S) Re: JEP 168: Network Discovery of Manageable Java Processes In-Reply-To: <20121107210226.1C3FBAA9@eggemoggin.niobe.net> References: <20121107210226.1C3FBAA9@eggemoggin.niobe.net> Message-ID: <50D1C2C6.7050808@oracle.com> Hi Everybody, Please review JEP changes. http://cr.openjdk.java.net/~dsamersoff/8002048.JDP/jeps/webrev.01/ -Dmitry On 2012-11-08 01:02, mark.reinhold at oracle.com wrote: > Posted: http://openjdk.java.net/jeps/168 > > - Mark > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From ron.durbin at oracle.com Wed Dec 19 06:17:14 2012 From: ron.durbin at oracle.com (Ron Durbin) Date: Wed, 19 Dec 2012 06:17:14 -0800 (PST) Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <07e8ed19-fa2d-42f4-a862-824530c88441@default> References: <50D0D618.6020001@oracle.com> <50D0E4BF.305@oracle.com> <50D0F4D0.2010108@oracle.com> <50D0F637.9080607@oracle.com> <07e8ed19-fa2d-42f4-a862-824530c88441@default> Message-ID: <955b2245-7480-4af0-bd88-16eb1dd5856a@default> Harold, Did you have any more points or counter points to make on the use of snprintf and strncpy ? Ron From: Ron Durbin Sent: Tuesday, December 18, 2012 4:50 PM To: Daniel Daugherty; hotspot-runtime-dev at openjdk.java.net; build-dev; serviceability-dev at openjdk.java.net Subject: RE: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code Thanks for the quick reviews by all. I will agree with Dan on this one, sprint will stay. Ron From: Daniel D. Daugherty Sent: Tuesday, December 18, 2012 4:03 PM To: HYPERLINK "mailto:hotspot-runtime-dev at openjdk.java.net"hotspot-runtime-dev at openjdk.java.net; build-dev; HYPERLINK "mailto:serviceability-dev at openjdk.java.net"serviceability-dev at openjdk.java.net Subject: Re: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code Sorry, I lost my manners somewhere... :-( Thanks for the fast review! Dan On 12/18/12 3:57 PM, Daniel D. Daugherty wrote: Adding back in the other aliases... Harold, The equivalent of: snprintf(buf, n, str); is: strncpy(buf, str, n - 1); buf[n - 1] = '\0'; because snprintf() will only write out (n - 1) bytes from 'str' to 'buf' and then write a NUL in the last slot. strncpy() copies up to 'n' bytes from 'str' to 'buf'. strncpy() will not copy past a NUL character in 'str', but it will also not NUL terminate 'buf' if a NUL is not found in 'str' before the limit 'n' is reached. Dan On 12/18/12 2:48 PM, harold seigel wrote: Hi Ron, I think these calls to snprintf() in os_solaris.cpp and the other os_....cpp files could be replaced with calls to strncpy(). It might be a little simpler. Otherwise, it looks good. Thanks, Harold 2539 if (0 == access(buf, F_OK)) { 2540 // Use current module name "libjvm.so" 2541 len = strlen(buf); 2542 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); 2543 } else { 2544 // Go back to path of .so 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } On 12/18/2012 3:46 PM, Daniel D. Daugherty wrote: Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Dan Sending again with correct subject line, bug URLs and webrev URL. Intro: This set of changes removes the runtime support for generation of debug versions that follow _g semantics. Defect: JDK-8005044 remove crufty '_g' support from HS runtime code http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 https://jbs.oracle.com/bugs/browse/JDK-8005044 Webrev HYPERLINK "http://cr.openjdk.java.net/%7Edcubed/for_rdurbin/8005044-webrev/0"http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 Details: Files have been modified to remove all reference and support for debug versions that follow _g semantics. Testing: Passed JPRT last night: Additional Testing In process: (suggested by Dan): src/share/vm/runtime/arguments.cpp - test with shared archive creation and use; see the e-mail from Coleen src/share/tools/ProjectCreator/ProjectCreator.java - just a usage message; visual inspection of the code src/os/windows/vm/os_windows.cpp - comments only; no testing needed src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp - the only code changes come into play when the "gamma" launcher is used - and when JAVA_HOME refers to a valid JDK, the function fakes up a JVM path so that callers using the JVM path to find other things in the JDK will work. - I can't find any way that the actual JVM path value that is returned is exposed - I don't see a way to test this other than have a debug printf() or manual code inspection. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121219/17851c4d/attachment-0001.html From alan.bateman at oracle.com Wed Dec 19 07:02:49 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 19 Dec 2012 15:02:49 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20121219150313.2B43C47287@hg.openjdk.java.net> Changeset: 3fd3bcc8bd42 Author: joehw Date: 2012-12-19 12:09 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3fd3bcc8bd42 8004371: (props) Properties.loadFromXML needs small footprint XML parser as fallback when JAXP is not present Reviewed-by: alanb, mchung, psandoz + src/share/classes/jdk/internal/org/xml/sax/Attributes.java + src/share/classes/jdk/internal/org/xml/sax/ContentHandler.java + src/share/classes/jdk/internal/org/xml/sax/DTDHandler.java + src/share/classes/jdk/internal/org/xml/sax/EntityResolver.java + src/share/classes/jdk/internal/org/xml/sax/ErrorHandler.java + src/share/classes/jdk/internal/org/xml/sax/InputSource.java + src/share/classes/jdk/internal/org/xml/sax/Locator.java + src/share/classes/jdk/internal/org/xml/sax/SAXException.java + src/share/classes/jdk/internal/org/xml/sax/SAXNotRecognizedException.java + src/share/classes/jdk/internal/org/xml/sax/SAXNotSupportedException.java + src/share/classes/jdk/internal/org/xml/sax/SAXParseException.java + src/share/classes/jdk/internal/org/xml/sax/XMLReader.java + src/share/classes/jdk/internal/org/xml/sax/helpers/DefaultHandler.java + src/share/classes/jdk/internal/util/xml/PropertiesDefaultHandler.java + src/share/classes/jdk/internal/util/xml/SAXParser.java + src/share/classes/jdk/internal/util/xml/XMLStreamException.java + src/share/classes/jdk/internal/util/xml/XMLStreamWriter.java + src/share/classes/jdk/internal/util/xml/impl/Attrs.java + src/share/classes/jdk/internal/util/xml/impl/Input.java + src/share/classes/jdk/internal/util/xml/impl/Pair.java + src/share/classes/jdk/internal/util/xml/impl/Parser.java + src/share/classes/jdk/internal/util/xml/impl/ParserSAX.java + src/share/classes/jdk/internal/util/xml/impl/ReaderUTF16.java + src/share/classes/jdk/internal/util/xml/impl/ReaderUTF8.java + src/share/classes/jdk/internal/util/xml/impl/SAXParserImpl.java + src/share/classes/jdk/internal/util/xml/impl/XMLStreamWriterImpl.java + src/share/classes/jdk/internal/util/xml/impl/XMLWriter.java Changeset: cf15abdcdf88 Author: alanb Date: 2012-12-19 14:53 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cf15abdcdf88 8005248: (props) Integrate small footprint parser into Properties Reviewed-by: joehw, mchung, psandoz, erikj ! make/jdk/Makefile - make/jdk/asm/Makefile ! src/share/classes/java/util/Properties.java + src/share/classes/jdk/internal/util/xml/BasicXmlPropertiesProvider.java ! test/java/util/Properties/LoadAndStoreXML.java + test/java/util/Properties/invalidxml/BadCase.xml + test/java/util/Properties/invalidxml/BadDocType.xml.excluded + test/java/util/Properties/invalidxml/NoClosingTag.xml + test/java/util/Properties/invalidxml/NoDocType.xml.excluded + test/java/util/Properties/invalidxml/NoRoot.xml + test/java/util/Properties/invalidxml/NotQuoted.xml + test/java/util/Properties/invalidxml/README.txt From daniel.daugherty at oracle.com Wed Dec 19 07:22:31 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 19 Dec 2012 08:22:31 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: References: <50D0D618.6020001@oracle.com> <50D0DC18.3020403@oracle.com> Message-ID: <50D1DBB7.6040101@oracle.com> On 12/19/12 1:27 AM, Staffan Larsen wrote: > On 18 dec 2012, at 22:11, Daniel D. Daugherty wrote: > >> Just for the record: I have reviewed all of Ron's changes >> and I approve them. >> >> One thing I noticed of interest to launcher folks that >> is not due to any changes that Ron made: >> >> src/os/windows/vm/os_windows.cpp: >> >> 1718 // Find the full path to the current module, jvm.dll >> 1719 void os::jvm_path(char *buf, jint buflen) { >> 1720 // Error checking. >> 1721 if (buflen < MAX_PATH) { >> 1722 assert(false, "must use a large-enough buffer"); >> 1723 buf[0] = '\0'; >> 1724 return; >> 1725 } >> 1726 // Lazy resolve the path to current module. >> 1727 if (saved_jvm_path[0] != 0) { >> 1728 strcpy(buf, saved_jvm_path); >> 1729 return; >> 1730 } >> 1731 >> 1732 buf[0] = '\0'; >> 1733 if (Arguments::created_by_gamma_launcher()) { >> 1734 // Support for the gamma launcher. Check for an >> 1735 // JAVA_HOME environment variable >> 1736 // and fix up the path so it looks like >> 1737 // libjvm.so is installed there (append a fake suffix >> 1738 // hotspot/libjvm.so). >> 1739 char* java_home_var = ::getenv("JAVA_HOME"); >> 1740 if (java_home_var != NULL && java_home_var[0] != 0) { >> 1741 >> 1742 strncpy(buf, java_home_var, buflen); >> 1743 >> 1744 // determine if this is a legacy image or modules image >> 1745 // modules image doesn't have "jre" subdirectory >> 1746 size_t len = strlen(buf); >> 1747 char* jrebin_p = buf + len; >> 1748 jio_snprintf(jrebin_p, buflen-len, "\\jre\\bin\\"); >> 1749 if (0 != _access(buf, 0)) { >> 1750 jio_snprintf(jrebin_p, buflen-len, "\\bin\\"); >> 1751 } >> 1752 len = strlen(buf); >> 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); >> 1754 } >> 1755 } >> 1756 >> 1757 if(buf[0] == '\0') { >> 1758 GetModuleFileName(vm_lib_handle, buf, buflen); >> 1759 } >> 1760 strcpy(saved_jvm_path, buf); >> 1761 } >> >> the block from line 1733 -> 1755 is dead code on Windows. >> The launcher on Windows is now called "hotspot" and is not >> called "gamma" so Arguments::created_by_gamma_launcher() >> will not return true on Windows. >> >> And one more launcher nit: >> >> $ grep gamma make/windows/makefiles/launcher.make >> /D LAUNCHER_TYPE=\"gamma\" \ >> > Isn't it this line that makes it work? Arguments::created_by_gamma_launcher() essentially checks that -Dsun.java.launcher=gamma is set. And the LAUNCHER_TYPE=gamma is what sets -Dsun.java.launcher=gamma. I think, but I may be missing something? > > Thanks, > /Staffan Nope you weren't missing anything. I was thinking process name is "hotspot" instead of looking more closely at how the launcher origin was determined. Just curious, when gamma was renamed to hotspot on Windows, that change wasn't made on Linux on Solaris. Any particular reason? Gory details below... Dan Chasing it back... src/os/windows/vm/os_windows.cpp: 1733 if (Arguments::created_by_gamma_launcher()) { src/share/vm/runtime/arguments.cpp: 1671 bool Arguments::created_by_gamma_launcher() { 1672 return _created_by_gamma_launcher; 1673 } 1659 void Arguments::process_java_launcher_argument(const char* launcher, void* extra_info) { 1660 _sun_java_launcher = strdup(launcher); 1661 if (strcmp("gamma", _sun_java_launcher) == 0) { 1662 _created_by_gamma_launcher = true; 1663 } 1664 } 126 // Process java launcher properties. 127 void Arguments::process_sun_java_launcher_properties(JavaVMInitArgs* args) { 128 // See if sun.java.launcher or sun.java.launcher.pid is defined. 129 // Must do this before setting up other system properties, 130 // as some of them may depend on launcher type. 131 for (int index = 0; index < args->nOptions; index++) { 132 const JavaVMOption* option = args->options + index; 133 const char* tail; 134 135 if (match_option(option, "-Dsun.java.launcher=", &tail)) { 136 process_java_launcher_argument(tail, option->extraInfo); 137 continue; 138 } src/share/tools/launcher/java.c: 1659 /* 1660 * JVM would like to know if it's created by a standard Sun launcher, or by 1661 * user native application, the following property indicates the former. 1662 */ 1663 void SetJavaLauncherProp() { 1664 AddOption("-Dsun.java.launcher=" LAUNCHER_TYPE, NULL); 1665 } make/windows/makefiles/launcher.make 26 LAUNCHER_FLAGS=$(CXX_FLAGS) $(ARCHFLAG) \ 27 /D FULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \ 28 /D JDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \ 29 /D JDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \ 30 /D GAMMA \ 31 /D LAUNCHER_TYPE=\"gamma\" \ From Alan.Bateman at oracle.com Wed Dec 19 07:42:03 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 19 Dec 2012 15:42:03 +0000 Subject: RFR JDK-8005120 In-Reply-To: References: Message-ID: <50D1E04B.1060509@oracle.com> John - this is the debugger socket transport so cc'ing the serviceability-dev list as that is where this code is maintained. On 19/12/2012 15:36, John Zavgren wrote: > Greetings: > Please consider the following change to the two files: > src/share/transport/socket/sysSocket.h > src/solaris/transport/socket/socket_md.c > that eliminate compiler warnings that stem from the fact that the variables that the native code passes to various system calls were not declared correctly. They were declared as integers, but they must be "unsigned" integers because they are used to define buffer lengths. Were one to supply a negative value as an argument, it would be cast into an unsigned "Martian" value and there'd be (hopefully) a system call error. > > Thanks! > John Zavgren > > http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ From daniel.daugherty at oracle.com Wed Dec 19 08:30:06 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 19 Dec 2012 09:30:06 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D1D461.50109@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0E4BF.305@oracle.com> <50D0F4D0.2010108@oracle.com> <50D0F637.9080607@oracle.com> <07e8ed19-fa2d-42f4-a862-824530c88441@default> <955b2245-7480-4af0-bd88-16eb1dd5856a@default> <50D1D461.50109@oracle.com> Message-ID: <50D1EB8E.1030302@oracle.com> Adding the other aliases back in... Harold, This question: > Another nit: Is it worth checking that all of > "/hotspot/libjvm.so"could get copied to buf? (i.e.: that > buflen-len > strlen("/hotspot/libjvm.so") is straight forward and the short answer is: yes, that code makes assumptions that "/hotspot/libjvm.so" will fit into 'buf'. It should not do that. It is Ron's callas to whether he wants to fix this existing bugas part of thiswork. It is easy enough to fix the obvious part of the bug, but... asis normal with HotSpot, there is more going on here than meets the eye... The slightly longer answer is that it probably doesn't matter because the path being created here is a fake. As long as the "/hotspot/l" part gets copied, then the callers of os::jvm_path() will be able to handle the fakery. Of course, there is an even longer answer. Read on if you want gory details(and a history lesson). This gamma launcher stuff is giving me an absolute headache. Unfortunately, there is a lot of history involved here... Here are the variations: src/os/bsd/vm/os_bsd.cpp: 1715 if (Arguments::created_by_gamma_launcher()) { 1716 // Support for the gamma launcher. Typical value for buf is 1717 // "/jre/lib///libjvm". If "/jre/lib/" appears at 1718 // the right place in the string, then assume we are installed in a JDK and 1719 // we're done. Otherwise, check for a JAVA_HOME environment variable and 1720 // construct a path to the JVM being overridden. 1762 // If the path exists within JAVA_HOME, add the JVM library name 1763 // to complete the path to JVM being overridden. Otherwise fallback 1764 // to the path to the current library. 1765 if (0 == access(buf, F_OK)) { 1766 // Use current module name "libjvm" 1767 len = strlen(buf); 1768 snprintf(buf + len, buflen-len, "/libjvm%s", JNI_LIB_SUFFIX); 1769 } else { 1770 // Fall back to path of current library 1771 rp = realpath(dli_fname, buf); 1772 if (rp == NULL) 1773 return; 1774 } src/os/linux/vm/os_linux.cpp: 2206 if (Arguments::created_by_gamma_launcher()) { 2207 // Support for the gamma launcher. Typical value for buf is 2208 // "/jre/lib///libjvm.so". If "/jre/lib/" appears at 2209 // the right place in the string, then assume we are installed in a JDK and 2210 // we're done. Otherwise, check for a JAVA_HOME environment variable and fix 2211 // up the path so it looks like libjvm.so is installed there (append a 2212 // fake suffix hotspot/libjvm.so). 2243 if (0 == access(buf, F_OK)) { 2244 // Use current module name "libjvm.so" 2245 len = strlen(buf); 2246 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); 2247 } else { 2248 // Go back to path of .so 2249 rp = realpath(dli_fname, buf); 2250 if (rp == NULL) 2251 return; 2252 } src/os/solaris/vm/os_solaris.cpp: 2496 if (Arguments::created_by_gamma_launcher()) { 2497 // Support for the gamma launcher. Typical value for buf is 2498 // "/jre/lib///libjvm.so". If "/jre/lib/" appears at 2499 // the right place in the string, then assume we are installed in a JDK and 2500 // we're done. Otherwise, check for a JAVA_HOME environment variable and fix 2501 // up the path so it looks like libjvm.so is installed there (append a 2502 // fake suffix hotspot/libjvm.so). 2539 if (0 == access(buf, F_OK)) { 2540 // Use current module name "libjvm.so" 2541 len = strlen(buf); 2542 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); 2543 } else { 2544 // Go back to path of .so 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } src/os/windows/vm/os_windows.cpp: 1732 buf[0] = '\0'; 1733 if (Arguments::created_by_gamma_launcher()) { 1734 // Support for the gamma launcher. Check for an 1735 // JAVA_HOME environment variable 1736 // and fix up the path so it looks like 1737 // libjvm.so is installed there (append a fake suffix 1738 // hotspot/libjvm.so). 1739 char* java_home_var = ::getenv("JAVA_HOME"); 1740 if (java_home_var != NULL && java_home_var[0] != 0) { 1741 1742 strncpy(buf, java_home_var, buflen); 1743 1744 // determine if this is a legacy image or modules image 1745 // modules image doesn't have "jre" subdirectory 1746 size_t len = strlen(buf); 1747 char* jrebin_p = buf + len; 1748 jio_snprintf(jrebin_p, buflen-len, "\\jre\\bin\\"); 1749 if (0 != _access(buf, 0)) { 1750 jio_snprintf(jrebin_p, buflen-len, "\\bin\\"); 1751 } 1752 len = strlen(buf); 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); 1754 } 1755 } Linux, Solaris and Windows all recognize that if they get to the point where they are appending a "hotspot/..." path to the jvm_path value, then they are making a fake path. Why are they making a fake path? Well, the gamma launcher lets someone use a libjvm.so/jvm.dll that is not located in the usual place in a JDK. And, you get to use that libjvm.so/jvm.dll WITH THAT JDK. Sounds pretty cooland it is pretty cool... until you realize that there is code in the VM that tries to find other libraries _relative_ to the libjvm.so/jvm.dll that is running. Ouch! So enter the above codeblocks that fake a path to the libjvm.so/jvm.dll so that callers to os::jvm_path() don't get confused. To make matters more convoluted... yes, I know this is convoluted enough... The os_bsd.cpp doesn't seem to realize that it is creating a fake path here. At one point, the os_bsd.cpp code was a copy of os_linux.cpp code, but it was obviously tweaked. It will take more investigation to figure out the right course of action for os_bsd.cpp Dan On 12/19/12 7:51 AM, harold seigel wrote: > Hi Ron, > > I'm ok with using snprinft(). > > Another nit: Is it worth checking that all of "/hotspot/libjvm.so" > could get copied to buf? (i.e.: that buflen-len > > strlen("/hotspot/libjvm.so") > > Thanks, Harold > > On 12/19/2012 9:17 AM, Ron Durbin wrote: >> >> Harold, >> >> Did you have any more points or counter points to make on the use of >> snprintf and strncpy ? >> >> Ron >> >> *From:*Ron Durbin >> *Sent:* Tuesday, December 18, 2012 4:50 PM >> *To:* Daniel Daugherty; hotspot-runtime-dev at openjdk.java.net; >> build-dev; serviceability-dev at openjdk.java.net >> *Subject:* RE: Code Review fix for 8005044 remove crufty '_g' support >> from HS runtime code >> >> Thanks for the quick reviews by all. >> >> I will agree with Dan on this one, sprint will stay. >> >> Ron >> >> *From:*Daniel D. Daugherty >> *Sent:* Tuesday, December 18, 2012 4:03 PM >> *To:* hotspot-runtime-dev at openjdk.java.net >> ; build-dev; >> serviceability-dev at openjdk.java.net >> >> *Subject:* Re: Code Review fix for 8005044 remove crufty '_g' support >> from HS runtime code >> >> Sorry, I lost my manners somewhere... :-( >> >> Thanks for the fast review! >> >> Dan >> >> On 12/18/12 3:57 PM, Daniel D. Daugherty wrote: >> >> Adding back in the other aliases... >> >> Harold, >> >> The equivalent of: >> >> snprintf(buf, n, str); >> >> is: >> >> strncpy(buf, str, n - 1); >> buf[n - 1] = '\0'; >> >> because snprintf() will only write out (n - 1) bytes from >> 'str' to 'buf' and then write a NUL in the last slot. >> strncpy() copies up to 'n' bytes from 'str' to 'buf'. >> strncpy() will not copy past a NUL character in 'str', but >> it will also not NUL terminate 'buf' if a NUL is not found >> in 'str' before the limit 'n' is reached. >> >> Dan >> >> On 12/18/12 2:48 PM, harold seigel wrote: >> >> Hi Ron, >> >> I think these calls to snprintf() in os_solaris.cpp and the >> other os_....cpp files could be replaced with calls to >> strncpy(). It might be a little simpler. >> >> Otherwise, it looks good. >> >> Thanks, Harold >> >> 2539 if (0 == access(buf, F_OK)) { >> 2540 // Use current module name "libjvm.so" >> 2541 len = strlen(buf); >> 2542 *snprintf(buf + len, buflen-len, "/hotspot/libjvm.so");* >> 2543 } else { >> 2544 // Go back to path of .so >> 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } >> >> On 12/18/2012 3:46 PM, Daniel D. Daugherty wrote: >> >> Greetings, >> >> I'm sponsoring this code review request from Ron Durbin. This >> change >> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >> >> Dan >> >> Sending again with correct subject line, bug URLs and webrev URL. >> >> >> Intro: >> >> This set of changes removes the runtime support for >> generation of debug versions that follow _g semantics. >> >> Defect: >> JDK-8005044 remove crufty '_g' support from HS runtime code >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >> https://jbs.oracle.com/bugs/browse/JDK-8005044 >> >> >> Webrev >> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >> >> >> >> >> Details: >> Files have been modified to remove all reference and support >> for debug versions that follow _g semantics. >> >> Testing: >> >> Passed JPRT last night: >> >> Additional Testing In process: (suggested by Dan): >> >> src/share/vm/runtime/arguments.cpp >> - test with shared archive creation and use; see the e-mail >> from Coleen >> >> src/share/tools/ProjectCreator/ProjectCreator.java >> - just a usage message; visual inspection of the code >> >> src/os/windows/vm/os_windows.cpp >> - comments only; no testing needed >> >> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >> - the only code changes come into play when the "gamma" >> launcher is used >> - and when JAVA_HOME refers to a valid JDK, the function >> fakes up a JVM path so that callers using the JVM path >> to find other things in the JDK will work. >> - I can't find any way that the actual JVM path value >> that is returned is exposed >> - I don't see a way to test this other than have a debug >> printf() or manual code inspection. >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121219/f9fbba09/attachment-0001.html From chris.hegarty at oracle.com Wed Dec 19 08:35:09 2012 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 19 Dec 2012 16:35:09 +0000 Subject: RFR JDK-8005120 In-Reply-To: <50D1E04B.1060509@oracle.com> References: <50D1E04B.1060509@oracle.com> Message-ID: <50D1ECBD.9060700@oracle.com> John, I grabbed your patch, and with it I now see different warnings. ../../../../src/share/transport/socket/socketTransport.c: In function 'socketTransport_startListening': ../../../../src/share/transport/socket/socketTransport.c:310:40: warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' differ in signedness [-Wpointer-sign] ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected 'uint32_t *' but argument is of type 'int *' ../../../../src/share/transport/socket/socketTransport.c: In function 'socketTransport_accept': ../../../../src/share/transport/socket/socketTransport.c:371:33: warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ in signedness [-Wpointer-sign] ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected 'uint32_t *' but argument is of type 'int *' Do you see these in your build? -Chris. On 12/19/2012 03:42 PM, Alan Bateman wrote: > > John - this is the debugger socket transport so cc'ing the > serviceability-dev list as that is where this code is maintained. > > On 19/12/2012 15:36, John Zavgren wrote: >> Greetings: >> Please consider the following change to the two files: >> src/share/transport/socket/sysSocket.h >> src/solaris/transport/socket/socket_md.c >> that eliminate compiler warnings that stem from the fact that the >> variables that the native code passes to various system calls were not >> declared correctly. They were declared as integers, but they must be >> "unsigned" integers because they are used to define buffer lengths. >> Were one to supply a negative value as an argument, it would be cast >> into an unsigned "Martian" value and there'd be (hopefully) a system >> call error. >> >> Thanks! >> John Zavgren >> >> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ > From karen.kinnear at oracle.com Wed Dec 19 08:36:56 2012 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 19 Dec 2012 11:36:56 -0500 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D1EB8E.1030302@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0E4BF.305@oracle.com> <50D0F4D0.2010108@oracle.com> <50D0F637.9080607@oracle.com> <07e8ed19-fa2d-42f4-a862-824530c88441@default> <955b2245-7480-4af0-bd88-16eb1dd5856a@default> <50D1D461.50109@oracle.com> <50D1EB8E.1030302@oracle.com> Message-ID: <75196DF1-8F29-44D2-934C-385DD4AB6AAE@oracle.com> Sounds like time to file a separate bug to track that issue down (particularly the bsd issue) and move on with this one. Thank you so much Dan for the history and details, Karen On Dec 19, 2012, at 11:30 AM, Daniel D. Daugherty wrote: > Adding the other aliases back in... > > Harold, > > This question: > > > Another nit: Is it worth checking that all of > > "/hotspot/libjvm.so" could get copied to buf? (i.e.: that > > buflen-len > strlen("/hotspot/libjvm.so") > > is straight forward and the short answer is: yes, that > code makes assumptions that "/hotspot/libjvm.so" will > fit into 'buf'. It should not do that. > > It is Ron's call as to whether he wants to fix this existing > bug as part of this work. It is easy enough to fix the obvious > part of the bug, but... as is normal with HotSpot, there > is more going on here than meets the eye... > > The slightly longer answer is that it probably doesn't > matter because the path being created here is a fake. > As long as the "/hotspot/l" part gets copied, then the > callers of os::jvm_path() will be able to handle the > fakery. > > Of course, there is an even longer answer. Read on if > you want gory details (and a history lesson). > > This gamma launcher stuff is giving me an absolute headache. > Unfortunately, there is a lot of history involved here... > > Here are the variations: > > src/os/bsd/vm/os_bsd.cpp: > > 1715 if (Arguments::created_by_gamma_launcher()) { > 1716 // Support for the gamma launcher. Typical value for buf is > 1717 // "/jre/lib///libjvm". If "/jre/lib/" appears at > 1718 // the right place in the string, then assume we are installed in a JDK and > 1719 // we're done. Otherwise, check for a JAVA_HOME environment variable and > 1720 // construct a path to the JVM being overridden. > > > > 1762 // If the path exists within JAVA_HOME, add the JVM library name > 1763 // to complete the path to JVM being overridden. Otherwise fallback > 1764 // to the path to the current library. > 1765 if (0 == access(buf, F_OK)) { > 1766 // Use current module name "libjvm" > 1767 len = strlen(buf); > 1768 snprintf(buf + len, buflen-len, "/libjvm%s", JNI_LIB_SUFFIX); > 1769 } else { > 1770 // Fall back to path of current library > 1771 rp = realpath(dli_fname, buf); > 1772 if (rp == NULL) > 1773 return; > 1774 } > > src/os/linux/vm/os_linux.cpp: > > 2206 if (Arguments::created_by_gamma_launcher()) { > 2207 // Support for the gamma launcher. Typical value for buf is > 2208 // "/jre/lib///libjvm.so". If "/jre/lib/" appears at > 2209 // the right place in the string, then assume we are installed in a JDK and > 2210 // we're done. Otherwise, check for a JAVA_HOME environment variable and fix > 2211 // up the path so it looks like libjvm.so is installed there (append a > 2212 // fake suffix hotspot/libjvm.so). > > > > 2243 if (0 == access(buf, F_OK)) { > 2244 // Use current module name "libjvm.so" > 2245 len = strlen(buf); > 2246 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); > 2247 } else { > 2248 // Go back to path of .so > 2249 rp = realpath(dli_fname, buf); > 2250 if (rp == NULL) > 2251 return; > 2252 } > > src/os/solaris/vm/os_solaris.cpp: > > 2496 if (Arguments::created_by_gamma_launcher()) { > 2497 // Support for the gamma launcher. Typical value for buf is > 2498 // "/jre/lib///libjvm.so". If "/jre/lib/" appears at > 2499 // the right place in the string, then assume we are installed in a JDK and > 2500 // we're done. Otherwise, check for a JAVA_HOME environment variable and fix > 2501 // up the path so it looks like libjvm.so is installed there (append a > 2502 // fake suffix hotspot/libjvm.so). > > > > 2539 if (0 == access(buf, F_OK)) { > 2540 // Use current module name "libjvm.so" > 2541 len = strlen(buf); > 2542 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); > 2543 } else { > 2544 // Go back to path of .so > 2545 realpath((char *)dlinfo.dli_fname, buf); > 2546 } > > src/os/windows/vm/os_windows.cpp: > > 1732 buf[0] = '\0'; > 1733 if (Arguments::created_by_gamma_launcher()) { > 1734 // Support for the gamma launcher. Check for an > 1735 // JAVA_HOME environment variable > 1736 // and fix up the path so it looks like > 1737 // libjvm.so is installed there (append a fake suffix > 1738 // hotspot/libjvm.so). > 1739 char* java_home_var = ::getenv("JAVA_HOME"); > 1740 if (java_home_var != NULL && java_home_var[0] != 0) { > 1741 > 1742 strncpy(buf, java_home_var, buflen); > 1743 > 1744 // determine if this is a legacy image or modules image > 1745 // modules image doesn't have "jre" subdirectory > 1746 size_t len = strlen(buf); > 1747 char* jrebin_p = buf + len; > 1748 jio_snprintf(jrebin_p, buflen-len, "\\jre\\bin\\"); > 1749 if (0 != _access(buf, 0)) { > 1750 jio_snprintf(jrebin_p, buflen-len, "\\bin\\"); > 1751 } > 1752 len = strlen(buf); > 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); > 1754 } > 1755 } > > > Linux, Solaris and Windows all recognize that if they > get to the point where they are appending a "hotspot/..." > path to the jvm_path value, then they are making a fake > path. Why are they making a fake path? Well, the gamma > launcher lets someone use a libjvm.so/jvm.dll that is > not located in the usual place in a JDK. And, you get > to use that libjvm.so/jvm.dll WITH THAT JDK. Sounds > pretty cool and it is pretty cool... until you realize > that there is code in the VM that tries to find other > libraries _relative_ to the libjvm.so/jvm.dll that is > running. Ouch! So enter the above code blocks that fake > a path to the libjvm.so/jvm.dll so that callers to > os::jvm_path() don't get confused. > > To make matters more convoluted... yes, I know this is > convoluted enough... The os_bsd.cpp doesn't seem to > realize that it is creating a fake path here. At one > point, the os_bsd.cpp code was a copy of os_linux.cpp > code, but it was obviously tweaked. It will take more > investigation to figure out the right course of action > for os_bsd.cpp > > Dan > > > > On 12/19/12 7:51 AM, harold seigel wrote: >> Hi Ron, >> >> I'm ok with using snprinft(). >> >> Another nit: Is it worth checking that all of "/hotspot/libjvm.so" could get copied to buf? (i.e.: that buflen-len > strlen("/hotspot/libjvm.so") >> >> Thanks, Harold >> >> On 12/19/2012 9:17 AM, Ron Durbin wrote: >>> >>> >>> Harold, >>> >>> Did you have any more points or counter points to make on the use of snprintf and strncpy ? >>> >>> Ron >>> From: Ron Durbin >>> Sent: Tuesday, December 18, 2012 4:50 PM >>> To: Daniel Daugherty; hotspot-runtime-dev at openjdk.java.net; build-dev; serviceability-dev at openjdk.java.net >>> Subject: RE: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code >>> >>> Thanks for the quick reviews by all. >>> >>> I will agree with Dan on this one, sprint will stay. >>> Ron >>> >>> >>> From: Daniel D. Daugherty >>> Sent: Tuesday, December 18, 2012 4:03 PM >>> To: hotspot-runtime-dev at openjdk.java.net; build-dev; serviceability-dev at openjdk.java.net >>> Subject: Re: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code >>> >>> Sorry, I lost my manners somewhere... :-( >>> >>> Thanks for the fast review! >>> >>> Dan >>> >>> On 12/18/12 3:57 PM, Daniel D. Daugherty wrote: >>> Adding back in the other aliases... >>> >>> Harold, >>> >>> The equivalent of: >>> >>> snprintf(buf, n, str); >>> >>> is: >>> >>> strncpy(buf, str, n - 1); >>> buf[n - 1] = '\0'; >>> >>> because snprintf() will only write out (n - 1) bytes from >>> 'str' to 'buf' and then write a NUL in the last slot. >>> strncpy() copies up to 'n' bytes from 'str' to 'buf'. >>> strncpy() will not copy past a NUL character in 'str', but >>> it will also not NUL terminate 'buf' if a NUL is not found >>> in 'str' before the limit 'n' is reached. >>> >>> Dan >>> >>> On 12/18/12 2:48 PM, harold seigel wrote: >>> Hi Ron, >>> >>> I think these calls to snprintf() in os_solaris.cpp and the other os_....cpp files could be replaced with calls to strncpy(). It might be a little simpler. >>> >>> Otherwise, it looks good. >>> >>> Thanks, Harold >>> >>> 2539 if (0 == access(buf, F_OK)) { >>> 2540 // Use current module name "libjvm.so" >>> 2541 len = strlen(buf); >>> 2542 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); >>> 2543 } else { >>> 2544 // Go back to path of .so >>> 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } >>> >>> On 12/18/2012 3:46 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I'm sponsoring this code review request from Ron Durbin. This change >>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>> >>> Dan >>> >>> Sending again with correct subject line, bug URLs and webrev URL. >>> >>> >>> Intro: >>> >>> This set of changes removes the runtime support for generation of debug versions that follow _g semantics. >>> >>> Defect: >>> JDK-8005044 remove crufty '_g' support from HS runtime code >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >>> https://jbs.oracle.com/bugs/browse/JDK-8005044 >>> >>> >>> Webrev >>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >>> >>> >>> Details: >>> Files have been modified to remove all reference and support for debug versions that follow _g semantics. >>> >>> Testing: >>> >>> Passed JPRT last night: >>> >>> Additional Testing In process: (suggested by Dan): >>> >>> src/share/vm/runtime/arguments.cpp >>> - test with shared archive creation and use; see the e-mail >>> from Coleen >>> >>> src/share/tools/ProjectCreator/ProjectCreator.java >>> - just a usage message; visual inspection of the code >>> >>> src/os/windows/vm/os_windows.cpp >>> - comments only; no testing needed >>> >>> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >>> - the only code changes come into play when the "gamma" >>> launcher is used >>> - and when JAVA_HOME refers to a valid JDK, the function >>> fakes up a JVM path so that callers using the JVM path >>> to find other things in the JDK will work. >>> - I can't find any way that the actual JVM path value >>> that is returned is exposed >>> - I don't see a way to test this other than have a debug >>> printf() or manual code inspection. >>> >>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121219/d2f8c98f/attachment-0001.html From jonathan.gibbons at oracle.com Wed Dec 19 09:09:26 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 19 Dec 2012 17:09:26 +0000 Subject: hg: jdk8/tl/langtools: 8005098: Provide isSynthesized() information on Attribute.Compound Message-ID: <20121219170928.A9A404728F@hg.openjdk.java.net> Changeset: f72c9c5aeaef Author: jfranck Date: 2012-12-16 11:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f72c9c5aeaef 8005098: Provide isSynthesized() information on Attribute.Compound Reviewed-by: jjg ! make/build.properties ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ParameterImpl.java ! src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java From ron.durbin at oracle.com Wed Dec 19 09:11:31 2012 From: ron.durbin at oracle.com (Ron Durbin) Date: Wed, 19 Dec 2012 09:11:31 -0800 (PST) Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D1EB8E.1030302@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0E4BF.305@oracle.com> <50D0F4D0.2010108@oracle.com> <50D0F637.9080607@oracle.com> <07e8ed19-fa2d-42f4-a862-824530c88441@default> <955b2245-7480-4af0-bd88-16eb1dd5856a@default> <50D1D461.50109@oracle.com> <50D1EB8E.1030302@oracle.com> Message-ID: <684945f3-4869-4674-bf17-74193ff9ffa7@default> Harold I would say first off this is not a bug that has manifested itself yet. So it is low priority. That being said this exposure is not introduced or made more risky by my changes. This is the only issue that we have against this code review and it does not belong to the changes being reviewed=. I say file the bug merely to document the issue and get this code checked in. Ron From: Daniel D. Daugherty Sent: Wednesday, December 19, 2012 9:30 AM To: hotspot-runtime-dev at openjdk.java.net; build-dev; serviceability-dev at openjdk.java.net Subject: Re: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code Adding the other aliases back in... Harold, This question: > Another nit: Is it worth checking that all of > "/hotspot/libjvm.so" could get copied to buf? (i.e.: that > buflen-len > strlen("/hotspot/libjvm.so") is straight forward and the short answer is: yes, that code makes assumptions that "/hotspot/libjvm.so" will fit into 'buf'. It should not do that. It is Ron's call as to whether he wants to fix this existing bug as part of this work. It is easy enough to fix the obvious part of the bug, but... as is normal with HotSpot, there is more going on here than meets the eye... The slightly longer answer is that it probably doesn't matter because the path being created here is a fake. As long as the "/hotspot/l" part gets copied, then the callers of os::jvm_path() will be able to handle the fakery. Of course, there is an even longer answer. Read on if you want gory details (and a history lesson). This gamma launcher stuff is giving me an absolute headache. Unfortunately, there is a lot of history involved here... Here are the variations: src/os/bsd/vm/os_bsd.cpp: 1715 if (Arguments::created_by_gamma_launcher()) { 1716 // Support for the gamma launcher. Typical value for buf is 1717 // "/jre/lib///libjvm". If "/jre/lib/" appears at 1718 // the right place in the string, then assume we are installed in a JDK and 1719 // we're done. Otherwise, check for a JAVA_HOME environment variable and 1720 // construct a path to the JVM being overridden. 1762 // If the path exists within JAVA_HOME, add the JVM library name 1763 // to complete the path to JVM being overridden. Otherwise fallback 1764 // to the path to the current library. 1765 if (0 == access(buf, F_OK)) { 1766 // Use current module name "libjvm" 1767 len = strlen(buf); 1768 snprintf(buf + len, buflen-len, "/libjvm%s", JNI_LIB_SUFFIX); 1769 } else { 1770 // Fall back to path of current library 1771 rp = realpath(dli_fname, buf); 1772 if (rp == NULL) 1773 return; 1774 } src/os/linux/vm/os_linux.cpp: 2206 if (Arguments::created_by_gamma_launcher()) { 2207 // Support for the gamma launcher. Typical value for buf is 2208 // "/jre/lib///libjvm.so". If "/jre/lib/" appears at 2209 // the right place in the string, then assume we are installed in a JDK and 2210 // we're done. Otherwise, check for a JAVA_HOME environment variable and fix 2211 // up the path so it looks like libjvm.so is installed there (append a 2212 // fake suffix hotspot/libjvm.so). 2243 if (0 == access(buf, F_OK)) { 2244 // Use current module name "libjvm.so" 2245 len = strlen(buf); 2246 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); 2247 } else { 2248 // Go back to path of .so 2249 rp = realpath(dli_fname, buf); 2250 if (rp == NULL) 2251 return; 2252 } src/os/solaris/vm/os_solaris.cpp: 2496 if (Arguments::created_by_gamma_launcher()) { 2497 // Support for the gamma launcher. Typical value for buf is 2498 // "/jre/lib///libjvm.so". If "/jre/lib/" appears at 2499 // the right place in the string, then assume we are installed in a JDK and 2500 // we're done. Otherwise, check for a JAVA_HOME environment variable and fix 2501 // up the path so it looks like libjvm.so is installed there (append a 2502 // fake suffix hotspot/libjvm.so). 2539 if (0 == access(buf, F_OK)) { 2540 // Use current module name "libjvm.so" 2541 len = strlen(buf); 2542 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); 2543 } else { 2544 // Go back to path of .so 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } src/os/windows/vm/os_windows.cpp: 1732 buf[0] = '\0'; 1733 if (Arguments::created_by_gamma_launcher()) { 1734 // Support for the gamma launcher. Check for an 1735 // JAVA_HOME environment variable 1736 // and fix up the path so it looks like 1737 // libjvm.so is installed there (append a fake suffix 1738 // hotspot/libjvm.so). 1739 char* java_home_var = ::getenv("JAVA_HOME"); 1740 if (java_home_var != NULL && java_home_var[0] != 0) { 1741 1742 strncpy(buf, java_home_var, buflen); 1743 1744 // determine if this is a legacy image or modules image 1745 // modules image doesn't have "jre" subdirectory 1746 size_t len = strlen(buf); 1747 char* jrebin_p = buf + len; 1748 jio_snprintf(jrebin_p, buflen-len, "HYPERLINK "file:///\\jre\bin\"\\jre\\bin\\"); 1749 if (0 != _access(buf, 0)) { 1750 jio_snprintf(jrebin_p, buflen-len, "HYPERLINK "file:///\\bin\"\\bin\\"); 1751 } 1752 len = strlen(buf); 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); 1754 } 1755 } Linux, Solaris and Windows all recognize that if they get to the point where they are appending a "hotspot/..." path to the jvm_path value, then they are making a fake path. Why are they making a fake path? Well, the gamma launcher lets someone use a libjvm.so/jvm.dll that is not located in the usual place in a JDK. And, you get to use that libjvm.so/jvm.dll WITH THAT JDK. Sounds pretty cool and it is pretty cool... until you realize that there is code in the VM that tries to find other libraries _relative_ to the libjvm.so/jvm.dll that is running. Ouch! So enter the above code blocks that fake a path to the libjvm.so/jvm.dll so that callers to os::jvm_path() don't get confused. To make matters more convoluted... yes, I know this is convoluted enough... The os_bsd.cpp doesn't seem to realize that it is creating a fake path here. At one point, the os_bsd.cpp code was a copy of os_linux.cpp code, but it was obviously tweaked. It will take more investigation to figure out the right course of action for os_bsd.cpp Dan On 12/19/12 7:51 AM, harold seigel wrote: Hi Ron, I'm ok with using snprinft(). Another nit: Is it worth checking that all of "/hotspot/libjvm.so" could get copied to buf? (i.e.: that buflen-len > strlen("/hotspot/libjvm.so") Thanks, Harold On 12/19/2012 9:17 AM, Ron Durbin wrote: Harold, Did you have any more points or counter points to make on the use of snprintf and strncpy ? Ron From: Ron Durbin Sent: Tuesday, December 18, 2012 4:50 PM To: Daniel Daugherty; HYPERLINK "mailto:hotspot-runtime-dev at openjdk.java.net"hotspot-runtime-dev at openjdk.java.net; build-dev; HYPERLINK "mailto:serviceability-dev at openjdk.java.net"serviceability-dev at openjdk.java.net Subject: RE: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code Thanks for the quick reviews by all. I will agree with Dan on this one, sprint will stay. Ron From: Daniel D. Daugherty Sent: Tuesday, December 18, 2012 4:03 PM To: HYPERLINK "mailto:hotspot-runtime-dev at openjdk.java.net"hotspot-runtime-dev at openjdk.java.net; build-dev; HYPERLINK "mailto:serviceability-dev at openjdk.java.net"serviceability-dev at openjdk.java.net Subject: Re: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code Sorry, I lost my manners somewhere... :-( Thanks for the fast review! Dan On 12/18/12 3:57 PM, Daniel D. Daugherty wrote: Adding back in the other aliases... Harold, The equivalent of: snprintf(buf, n, str); is: strncpy(buf, str, n - 1); buf[n - 1] = '\0'; because snprintf() will only write out (n - 1) bytes from 'str' to 'buf' and then write a NUL in the last slot. strncpy() copies up to 'n' bytes from 'str' to 'buf'. strncpy() will not copy past a NUL character in 'str', but it will also not NUL terminate 'buf' if a NUL is not found in 'str' before the limit 'n' is reached. Dan On 12/18/12 2:48 PM, harold seigel wrote: Hi Ron, I think these calls to snprintf() in os_solaris.cpp and the other os_....cpp files could be replaced with calls to strncpy(). It might be a little simpler. Otherwise, it looks good. Thanks, Harold 2539 if (0 == access(buf, F_OK)) { 2540 // Use current module name "libjvm.so" 2541 len = strlen(buf); 2542 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); 2543 } else { 2544 // Go back to path of .so 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } On 12/18/2012 3:46 PM, Daniel D. Daugherty wrote: Greetings, I'm sponsoring this code review request from Ron Durbin. This change is targeted at JDK8/HSX-25 in the RT_Baseline repo. Dan Sending again with correct subject line, bug URLs and webrev URL. Intro: This set of changes removes the runtime support for generation of debug versions that follow _g semantics. Defect: JDK-8005044 remove crufty '_g' support from HS runtime code http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 https://jbs.oracle.com/bugs/browse/JDK-8005044 Webrev HYPERLINK "http://cr.openjdk.java.net/%7Edcubed/for_rdurbin/8005044-webrev/0"http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 Details: Files have been modified to remove all reference and support for debug versions that follow _g semantics. Testing: Passed JPRT last night: Additional Testing In process: (suggested by Dan): src/share/vm/runtime/arguments.cpp - test with shared archive creation and use; see the e-mail from Coleen src/share/tools/ProjectCreator/ProjectCreator.java - just a usage message; visual inspection of the code src/os/windows/vm/os_windows.cpp - comments only; no testing needed src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp - the only code changes come into play when the "gamma" launcher is used - and when JAVA_HOME refers to a valid JDK, the function fakes up a JVM path so that callers using the JVM path to find other things in the JDK will work. - I can't find any way that the actual JVM path value that is returned is exposed - I don't see a way to test this other than have a debug printf() or manual code inspection. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121219/35760d4a/attachment-0001.html From staffan.larsen at oracle.com Wed Dec 19 09:55:56 2012 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 19 Dec 2012 18:55:56 +0100 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D1DBB7.6040101@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0DC18.3020403@oracle.com> <50D1DBB7.6040101@oracle.com> Message-ID: <99AD299F-5BAB-400F-8DBC-58BE3A714A2F@oracle.com> On 19 dec 2012, at 16:22, Daniel D. Daugherty wrote: > On 12/19/12 1:27 AM, Staffan Larsen wrote: >> On 18 dec 2012, at 22:11, Daniel D. Daugherty wrote: >> >>> Just for the record: I have reviewed all of Ron's changes >>> and I approve them. >>> >>> One thing I noticed of interest to launcher folks that >>> is not due to any changes that Ron made: >>> >>> src/os/windows/vm/os_windows.cpp: >>> >>> 1718 // Find the full path to the current module, jvm.dll >>> 1719 void os::jvm_path(char *buf, jint buflen) { >>> 1720 // Error checking. >>> 1721 if (buflen < MAX_PATH) { >>> 1722 assert(false, "must use a large-enough buffer"); >>> 1723 buf[0] = '\0'; >>> 1724 return; >>> 1725 } >>> 1726 // Lazy resolve the path to current module. >>> 1727 if (saved_jvm_path[0] != 0) { >>> 1728 strcpy(buf, saved_jvm_path); >>> 1729 return; >>> 1730 } >>> 1731 >>> 1732 buf[0] = '\0'; >>> 1733 if (Arguments::created_by_gamma_launcher()) { >>> 1734 // Support for the gamma launcher. Check for an >>> 1735 // JAVA_HOME environment variable >>> 1736 // and fix up the path so it looks like >>> 1737 // libjvm.so is installed there (append a fake suffix >>> 1738 // hotspot/libjvm.so). >>> 1739 char* java_home_var = ::getenv("JAVA_HOME"); >>> 1740 if (java_home_var != NULL && java_home_var[0] != 0) { >>> 1741 >>> 1742 strncpy(buf, java_home_var, buflen); >>> 1743 >>> 1744 // determine if this is a legacy image or modules image >>> 1745 // modules image doesn't have "jre" subdirectory >>> 1746 size_t len = strlen(buf); >>> 1747 char* jrebin_p = buf + len; >>> 1748 jio_snprintf(jrebin_p, buflen-len, "\\jre\\bin\\"); >>> 1749 if (0 != _access(buf, 0)) { >>> 1750 jio_snprintf(jrebin_p, buflen-len, "\\bin\\"); >>> 1751 } >>> 1752 len = strlen(buf); >>> 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); >>> 1754 } >>> 1755 } >>> 1756 >>> 1757 if(buf[0] == '\0') { >>> 1758 GetModuleFileName(vm_lib_handle, buf, buflen); >>> 1759 } >>> 1760 strcpy(saved_jvm_path, buf); >>> 1761 } >>> >>> the block from line 1733 -> 1755 is dead code on Windows. >>> The launcher on Windows is now called "hotspot" and is not >>> called "gamma" so Arguments::created_by_gamma_launcher() >>> will not return true on Windows. >>> >>> And one more launcher nit: >>> >>> $ grep gamma make/windows/makefiles/launcher.make >>> /D LAUNCHER_TYPE=\"gamma\" \ >>> >> Isn't it this line that makes it work? Arguments::created_by_gamma_launcher() essentially checks that -Dsun.java.launcher=gamma is set. And the LAUNCHER_TYPE=gamma is what sets -Dsun.java.launcher=gamma. I think, but I may be missing something? >> >> Thanks, >> /Staffan > > Nope you weren't missing anything. I was thinking process name > is "hotspot" instead of looking more closely at how the launcher > origin was determined. > > Just curious, when gamma was renamed to hotspot on Windows, that > change wasn't made on Linux on Solaris. Any particular reason? The "gamma" launcher still exists on Linux and Solaris, just as it were. There is a "hotspot" launcher however, which is just a script that wraps "gamma" but sets up the correct LD_LIBRARY_PATH and such. I don't think there was a "gamma" launcher on windows. /Staffan > > Gory details below... > > Dan > > > > Chasing it back... > > src/os/windows/vm/os_windows.cpp: > > 1733 if (Arguments::created_by_gamma_launcher()) { > > src/share/vm/runtime/arguments.cpp: > > 1671 bool Arguments::created_by_gamma_launcher() { > 1672 return _created_by_gamma_launcher; > 1673 } > > 1659 void Arguments::process_java_launcher_argument(const char* launcher, void* extra_info) { > 1660 _sun_java_launcher = strdup(launcher); > 1661 if (strcmp("gamma", _sun_java_launcher) == 0) { > 1662 _created_by_gamma_launcher = true; > 1663 } > 1664 } > > 126 // Process java launcher properties. > 127 void Arguments::process_sun_java_launcher_properties(JavaVMInitArgs* args) { > 128 // See if sun.java.launcher or sun.java.launcher.pid is defined. > 129 // Must do this before setting up other system properties, > 130 // as some of them may depend on launcher type. > 131 for (int index = 0; index < args->nOptions; index++) { > 132 const JavaVMOption* option = args->options + index; > 133 const char* tail; > 134 > 135 if (match_option(option, "-Dsun.java.launcher=", &tail)) { > 136 process_java_launcher_argument(tail, option->extraInfo); > 137 continue; > 138 } > > src/share/tools/launcher/java.c: > > 1659 /* > 1660 * JVM would like to know if it's created by a standard Sun launcher, or by > 1661 * user native application, the following property indicates the former. > 1662 */ > 1663 void SetJavaLauncherProp() { > 1664 AddOption("-Dsun.java.launcher=" LAUNCHER_TYPE, NULL); > 1665 } > > make/windows/makefiles/launcher.make > 26 LAUNCHER_FLAGS=$(CXX_FLAGS) $(ARCHFLAG) \ > 27 /D FULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \ > 28 /D JDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \ > 29 /D JDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \ > 30 /D GAMMA \ > 31 /D LAUNCHER_TYPE=\"gamma\" \ > From daniel.daugherty at oracle.com Wed Dec 19 09:56:20 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 19 Dec 2012 10:56:20 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D1DBB7.6040101@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0DC18.3020403@oracle.com> <50D1DBB7.6040101@oracle.com> Message-ID: <50D1FFC4.6080401@oracle.com> Closing the loop on this question that I asked earlier: > Just curious, when gamma was renamed to hotspot on Windows, that > change wasn't made on Linux on Solaris. Any particular reason? On Solaris there is a "hotspot" shell script and a "gamma" binary. I suspect the same it true for Linux (and possibly MacOS). Dan On 12/19/12 8:22 AM, Daniel D. Daugherty wrote: > On 12/19/12 1:27 AM, Staffan Larsen wrote: >> On 18 dec 2012, at 22:11, Daniel D. Daugherty >> wrote: >> >>> Just for the record: I have reviewed all of Ron's changes >>> and I approve them. >>> >>> One thing I noticed of interest to launcher folks that >>> is not due to any changes that Ron made: >>> >>> src/os/windows/vm/os_windows.cpp: >>> >>> 1718 // Find the full path to the current module, jvm.dll >>> 1719 void os::jvm_path(char *buf, jint buflen) { >>> 1720 // Error checking. >>> 1721 if (buflen < MAX_PATH) { >>> 1722 assert(false, "must use a large-enough buffer"); >>> 1723 buf[0] = '\0'; >>> 1724 return; >>> 1725 } >>> 1726 // Lazy resolve the path to current module. >>> 1727 if (saved_jvm_path[0] != 0) { >>> 1728 strcpy(buf, saved_jvm_path); >>> 1729 return; >>> 1730 } >>> 1731 >>> 1732 buf[0] = '\0'; >>> 1733 if (Arguments::created_by_gamma_launcher()) { >>> 1734 // Support for the gamma launcher. Check for an >>> 1735 // JAVA_HOME environment variable >>> 1736 // and fix up the path so it looks like >>> 1737 // libjvm.so is installed there (append a fake suffix >>> 1738 // hotspot/libjvm.so). >>> 1739 char* java_home_var = ::getenv("JAVA_HOME"); >>> 1740 if (java_home_var != NULL && java_home_var[0] != 0) { >>> 1741 >>> 1742 strncpy(buf, java_home_var, buflen); >>> 1743 >>> 1744 // determine if this is a legacy image or modules image >>> 1745 // modules image doesn't have "jre" subdirectory >>> 1746 size_t len = strlen(buf); >>> 1747 char* jrebin_p = buf + len; >>> 1748 jio_snprintf(jrebin_p, buflen-len, "\\jre\\bin\\"); >>> 1749 if (0 != _access(buf, 0)) { >>> 1750 jio_snprintf(jrebin_p, buflen-len, "\\bin\\"); >>> 1751 } >>> 1752 len = strlen(buf); >>> 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); >>> 1754 } >>> 1755 } >>> 1756 >>> 1757 if(buf[0] == '\0') { >>> 1758 GetModuleFileName(vm_lib_handle, buf, buflen); >>> 1759 } >>> 1760 strcpy(saved_jvm_path, buf); >>> 1761 } >>> >>> the block from line 1733 -> 1755 is dead code on Windows. >>> The launcher on Windows is now called "hotspot" and is not >>> called "gamma" so Arguments::created_by_gamma_launcher() >>> will not return true on Windows. >>> >>> And one more launcher nit: >>> >>> $ grep gamma make/windows/makefiles/launcher.make >>> /D LAUNCHER_TYPE=\"gamma\" \ >>> >> Isn't it this line that makes it work? >> Arguments::created_by_gamma_launcher() essentially checks that >> -Dsun.java.launcher=gamma is set. And the LAUNCHER_TYPE=gamma is what >> sets -Dsun.java.launcher=gamma. I think, but I may be missing something? >> >> Thanks, >> /Staffan > > Nope you weren't missing anything. I was thinking process name > is "hotspot" instead of looking more closely at how the launcher > origin was determined. > > Just curious, when gamma was renamed to hotspot on Windows, that > change wasn't made on Linux on Solaris. Any particular reason? > > Gory details below... > > Dan > > > > Chasing it back... > > src/os/windows/vm/os_windows.cpp: > > 1733 if (Arguments::created_by_gamma_launcher()) { > > src/share/vm/runtime/arguments.cpp: > > 1671 bool Arguments::created_by_gamma_launcher() { > 1672 return _created_by_gamma_launcher; > 1673 } > > 1659 void Arguments::process_java_launcher_argument(const char* > launcher, void* extra_info) { > 1660 _sun_java_launcher = strdup(launcher); > 1661 if (strcmp("gamma", _sun_java_launcher) == 0) { > 1662 _created_by_gamma_launcher = true; > 1663 } > 1664 } > > 126 // Process java launcher properties. > 127 void > Arguments::process_sun_java_launcher_properties(JavaVMInitArgs* args) { > 128 // See if sun.java.launcher or sun.java.launcher.pid is > defined. > 129 // Must do this before setting up other system properties, > 130 // as some of them may depend on launcher type. > 131 for (int index = 0; index < args->nOptions; index++) { > 132 const JavaVMOption* option = args->options + index; > 133 const char* tail; > 134 > 135 if (match_option(option, "-Dsun.java.launcher=", &tail)) { > 136 process_java_launcher_argument(tail, option->extraInfo); > 137 continue; > 138 } > > src/share/tools/launcher/java.c: > > 1659 /* > 1660 * JVM would like to know if it's created by a standard Sun > launcher, or by > 1661 * user native application, the following property indicates > the former. > 1662 */ > 1663 void SetJavaLauncherProp() { > 1664 AddOption("-Dsun.java.launcher=" LAUNCHER_TYPE, NULL); > 1665 } > > make/windows/makefiles/launcher.make > 26 LAUNCHER_FLAGS=$(CXX_FLAGS) $(ARCHFLAG) \ > 27 /D FULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \ > 28 /D JDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \ > 29 /D JDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \ > 30 /D GAMMA \ > 31 /D LAUNCHER_TYPE=\"gamma\" \ > > > From daniel.daugherty at oracle.com Wed Dec 19 10:59:00 2012 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 19 Dec 2012 11:59:00 -0700 Subject: Code Review fix for 8005044 remove crufty '_g' support from HS runtime code In-Reply-To: <50D204F7.7050805@oracle.com> References: <50D0D618.6020001@oracle.com> <50D0E4BF.305@oracle.com> <50D0F4D0.2010108@oracle.com> <50D0F637.9080607@oracle.com> <07e8ed19-fa2d-42f4-a862-824530c88441@default> <955b2245-7480-4af0-bd88-16eb1dd5856a@default> <50D1D461.50109@oracle.com> <50D1EB8E.1030302@oracle.com> <684945f3-4869-4674-bf17-74193ff9ffa7@default> <50D1FBD1.3000504@oracle.com> <50D204F7.7050805@oracle.com> Message-ID: <50D20E74.10107@oracle.com> Resending...adding back the other aliases... Bug filed: JDK-8005262possible gamma launcher issues https://jbs.oracle.com/bugs/browse/JDK-8005262 Dan On 12/19/12 11:18 AM, Coleen Phillimore wrote: > On 12/19/2012 12:39 PM, harold seigel wrote: >> >> I say file the bug merely to document the issue and get this code >> checked in >> I agree. > > Harold, Thank you for looking at this change closely. > Dan, please file a bug about the fake path and include this writeup > below, because I think I hit this bug with testing CDS with the gamma > launcher and it might explain it. > Thanks, > Coleen > >> >> Harold >> >> On 12/19/2012 12:11 PM, Ron Durbin wrote: >>> >>> Harold >>> >>> I would say first off this is not a bug that has manifested itself yet. >>> >>> So it is low priority. >>> >>> That being said this exposure is not introduced or made more risky >>> by my changes. >>> >>> This is the only issue that we have against this code review and it >>> does not belong to the changes being reviewed=. >>> >>> I say file the bug merely to document the issue and get this code >>> checked in. >>> >>> Ron >>> >>> *From:*Daniel D. Daugherty >>> *Sent:* Wednesday, December 19, 2012 9:30 AM >>> *To:* hotspot-runtime-dev at openjdk.java.net; build-dev; >>> serviceability-dev at openjdk.java.net >>> *Subject:* Re: Code Review fix for 8005044 remove crufty '_g' >>> support from HS runtime code >>> >>> Adding the other aliases back in... >>> >>> Harold, >>> >>> This question: >>> >>> > Another nit: Is it worth checking that all of >>> > "/hotspot/libjvm.so" could get copied to buf? (i.e.: that >>> > buflen-len > strlen("/hotspot/libjvm.so") >>> >>> is straight forward and the short answer is: yes, that >>> code makes assumptions that "/hotspot/libjvm.so" will >>> fit into 'buf'. It should not do that. >>> >>> It is Ron's call as to whether he wants to fix this existing >>> bug as part of this work. It is easy enough to fix the obvious >>> part of the bug, but... as is normal with HotSpot, there >>> is more going on here than meets the eye... >>> >>> The slightly longer answer is that it probably doesn't >>> matter because the path being created here is a fake. >>> As long as the "/hotspot/l" part gets copied, then the >>> callers of os::jvm_path() will be able to handle the >>> fakery. >>> >>> Of course, there is an even longer answer. Read on if >>> you want gory details (and a history lesson). >>> >>> This gamma launcher stuff is giving me an absolute headache. >>> Unfortunately, there is a lot of history involved here... >>> >>> Here are the variations: >>> >>> src/os/bsd/vm/os_bsd.cpp: >>> >>> 1715 if (Arguments::created_by_gamma_launcher()) { >>> 1716 // Support for the gamma launcher. Typical value for buf is >>> 1717 // "/jre/lib///libjvm". If >>> "/jre/lib/" appears at >>> 1718 // the right place in the string, then assume we are >>> installed in a JDK and >>> 1719 // we're done. Otherwise, check for a JAVA_HOME >>> environment variable and >>> 1720 // construct a path to the JVM being overridden. >>> >>> >>> >>> 1762 // If the path exists within JAVA_HOME, add the JVM >>> library name >>> 1763 // to complete the path to JVM being overridden. >>> Otherwise fallback >>> 1764 // to the path to the current library. >>> 1765 if (0 == access(buf, F_OK)) { >>> 1766 // Use current module name "libjvm" >>> 1767 len = strlen(buf); >>> 1768 snprintf(buf + len, buflen-len, "/libjvm%s", >>> JNI_LIB_SUFFIX); >>> 1769 } else { >>> 1770 // Fall back to path of current library >>> 1771 rp = realpath(dli_fname, buf); >>> 1772 if (rp == NULL) >>> 1773 return; >>> 1774 } >>> >>> src/os/linux/vm/os_linux.cpp: >>> >>> 2206 if (Arguments::created_by_gamma_launcher()) { >>> 2207 // Support for the gamma launcher. Typical value for buf is >>> 2208 // "/jre/lib///libjvm.so". If >>> "/jre/lib/" appears at >>> 2209 // the right place in the string, then assume we are >>> installed in a JDK and >>> 2210 // we're done. Otherwise, check for a JAVA_HOME >>> environment variable and fix >>> 2211 // up the path so it looks like libjvm.so is installed >>> there (append a >>> 2212 // fake suffix hotspot/libjvm.so). >>> >>> >>> >>> 2243 if (0 == access(buf, F_OK)) { >>> 2244 // Use current module name "libjvm.so" >>> 2245 len = strlen(buf); >>> 2246 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); >>> 2247 } else { >>> 2248 // Go back to path of .so >>> 2249 rp = realpath(dli_fname, buf); >>> 2250 if (rp == NULL) >>> 2251 return; >>> 2252 } >>> >>> src/os/solaris/vm/os_solaris.cpp: >>> >>> 2496 if (Arguments::created_by_gamma_launcher()) { >>> 2497 // Support for the gamma launcher. Typical value for buf is >>> 2498 // "/jre/lib///libjvm.so". If >>> "/jre/lib/" appears at >>> 2499 // the right place in the string, then assume we are >>> installed in a JDK and >>> 2500 // we're done. Otherwise, check for a JAVA_HOME >>> environment variable and fix >>> 2501 // up the path so it looks like libjvm.so is installed >>> there (append a >>> 2502 // fake suffix hotspot/libjvm.so). >>> >>> >>> >>> 2539 if (0 == access(buf, F_OK)) { >>> 2540 // Use current module name "libjvm.so" >>> 2541 len = strlen(buf); >>> 2542 snprintf(buf + len, buflen-len, "/hotspot/libjvm.so"); >>> 2543 } else { >>> 2544 // Go back to path of .so >>> 2545 realpath((char *)dlinfo.dli_fname, buf); >>> 2546 } >>> >>> src/os/windows/vm/os_windows.cpp: >>> >>> 1732 buf[0] = '\0'; >>> 1733 if (Arguments::created_by_gamma_launcher()) { >>> 1734 // Support for the gamma launcher. Check for an >>> 1735 // JAVA_HOME environment variable >>> 1736 // and fix up the path so it looks like >>> 1737 // libjvm.so is installed there (append a fake suffix >>> 1738 // hotspot/libjvm.so). >>> 1739 char* java_home_var = ::getenv("JAVA_HOME"); >>> 1740 if (java_home_var != NULL && java_home_var[0] != 0) { >>> 1741 >>> 1742 strncpy(buf, java_home_var, buflen); >>> 1743 >>> 1744 // determine if this is a legacy image or modules image >>> 1745 // modules image doesn't have "jre" subdirectory >>> 1746 size_t len = strlen(buf); >>> 1747 char* jrebin_p = buf + len; >>> 1748 jio_snprintf(jrebin_p, buflen-len, "\\jre\\bin\\ >>> "); >>> 1749 if (0 != _access(buf, 0)) { >>> 1750 jio_snprintf(jrebin_p, buflen-len, "\\bin\\ >>> "); >>> 1751 } >>> 1752 len = strlen(buf); >>> 1753 jio_snprintf(buf + len, buflen-len, "hotspot\\jvm.dll"); >>> 1754 } >>> 1755 } >>> >>> >>> Linux, Solaris and Windows all recognize that if they >>> get to the point where they are appending a "hotspot/..." >>> path to the jvm_path value, then they are making a fake >>> path. Why are they making a fake path? Well, the gamma >>> launcher lets someone use a libjvm.so/jvm.dll that is >>> not located in the usual place in a JDK. And, you get >>> to use that libjvm.so/jvm.dll WITH THAT JDK. Sounds >>> pretty cool and it is pretty cool... until you realize >>> that there is code in the VM that tries to find other >>> libraries _relative_ to the libjvm.so/jvm.dll that is >>> running. Ouch! So enter the above code blocks that fake >>> a path to the libjvm.so/jvm.dll so that callers to >>> os::jvm_path() don't get confused. >>> >>> To make matters more convoluted... yes, I know this is >>> convoluted enough... The os_bsd.cpp doesn't seem to >>> realize that it is creating a fake path here. At one >>> point, the os_bsd.cpp code was a copy of os_linux.cpp >>> code, but it was obviously tweaked. It will take more >>> investigation to figure out the right course of action >>> for os_bsd.cpp >>> >>> Dan >>> >>> >>> >>> On 12/19/12 7:51 AM, harold seigel wrote: >>> >>> Hi Ron, >>> >>> I'm ok with using snprinft(). >>> >>> Another nit: Is it worth checking that all of "/hotspot/libjvm.so" >>> could get copied to buf? (i.e.: that buflen-len > >>> strlen("/hotspot/libjvm.so") >>> >>> Thanks, Harold >>> >>> On 12/19/2012 9:17 AM, Ron Durbin wrote: >>> >>> Harold, >>> >>> Did you have any more points or counter points to make on the use of >>> snprintf and strncpy ? >>> >>> Ron >>> >>> *From:*Ron Durbin >>> *Sent:* Tuesday, December 18, 2012 4:50 PM >>> *To:* Daniel Daugherty; hotspot-runtime-dev at openjdk.java.net >>> ; build-dev; >>> serviceability-dev at openjdk.java.net >>> >>> *Subject:* RE: Code Review fix for 8005044 remove crufty '_g' >>> support from HS runtime code >>> >>> Thanks for the quick reviews by all. >>> >>> I will agree with Dan on this one, sprint will stay. >>> >>> Ron >>> >>> *From:*Daniel D. Daugherty >>> *Sent:* Tuesday, December 18, 2012 4:03 PM >>> *To:* hotspot-runtime-dev at openjdk.java.net >>> ; build-dev; >>> serviceability-dev at openjdk.java.net >>> >>> *Subject:* Re: Code Review fix for 8005044 remove crufty '_g' >>> support from HS runtime code >>> >>> Sorry, I lost my manners somewhere... :-( >>> >>> Thanks for the fast review! >>> >>> Dan >>> >>> On 12/18/12 3:57 PM, Daniel D. Daugherty wrote: >>> >>> Adding back in the other aliases... >>> >>> Harold, >>> >>> The equivalent of: >>> >>> snprintf(buf, n, str); >>> >>> is: >>> >>> strncpy(buf, str, n - 1); >>> buf[n - 1] = '\0'; >>> >>> because snprintf() will only write out (n - 1) bytes from >>> 'str' to 'buf' and then write a NUL in the last slot. >>> strncpy() copies up to 'n' bytes from 'str' to 'buf'. >>> strncpy() will not copy past a NUL character in 'str', but >>> it will also not NUL terminate 'buf' if a NUL is not found >>> in 'str' before the limit 'n' is reached. >>> >>> Dan >>> >>> On 12/18/12 2:48 PM, harold seigel wrote: >>> >>> Hi Ron, >>> >>> I think these calls to snprintf() in os_solaris.cpp and the >>> other os_....cpp files could be replaced with calls to >>> strncpy(). It might be a little simpler. >>> >>> Otherwise, it looks good. >>> >>> Thanks, Harold >>> >>> 2539 if (0 == access(buf, F_OK)) { >>> 2540 // Use current module name "libjvm.so" >>> 2541 len = strlen(buf); >>> 2542 *snprintf(buf + len, buflen-len, "/hotspot/libjvm.so");* >>> 2543 } else { >>> 2544 // Go back to path of .so >>> 2545 realpath((char *)dlinfo.dli_fname, buf); 2546 } >>> >>> On 12/18/2012 3:46 PM, Daniel D. Daugherty wrote: >>> >>> Greetings, >>> >>> I'm sponsoring this code review request from Ron Durbin. >>> This change >>> is targeted at JDK8/HSX-25 in the RT_Baseline repo. >>> >>> Dan >>> >>> Sending again with correct subject line, bug URLs and webrev >>> URL. >>> >>> >>> Intro: >>> >>> This set of changes removes the runtime support for >>> generation of debug versions that follow _g semantics. >>> >>> Defect: >>> JDK-8005044 remove crufty '_g' support from HS runtime code >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005044 >>> https://jbs.oracle.com/bugs/browse/JDK-8005044 >>> >>> >>> Webrev >>> http://cr.openjdk.java.net/~dcubed/for_rdurbin/8005044-webrev/0 >>> >>> >>> >>> >>> Details: >>> Files have been modified to remove all reference and support >>> for debug versions that follow _g semantics. >>> >>> Testing: >>> >>> Passed JPRT last night: >>> >>> Additional Testing In process: (suggested by Dan): >>> >>> src/share/vm/runtime/arguments.cpp >>> - test with shared archive creation and use; see the e-mail >>> from Coleen >>> >>> src/share/tools/ProjectCreator/ProjectCreator.java >>> - just a usage message; visual inspection of the code >>> >>> src/os/windows/vm/os_windows.cpp >>> - comments only; no testing needed >>> >>> src/os/{bsd,linux,solaris}/vm/os_{bsd,linux,solaris}.cpp >>> - the only code changes come into play when the "gamma" >>> launcher is used >>> - and when JAVA_HOME refers to a valid JDK, the function >>> fakes up a JVM path so that callers using the JVM path >>> to find other things in the JDK will work. >>> - I can't find any way that the actual JVM path value >>> that is returned is exposed >>> - I don't see a way to test this other than have a debug >>> printf() or manual code inspection. >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121219/c94a6701/attachment-0001.html From joe.darcy at oracle.com Wed Dec 19 11:54:06 2012 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Wed, 19 Dec 2012 19:54:06 +0000 Subject: hg: jdk8/tl/jdk: 8005097: Tie isSynthetic javadoc to the JLS Message-ID: <20121219195417.F0A1D47295@hg.openjdk.java.net> Changeset: 1f9c19741285 Author: darcy Date: 2012-12-19 11:53 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1f9c19741285 8005097: Tie isSynthetic javadoc to the JLS Reviewed-by: mduigou ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Member.java ! src/share/classes/java/lang/reflect/Method.java From david.holmes at oracle.com Wed Dec 19 12:52:26 2012 From: david.holmes at oracle.com (David Holmes) Date: Thu, 20 Dec 2012 06:52:26 +1000 Subject: RFR JDK-8005120 In-Reply-To: <50D1ECBD.9060700@oracle.com> References: <50D1E04B.1060509@oracle.com> <50D1ECBD.9060700@oracle.com> Message-ID: <50D2290A.2090806@oracle.com> Real sense of deja-vu here. Didn't we go through this same thing with the HPI socket routines? Depending on the OS (and version?) we should be using socklen_t not int and not uint32_t. David On 20/12/2012 2:35 AM, Chris Hegarty wrote: > John, > > I grabbed your patch, and with it I now see different warnings. > > ../../../../src/share/transport/socket/socketTransport.c: In function > 'socketTransport_startListening': > ../../../../src/share/transport/socket/socketTransport.c:310:40: > warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' > differ in signedness [-Wpointer-sign] > ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected > 'uint32_t *' but argument is of type 'int *' > ../../../../src/share/transport/socket/socketTransport.c: In function > 'socketTransport_accept': > ../../../../src/share/transport/socket/socketTransport.c:371:33: > warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ > in signedness [-Wpointer-sign] > ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected > 'uint32_t *' but argument is of type 'int *' > > Do you see these in your build? > > -Chris. > > On 12/19/2012 03:42 PM, Alan Bateman wrote: >> >> John - this is the debugger socket transport so cc'ing the >> serviceability-dev list as that is where this code is maintained. >> >> On 19/12/2012 15:36, John Zavgren wrote: >>> Greetings: >>> Please consider the following change to the two files: >>> src/share/transport/socket/sysSocket.h >>> src/solaris/transport/socket/socket_md.c >>> that eliminate compiler warnings that stem from the fact that the >>> variables that the native code passes to various system calls were not >>> declared correctly. They were declared as integers, but they must be >>> "unsigned" integers because they are used to define buffer lengths. >>> Were one to supply a negative value as an argument, it would be cast >>> into an unsigned "Martian" value and there'd be (hopefully) a system >>> call error. >>> >>> Thanks! >>> John Zavgren >>> >>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >> From daniel.daugherty at oracle.com Wed Dec 19 15:13:55 2012 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Wed, 19 Dec 2012 23:13:55 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8005044: remove crufty '_g' support from HS runtime code Message-ID: <20121219231359.C22BE4729E@hg.openjdk.java.net> Changeset: 7d42f3b08300 Author: dcubed Date: 2012-12-19 10:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/7d42f3b08300 8005044: remove crufty '_g' support from HS runtime code Summary: Phase 2 is removing '_g' support from the Runtime code. Reviewed-by: dcubed, coleenp, hseigel Contributed-by: ron.durbin at oracle.com ! 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/tools/ProjectCreator/ProjectCreator.java ! src/share/vm/runtime/arguments.cpp From stefan.karlsson at oracle.com Thu Dec 20 03:37:10 2012 From: stefan.karlsson at oracle.com (stefan.karlsson at oracle.com) Date: Thu, 20 Dec 2012 11:37:10 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8004823: Add VM support for type annotation reflection Message-ID: <20121220113729.3807A472CA@hg.openjdk.java.net> Changeset: 35431a769282 Author: stefank Date: 2012-12-20 10:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/35431a769282 8004823: Add VM support for type annotation reflection Reviewed-by: dholmes, coleenp Contributed-by: joel.franck at oracle.com ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/fieldDescriptor.hpp ! src/share/vm/runtime/reflection.cpp From dmitry.samersoff at oracle.com Thu Dec 20 04:03:29 2012 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Thu, 20 Dec 2012 12:03:29 +0000 Subject: hg: jdk8/tl/jdk: 6783290: MBeanInfo/MBeanFeatureInfo has inconsistent readObject/writeObject Message-ID: <20121220120403.14270472CB@hg.openjdk.java.net> Changeset: b600d490dc57 Author: dsamersoff Date: 2012-12-20 16:02 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b600d490dc57 6783290: MBeanInfo/MBeanFeatureInfo has inconsistent readObject/writeObject Summary: call readObject in all cases Reviewed-by: emcmanus Contributed-by: jaroslav.bachorik at oracle.com ! src/share/classes/javax/management/MBeanFeatureInfo.java ! src/share/classes/javax/management/MBeanInfo.java From jaroslav.bachorik at oracle.com Thu Dec 20 04:21:05 2012 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Thu, 20 Dec 2012 13:21:05 +0100 Subject: [PATCH] JDK-7199324: IPv6 JMXConnectorServer.getConnectionIDs() return IDs contradicting address grammar Message-ID: <50D302B1.7080203@oracle.com> Looking for reviewers and a sponsor. Webrev is available at http://cr.openjdk.java.net/~jbachorik/JDK-7199324/webrev.00 The issue is about the JMX client connection ID not being generated accordingly to the specification when including an IPv6 address. The specification states that in such case the address must be enclosed in square brackets. The current implementation, however, returns the plain numeric address, contradicting the specification. The fix simply checks for the presence of ":" character in the address part of the connection ID and escapes the address if necessary. Since the ":" can be present only in a numeric IPv6 address this check is sufficient. The change to test just covers for checking proper escaping - I am not sure how to force IPv6 to be used from the test; probably it is not possible. The test will check the IPv6 address escaping when and only when the system setup will cause the JMX client to connect over IPv6. Thanks, -JB- From jaroslav.bachorik at oracle.com Thu Dec 20 04:23:58 2012 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Thu, 20 Dec 2012 13:23:58 +0100 Subject: RR(S) Re: JEP 168: Network Discovery of Manageable Java Processes In-Reply-To: <50D1C2C6.7050808@oracle.com> References: <20121107210226.1C3FBAA9@eggemoggin.niobe.net> <50D1C2C6.7050808@oracle.com> Message-ID: <50D3035E.8020506@oracle.com> Hi, only a nit-pick: On line 106, 107 might be better to use "autodiscovery is true OR (autodiscovery is not set AND jdp.port is set)" to make the wording consistent. Cheers, -JB- On 12/19/2012 02:36 PM, Dmitry Samersoff wrote: > Hi Everybody, > > Please review JEP changes. > > http://cr.openjdk.java.net/~dsamersoff/8002048.JDP/jeps/webrev.01/ > > -Dmitry > > > On 2012-11-08 01:02, mark.reinhold at oracle.com wrote: >> Posted: http://openjdk.java.net/jeps/168 >> >> - Mark >> > > From chris.hegarty at oracle.com Thu Dec 20 04:41:55 2012 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Thu, 20 Dec 2012 12:41:55 +0000 Subject: RFR JDK-8005120 In-Reply-To: <50D2290A.2090806@oracle.com> References: <50D1E04B.1060509@oracle.com> <50D1ECBD.9060700@oracle.com> <50D2290A.2090806@oracle.com> Message-ID: <50D30793.7010000@oracle.com> On 19/12/2012 20:52, David Holmes wrote: > Real sense of deja-vu here. Didn't we go through this same thing with > the HPI socket routines? Yes, and the networking native code too. I think it is best to use socklen_t for the unix code. From what I can see making these changes, to use socklen_t, should be relatively localized. -Chris. > > Depending on the OS (and version?) we should be using socklen_t not int > and not uint32_t. > > David > > On 20/12/2012 2:35 AM, Chris Hegarty wrote: >> John, >> >> I grabbed your patch, and with it I now see different warnings. >> >> ../../../../src/share/transport/socket/socketTransport.c: In function >> 'socketTransport_startListening': >> ../../../../src/share/transport/socket/socketTransport.c:310:40: >> warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' >> differ in signedness [-Wpointer-sign] >> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected >> 'uint32_t *' but argument is of type 'int *' >> ../../../../src/share/transport/socket/socketTransport.c: In function >> 'socketTransport_accept': >> ../../../../src/share/transport/socket/socketTransport.c:371:33: >> warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ >> in signedness [-Wpointer-sign] >> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected >> 'uint32_t *' but argument is of type 'int *' >> >> Do you see these in your build? >> >> -Chris. >> >> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>> >>> John - this is the debugger socket transport so cc'ing the >>> serviceability-dev list as that is where this code is maintained. >>> >>> On 19/12/2012 15:36, John Zavgren wrote: >>>> Greetings: >>>> Please consider the following change to the two files: >>>> src/share/transport/socket/sysSocket.h >>>> src/solaris/transport/socket/socket_md.c >>>> that eliminate compiler warnings that stem from the fact that the >>>> variables that the native code passes to various system calls were not >>>> declared correctly. They were declared as integers, but they must be >>>> "unsigned" integers because they are used to define buffer lengths. >>>> Were one to supply a negative value as an argument, it would be cast >>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>> call error. >>>> >>>> Thanks! >>>> John Zavgren >>>> >>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >>> From dmitry.samersoff at oracle.com Thu Dec 20 05:06:16 2012 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Thu, 20 Dec 2012 13:06:16 +0000 Subject: hg: jdk8/tl/jdk: 6937053: RMI unmarshalling errors in ClientNotifForwarder cause silent failure Message-ID: <20121220130642.D07B0472CD@hg.openjdk.java.net> Changeset: e43f90d5af11 Author: dsamersoff Date: 2012-12-20 16:56 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e43f90d5af11 6937053: RMI unmarshalling errors in ClientNotifForwarder cause silent failure Summary: the catch block in the fetchNotifs() method is extended to expect UnmarshalException Reviewed-by: emcmanus Contributed-by: jaroslav.bachorik at oracle.com ! src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java From dmitry.samersoff at oracle.com Thu Dec 20 05:26:33 2012 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Thu, 20 Dec 2012 13:26:33 +0000 Subject: hg: jdk8/tl/jdk: 7009998: JMX synchronization during connection restart is faulty Message-ID: <20121220132645.201C0472CE@hg.openjdk.java.net> Changeset: 3f014bc09297 Author: dsamersoff Date: 2012-12-20 17:24 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3f014bc09297 7009998: JMX synchronization during connection restart is faulty Summary: add a return statement after the re-connecting has finished and the state is CONNECTED Reviewed-by: sjiang Contributed-by: jaroslav.bachorik at oracle.com ! make/netbeans/jmx/build.properties ! src/share/classes/com/sun/jmx/remote/internal/ClientCommunicatorAdmin.java From chris.hegarty at oracle.com Thu Dec 20 05:46:19 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 20 Dec 2012 13:46:19 +0000 Subject: hg: jdk8/tl/jdk: 8002356: Add ForkJoin common pool and CountedCompleter Message-ID: <20121220134631.0AC22472CF@hg.openjdk.java.net> Changeset: d01a810798e0 Author: dl Date: 2012-12-20 13:44 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d01a810798e0 8002356: Add ForkJoin common pool and CountedCompleter Reviewed-by: chegar, mduigou ! make/java/java/FILES_java.gmk + src/share/classes/java/util/concurrent/CountedCompleter.java ! src/share/classes/java/util/concurrent/ForkJoinPool.java ! src/share/classes/java/util/concurrent/ForkJoinTask.java ! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java From chris.hegarty at oracle.com Thu Dec 20 06:10:01 2012 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Thu, 20 Dec 2012 14:10:01 +0000 Subject: RFR JDK-8005120 In-Reply-To: References: Message-ID: <50D31C39.30401@oracle.com> On 20/12/2012 13:49, John Zavgren wrote: > Greetings: > > I agree that the "correct" way to fix this problem is to use POSIX data types, e.g., socklen_t. However, when I switch to the doctrinaire data type, the build fails on windows machines: > ------------- build monologue ----- > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2146: syntax error : missing ')' before identifier 'len' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2081: 'socklen_t' : name in formal parameter list illegal > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2061: syntax error : identifier 'len' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ';' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ')' > .... > ------------- build monologue ----- > > I used alternative types, e.g., uint32_t, etc. as a way to avoid the limitations of windows. > What is the recommended way to accommodate this windows limitation? Shall I use a typedef statement to define "socklen_t"? We don't suffer from this issue in the networking native code. The unix and windows implementations are distinct. I see the vm defines socklen_t in a windows specific header, hotspot/src/os/windows/vm/jvm_windows.h, as typedef int socklen_t; ...and it is then used in shared code, like jvm.cpp, and the hpi, by optionally including #ifdef TARGET_OS_FAMILY_windows # include "jvm_windows.h" #endif We could use a similar, but more simplistic, approach here. -Chris. > > Thanks! > > > ----- Original Message ----- > From: chris.hegarty at oracle.com > To: david.holmes at oracle.com > Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, john.zavgren at oracle.com, net-dev at openjdk.java.net > Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada Eastern > Subject: Re: RFR JDK-8005120 > > On 19/12/2012 20:52, David Holmes wrote: >> Real sense of deja-vu here. Didn't we go through this same thing with >> the HPI socket routines? > > Yes, and the networking native code too. > > I think it is best to use socklen_t for the unix code. From what I can > see making these changes, to use socklen_t, should be relatively localized. > > -Chris. > >> >> Depending on the OS (and version?) we should be using socklen_t not int >> and not uint32_t. >> >> David >> >> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>> John, >>> >>> I grabbed your patch, and with it I now see different warnings. >>> >>> ../../../../src/share/transport/socket/socketTransport.c: In function >>> 'socketTransport_startListening': >>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>> warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' >>> differ in signedness [-Wpointer-sign] >>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected >>> 'uint32_t *' but argument is of type 'int *' >>> ../../../../src/share/transport/socket/socketTransport.c: In function >>> 'socketTransport_accept': >>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ >>> in signedness [-Wpointer-sign] >>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected >>> 'uint32_t *' but argument is of type 'int *' >>> >>> Do you see these in your build? >>> >>> -Chris. >>> >>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>> >>>> John - this is the debugger socket transport so cc'ing the >>>> serviceability-dev list as that is where this code is maintained. >>>> >>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>> Greetings: >>>>> Please consider the following change to the two files: >>>>> src/share/transport/socket/sysSocket.h >>>>> src/solaris/transport/socket/socket_md.c >>>>> that eliminate compiler warnings that stem from the fact that the >>>>> variables that the native code passes to various system calls were not >>>>> declared correctly. They were declared as integers, but they must be >>>>> "unsigned" integers because they are used to define buffer lengths. >>>>> Were one to supply a negative value as an argument, it would be cast >>>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>>> call error. >>>>> >>>>> Thanks! >>>>> John Zavgren >>>>> >>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >>>> From dmitry.samersoff at oracle.com Thu Dec 20 06:31:23 2012 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Thu, 20 Dec 2012 18:31:23 +0400 Subject: RFR JDK-8005120 In-Reply-To: References: Message-ID: <50D3213B.5090405@oracle.com> John, On windows socklen_t defined in WS2TCPIP.H make sure it's included when necessary. -Dmitry On 2012-12-20 17:49, John Zavgren wrote: > Greetings: > > I agree that the "correct" way to fix this problem is to use POSIX data types, e.g., socklen_t. However, when I switch to the doctrinaire data type, the build fails on windows machines: > ------------- build monologue ----- > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2146: syntax error : missing ')' before identifier 'len' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2081: 'socklen_t' : name in formal parameter list illegal > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2061: syntax error : identifier 'len' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ';' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ')' > .... > ------------- build monologue ----- > > I used alternative types, e.g., uint32_t, etc. as a way to avoid the limitations of windows. > What is the recommended way to accommodate this windows limitation? Shall I use a typedef statement to define "socklen_t"? > > Thanks! > > > ----- Original Message ----- > From: chris.hegarty at oracle.com > To: david.holmes at oracle.com > Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, john.zavgren at oracle.com, net-dev at openjdk.java.net > Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada Eastern > Subject: Re: RFR JDK-8005120 > > On 19/12/2012 20:52, David Holmes wrote: >> Real sense of deja-vu here. Didn't we go through this same thing with >> the HPI socket routines? > > Yes, and the networking native code too. > > I think it is best to use socklen_t for the unix code. From what I can > see making these changes, to use socklen_t, should be relatively localized. > > -Chris. > >> >> Depending on the OS (and version?) we should be using socklen_t not int >> and not uint32_t. >> >> David >> >> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>> John, >>> >>> I grabbed your patch, and with it I now see different warnings. >>> >>> ../../../../src/share/transport/socket/socketTransport.c: In function >>> 'socketTransport_startListening': >>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>> warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' >>> differ in signedness [-Wpointer-sign] >>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected >>> 'uint32_t *' but argument is of type 'int *' >>> ../../../../src/share/transport/socket/socketTransport.c: In function >>> 'socketTransport_accept': >>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ >>> in signedness [-Wpointer-sign] >>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected >>> 'uint32_t *' but argument is of type 'int *' >>> >>> Do you see these in your build? >>> >>> -Chris. >>> >>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>> >>>> John - this is the debugger socket transport so cc'ing the >>>> serviceability-dev list as that is where this code is maintained. >>>> >>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>> Greetings: >>>>> Please consider the following change to the two files: >>>>> src/share/transport/socket/sysSocket.h >>>>> src/solaris/transport/socket/socket_md.c >>>>> that eliminate compiler warnings that stem from the fact that the >>>>> variables that the native code passes to various system calls were not >>>>> declared correctly. They were declared as integers, but they must be >>>>> "unsigned" integers because they are used to define buffer lengths. >>>>> Were one to supply a negative value as an argument, it would be cast >>>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>>> call error. >>>>> >>>>> Thanks! >>>>> John Zavgren >>>>> >>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >>>> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From chris.hegarty at oracle.com Thu Dec 20 07:05:28 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 20 Dec 2012 15:05:28 +0000 Subject: hg: jdk8/tl/jdk: 8005306: Redundant cast warning in KeepAliveStream.java Message-ID: <20121220150550.BC332472D3@hg.openjdk.java.net> Changeset: 31d2f9995d6c Author: chegar Date: 2012-12-20 15:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/31d2f9995d6c 8005306: Redundant cast warning in KeepAliveStream.java Reviewed-by: alanb ! src/share/classes/sun/net/www/http/KeepAliveStream.java From john.zavgren at oracle.com Thu Dec 20 05:49:34 2012 From: john.zavgren at oracle.com (John Zavgren) Date: Thu, 20 Dec 2012 05:49:34 -0800 (PST) Subject: RFR JDK-8005120 Message-ID: Greetings: I agree that the "correct" way to fix this problem is to use POSIX data types, e.g., socklen_t. However, when I switch to the doctrinaire data type, the build fails on windows machines: ------------- build monologue ----- c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2146: syntax error : missing ')' before identifier 'len' c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2081: 'socklen_t' : name in formal parameter list illegal c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2061: syntax error : identifier 'len' c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ';' c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ')' .... ------------- build monologue ----- I used alternative types, e.g., uint32_t, etc. as a way to avoid the limitations of windows. What is the recommended way to accommodate this windows limitation? Shall I use a typedef statement to define "socklen_t"? Thanks! ----- Original Message ----- From: chris.hegarty at oracle.com To: david.holmes at oracle.com Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, john.zavgren at oracle.com, net-dev at openjdk.java.net Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada Eastern Subject: Re: RFR JDK-8005120 On 19/12/2012 20:52, David Holmes wrote: > Real sense of deja-vu here. Didn't we go through this same thing with > the HPI socket routines? Yes, and the networking native code too. I think it is best to use socklen_t for the unix code. From what I can see making these changes, to use socklen_t, should be relatively localized. -Chris. > > Depending on the OS (and version?) we should be using socklen_t not int > and not uint32_t. > > David > > On 20/12/2012 2:35 AM, Chris Hegarty wrote: >> John, >> >> I grabbed your patch, and with it I now see different warnings. >> >> ../../../../src/share/transport/socket/socketTransport.c: In function >> 'socketTransport_startListening': >> ../../../../src/share/transport/socket/socketTransport.c:310:40: >> warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' >> differ in signedness [-Wpointer-sign] >> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected >> 'uint32_t *' but argument is of type 'int *' >> ../../../../src/share/transport/socket/socketTransport.c: In function >> 'socketTransport_accept': >> ../../../../src/share/transport/socket/socketTransport.c:371:33: >> warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ >> in signedness [-Wpointer-sign] >> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected >> 'uint32_t *' but argument is of type 'int *' >> >> Do you see these in your build? >> >> -Chris. >> >> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>> >>> John - this is the debugger socket transport so cc'ing the >>> serviceability-dev list as that is where this code is maintained. >>> >>> On 19/12/2012 15:36, John Zavgren wrote: >>>> Greetings: >>>> Please consider the following change to the two files: >>>> src/share/transport/socket/sysSocket.h >>>> src/solaris/transport/socket/socket_md.c >>>> that eliminate compiler warnings that stem from the fact that the >>>> variables that the native code passes to various system calls were not >>>> declared correctly. They were declared as integers, but they must be >>>> "unsigned" integers because they are used to define buffer lengths. >>>> Were one to supply a negative value as an argument, it would be cast >>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>> call error. >>>> >>>> Thanks! >>>> John Zavgren >>>> >>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >>> From dmitry.samersoff at oracle.com Thu Dec 20 08:16:46 2012 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Thu, 20 Dec 2012 16:16:46 +0000 Subject: hg: jdk8/tl/jdk: 8005309: Missed tests for 6783290,6937053,7009998 Message-ID: <20121220161707.A434F472DC@hg.openjdk.java.net> Changeset: c1a55ee9618e Author: dsamersoff Date: 2012-12-20 20:12 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1a55ee9618e 8005309: Missed tests for 6783290,6937053,7009998 Summary: Missed tests for 6783290,6937053,7009998 Reviewed-by: sjiang, emcmanus Contributed-by: jaroslav.bachorik at oracle.com + test/com/sun/jmx/remote/CCAdminReconnectTest.java + test/com/sun/jmx/remote/NotificationMarshalVersions/Client/Client.java + test/com/sun/jmx/remote/NotificationMarshalVersions/Client/ConfigKey.java + test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java + test/com/sun/jmx/remote/NotificationMarshalVersions/Server/ConfigKey.java + test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Server.java + test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Ste.java + test/com/sun/jmx/remote/NotificationMarshalVersions/Server/SteMBean.java + test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java + test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh + test/javax/management/MBeanInfo/SerializationTest1.java From jonathan.gibbons at oracle.com Thu Dec 20 10:09:39 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Thu, 20 Dec 2012 18:09:39 +0000 Subject: hg: jdk8/tl/langtools: 8005307: fix missing @bug tags Message-ID: <20121220180944.2AD75472ED@hg.openjdk.java.net> Changeset: a22f23fb7abf Author: jjg Date: 2012-12-20 17:59 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/a22f23fb7abf 8005307: fix missing @bug tags Reviewed-by: jjh ! test/tools/doclint/AccessTest.java ! test/tools/doclint/AccessTest.package.out ! test/tools/doclint/AccessTest.private.out ! test/tools/doclint/AccessTest.protected.out ! test/tools/doclint/AccessTest.public.out ! test/tools/doclint/AccessibilityTest.java ! test/tools/doclint/AccessibilityTest.out ! test/tools/doclint/EmptyAuthorTest.java ! test/tools/doclint/EmptyAuthorTest.out ! test/tools/doclint/EmptyExceptionTest.java ! test/tools/doclint/EmptyExceptionTest.out ! test/tools/doclint/EmptyParamTest.java ! test/tools/doclint/EmptyParamTest.out ! test/tools/doclint/EmptyReturnTest.java ! test/tools/doclint/EmptyReturnTest.out ! test/tools/doclint/EmptySerialDataTest.java ! test/tools/doclint/EmptySerialDataTest.out ! test/tools/doclint/EmptySerialFieldTest.java ! test/tools/doclint/EmptySerialFieldTest.out ! test/tools/doclint/EmptySinceTest.java ! test/tools/doclint/EmptySinceTest.out ! test/tools/doclint/EmptyVersionTest.java ! test/tools/doclint/EmptyVersionTest.out ! test/tools/doclint/HtmlAttrsTest.java ! test/tools/doclint/HtmlAttrsTest.out ! test/tools/doclint/HtmlTagsTest.java ! test/tools/doclint/HtmlTagsTest.out ! test/tools/doclint/MissingParamsTest.java ! test/tools/doclint/MissingParamsTest.out ! test/tools/doclint/MissingReturnTest.java ! test/tools/doclint/MissingReturnTest.out ! test/tools/doclint/MissingThrowsTest.java ! test/tools/doclint/MissingThrowsTest.out ! test/tools/doclint/OptionTest.java ! test/tools/doclint/OverridesTest.java ! test/tools/doclint/ReferenceTest.java ! test/tools/doclint/ReferenceTest.out ! test/tools/doclint/RunTest.java ! test/tools/doclint/SyntaxTest.java ! test/tools/doclint/SyntaxTest.out ! test/tools/doclint/SyntheticTest.java ! test/tools/doclint/ValidTest.java ! test/tools/doclint/tidy/AnchorAlreadyDefined.java ! test/tools/doclint/tidy/AnchorAlreadyDefined.out ! test/tools/doclint/tidy/BadEnd.java ! test/tools/doclint/tidy/BadEnd.out ! test/tools/doclint/tidy/InsertImplicit.java ! test/tools/doclint/tidy/InsertImplicit.out ! test/tools/doclint/tidy/InvalidEntity.java ! test/tools/doclint/tidy/InvalidEntity.out ! test/tools/doclint/tidy/InvalidName.java ! test/tools/doclint/tidy/InvalidName.out ! test/tools/doclint/tidy/InvalidTag.java ! test/tools/doclint/tidy/InvalidTag.out ! test/tools/doclint/tidy/InvalidURI.java ! test/tools/doclint/tidy/InvalidURI.out ! test/tools/doclint/tidy/MissingGT.java ! test/tools/doclint/tidy/MissingGT.out ! test/tools/doclint/tidy/MissingTag.java ! test/tools/doclint/tidy/MissingTag.out ! test/tools/doclint/tidy/NestedTag.java ! test/tools/doclint/tidy/NestedTag.out ! test/tools/doclint/tidy/ParaInPre.java ! test/tools/doclint/tidy/ParaInPre.out ! test/tools/doclint/tidy/RepeatedAttr.java ! test/tools/doclint/tidy/RepeatedAttr.out ! test/tools/doclint/tidy/TextNotAllowed.java ! test/tools/doclint/tidy/TextNotAllowed.out ! test/tools/doclint/tidy/TrimmingEmptyTag.java ! test/tools/doclint/tidy/TrimmingEmptyTag.out ! test/tools/doclint/tidy/UnescapedOrUnknownEntity.java ! test/tools/doclint/tidy/UnescapedOrUnknownEntity.out From alan.bateman at oracle.com Thu Dec 20 12:32:45 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 20 Dec 2012 20:32:45 +0000 Subject: hg: jdk8/tl/jdk: 8001048: JSR-160: Allow IIOP transport to be optional Message-ID: <20121220203306.F0171472FD@hg.openjdk.java.net> Changeset: edb71a37fcb7 Author: alanb Date: 2012-12-20 20:29 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/edb71a37fcb7 8001048: JSR-160: Allow IIOP transport to be optional Reviewed-by: dsamersoff, dfuchs, mchung ! src/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java ! src/share/classes/javax/management/remote/JMXConnectorFactory.java ! src/share/classes/javax/management/remote/JMXConnectorServerFactory.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! src/share/classes/javax/management/remote/rmi/package.html ! test/javax/management/remote/mandatory/connection/AddressableTest.java ! test/javax/management/remote/mandatory/connection/CloseableTest.java ! test/javax/management/remote/mandatory/connection/ConnectionListenerNullTest.java ! test/javax/management/remote/mandatory/connection/IIOPURLTest.java ! test/javax/management/remote/mandatory/connection/IdleTimeoutTest.java ! test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java ! test/javax/management/remote/mandatory/connectorServer/SetMBeanServerForwarder.java ! test/javax/management/remote/mandatory/loading/MissingClassTest.java ! test/javax/management/remote/mandatory/provider/ProviderTest.java ! test/javax/management/remote/mandatory/serverError/JMXServerErrorTest.java From alan.bateman at oracle.com Thu Dec 20 12:46:20 2012 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 20 Dec 2012 20:46:20 +0000 Subject: hg: jdk8/tl/jdk: 8005281: (props) loadFromXML/storeToXML with small parser is not thread safe Message-ID: <20121220204631.7E4FF472FE@hg.openjdk.java.net> Changeset: eeda18683ddc Author: alanb Date: 2012-12-20 20:40 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/eeda18683ddc 8005281: (props) loadFromXML/storeToXML with small parser is not thread safe Reviewed-by: mchung ! src/share/classes/jdk/internal/util/xml/BasicXmlPropertiesProvider.java + test/java/util/Properties/ConcurrentLoadAndStoreXML.java From john.zavgren at oracle.com Thu Dec 20 14:47:49 2012 From: john.zavgren at oracle.com (John Zavgren) Date: Thu, 20 Dec 2012 14:47:49 -0800 (PST) Subject: RFR JDK-8005120 Message-ID: <6742fde2-c599-4f61-a294-5671e55f2377@default> Greetings: I modified my changes so that windows knows the definition of the POSIX data type: socklen_t, and now all the system calls are using the "doctrinaire" data types. Please consider the following update. http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.01/ Thanks! John Zavgren On 20/12/2012 13:49, John Zavgren wrote: > Greetings: > > I agree that the "correct" way to fix this problem is to use POSIX data types, e.g., socklen_t. However, when I switch to the doctrinaire data type, the build fails on windows machines: > ------------- build monologue ----- > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2146: syntax error : missing ')' before identifier 'len' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2081: 'socklen_t' : name in formal parameter list illegal > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2061: syntax error : identifier 'len' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ';' > c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ')' > .... > ------------- build monologue ----- > > I used alternative types, e.g., uint32_t, etc. as a way to avoid the limitations of windows. > What is the recommended way to accommodate this windows limitation? Shall I use a typedef statement to define "socklen_t"? We don't suffer from this issue in the networking native code. The unix and windows implementations are distinct. I see the vm defines socklen_t in a windows specific header, hotspot/src/os/windows/vm/jvm_windows.h, as typedef int socklen_t; ...and it is then used in shared code, like jvm.cpp, and the hpi, by optionally including #ifdef TARGET_OS_FAMILY_windows # include "jvm_windows.h" #endif We could use a similar, but more simplistic, approach here. -Chris. > > Thanks! > > > ----- Original Message ----- > From: chris.hegarty at oracle.com > To: david.holmes at oracle.com > Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, john.zavgren at oracle.com, net-dev at openjdk.java.net > Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada Eastern > Subject: Re: RFR JDK-8005120 > > On 19/12/2012 20:52, David Holmes wrote: >> Real sense of deja-vu here. Didn't we go through this same thing with >> the HPI socket routines? > > Yes, and the networking native code too. > > I think it is best to use socklen_t for the unix code. From what I can > see making these changes, to use socklen_t, should be relatively localized. > > -Chris. > >> >> Depending on the OS (and version?) we should be using socklen_t not int >> and not uint32_t. >> >> David >> >> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>> John, >>> >>> I grabbed your patch, and with it I now see different warnings. >>> >>> ../../../../src/share/transport/socket/socketTransport.c: In function >>> 'socketTransport_startListening': >>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>> warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' >>> differ in signedness [-Wpointer-sign] >>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected >>> 'uint32_t *' but argument is of type 'int *' >>> ../../../../src/share/transport/socket/socketTransport.c: In function >>> 'socketTransport_accept': >>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ >>> in signedness [-Wpointer-sign] >>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected >>> 'uint32_t *' but argument is of type 'int *' >>> >>> Do you see these in your build? >>> >>> -Chris. >>> >>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>> >>>> John - this is the debugger socket transport so cc'ing the >>>> serviceability-dev list as that is where this code is maintained. >>>> >>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>> Greetings: >>>>> Please consider the following change to the two files: >>>>> src/share/transport/socket/sysSocket.h >>>>> src/solaris/transport/socket/socket_md.c >>>>> that eliminate compiler warnings that stem from the fact that the >>>>> variables that the native code passes to various system calls were not >>>>> declared correctly. They were declared as integers, but they must be >>>>> "unsigned" integers because they are used to define buffer lengths. >>>>> Were one to supply a negative value as an argument, it would be cast >>>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>>> call error. >>>>> >>>>> Thanks! >>>>> John Zavgren >>>>> >>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >>>> From mandy.chung at oracle.com Thu Dec 20 15:40:13 2012 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 20 Dec 2012 15:40:13 -0800 Subject: RFR: 7150256: Add back Diagnostic Command JMX API In-Reply-To: <50CF3311.7020606@oracle.com> References: <50CF0187.6080001@oracle.com> <50CF1A31.7020106@oracle.com> <50CF3311.7020606@oracle.com> Message-ID: <50D3A1DD.4040703@oracle.com> Hi Frederic, It's good to see the management interface for diagnostic commands is back. On 12/17/12 6:58 AM, Frederic Parain wrote: > > http://cr.openjdk.java.net/~fparain/7150256/webrev.01/ > Please send your makefiles change to build-dev and build-infra for review to ensure necessary change is made in the new build-infra work. I didn't have time to a detailed review and I think it looks okay. Some comments: DiagnosticCommandImpl.Wrapper class If there is any issue initializing the diagnostic command, it ignores the exception. That makes it very hard to diagnose when things go wrong. This exports diagnostic commands supported by the running JVM and so I would think any error would be a bug. DiagnosticCommandArgumentInfo is non-public class but its constructor and methods are still public. VMManagementImpl.c Is there any part of the native implementation moved to Java. getDiagnosticCommandArgumentInfoArray() first constructs an array of DiagnosticCommandArgumentInfo and then calls Arrays.asList via JNI to return a List. The returned List is used by getDiagnosticCommandInfo that returns DiagnosticCommandInfo[] since the DiagnosticCommandInfo constructor takes a List. I would do as much code in Java if possible. This is a bit hard to maintain. This is not critical for the first push and can be saved for future cleanup. Nit: there is no space between 'if' or 'for' and '(' in some source files and DcmdMBeanTest. In VMManagementImpl.c - the jdk native code uses 4-space indentation which is different than the hotspot coding convention. The new tests hardcode the port number that is unreliable and may fail in nightly/jprt testing (e.g. the port is occupied by another test run). Some management tests have the same reliability issue and I'm not sure what the state is right now. It'd be good if the new tests can avoid using hardcode port number. Does the test throw any exception in case of error? They catch various exceptions that should be thrown as a fatal error. Mandy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121220/f103e631/attachment.html From kelly.ohair at oracle.com Thu Dec 20 17:16:05 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Thu, 20 Dec 2012 17:16:05 -0800 Subject: RFR: 7150256: Add back Diagnostic Command JMX API In-Reply-To: <50D3A1DD.4040703@oracle.com> References: <50CF0187.6080001@oracle.com> <50CF1A31.7020106@oracle.com> <50CF3311.7020606@oracle.com> <50D3A1DD.4040703@oracle.com> Message-ID: makefile changes look fine. -kto On Dec 20, 2012, at 3:40 PM, Mandy Chung wrote: > Hi Frederic, > > It's good to see the management interface for diagnostic commands is back. > > On 12/17/12 6:58 AM, Frederic Parain wrote: >> >> >> http://cr.openjdk.java.net/~fparain/7150256/webrev.01/ >> > Please send your makefiles change to build-dev and build-infra for review to ensure necessary change is made in the new build-infra work. > > I didn't have time to a detailed review and I think it looks okay. Some comments: > > DiagnosticCommandImpl.Wrapper class > If there is any issue initializing the diagnostic command, it ignores the exception. That makes it very hard to diagnose when things go wrong. This exports diagnostic commands supported by the running JVM and so I would think any error would be a bug. > > DiagnosticCommandArgumentInfo is non-public class but its constructor and methods are still public. > > VMManagementImpl.c > Is there any part of the native implementation moved to Java. getDiagnosticCommandArgumentInfoArray() first constructs an array of DiagnosticCommandArgumentInfo and then calls Arrays.asList via JNI to return a List. The returned List is used by getDiagnosticCommandInfo that returns DiagnosticCommandInfo[] since the DiagnosticCommandInfo constructor takes a List. I would do as much code in Java if possible. This is a bit hard to maintain. This is not critical for the first push and can be saved for future cleanup. > > Nit: there is no space between 'if' or 'for' and '(' in some source files and DcmdMBeanTest. In VMManagementImpl.c - the jdk native code uses 4-space indentation which is different than the hotspot coding convention. > > The new tests hardcode the port number that is unreliable and may fail in nightly/jprt testing (e.g. the port is occupied by another test run). Some management tests have the same reliability issue and I'm not sure what the state is right now. It'd be good if the new tests can avoid using hardcode port number. > > Does the test throw any exception in case of error? They catch various exceptions that should be thrown as a fatal error. > > Mandy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121220/72c612d5/attachment.html From stuart.marks at oracle.com Thu Dec 20 21:41:54 2012 From: stuart.marks at oracle.com (stuart.marks at oracle.com) Date: Fri, 21 Dec 2012 05:41:54 +0000 Subject: hg: jdk8/tl/jdk: 8005290: remove -showversion from RMI test library subprocess mechanism Message-ID: <20121221054214.825BB47326@hg.openjdk.java.net> Changeset: 60adb69bf043 Author: smarks Date: 2012-12-20 20:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/60adb69bf043 8005290: remove -showversion from RMI test library subprocess mechanism Reviewed-by: jgish, chegar, dmocek ! test/java/rmi/testlibrary/JavaVM.java ! test/java/rmi/testlibrary/StreamPipe.java ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java From shanliang.jiang at oracle.com Fri Dec 21 00:28:00 2012 From: shanliang.jiang at oracle.com (shanliang.jiang at oracle.com) Date: Fri, 21 Dec 2012 08:28:00 +0000 Subject: hg: jdk8/tl/jdk: 7146162: javax/management/remote/mandatory/connection/BrokenConnectionTest.java failing intermittently Message-ID: <20121221082824.8FF3047329@hg.openjdk.java.net> Changeset: 42ee6b6ad373 Author: jbachorik Date: 2012-12-21 09:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/42ee6b6ad373 7146162: javax/management/remote/mandatory/connection/BrokenConnectionTest.java failing intermittently Summary: ClientCommunicatorAdmin should call gotIOException((IOException)e) instead of restart((IOException)e) when detecting a communication error, because the method gotIOException will send a failure notification if necessary. Reviewed-by: emcmanus, sjiang Contributed-by: jaroslav.bachorik at oracle.com ! src/share/classes/com/sun/jmx/remote/internal/ClientCommunicatorAdmin.java From dmitry.samersoff at oracle.com Fri Dec 21 00:33:56 2012 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Fri, 21 Dec 2012 12:33:56 +0400 Subject: RFR JDK-8005120 In-Reply-To: <6742fde2-c599-4f61-a294-5671e55f2377@default> References: <6742fde2-c599-4f61-a294-5671e55f2377@default> Message-ID: <50D41EF4.7030109@oracle.com> John, socket_md.c:88,99,110 etc. could you change int len to size_t len as well? -Dmitry On 2012-12-21 02:47, John Zavgren wrote: > Greetings: > > I modified my changes so that windows knows the definition of the POSIX data type: socklen_t, and now all the system calls are using the "doctrinaire" data types. > > Please consider the following update. > > http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.01/ > > Thanks! > John Zavgren > > > > On 20/12/2012 13:49, John Zavgren wrote: >> Greetings: >> >> I agree that the "correct" way to fix this problem is to use POSIX data types, e.g., socklen_t. However, when I switch to the doctrinaire data type, the build fails on windows machines: >> ------------- build monologue ----- >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2146: syntax error : missing ')' before identifier 'len' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2081: 'socklen_t' : name in formal parameter list illegal >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2061: syntax error : identifier 'len' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ';' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ')' >> .... >> ------------- build monologue ----- >> >> I used alternative types, e.g., uint32_t, etc. as a way to avoid the limitations of windows. >> What is the recommended way to accommodate this windows limitation? Shall I use a typedef statement to define "socklen_t"? > > We don't suffer from this issue in the networking native code. The unix > and windows implementations are distinct. > > I see the vm defines socklen_t in a windows specific header, > hotspot/src/os/windows/vm/jvm_windows.h, as > typedef int socklen_t; > > ...and it is then used in shared code, like jvm.cpp, and the hpi, by > optionally including > > #ifdef TARGET_OS_FAMILY_windows > # include "jvm_windows.h" > #endif > > We could use a similar, but more simplistic, approach here. > > -Chris. > >> >> Thanks! >> >> >> ----- Original Message ----- >> From: chris.hegarty at oracle.com >> To: david.holmes at oracle.com >> Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, john.zavgren at oracle.com, net-dev at openjdk.java.net >> Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada Eastern >> Subject: Re: RFR JDK-8005120 >> >> On 19/12/2012 20:52, David Holmes wrote: >>> Real sense of deja-vu here. Didn't we go through this same thing with >>> the HPI socket routines? >> >> Yes, and the networking native code too. >> >> I think it is best to use socklen_t for the unix code. From what I can >> see making these changes, to use socklen_t, should be relatively localized. >> >> -Chris. >> >>> >>> Depending on the OS (and version?) we should be using socklen_t not int >>> and not uint32_t. >>> >>> David >>> >>> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>>> John, >>>> >>>> I grabbed your patch, and with it I now see different warnings. >>>> >>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>> 'socketTransport_startListening': >>>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>>> warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' >>>> differ in signedness [-Wpointer-sign] >>>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected >>>> 'uint32_t *' but argument is of type 'int *' >>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>> 'socketTransport_accept': >>>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ >>>> in signedness [-Wpointer-sign] >>>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected >>>> 'uint32_t *' but argument is of type 'int *' >>>> >>>> Do you see these in your build? >>>> >>>> -Chris. >>>> >>>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>>> >>>>> John - this is the debugger socket transport so cc'ing the >>>>> serviceability-dev list as that is where this code is maintained. >>>>> >>>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>>> Greetings: >>>>>> Please consider the following change to the two files: >>>>>> src/share/transport/socket/sysSocket.h >>>>>> src/solaris/transport/socket/socket_md.c >>>>>> that eliminate compiler warnings that stem from the fact that the >>>>>> variables that the native code passes to various system calls were not >>>>>> declared correctly. They were declared as integers, but they must be >>>>>> "unsigned" integers because they are used to define buffer lengths. >>>>>> Were one to supply a negative value as an argument, it would be cast >>>>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>>>> call error. >>>>>> >>>>>> Thanks! >>>>>> John Zavgren >>>>>> >>>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >>>>> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From chris.hegarty at oracle.com Fri Dec 21 01:47:32 2012 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Fri, 21 Dec 2012 09:47:32 +0000 Subject: RFR JDK-8005120 In-Reply-To: <6742fde2-c599-4f61-a294-5671e55f2377@default> References: <6742fde2-c599-4f61-a294-5671e55f2377@default> Message-ID: <50D43034.3040303@oracle.com> John, Much better, but I still see warnings when building with your patch. You need to update (some) callers of these functions, see below ( these are the only ones I see ). ----------- diff -r 31d2f9995d6c src/share/transport/socket/socketTransport.c --- a/src/share/transport/socket/socketTransport.c Thu Dec 20 15:04:53 2012 +0000 +++ b/src/share/transport/socket/socketTransport.c Fri Dec 21 09:40:30 2012 +0000 @@ -304,7 +304,7 @@ socketTransport_startListening(jdwpTrans { char buf[20]; - int len = sizeof(sa); + socklen_t len = sizeof(sa); jint portNum; err = dbgsysGetSocketName(serverSocketFD, (struct sockaddr *)&sa, &len); @@ -324,7 +324,8 @@ static jdwpTransportError JNICALL static jdwpTransportError JNICALL socketTransport_accept(jdwpTransportEnv* env, jlong acceptTimeout, jlong handshakeTimeout) { - int socketLen, err; + socklen_t socketLen; + int err; struct sockaddr_in socket; jlong startTime = (jlong)0; ----------- Also, I think the windows version of these functions should be updated to use socklen_t ( now that we have it defined for windows), in windows/transport/socket/socket_md.c Can you confirm that this code now compiles warning free on all platforms? That was the original intent, right? -Chris. On 12/20/2012 10:47 PM, John Zavgren wrote: > Greetings: > > I modified my changes so that windows knows the definition of the POSIX data type: socklen_t, and now all the system calls are using the "doctrinaire" data types. > > Please consider the following update. > > http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.01/ > > Thanks! > John Zavgren > > > > On 20/12/2012 13:49, John Zavgren wrote: >> Greetings: >> >> I agree that the "correct" way to fix this problem is to use POSIX data types, e.g., socklen_t. However, when I switch to the doctrinaire data type, the build fails on windows machines: >> ------------- build monologue ----- >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2146: syntax error : missing ')' before identifier 'len' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2081: 'socklen_t' : name in formal parameter list illegal >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2061: syntax error : identifier 'len' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ';' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ')' >> .... >> ------------- build monologue ----- >> >> I used alternative types, e.g., uint32_t, etc. as a way to avoid the limitations of windows. >> What is the recommended way to accommodate this windows limitation? Shall I use a typedef statement to define "socklen_t"? > > We don't suffer from this issue in the networking native code. The unix > and windows implementations are distinct. > > I see the vm defines socklen_t in a windows specific header, > hotspot/src/os/windows/vm/jvm_windows.h, as > typedef int socklen_t; > > ...and it is then used in shared code, like jvm.cpp, and the hpi, by > optionally including > > #ifdef TARGET_OS_FAMILY_windows > # include "jvm_windows.h" > #endif > > We could use a similar, but more simplistic, approach here. > > -Chris. > >> >> Thanks! >> >> >> ----- Original Message ----- >> From: chris.hegarty at oracle.com >> To: david.holmes at oracle.com >> Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, john.zavgren at oracle.com, net-dev at openjdk.java.net >> Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada Eastern >> Subject: Re: RFR JDK-8005120 >> >> On 19/12/2012 20:52, David Holmes wrote: >>> Real sense of deja-vu here. Didn't we go through this same thing with >>> the HPI socket routines? >> >> Yes, and the networking native code too. >> >> I think it is best to use socklen_t for the unix code. From what I can >> see making these changes, to use socklen_t, should be relatively localized. >> >> -Chris. >> >>> >>> Depending on the OS (and version?) we should be using socklen_t not int >>> and not uint32_t. >>> >>> David >>> >>> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>>> John, >>>> >>>> I grabbed your patch, and with it I now see different warnings. >>>> >>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>> 'socketTransport_startListening': >>>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>>> warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' >>>> differ in signedness [-Wpointer-sign] >>>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected >>>> 'uint32_t *' but argument is of type 'int *' >>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>> 'socketTransport_accept': >>>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ >>>> in signedness [-Wpointer-sign] >>>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected >>>> 'uint32_t *' but argument is of type 'int *' >>>> >>>> Do you see these in your build? >>>> >>>> -Chris. >>>> >>>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>>> >>>>> John - this is the debugger socket transport so cc'ing the >>>>> serviceability-dev list as that is where this code is maintained. >>>>> >>>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>>> Greetings: >>>>>> Please consider the following change to the two files: >>>>>> src/share/transport/socket/sysSocket.h >>>>>> src/solaris/transport/socket/socket_md.c >>>>>> that eliminate compiler warnings that stem from the fact that the >>>>>> variables that the native code passes to various system calls were not >>>>>> declared correctly. They were declared as integers, but they must be >>>>>> "unsigned" integers because they are used to define buffer lengths. >>>>>> Were one to supply a negative value as an argument, it would be cast >>>>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>>>> call error. >>>>>> >>>>>> Thanks! >>>>>> John Zavgren >>>>>> >>>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >>>>> From shanliang.jiang at oracle.com Fri Dec 21 02:04:35 2012 From: shanliang.jiang at oracle.com (shanliang.jiang at oracle.com) Date: Fri, 21 Dec 2012 10:04:35 +0000 Subject: hg: jdk8/tl/jdk: 8005325: The script should use TESTVMOPTS Message-ID: <20121221100457.399BB4732D@hg.openjdk.java.net> Changeset: 86c10d1484e9 Author: sjiang Date: 2012-12-21 10:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/86c10d1484e9 8005325: The script should use TESTVMOPTS Summary: Put back TESTVMOPTS which was removed by mistake. Reviewed-by: smarks ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh From joe.darcy at oracle.com Fri Dec 21 08:46:00 2012 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 21 Dec 2012 16:46:00 +0000 Subject: hg: jdk8/tl/langtools: 8005282: Use @library tag with non-relative path for javac tests Message-ID: <20121221164605.393E347337@hg.openjdk.java.net> Changeset: b52a38d4536c Author: darcy Date: 2012-12-21 08:45 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b52a38d4536c 8005282: Use @library tag with non-relative path for javac tests Reviewed-by: jjg ! test/tools/javac/7129225/TestImportStar.java ! test/tools/javac/cast/intersection/model/Model01.java ! test/tools/javac/classreader/T7031108.java ! test/tools/javac/enum/6350057/T6350057.java ! test/tools/javac/enum/6424358/T6424358.java ! test/tools/javac/file/T7018098.java ! test/tools/javac/multicatch/model/ModelChecker.java ! test/tools/javac/options/T7022337.java ! test/tools/javac/processing/6348499/T6348499.java ! test/tools/javac/processing/6359313/T6359313.java ! test/tools/javac/processing/6365040/T6365040.java ! test/tools/javac/processing/6413690/T6413690.java ! test/tools/javac/processing/6414633/T6414633.java ! test/tools/javac/processing/6430209/T6430209.java ! test/tools/javac/processing/6499119/ClassProcessor.java ! test/tools/javac/processing/6511613/clss41701.java ! test/tools/javac/processing/6512707/T6512707.java ! test/tools/javac/processing/6634138/T6634138.java ! test/tools/javac/processing/6994946/SemanticErrorTest.java ! test/tools/javac/processing/6994946/SyntaxErrorTest.java ! test/tools/javac/processing/T6920317.java ! test/tools/javac/processing/T7196462.java ! test/tools/javac/processing/TestWarnErrorCount.java ! test/tools/javac/processing/environment/TestSourceVersion.java ! test/tools/javac/processing/environment/round/TestContext.java ! test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java ! test/tools/javac/processing/errors/TestErrorCount.java ! test/tools/javac/processing/errors/TestFatalityOfParseErrors.java ! test/tools/javac/processing/errors/TestOptionSyntaxErrors.java ! test/tools/javac/processing/errors/TestParseErrors/TestParseErrors.java ! test/tools/javac/processing/errors/TestReturnCode.java ! test/tools/javac/processing/filer/TestFilerConstraints.java ! test/tools/javac/processing/filer/TestGetResource.java ! test/tools/javac/processing/filer/TestGetResource2.java ! test/tools/javac/processing/filer/TestInvalidRelativeNames.java ! test/tools/javac/processing/filer/TestLastRound.java ! test/tools/javac/processing/filer/TestPackageInfo.java ! test/tools/javac/processing/filer/TestValidRelativeNames.java ! test/tools/javac/processing/messager/6362067/T6362067.java ! test/tools/javac/processing/messager/MessagerBasics.java ! test/tools/javac/processing/model/6194785/T6194785.java ! test/tools/javac/processing/model/6341534/T6341534.java ! test/tools/javac/processing/model/element/TestAnonClassNames.java ! test/tools/javac/processing/model/element/TestElement.java ! test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java ! test/tools/javac/processing/model/element/TestMissingElement2/TestMissingClass.java ! test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericClass1.java ! test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericClass2.java ! test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericInterface1.java ! test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericInterface2.java ! test/tools/javac/processing/model/element/TestMissingElement2/TestMissingInterface.java ! test/tools/javac/processing/model/element/TestNames.java ! test/tools/javac/processing/model/element/TestPackageElement.java ! test/tools/javac/processing/model/element/TestResourceElement.java ! test/tools/javac/processing/model/element/TestResourceVariable.java ! test/tools/javac/processing/model/element/TestTypeParameter.java ! test/tools/javac/processing/model/element/TypeParamBounds.java ! test/tools/javac/processing/model/type/MirroredTypeEx/OverEager.java ! test/tools/javac/processing/model/type/MirroredTypeEx/Plurality.java ! test/tools/javac/processing/model/type/NoTypes.java ! test/tools/javac/processing/model/type/TestUnionType.java ! test/tools/javac/processing/model/util/BinaryName.java ! test/tools/javac/processing/model/util/GetTypeElemBadArg.java ! test/tools/javac/processing/model/util/NoSupers.java ! test/tools/javac/processing/model/util/OverridesSpecEx.java ! test/tools/javac/processing/model/util/TypesBadArg.java ! test/tools/javac/processing/model/util/deprecation/TestDeprecation.java ! test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.java ! test/tools/javac/processing/model/util/elements/TestGetConstantExpression.java ! test/tools/javac/processing/model/util/elements/TestGetPackageOf.java ! test/tools/javac/processing/model/util/filter/TestIterables.java ! test/tools/javac/processing/options/testCommandLineClasses/Test.java ! test/tools/javac/processing/options/testPrintProcessorInfo/Test.java ! test/tools/javac/processing/options/testPrintProcessorInfo/TestWithXstdout.java ! test/tools/javac/processing/warnings/UseImplicit/TestProcUseImplicitWarning.java ! test/tools/javac/processing/werror/WError1.java ! test/tools/javac/processing/werror/WErrorGen.java ! test/tools/javac/processing/werror/WErrorLast.java ! test/tools/javac/resolve/ResolveHarness.java ! test/tools/javac/util/T6597678.java ! test/tools/javac/util/context/T7021650.java From vicente.romero at oracle.com Fri Dec 21 09:40:10 2012 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 21 Dec 2012 17:40:10 +0000 Subject: hg: jdk8/tl/langtools: 8003512: javac doesn't work with jar files with >64k entries Message-ID: <20121221174012.A48EA47340@hg.openjdk.java.net> Changeset: 189b26e3818f Author: vromero Date: 2012-12-21 15:27 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/189b26e3818f 8003512: javac doesn't work with jar files with >64k entries Reviewed-by: jjg, ksrini Contributed-by: martinrb at google.com ! src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java + test/tools/javac/file/zip/8003512/LoadClassFromJava6CreatedJarTest.java ! test/tools/javac/file/zip/Utils.java From huizhe.wang at oracle.com Fri Dec 21 17:30:21 2012 From: huizhe.wang at oracle.com (huizhe.wang at oracle.com) Date: Sat, 22 Dec 2012 01:30:21 +0000 Subject: hg: jdk8/tl/jdk: 8005280: (props) Improve test coverage for small XML parser Message-ID: <20121222013044.87D3D47361@hg.openjdk.java.net> Changeset: c1227b872a12 Author: joehw Date: 2012-12-21 17:29 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1227b872a12 8005280: (props) Improve test coverage for small XML parser Summary: added a few more invalid XML files, international characters to LoadAndStore test, and a behavior compatibility test. Reviewed-by: alanb, lancea + test/java/util/Properties/Compatibility.xml + test/java/util/Properties/CompatibilityTest.java ! test/java/util/Properties/LoadAndStoreXML.java + test/java/util/Properties/invalidxml/BadDocType.xml - test/java/util/Properties/invalidxml/BadDocType.xml.excluded + test/java/util/Properties/invalidxml/DTDRootNotMatch.xml + test/java/util/Properties/invalidxml/IllegalComment.xml + test/java/util/Properties/invalidxml/IllegalEntry.xml + test/java/util/Properties/invalidxml/IllegalEntry1.xml + test/java/util/Properties/invalidxml/IllegalKeyAttribute.xml + test/java/util/Properties/invalidxml/NoDocType.xml - test/java/util/Properties/invalidxml/NoDocType.xml.excluded + test/java/util/Properties/invalidxml/NoNamespaceSupport.xml From shanliang.jiang at oracle.com Mon Dec 24 06:08:55 2012 From: shanliang.jiang at oracle.com (shanliang) Date: Mon, 24 Dec 2012 15:08:55 +0100 Subject: JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50D302B1.7080203@oracle.com> References: <50D302B1.7080203@oracle.com> Message-ID: <50D861F7.80605@oracle.com> webrev: http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.00/ The test is correct, it was implemented to verify the fix for bug 4911721, but in addition it detects luckily another problem within the method ServerNotifForwarder.snoopOnUnregister The problem was that during a "for" cycle, the set list was modified by anther thread, the solution is to use a unmodifiable set. This fix is important, it not only re-enables a test, but also fixes a concurrent modification bug in the jmx notification. Shanliang From shanliang.jiang at oracle.com Mon Dec 24 06:43:13 2012 From: shanliang.jiang at oracle.com (shanliang) Date: Mon, 24 Dec 2012 15:43:13 +0100 Subject: jmx-dev [PATCH] JDK-7199324: IPv6 JMXConnectorServer.getConnectionIDs() return IDs contradicting address grammar In-Reply-To: <50D302B1.7080203@oracle.com> References: <50D302B1.7080203@oracle.com> Message-ID: <50D86A01.2060703@oracle.com> The fix looks OK for me, and I can be sponsor. If possible I think it is better to test the fix in an IPv6 machine. It is said that IPv6 is enabled by default on windows7 (http://pcuserinfo.com/how-to-enable-install-and-configure-ipv6-windows-7/), but need to be installed on XP. Look at the JMXServiceURL, it contains the address at which the connector server is found: //[host[:port]][url-path] we can specify a IPv6 host address here. For example ::1 equivalent to IPv4 127.0.0.1 But I never do it. Shanliang Jaroslav Bachorik wrote: > Looking for reviewers and a sponsor. > > Webrev is available at > http://cr.openjdk.java.net/~jbachorik/JDK-7199324/webrev.00 > > The issue is about the JMX client connection ID not being generated > accordingly to the specification when including an IPv6 address. The > specification states that in such case the address must be enclosed in > square brackets. The current implementation, however, returns the plain > numeric address, contradicting the specification. > > The fix simply checks for the presence of ":" character in the address > part of the connection ID and escapes the address if necessary. Since > the ":" can be present only in a numeric IPv6 address this check is > sufficient. > > The change to test just covers for checking proper escaping - I am not > sure how to force IPv6 to be used from the test; probably it is not > possible. The test will check the IPv6 address escaping when and only > when the system setup will cause the JMX client to connect over IPv6. > > Thanks, > > -JB- > From Alan.Bateman at oracle.com Mon Dec 24 08:06:41 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 24 Dec 2012 16:06:41 +0000 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50D861F7.80605@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> Message-ID: <50D87D91.9010607@oracle.com> On 24/12/2012 14:08, shanliang wrote: > webrev: http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.00/ > > The test is correct, it was implemented to verify the fix for bug > 4911721, but in addition it detects luckily another problem within the > method ServerNotifForwarder.snoopOnUnregister > > The problem was that during a "for" cycle, the set list was modified > by anther thread, the solution is to use a unmodifiable set. > > This fix is important, it not only re-enables a test, but also fixes a > concurrent modification bug in the jmx notification. > > Shanliang Are you sure this is right? I don't know this code but from a brief glance then it appears to me that all access to listenerMap requires first synchronizes on it and maybe you need to do this and then take a copy (not a unmodifiable view) of the delegate set before you iterate over it. Apologies if you looked at this in detail, it's just not clear to me how using an unmodifiable view fixes the problem if the issue is actually that other threads are modifying the set. -Alan From yumin.qi at oracle.com Mon Dec 24 13:59:57 2012 From: yumin.qi at oracle.com (yumin.qi at oracle.com) Date: Mon, 24 Dec 2012 21:59:57 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 40 new changesets Message-ID: <20121224220115.32DAD47391@hg.openjdk.java.net> Changeset: 442f942757c0 Author: johnc Date: 2012-10-01 09:28 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/442f942757c0 8000244: G1: Ergonomically set MarkStackSize and use virtual space for global marking stack Summary: Set the value of MarkStackSize to a value based on the number of parallel marking threads with a reasonable minimum. Expand the marking stack if we have to restart marking due to an overflow up to a reasonable maximum. Allocate the underlying space for the marking stack from virtual memory. Reviewed-by: jmasa, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/runtime/arguments.cpp Changeset: a14c5698a162 Author: johnc Date: 2012-12-07 16:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a14c5698a162 Merge Changeset: 2aa953165ade Author: brutisso Date: 2012-12-13 10:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2aa953165ade 8004661: Comment and function name java_lang_String::toHash is wrong Summary: renamed to hash_code Reviewed-by: dholmes, coleenp, brutisso Contributed-by: erik.helin at oracle.com ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/symbolTable.cpp Changeset: db8a7163c682 Author: stefank Date: 2012-12-13 09:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/db8a7163c682 8004674: Add necessary .inline.hpp files to fix non-PCH build Reviewed-by: stefank, coleenp Contributed-by: volker.simonis at gmail.com ! src/share/vm/gc_implementation/parallelScavenge/adjoiningVirtualSpaces.cpp ! src/share/vm/gc_implementation/shared/gcStats.cpp Changeset: 4459ef2189f5 Author: stefank Date: 2012-12-13 09:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4459ef2189f5 Merge Changeset: fd74228fd5ca Author: jiangli Date: 2012-12-11 12:41 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/fd74228fd5ca 8004076: Move _max_locals and _size_of_parameters to ConstMethod for better sharing. Summary: Move _max_locals and _size_of_parameters to ConstMethod for better sharing. Reviewed-by: coleenp, minqi, jrose ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/method.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 807f1d348f7b Author: collins Date: 2012-12-14 11:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/807f1d348f7b Merge Changeset: 8af7d22f1f8f Author: katleman Date: 2012-12-13 09:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8af7d22f1f8f Added tag jdk8-b68 for changeset 121aa71316af ! .hgtags Changeset: b6c9c0109a60 Author: amurillo Date: 2012-12-14 14:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b6c9c0109a60 Merge Changeset: cb8a4e04bc8c Author: amurillo Date: 2012-12-14 14:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/cb8a4e04bc8c Added tag hs25-b13 for changeset b6c9c0109a60 ! .hgtags Changeset: 1f323009c3ea Author: amurillo Date: 2012-12-14 14:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1f323009c3ea 8005036: new hotspot build - hs25-b14 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 594b9b2119ed Author: minqi Date: 2012-12-19 16:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/594b9b2119ed Merge Changeset: 0c535211ef13 Author: bharadwaj Date: 2012-12-07 18:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/0c535211ef13 8004668: Build failure for Zero target Summary: fixed build failure for Zero target Reviewed-by: twisti, kvn ! src/cpu/zero/vm/assembler_zero.cpp Changeset: a70c88896791 Author: kvn Date: 2012-12-13 17:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a70c88896791 8004713: Stackoverflowerror thrown when thread stack straddles 0x80000000 Summary: use unsigned comparison when checking for stack overflow Reviewed-by: kvn, twisti Contributed-by: paul.nauman at oracle.com ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp Changeset: 1b1e16471e46 Author: stefank Date: 2012-12-12 22:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1b1e16471e46 8005002: Crash because of a raw oop in ClassLoaderData::add_dependency Summary: Move the handelization of 'last' to a point before the GC might enter. Reviewed-by: dholmes, sspitsyn, coleenp ! src/share/vm/classfile/classLoaderData.cpp Changeset: 5c0931d15474 Author: twisti Date: 2012-12-14 12:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5c0931d15474 8003238: JSR 292: intermittent exception failure with java/lang/invoke/CallSiteTest.java Reviewed-by: jrose, kvn ! src/share/vm/prims/methodHandles.cpp Changeset: 3c433d080bae Author: twisti Date: 2012-12-14 12:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3c433d080bae Merge Changeset: 18d56ca3e901 Author: twisti Date: 2012-12-17 11:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/18d56ca3e901 8004548: remove unused AbstractAssembler::print(Label&) Reviewed-by: kvn, twisti Contributed-by: Bharadwaj Yadavalli ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/assembler_zero.hpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp Changeset: ad5dd04754ee Author: roland Date: 2012-12-18 14:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ad5dd04754ee 8005031: Some cleanup in c2 to prepare for incremental inlining support Summary: collection of small changes to prepare for incremental inlining. Reviewed-by: twisti, kvn ! src/share/vm/ci/ciField.cpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callGenerator.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/stringopts.cpp Changeset: eb409f2f146e Author: vlivanov Date: 2012-12-18 06:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/eb409f2f146e 8003135: HotSpot inlines and hoists the Thread.currentThread().isInterrupted() out of the loop Summary: Make the load of TLS._osthread._interrupted flag in Thread.isInterrupted(Z)Z intrinsic effectively volatile. Reviewed-by: kvn, jrose ! src/share/vm/opto/library_call.cpp Changeset: 620e502e3f47 Author: vlivanov Date: 2012-12-18 08:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/620e502e3f47 Merge ! src/share/vm/opto/library_call.cpp Changeset: c4bd2eccea46 Author: twisti Date: 2012-12-18 10:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c4bd2eccea46 8004536: replace AbstractAssembler emit_word with emit_int16 Reviewed-by: jrose, kvn, twisti Contributed-by: Morris Meyer ! src/cpu/x86/vm/assembler_x86.cpp ! src/share/vm/asm/assembler.hpp Changeset: 1e41b0bc58a0 Author: kvn Date: 2012-12-18 17:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1e41b0bc58a0 8004318: JEP-171: Support Unsafe fences intrinsics Summary: Add three memory-ordering intrinsics to the sun.misc.Unsafe class. Reviewed-by: twisti, kvn Contributed-by: Aleksey Shipilev ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/unsafe.cpp Changeset: 65c8342f726a Author: twisti Date: 2012-12-19 14:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/65c8342f726a 8005033: clear high word for integer pop count on SPARC Reviewed-by: kvn, twisti Contributed-by: Richard Reingruber ! src/cpu/sparc/vm/sparc.ad + test/compiler/8005033/Test8005033.java Changeset: 2c7f594145dc Author: kvn Date: 2012-12-19 15:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2c7f594145dc 8004835: Improve AES intrinsics on x86 Summary: Enable AES intrinsics on non-AVX cpus, group together aes instructions in crypto stubs. Reviewed-by: roland, twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! test/compiler/7184394/TestAESBase.java ! test/compiler/7184394/TestAESMain.java Changeset: 2d6c433b1f38 Author: kvn Date: 2012-12-19 19:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2d6c433b1f38 8004741: Missing compiled exception handle table entry for multidimensional array allocation Summary: Added missing exception path for multidimensional array allocation and use Throwable type instead of OutOfMemoryError for allocation's exception. Reviewed-by: twisti ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp + test/compiler/8004741/Test8004741.java Changeset: a46457045d66 Author: kvn Date: 2012-12-20 14:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a46457045d66 8004330: Add missing Unsafe entry points for addAndGet() family Summary: Fix java names for getAndSet intrinsics Reviewed-by: kvn Contributed-by: aleksey.shipilev at oracle.com ! src/share/vm/classfile/vmSymbols.hpp Changeset: d02120b7a34f Author: twisti Date: 2012-12-20 18:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d02120b7a34f 8004250: replace AbstractAssembler a_byte/a_long with emit_int8/emit_int32 Reviewed-by: jrose, kvn, twisti Contributed-by: Morris Meyer ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp ! src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp Changeset: c52660592f37 Author: roland Date: 2012-12-21 01:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c52660592f37 Merge ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/opto/library_call.cpp Changeset: 0b3d19153cc6 Author: johnc Date: 2012-12-12 12:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/0b3d19153cc6 8001028: Improve GC option handling Summary: If there are not enough native resources to create the ReferenceHandler or Finalizer Java threads, the VM will attempt to throw an OOME before the java.lang.Class class has been initialized. This can result in assertion failures and other crashes. Move the initialization of the java.lang.Class class to just before the initialization of the java.lang.ref.Finalizer class. Reviewed-by: jwilhelm, dholmes, coleenp ! src/share/vm/runtime/thread.cpp Changeset: 730cc4ddd550 Author: brutisso Date: 2012-12-17 08:49 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/730cc4ddd550 7173959: Jvm crashed during coherence exabus (tmb) testing Summary: Mapping of aligned memory needs to be MT safe. Also reviewed by: vitalyd at gmail.com Reviewed-by: dholmes, coleenp, zgu ! src/os/posix/vm/os_posix.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/virtualspace.cpp Changeset: 32164d89fe9c Author: brutisso Date: 2012-12-17 15:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/32164d89fe9c 8004845: Catch incorrect usage of new and delete during compile time for value objects and stack objects Summary: Makes the "new" and "delete" operator of _ValueObj and StackObj private Reviewed-by: dholmes, coleenp Contributed-by: erik.helin at oracle.com ! src/share/vm/memory/allocation.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/services/memBaseline.hpp ! src/share/vm/utilities/workgroup.hpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: c71879335291 Author: stefank Date: 2012-12-18 10:40 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c71879335291 8005108: NPG: MetaspaceAux::used_in_bytes(), capacity_in_bytes() and reserved_in_bytes() return inconsistent numbers Summary: Reverted the changes to these functions from JDK-8000662 Reviewed-by: brutisso, jmasa ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp Changeset: 345bd97a77be Author: brutisso Date: 2012-12-20 05:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/345bd97a77be 8004691: Add a jtreg test that exercises the ExecuteInternalVMTests flag Reviewed-by: stefank, brutisso, kvn, ctornqvi Contributed-by: erik.helin at oracle.com + test/sanity/ExecuteInternalVMTests.java Changeset: 69627aa9ab10 Author: jwilhelm Date: 2012-12-21 16:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/69627aa9ab10 Merge ! src/share/vm/runtime/thread.cpp Changeset: 8b4810c80f5d Author: katleman Date: 2012-12-20 09:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8b4810c80f5d Added tag jdk8-b69 for changeset cb8a4e04bc8c ! .hgtags Changeset: 990bbd393c23 Author: amurillo Date: 2012-12-21 10:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/990bbd393c23 Merge Changeset: 6a1fc440b396 Author: amurillo Date: 2012-12-21 10:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/6a1fc440b396 Added tag hs25-b14 for changeset 990bbd393c23 ! .hgtags Changeset: cd962e15c08e Author: amurillo Date: 2012-12-21 10:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/cd962e15c08e 8005382: new hotspot build - hs25-b15 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 4daebd4cc1dd Author: minqi Date: 2012-12-24 11:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4daebd4cc1dd Merge ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/method.hpp ! src/share/vm/runtime/arguments.cpp From bhavesh.x.patel at oracle.com Tue Dec 25 17:27:38 2012 From: bhavesh.x.patel at oracle.com (bhavesh.x.patel at oracle.com) Date: Wed, 26 Dec 2012 01:27:38 +0000 Subject: hg: jdk8/tl/langtools: 8004893: the javadoc/doclet needs to be updated to accommodate lambda changes Message-ID: <20121226012742.E24CF4739F@hg.openjdk.java.net> Changeset: 690c41cdab55 Author: bpatel Date: 2012-12-25 17:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/690c41cdab55 8004893: the javadoc/doclet needs to be updated to accommodate lambda changes Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodTypes.java ! test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java + test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java + test/com/sun/javadoc/testLambdaFeature/pkg/A.java + test/com/sun/javadoc/testLambdaFeature/pkg/B.java ! test/com/sun/javadoc/testMethodTypes/TestMethodTypes.java From shanliang.jiang at oracle.com Wed Dec 26 07:07:03 2012 From: shanliang.jiang at oracle.com (shanliang) Date: Wed, 26 Dec 2012 16:07:03 +0100 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50D87D91.9010607@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> <50D87D91.9010607@oracle.com> Message-ID: <50DB1297.7020807@oracle.com> Yes should use a cop[y, it is a mistake to use a unmodifiable view. Here is the new webrev: http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.02/ I have added a new test to reproduce the bug in an almost sure way. Thanks, Shanliang Alan Bateman wrote: > On 24/12/2012 14:08, shanliang wrote: >> webrev: http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.00/ >> >> The test is correct, it was implemented to verify the fix for bug >> 4911721, but in addition it detects luckily another problem within >> the method ServerNotifForwarder.snoopOnUnregister >> >> The problem was that during a "for" cycle, the set list was modified >> by anther thread, the solution is to use a unmodifiable set. >> >> This fix is important, it not only re-enables a test, but also fixes >> a concurrent modification bug in the jmx notification. >> >> Shanliang > Are you sure this is right? I don't know this code but from a brief > glance then it appears to me that all access to listenerMap requires > first synchronizes on it and maybe you need to do this and then take a > copy (not a unmodifiable view) of the delegate set before you iterate > over it. Apologies if you looked at this in detail, it's just not > clear to me how using an unmodifiable view fixes the problem if the > issue is actually that other threads are modifying the set. > > -Alan From sean.mullan at oracle.com Wed Dec 26 07:44:59 2012 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Wed, 26 Dec 2012 15:44:59 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20121226154556.058FC473A9@hg.openjdk.java.net> Changeset: 4d28776d7007 Author: mullan Date: 2012-12-26 10:07 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4d28776d7007 8005117: Eliminate dependency from ConfigSpiFile to com.sun.security.auth.login.ConfigFile Reviewed-by: alanb, mchung, weijun ! src/share/classes/com/sun/security/auth/login/ConfigFile.java ! src/share/classes/sun/security/provider/ConfigSpiFile.java Changeset: d9cab18f326a Author: mullan Date: 2012-12-26 10:08 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d9cab18f326a Merge - make/jdk/asm/Makefile From john.zavgren at oracle.com Wed Dec 26 11:56:13 2012 From: john.zavgren at oracle.com (John Zavgren) Date: Wed, 26 Dec 2012 14:56:13 -0500 Subject: RFR JDK-8005120 In-Reply-To: <6742fde2-c599-4f61-a294-5671e55f2377@default> References: <6742fde2-c599-4f61-a294-5671e55f2377@default> Message-ID: <50DB565D.4000904@oracle.com> Greetings: I modified the windows code so that it uses socklen_t to specify the lengths of data structures, parameter lengths, etc. instead of ints (which can be negative.) http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.02/ Thanks! John Zavgren On 12/20/2012 05:47 PM, John Zavgren wrote: > Greetings: > > I modified my changes so that windows knows the definition of the POSIX data type: socklen_t, and now all the system calls are using the "doctrinaire" data types. > > Please consider the following update. > > http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.01/ > > Thanks! > John Zavgren > > > > On 20/12/2012 13:49, John Zavgren wrote: >> Greetings: >> >> I agree that the "correct" way to fix this problem is to use POSIX data types, e.g., socklen_t. However, when I switch to the doctrinaire data type, the build fails on windows machines: >> ------------- build monologue ----- >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2146: syntax error : missing ')' before identifier 'len' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2081: 'socklen_t' : name in formal parameter list illegal >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2061: syntax error : identifier 'len' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ';' >> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) : error C2059: syntax error : ')' >> .... >> ------------- build monologue ----- >> >> I used alternative types, e.g., uint32_t, etc. as a way to avoid the limitations of windows. >> What is the recommended way to accommodate this windows limitation? Shall I use a typedef statement to define "socklen_t"? > We don't suffer from this issue in the networking native code. The unix > and windows implementations are distinct. > > I see the vm defines socklen_t in a windows specific header, > hotspot/src/os/windows/vm/jvm_windows.h, as > typedef int socklen_t; > > ...and it is then used in shared code, like jvm.cpp, and the hpi, by > optionally including > > #ifdef TARGET_OS_FAMILY_windows > # include "jvm_windows.h" > #endif > > We could use a similar, but more simplistic, approach here. > > -Chris. > >> Thanks! >> >> >> ----- Original Message ----- >> From: chris.hegarty at oracle.com >> To: david.holmes at oracle.com >> Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, john.zavgren at oracle.com, net-dev at openjdk.java.net >> Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada Eastern >> Subject: Re: RFR JDK-8005120 >> >> On 19/12/2012 20:52, David Holmes wrote: >>> Real sense of deja-vu here. Didn't we go through this same thing with >>> the HPI socket routines? >> Yes, and the networking native code too. >> >> I think it is best to use socklen_t for the unix code. From what I can >> see making these changes, to use socklen_t, should be relatively localized. >> >> -Chris. >> >>> Depending on the OS (and version?) we should be using socklen_t not int >>> and not uint32_t. >>> >>> David >>> >>> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>>> John, >>>> >>>> I grabbed your patch, and with it I now see different warnings. >>>> >>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>> 'socketTransport_startListening': >>>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>>> warning: pointer targets in passing argument 3 of 'dbgsysGetSocketName' >>>> differ in signedness [-Wpointer-sign] >>>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: expected >>>> 'uint32_t *' but argument is of type 'int *' >>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>> 'socketTransport_accept': >>>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' differ >>>> in signedness [-Wpointer-sign] >>>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: expected >>>> 'uint32_t *' but argument is of type 'int *' >>>> >>>> Do you see these in your build? >>>> >>>> -Chris. >>>> >>>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>>> John - this is the debugger socket transport so cc'ing the >>>>> serviceability-dev list as that is where this code is maintained. >>>>> >>>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>>> Greetings: >>>>>> Please consider the following change to the two files: >>>>>> src/share/transport/socket/sysSocket.h >>>>>> src/solaris/transport/socket/socket_md.c >>>>>> that eliminate compiler warnings that stem from the fact that the >>>>>> variables that the native code passes to various system calls were not >>>>>> declared correctly. They were declared as integers, but they must be >>>>>> "unsigned" integers because they are used to define buffer lengths. >>>>>> Were one to supply a negative value as an argument, it would be cast >>>>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>>>> call error. >>>>>> >>>>>> Thanks! >>>>>> John Zavgren >>>>>> >>>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ -- John Zavgren john.zavgren at oracle.com 603-821-0904 US-Burlington-MA From Alan.Bateman at oracle.com Wed Dec 26 13:14:57 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 26 Dec 2012 21:14:57 +0000 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50DB1297.7020807@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> <50D87D91.9010607@oracle.com> <50DB1297.7020807@oracle.com> Message-ID: <50DB68D1.2040704@oracle.com> On 26/12/2012 15:07, shanliang wrote: > Yes should use a cop[y, it is a mistake to use a unmodifiable view. > > Here is the new webrev: > http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.02/ > > I have added a new test to reproduce the bug in an almost sure way. > > Thanks, > > Shanliang Thanks for the update, the synchronization and copy looks right to me. An alternative you be "if (delegateSet == null || delegateSet.isEmpty()) return; " which might be a bit cleaner. I didn't study the new test very closely but I assume you should only catch MalformedURLException at line 122 rather than Exception. As it's a new test then I assume it should have 2012 as the date. You can probably remove the @run as the defaults (compile + run) is right for this test. -Alan From chris.hegarty at oracle.com Wed Dec 26 14:56:00 2012 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 26 Dec 2012 22:56:00 +0000 Subject: RFR JDK-8005120 In-Reply-To: <50DB565D.4000904@oracle.com> References: <6742fde2-c599-4f61-a294-5671e55f2377@default> <50DB565D.4000904@oracle.com> Message-ID: <50DB8080.7020306@oracle.com> Looks much better, The definition of dbgsysFinishConnect has changed, the second param is now an int, so the windows version of this method should be updated to reflect this. Similarly, the other method definitions that take a socklen_t, dbgsysRecv and dbgsysSend, should reflect the change. I can sponsor this change for you. -Chris. On 26/12/2012 19:56, John Zavgren wrote: > Greetings: > I modified the windows code so that it uses socklen_t to specify the > lengths of data structures, parameter lengths, etc. instead of ints > (which can be negative.) > > http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.02/ > > Thanks! > John Zavgren > > On 12/20/2012 05:47 PM, John Zavgren wrote: >> Greetings: >> >> I modified my changes so that windows knows the definition of the >> POSIX data type: socklen_t, and now all the system calls are using the >> "doctrinaire" data types. >> >> Please consider the following update. >> >> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.01/ >> >> Thanks! >> John Zavgren >> >> >> >> On 20/12/2012 13:49, John Zavgren wrote: >>> Greetings: >>> >>> I agree that the "correct" way to fix this problem is to use POSIX >>> data types, e.g., socklen_t. However, when I switch to the >>> doctrinaire data type, the build fails on windows machines: >>> ------------- build monologue ----- >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2146: syntax error : missing ')' before identifier 'len' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2081: 'socklen_t' : name in formal parameter list illegal >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2061: syntax error : identifier 'len' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2059: syntax error : ';' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2059: syntax error : ')' >>> .... >>> ------------- build monologue ----- >>> >>> I used alternative types, e.g., uint32_t, etc. as a way to avoid the >>> limitations of windows. >>> What is the recommended way to accommodate this windows limitation? >>> Shall I use a typedef statement to define "socklen_t"? >> We don't suffer from this issue in the networking native code. The unix >> and windows implementations are distinct. >> >> I see the vm defines socklen_t in a windows specific header, >> hotspot/src/os/windows/vm/jvm_windows.h, as >> typedef int socklen_t; >> >> ...and it is then used in shared code, like jvm.cpp, and the hpi, by >> optionally including >> >> #ifdef TARGET_OS_FAMILY_windows >> # include "jvm_windows.h" >> #endif >> >> We could use a similar, but more simplistic, approach here. >> >> -Chris. >> >>> Thanks! >>> >>> >>> ----- Original Message ----- >>> From: chris.hegarty at oracle.com >>> To: david.holmes at oracle.com >>> Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, >>> john.zavgren at oracle.com, net-dev at openjdk.java.net >>> Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada >>> Eastern >>> Subject: Re: RFR JDK-8005120 >>> >>> On 19/12/2012 20:52, David Holmes wrote: >>>> Real sense of deja-vu here. Didn't we go through this same thing with >>>> the HPI socket routines? >>> Yes, and the networking native code too. >>> >>> I think it is best to use socklen_t for the unix code. From what I can >>> see making these changes, to use socklen_t, should be relatively >>> localized. >>> >>> -Chris. >>> >>>> Depending on the OS (and version?) we should be using socklen_t not int >>>> and not uint32_t. >>>> >>>> David >>>> >>>> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>>>> John, >>>>> >>>>> I grabbed your patch, and with it I now see different warnings. >>>>> >>>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>>> 'socketTransport_startListening': >>>>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>>>> warning: pointer targets in passing argument 3 of >>>>> 'dbgsysGetSocketName' >>>>> differ in signedness [-Wpointer-sign] >>>>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: >>>>> expected >>>>> 'uint32_t *' but argument is of type 'int *' >>>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>>> 'socketTransport_accept': >>>>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>>>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' >>>>> differ >>>>> in signedness [-Wpointer-sign] >>>>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: >>>>> expected >>>>> 'uint32_t *' but argument is of type 'int *' >>>>> >>>>> Do you see these in your build? >>>>> >>>>> -Chris. >>>>> >>>>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>>>> John - this is the debugger socket transport so cc'ing the >>>>>> serviceability-dev list as that is where this code is maintained. >>>>>> >>>>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>>>> Greetings: >>>>>>> Please consider the following change to the two files: >>>>>>> src/share/transport/socket/sysSocket.h >>>>>>> src/solaris/transport/socket/socket_md.c >>>>>>> that eliminate compiler warnings that stem from the fact that the >>>>>>> variables that the native code passes to various system calls >>>>>>> were not >>>>>>> declared correctly. They were declared as integers, but they must be >>>>>>> "unsigned" integers because they are used to define buffer lengths. >>>>>>> Were one to supply a negative value as an argument, it would be cast >>>>>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>>>>> call error. >>>>>>> >>>>>>> Thanks! >>>>>>> John Zavgren >>>>>>> >>>>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ > > From shanliang.jiang at oracle.com Thu Dec 27 03:33:51 2012 From: shanliang.jiang at oracle.com (shanliang) Date: Thu, 27 Dec 2012 12:33:51 +0100 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50DB68D1.2040704@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> <50D87D91.9010607@oracle.com> <50DB1297.7020807@oracle.com> <50DB68D1.2040704@oracle.com> Message-ID: <50DC321F.2070500@oracle.com> Thanks for all comments, here is the new webrev: http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.03/ Indeed, no need to have @run for the test. Shanliang Alan Bateman wrote: > On 26/12/2012 15:07, shanliang wrote: >> Yes should use a cop[y, it is a mistake to use a unmodifiable view. >> >> Here is the new webrev: >> http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.02/ >> >> I have added a new test to reproduce the bug in an almost sure way. >> >> Thanks, >> >> Shanliang > Thanks for the update, the synchronization and copy looks right to me. > An alternative you be "if (delegateSet == null || > delegateSet.isEmpty()) return; " which might be a bit cleaner. > > I didn't study the new test very closely but I assume you should only > catch MalformedURLException at line 122 rather than Exception. As it's > a new test then I assume it should have 2012 as the date. You can > probably remove the @run as the defaults (compile + run) is right for > this test. > > -Alan From dmitry.samersoff at oracle.com Thu Dec 27 07:48:09 2012 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Thu, 27 Dec 2012 19:48:09 +0400 Subject: RFR JDK-8005120 In-Reply-To: <50DB565D.4000904@oracle.com> References: <6742fde2-c599-4f61-a294-5671e55f2377@default> <50DB565D.4000904@oracle.com> Message-ID: <50DC6DB9.4070408@oracle.com> John, socket_md.c:88 (and other similar places) socklen_t nBytes should be size_t nbytes Otherwise looks good for me. -Dmitry On 2012-12-26 23:56, John Zavgren wrote: > Greetings: > I modified the windows code so that it uses socklen_t to specify the > lengths of data structures, parameter lengths, etc. instead of ints > (which can be negative.) > > http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.02/ > > Thanks! > John Zavgren > > On 12/20/2012 05:47 PM, John Zavgren wrote: >> Greetings: >> >> I modified my changes so that windows knows the definition of the >> POSIX data type: socklen_t, and now all the system calls are using the >> "doctrinaire" data types. >> >> Please consider the following update. >> >> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.01/ >> >> Thanks! >> John Zavgren >> >> >> >> On 20/12/2012 13:49, John Zavgren wrote: >>> Greetings: >>> >>> I agree that the "correct" way to fix this problem is to use POSIX >>> data types, e.g., socklen_t. However, when I switch to the >>> doctrinaire data type, the build fails on windows machines: >>> ------------- build monologue ----- >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2146: syntax error : missing ')' before identifier 'len' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2081: 'socklen_t' : name in formal parameter list illegal >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2061: syntax error : identifier 'len' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2059: syntax error : ';' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2059: syntax error : ')' >>> .... >>> ------------- build monologue ----- >>> >>> I used alternative types, e.g., uint32_t, etc. as a way to avoid the >>> limitations of windows. >>> What is the recommended way to accommodate this windows limitation? >>> Shall I use a typedef statement to define "socklen_t"? >> We don't suffer from this issue in the networking native code. The unix >> and windows implementations are distinct. >> >> I see the vm defines socklen_t in a windows specific header, >> hotspot/src/os/windows/vm/jvm_windows.h, as >> typedef int socklen_t; >> >> ...and it is then used in shared code, like jvm.cpp, and the hpi, by >> optionally including >> >> #ifdef TARGET_OS_FAMILY_windows >> # include "jvm_windows.h" >> #endif >> >> We could use a similar, but more simplistic, approach here. >> >> -Chris. >> >>> Thanks! >>> >>> >>> ----- Original Message ----- >>> From: chris.hegarty at oracle.com >>> To: david.holmes at oracle.com >>> Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, >>> john.zavgren at oracle.com, net-dev at openjdk.java.net >>> Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada >>> Eastern >>> Subject: Re: RFR JDK-8005120 >>> >>> On 19/12/2012 20:52, David Holmes wrote: >>>> Real sense of deja-vu here. Didn't we go through this same thing with >>>> the HPI socket routines? >>> Yes, and the networking native code too. >>> >>> I think it is best to use socklen_t for the unix code. From what I can >>> see making these changes, to use socklen_t, should be relatively >>> localized. >>> >>> -Chris. >>> >>>> Depending on the OS (and version?) we should be using socklen_t not int >>>> and not uint32_t. >>>> >>>> David >>>> >>>> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>>>> John, >>>>> >>>>> I grabbed your patch, and with it I now see different warnings. >>>>> >>>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>>> 'socketTransport_startListening': >>>>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>>>> warning: pointer targets in passing argument 3 of >>>>> 'dbgsysGetSocketName' >>>>> differ in signedness [-Wpointer-sign] >>>>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: >>>>> expected >>>>> 'uint32_t *' but argument is of type 'int *' >>>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>>> 'socketTransport_accept': >>>>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>>>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' >>>>> differ >>>>> in signedness [-Wpointer-sign] >>>>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: >>>>> expected >>>>> 'uint32_t *' but argument is of type 'int *' >>>>> >>>>> Do you see these in your build? >>>>> >>>>> -Chris. >>>>> >>>>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>>>> John - this is the debugger socket transport so cc'ing the >>>>>> serviceability-dev list as that is where this code is maintained. >>>>>> >>>>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>>>> Greetings: >>>>>>> Please consider the following change to the two files: >>>>>>> src/share/transport/socket/sysSocket.h >>>>>>> src/solaris/transport/socket/socket_md.c >>>>>>> that eliminate compiler warnings that stem from the fact that the >>>>>>> variables that the native code passes to various system calls >>>>>>> were not >>>>>>> declared correctly. They were declared as integers, but they must be >>>>>>> "unsigned" integers because they are used to define buffer lengths. >>>>>>> Were one to supply a negative value as an argument, it would be cast >>>>>>> into an unsigned "Martian" value and there'd be (hopefully) a system >>>>>>> call error. >>>>>>> >>>>>>> Thanks! >>>>>>> John Zavgren >>>>>>> >>>>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ > > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From Alan.Bateman at oracle.com Thu Dec 27 07:55:25 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 27 Dec 2012 15:55:25 +0000 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50DC321F.2070500@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> <50D87D91.9010607@oracle.com> <50DB1297.7020807@oracle.com> <50DB68D1.2040704@oracle.com> <50DC321F.2070500@oracle.com> Message-ID: <50DC6F6D.5060001@oracle.com> On 27/12/2012 11:33, shanliang wrote: > Thanks for all comments, here is the new webrev: > http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.03/ > > Indeed, no need to have @run for the test. > > Shanliang Thanks, it looks okay to me now. -Alan From stuart.marks at oracle.com Thu Dec 27 10:19:10 2012 From: stuart.marks at oracle.com (Stuart Marks) Date: Thu, 27 Dec 2012 10:19:10 -0800 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50DC321F.2070500@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> <50D87D91.9010607@oracle.com> <50DB1297.7020807@oracle.com> <50DB68D1.2040704@oracle.com> <50DC321F.2070500@oracle.com> Message-ID: <50DC911E.1010100@oracle.com> I hate to contradict Alan on this.... It's true that one can omit the @run tag and single-file tests like this one will get built and run by default. My advice, however, is to use the @run tag even when one isn't strictly required. The reason has to do with jtreg's rules of when it decides to behave as if an @run tag were present, and perhaps more pertinently, when it does NOT. Here's an example. Suppose we have a test that has these tags in a file named MyTest.java: @test @bug 1234567 @summary My simple test. @author Fred Since there are no @run tags, jtreg will implicitly act as if "@run main MyTest" were present. OK so far. Now suppose we modify the test to use a helper class of some sort. We'd need to add an @build tag to ensure this class is built: @test @bug 1234567 @summary My simple test. @author Fred @build Helper The problem here is that "@build Helper" is an abbreviation for "@run build Helper". Since there is now an @run tag present, the implicit "@run main MyTest" behavior no longer occurs, so the test doesn't actually get run! Worse, if you ask jtreg to run the test, it will happily build the Helper and MyTest classes and declare that the test has passed, without actually having run anything!! You have to inspect the test output fairly carefully in order to discover this. This kind of problem is hard to spot. In the JDK regression suite, we've had tests in this state for long periods of time where they would "pass" regularly but nobody noticed that the test wasn't actually running. So, I'd suggest that you add a @run tag anyway if you get a chance before you push the changeset. s'marks On 12/27/12 3:33 AM, shanliang wrote: > Thanks for all comments, here is the new webrev: > http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.03/ > > Indeed, no need to have @run for the test. > > Shanliang > > Alan Bateman wrote: >> You can probably remove the >> @run as the defaults (compile + run) is right for this test. >> >> -Alan > From chris.hegarty at oracle.com Thu Dec 27 13:59:01 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 27 Dec 2012 21:59:01 +0000 Subject: hg: jdk8/tl/jdk: 8003981: Support Parallel Array Sorting - JEP 103 Message-ID: <20121227215929.084D9473DE@hg.openjdk.java.net> Changeset: 9d984ccd17fc Author: chegar Date: 2012-12-27 21:55 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9d984ccd17fc 8003981: Support Parallel Array Sorting - JEP 103 Reviewed-by: chegar, forax, dholmes, dl Contributed-by: david.holmes at oracle.com, dl at cs.oswego.edu, chris.hegarty at oracle.com ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/Arrays.java + src/share/classes/java/util/ArraysParallelSortHelpers.java + test/java/util/Arrays/ParallelSorting.java From Alan.Bateman at oracle.com Thu Dec 27 14:31:16 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 27 Dec 2012 22:31:16 +0000 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50DC911E.1010100@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> <50D87D91.9010607@oracle.com> <50DB1297.7020807@oracle.com> <50DB68D1.2040704@oracle.com> <50DC321F.2070500@oracle.com> <50DC911E.1010100@oracle.com> Message-ID: <50DCCC34.9080800@oracle.com> On 27/12/2012 18:19, Stuart Marks wrote: > I hate to contradict Alan on this.... > > It's true that one can omit the @run tag and single-file tests like > this one will get built and run by default. My advice, however, is to > use the @run tag even when one isn't strictly required. My comment was on the 3 x @run tags, the "@run clean" appeared odd. In any case, I agree that for anything other than single-class tests then it's really important to be explicit on the classes to compile. For single-class tests then I personally just keep it simple as jtreg will do the right thing once you add @test. -Alan From huizhe.wang at oracle.com Thu Dec 27 18:21:11 2012 From: huizhe.wang at oracle.com (huizhe.wang at oracle.com) Date: Fri, 28 Dec 2012 02:21:11 +0000 Subject: hg: jdk8/tl/jaxp: 8005473: Warnings compiling jaxp Message-ID: <20121228022116.28F0A473F1@hg.openjdk.java.net> Changeset: d4aea0225e80 Author: joehw Date: 2012-12-27 18:17 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/d4aea0225e80 8005473: Warnings compiling jaxp Summary: clean up compiling warnings. Reviewed-by: weijun, chegar, forax ! src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java ! src/javax/xml/transform/FactoryFinder.java ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactoryFinder.java From stuart.marks at oracle.com Thu Dec 27 19:22:12 2012 From: stuart.marks at oracle.com (Stuart Marks) Date: Thu, 27 Dec 2012 19:22:12 -0800 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50DCCC34.9080800@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> <50D87D91.9010607@oracle.com> <50DB1297.7020807@oracle.com> <50DB68D1.2040704@oracle.com> <50DC321F.2070500@oracle.com> <50DC911E.1010100@oracle.com> <50DCCC34.9080800@oracle.com> Message-ID: <50DD1064.9050100@oracle.com> On 12/27/12 2:31 PM, Alan Bateman wrote: > On 27/12/2012 18:19, Stuart Marks wrote: >> It's true that one can omit the @run tag and single-file tests like this one >> will get built and run by default. My advice, however, is to use the @run tag >> even when one isn't strictly required. > My comment was on the 3 x @run tags, the "@run clean" appeared odd. In any > case, I agree that for anything other than single-class tests then it's really > important to be explicit on the classes to compile. For single-class tests then > I personally just keep it simple as jtreg will do the right thing once you add > @test. I agree that all three @run tags were unnecessary. From webrev.02: 29 * @run clean ConcurrentModificationTest 30 * @run build ConcurrentModificationTest 31 * @run main ConcurrentModificationTest I'd suggest that lines 29 and 30 be removed, leaving only the "@run main" from line 31. But in webrev.03 they've all been removed. The test will run and work fine, until somebody adds an @build tag (or other similar tag), which will cause the test to build but not run, but it will still be reported as passing. This has happened before, and it'll happen again. Alan, you've fixed a bunch of tests that were missing @run tags at least twice in the past [1], [2]. I observe that this recent changeset [3] removed an @run tag that was necessary to run the test. It's not quite the same pathology, but it demonstrates that it's pretty easy to get the jtreg tags wrong. Sorry Shanliang, I'm using your changeset as a springboard for this discussion of jtreg tag style. I really do recommend that each test include an explicit @run tag, since the tags are so easy to get wrong. s'marks [1] http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/d5ee8b871362 [2] http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/6d934b1d9dd5 [3] http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/775b0050144a From masayoshi.okutsu at oracle.com Thu Dec 27 21:35:06 2012 From: masayoshi.okutsu at oracle.com (masayoshi.okutsu at oracle.com) Date: Fri, 28 Dec 2012 05:35:06 +0000 Subject: hg: jdk8/tl/jdk: 8005471: DateFormat: Time zone info is not localized when adapter is CLDR Message-ID: <20121228053527.266194740C@hg.openjdk.java.net> Changeset: 4ad38db38fff Author: okutsu Date: 2012-12-28 14:13 +0900 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4ad38db38fff 8005471: DateFormat: Time zone info is not localized when adapter is CLDR Reviewed-by: peytoia ! src/share/classes/sun/util/resources/TimeZoneNamesBundle.java + test/java/util/TimeZone/CLDRDisplayNamesTest.java From john.coomes at oracle.com Thu Dec 27 21:48:26 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Dec 2012 05:48:26 +0000 Subject: hg: hsx/hotspot-rt: 10 new changesets Message-ID: <20121228054827.1336F4740F@hg.openjdk.java.net> Changeset: fb1bf5e5bc9e Author: henryjen Date: 2012-12-06 15:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/fb1bf5e5bc9e 8004685: add java.util.function to CORE_PKGS.gmk Reviewed-by: mduigou ! common/makefiles/javadoc/CORE_PKGS.gmk Changeset: e08b0096058f Author: lana Date: 2012-12-14 11:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/e08b0096058f Merge Changeset: 8e36a0fabf58 Author: ohrstrom Date: 2012-12-18 09:57 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/8e36a0fabf58 8004145: New improved hgforest.sh, ctrl-c now properly terminates mercurial processes. Reviewed-by: ohair, erikj + common/bin/hgforest.sh ! get_source.sh Changeset: 51d3b65b8093 Author: erikj Date: 2012-12-18 17:54 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/51d3b65b8093 8001901: build-infra: Fix "misbehaving" which command on Solaris Summary: Removed all uses of which in configure on solaris. Reviewed-by: ohair ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: 6ee8080a6efe Author: katleman Date: 2012-12-19 13:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6ee8080a6efe Merge Changeset: 32148e971ac8 Author: katleman Date: 2012-12-20 09:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/32148e971ac8 Added tag jdk8-b69 for changeset 6ee8080a6efe ! .hgtags Changeset: 6b93e7a4401d Author: dholmes Date: 2012-12-20 01:44 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6b93e7a4401d 7190137: Add support for JVM_VARIANT minimal1 Summary: Allow configuration of minimal1 as a target VM along with client and server Reviewed-by: ohair, erikj ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: cd06b2ea58dd Author: katleman Date: 2012-12-20 16:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/cd06b2ea58dd 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! common/makefiles/RMICompilation.gmk Changeset: 105a25ffa4a4 Author: katleman Date: 2012-12-26 14:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/105a25ffa4a4 Merge Changeset: 3fb32a5a2388 Author: katleman Date: 2012-12-27 12:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/3fb32a5a2388 Added tag jdk8-b70 for changeset 105a25ffa4a4 ! .hgtags From john.coomes at oracle.com Thu Dec 27 21:48:31 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Dec 2012 05:48:31 +0000 Subject: hg: hsx/hotspot-rt/corba: 2 new changesets Message-ID: <20121228054834.6277147410@hg.openjdk.java.net> Changeset: 603cceb495c8 Author: katleman Date: 2012-12-20 09:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/603cceb495c8 Added tag jdk8-b69 for changeset 22ddcac208a8 ! .hgtags Changeset: 8171d23e914d Author: katleman Date: 2012-12-27 12:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/8171d23e914d Added tag jdk8-b70 for changeset 603cceb495c8 ! .hgtags From john.coomes at oracle.com Thu Dec 27 21:48:39 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Dec 2012 05:48:39 +0000 Subject: hg: hsx/hotspot-rt/jaxp: 4 new changesets Message-ID: <20121228054855.A9BB447411@hg.openjdk.java.net> Changeset: 27421008f050 Author: katleman Date: 2012-12-20 09:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/27421008f050 Added tag jdk8-b69 for changeset 789a855de959 ! .hgtags Changeset: a72c8391cdd6 Author: katleman Date: 2012-12-20 16:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/a72c8391cdd6 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! src/com/sun/org/apache/xalan/internal/XalanConstants.java ! src/com/sun/org/apache/xalan/internal/utils/FactoryImpl.java Changeset: 6ec9edffc286 Author: katleman Date: 2012-12-26 14:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/6ec9edffc286 Merge Changeset: 63815efd132f Author: katleman Date: 2012-12-27 12:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/63815efd132f Added tag jdk8-b70 for changeset 6ec9edffc286 ! .hgtags From john.coomes at oracle.com Thu Dec 27 21:49:01 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Dec 2012 05:49:01 +0000 Subject: hg: hsx/hotspot-rt/jaxws: 2 new changesets Message-ID: <20121228054907.B88EA47412@hg.openjdk.java.net> Changeset: 3b1c2733d47e Author: katleman Date: 2012-12-20 09:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/3b1c2733d47e Added tag jdk8-b69 for changeset 756323c99011 ! .hgtags Changeset: f577a39c9fb3 Author: katleman Date: 2012-12-27 12:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/f577a39c9fb3 Added tag jdk8-b70 for changeset 3b1c2733d47e ! .hgtags From john.coomes at oracle.com Thu Dec 27 21:50:21 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Dec 2012 05:50:21 +0000 Subject: hg: hsx/hotspot-rt/jdk: 52 new changesets Message-ID: <20121228060146.7B1D847413@hg.openjdk.java.net> Changeset: e8b54ae97344 Author: jviswana Date: 2012-12-12 13:28 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e8b54ae97344 8004316: Printer - tempfile having incorrect extension Reviewed-by: bae, jgodinez ! src/solaris/classes/sun/print/UnixPrintJob.java Changeset: fd9e6b4c8488 Author: lana Date: 2012-12-14 11:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fd9e6b4c8488 Merge Changeset: c69424f78060 Author: serb Date: 2012-12-11 19:45 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c69424f78060 7154778: [macosx] NSView-based implementation of sun.awt.EmbeddedFrame Summary: The new implementation of EmbeddedFrame to support SWT_AWT Bridge Reviewed-by: anthony, serb, leonidr Contributed-by: Petr Pchelko ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CMouseInfoPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPrinterDialogPeer.java + src/macosx/classes/sun/lwawt/macosx/CViewEmbeddedFrame.java + src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CWrapper.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/AWTSurfaceLayers.m ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/CCursorManager.m ! src/macosx/native/sun/awt/CWrapper.m ! src/macosx/native/sun/awt/awt.m ! src/macosx/native/sun/java2d/opengl/CGLLayer.m ! src/macosx/native/sun/osxapp/ThreadUtilities.h ! src/macosx/native/sun/osxapp/ThreadUtilities.m Changeset: e016ad35a764 Author: kshefov Date: 2012-12-13 15:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e016ad35a764 7132385: [macosx] IconifyTest of RepaintManager could use some delay Reviewed-by: serb, alexsch + test/javax/swing/RepaintManager/IconifyTest/IconifyTest.java Changeset: 71e03e17c183 Author: kshefov Date: 2012-12-14 13:32 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/71e03e17c183 6757986: javax/swing/JInternalFrame/5066752/bug5066752.java needs correction Reviewed-by: serb, alexsch + test/javax/swing/JInternalFrame/5066752/bug5066752.java Changeset: 9fc7460ca3ac Author: lana Date: 2012-12-14 11:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9fc7460ca3ac Merge Changeset: 7004848974a2 Author: jgish Date: 2012-12-04 20:21 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7004848974a2 8003596: TEST_BUG: java/util/logging/CheckLockLocationTest.java failing [win] Reviewed-by: alanb ! test/ProblemList.txt ! test/java/util/logging/CheckLockLocationTest.java Changeset: 44ae777564eb Author: mullan Date: 2012-12-04 17:40 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/44ae777564eb 8004188: Rename src/share/lib/security/java.security to java.security-linux Reviewed-by: mullan, mchung Contributed-by: jason.uh at oracle.com ! make/java/security/Makefile - src/share/lib/security/java.security + src/share/lib/security/java.security-linux Changeset: b54a5b7d2e65 Author: alanb Date: 2012-12-05 12:20 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b54a5b7d2e65 8004491: Build breakage on Linux due to 8004188 Reviewed-by: chegar, erikj ! makefiles/CopyFiles.gmk Changeset: a971516029ab Author: jgish Date: 2012-12-05 21:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a971516029ab 8004317: TestLibrary.getUnusedRandomPort() fails intermittently, but exception not reported Reviewed-by: alanb, dmocek, smarks ! test/java/rmi/testlibrary/TestLibrary.java Changeset: 41a1b110f34d Author: lancea Date: 2012-12-06 15:51 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/41a1b110f34d 8004374: CachedRowSetSwriter.writeData reports wrong number of conflicts in SyncProviderException Reviewed-by: naoto ! src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java Changeset: 896d4af2ebfd Author: rfield Date: 2012-12-06 21:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/896d4af2ebfd 8003881: Prevent lambda implementing inner classes from allowing the creation of new instances Summary: Lambda implementing inner classes now has private constructor (thanks Kumar) Reviewed-by: ksrini ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java + test/java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java + test/java/lang/invoke/lambda/LambdaAccessControlTest.java Changeset: da387f0cecb7 Author: ksrini Date: 2012-12-09 07:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/da387f0cecb7 8004042: Arrrghs.java test failed on windows with access error. Reviewed-by: smarks, jjh, ksrini Contributed-by: david.dehaven at oracle.com ! test/tools/launcher/Arrrghs.java ! test/tools/launcher/TestHelper.java Changeset: 343615aa0539 Author: dxu Date: 2012-12-09 19:13 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/343615aa0539 7194370: (fs) WatchService fails if volume S/N is 0 [win] Reviewed-by: alanb, forax ! src/windows/classes/sun/nio/fs/WindowsFileAttributes.java Changeset: fda257689786 Author: okutsu Date: 2012-12-10 10:52 +0900 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fda257689786 8000983: Support narrow display names for calendar fields 8003267: Support generic time zone names in TimeZoneNameProvider (SPI) Reviewed-by: naoto ! make/tools/src/build/tools/cldrconverter/Bundle.java ! make/tools/src/build/tools/cldrconverter/BundleGenerator.java ! make/tools/src/build/tools/cldrconverter/CLDRConverter.java ! make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java ! make/tools/src/build/tools/cldrconverter/MetaZonesParseHandler.java ! make/tools/src/build/tools/cldrconverter/ResourceBundleGenerator.java ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/text/SimpleDateFormat.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/JapaneseImperialCalendar.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/java/util/spi/CalendarNameProvider.java ! src/share/classes/java/util/spi/TimeZoneNameProvider.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/be/FormatData_be.java ! src/share/classes/sun/text/resources/bg/FormatData_bg.java ! src/share/classes/sun/text/resources/ca/FormatData_ca.java ! src/share/classes/sun/text/resources/cs/FormatData_cs.java ! src/share/classes/sun/text/resources/da/FormatData_da.java ! src/share/classes/sun/text/resources/de/FormatData_de.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/es/FormatData_es.java ! src/share/classes/sun/text/resources/et/FormatData_et.java ! src/share/classes/sun/text/resources/fi/FormatData_fi.java ! src/share/classes/sun/text/resources/fr/FormatData_fr.java ! src/share/classes/sun/text/resources/hi/FormatData_hi_IN.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/hu/FormatData_hu.java ! src/share/classes/sun/text/resources/is/FormatData_is.java ! src/share/classes/sun/text/resources/it/FormatData_it.java ! src/share/classes/sun/text/resources/iw/FormatData_iw.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/lt/FormatData_lt.java ! src/share/classes/sun/text/resources/lv/FormatData_lv.java ! src/share/classes/sun/text/resources/mk/FormatData_mk.java ! src/share/classes/sun/text/resources/ms/FormatData_ms.java ! src/share/classes/sun/text/resources/mt/FormatData_mt.java ! src/share/classes/sun/text/resources/nl/FormatData_nl.java ! src/share/classes/sun/text/resources/pl/FormatData_pl.java ! src/share/classes/sun/text/resources/pt/FormatData_pt.java ! src/share/classes/sun/text/resources/ro/FormatData_ro.java ! src/share/classes/sun/text/resources/ru/FormatData_ru.java ! src/share/classes/sun/text/resources/sk/FormatData_sk.java ! src/share/classes/sun/text/resources/sl/FormatData_sl.java ! src/share/classes/sun/text/resources/sq/FormatData_sq.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/th/FormatData_th.java ! src/share/classes/sun/text/resources/tr/FormatData_tr.java ! src/share/classes/sun/text/resources/uk/FormatData_uk.java ! src/share/classes/sun/text/resources/vi/FormatData_vi.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java ! src/share/classes/sun/util/locale/provider/SPILocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java ! src/share/classes/sun/util/resources/LocaleData.java ! src/share/classes/sun/util/resources/OpenListResourceBundle.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNamesBundle.java + test/java/util/Calendar/GenericTimeZoneNamesTest.java + test/java/util/Calendar/GenericTimeZoneNamesTest.sh + test/java/util/Calendar/NarrowNamesTest.java + test/java/util/Calendar/NarrowNamesTest.sh ! test/java/util/PluggableLocale/GenericTest.java ! test/java/util/PluggableLocale/TimeZoneNameProviderTest.java ! test/java/util/PluggableLocale/TimeZoneNameProviderTest.sh ! test/java/util/PluggableLocale/barprovider.jar + test/java/util/PluggableLocale/providersrc/GenericTimeZoneNameProviderImpl.java ! test/java/util/PluggableLocale/providersrc/Makefile ! test/java/util/PluggableLocale/providersrc/java.util.spi.TimeZoneNameProvider ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: fda2b2b5b98b Author: michaelm Date: 2012-12-10 14:56 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fda2b2b5b98b 8003948: NTLM/Negotiate authentication problem Reviewed-by: chegar, weijun ! src/share/classes/sun/net/www/MessageHeader.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/MessageHeaderTest.java Changeset: cac1bfaceaaa Author: mchung Date: 2012-12-10 15:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cac1bfaceaaa 4819681: Typo in http://java.sun.com/j2se/1.4.1/docs/api/java/util/logging/LogManager.html Summary: Simple capitalization typo in LogManager() description Reviewed-by: darcy, mchung ! src/share/classes/java/util/logging/LogManager.java Changeset: 883feced1cdd Author: dingxmin Date: 2012-12-11 10:42 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/883feced1cdd 6512101: Incorrect encoding in NetworkInterface.getDisplayName() Reviewed-by: chegar, dsamersoff ! src/windows/native/java/net/NetworkInterface.c Changeset: d206e52bf8a6 Author: weijun Date: 2012-12-11 13:14 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d206e52bf8a6 8004488: wrong permissions checked in krb5 Reviewed-by: xuelei ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java + test/sun/security/krb5/auto/KeyPermissions.java ! test/sun/security/krb5/auto/KeyTabCompat.java Changeset: c4bd81de2868 Author: akhil Date: 2012-12-11 15:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c4bd81de2868 8003246: Add InitialValue Supplier to ThreadLocal Reviewed-by: mduigou, forax, dl, chegar, briangoetz ! src/share/classes/java/lang/ThreadLocal.java + test/java/lang/ThreadLocal/ThreadLocalSupplierTest.java Changeset: 6c795437f212 Author: mduigou Date: 2012-12-11 20:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6c795437f212 8004905: Correct license of test to remove classpath exception Reviewed-by: akhil ! test/java/lang/ThreadLocal/ThreadLocalSupplierTest.java Changeset: 12fba0974a9d Author: weijun Date: 2012-12-12 18:39 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/12fba0974a9d 8004904: Makefile for ntlm Reviewed-by: erikj, chegar ! make/com/sun/security/Makefile + make/com/sun/security/ntlm/Makefile Changeset: 806cf26e5063 Author: chegar Date: 2012-12-12 11:35 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/806cf26e5063 8004921: Trivial javadoc warnings in Base64 Reviewed-by: darcy ! src/share/classes/java/util/Base64.java Changeset: 81640e75c7a7 Author: alanb Date: 2012-12-12 13:03 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/81640e75c7a7 8004874: Reduce dependency on java.beans to only add/removePropertyChangeListener Reviewed-by: ksrini, mchung, dholmes ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/java/util/logging/LogManager.java Changeset: 346c0af4af41 Author: mullan Date: 2012-12-12 09:25 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/346c0af4af41 8004064: Downgrade normative references to ${java.home}/lib/security/java.security Reviewed-by: alanb, vinnie, xuelei ! src/share/classes/com/sun/net/ssl/KeyManagerFactory.java ! src/share/classes/com/sun/net/ssl/TrustManagerFactory.java ! src/share/classes/com/sun/security/auth/PolicyFile.java ! src/share/classes/com/sun/security/auth/login/ConfigFile.java ! src/share/classes/java/net/doc-files/net-properties.html ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/Policy.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/cert/CertPathBuilder.java ! src/share/classes/java/security/cert/CertPathValidator.java ! src/share/classes/java/security/cert/CertStore.java ! src/share/classes/javax/net/ssl/KeyManagerFactory.java ! src/share/classes/javax/net/ssl/TrustManagerFactory.java ! src/share/classes/javax/security/auth/Policy.java ! src/share/classes/javax/security/auth/callback/CallbackHandler.java ! src/share/classes/javax/security/auth/login/Configuration.java ! src/share/classes/javax/security/auth/login/LoginContext.java ! src/share/classes/javax/security/cert/X509Certificate.java Changeset: c7f86908d5fd Author: mullan Date: 2012-12-12 09:27 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c7f86908d5fd Merge - src/share/lib/security/java.security Changeset: 68374c6e65c1 Author: robm Date: 2012-12-12 15:57 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/68374c6e65c1 8004337: java/sql tests aren't run in test/Makefile Reviewed-by: lancea, alanb ! test/Makefile Changeset: bd84d0927a2e Author: smarks Date: 2012-12-12 09:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bd84d0927a2e 8004748: clean up @build tags in RMI tests Reviewed-by: alanb, darcy, mchung ! test/java/rmi/MarshalledObject/compare/Compare.java ! test/java/rmi/MarshalledObject/compare/HashCode.java ! test/java/rmi/MarshalledObject/compare/NullReference.java ! test/java/rmi/Naming/DefaultRegistryPort.java ! test/java/rmi/Naming/LookupIPv6.java ! test/java/rmi/Naming/RmiIsNoScheme.java ! test/java/rmi/Naming/UnderscoreHost.java ! test/java/rmi/Naming/legalRegistryNames/LegalRegistryNames.java ! test/java/rmi/RMISecurityManager/checkPackageAccess/CheckPackageAccess.java ! test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java ! test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java ! test/java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java ! test/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java ! test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java ! test/java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java ! test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java ! test/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java ! test/java/rmi/activation/Activatable/lookupActivationSystem/LookupActivationSystem.java ! test/java/rmi/activation/Activatable/nestedActivate/NestedActivate.java ! test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java ! test/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java ! test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java ! test/java/rmi/activation/Activatable/restartService/RestartService.java ! test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java ! test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java ! test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java ! test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java ! test/java/rmi/activation/CommandEnvironment/NullOptions.java ! test/java/rmi/activation/CommandEnvironment/SetChildEnv.java ! test/java/rmi/activation/checkusage/CheckUsage.java ! test/java/rmi/activation/log/LogTest.java ! test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java ! test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java ! test/java/rmi/dgc/VMID/CheckVMID.java ! test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java ! test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java ! test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java ! test/java/rmi/invalidName/InvalidName.java ! test/java/rmi/registry/altSecurityManager/AltSecurityManager.java ! test/java/rmi/registry/checkusage/CheckUsage.java ! test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java ! test/java/rmi/registry/interfaceHash/InterfaceHash.java ! test/java/rmi/registry/multipleRegistries/MultipleRegistries.java ! test/java/rmi/registry/readTest/readTest.sh ! test/java/rmi/registry/reexport/Reexport.java ! test/java/rmi/reliability/benchmark/runRmiBench.sh ! test/java/rmi/reliability/benchmark/runSerialBench.sh ! test/java/rmi/reliability/juicer/AppleUserImpl.java ! test/java/rmi/server/ObjID/randomIDs/RandomIDs.java ! test/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java ! test/java/rmi/server/RMIClassLoader/delegateToContextLoader/DelegateToContextLoader.java ! test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java ! test/java/rmi/server/RMIClassLoader/getClassAnnotation/NullClass.java ! test/java/rmi/server/RMIClassLoader/getClassLoader/GetClassLoader.java ! test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java ! test/java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java ! test/java/rmi/server/RMIClassLoader/spi/ContextInsulation.java ! test/java/rmi/server/RMIClassLoader/spi/DefaultProperty.java ! test/java/rmi/server/RMIClassLoader/spi/Installed.java ! test/java/rmi/server/RMIClassLoader/spi/InvalidProperty.java ! test/java/rmi/server/RMIClassLoader/spi/Property.java ! test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly.java ! test/java/rmi/server/RMIClassLoader/useGetURLs/UseGetURLs.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java ! test/java/rmi/server/RemoteObject/notExtending/NotExtending.java ! test/java/rmi/server/RemoteObject/verifyRemoteEquals/VerifyRemoteEquals.java ! test/java/rmi/server/RemoteServer/AddrInUse.java ! test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java ! test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java ! test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java ! test/java/rmi/server/Unmarshal/PrimitiveClasses.java + test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshal.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java ! test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java ! test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java ! test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java ! test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java ! test/java/rmi/server/clientStackTrace/ClientStackTrace.java ! test/java/rmi/server/getRemoteClass/GetRemoteClass.java ! test/java/rmi/server/serverStackTrace/ServerStackTrace.java ! test/java/rmi/server/serverStackTrace/SuppressStackTraces.java ! test/java/rmi/server/useCustomRef/UseCustomRef.java ! test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java ! test/java/rmi/transport/closeServerSocket/CloseServerSocket.java ! test/java/rmi/transport/dgcDeadLock/DGCDeadLock.java ! test/java/rmi/transport/handshakeFailure/HandshakeFailure.java ! test/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java ! test/java/rmi/transport/httpSocket/HttpSocketTest.java ! test/java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java ! test/java/rmi/transport/readTimeout/ReadTimeoutTest.java ! test/java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java ! test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java ! test/javax/rmi/ssl/SocketFactoryTest.java ! test/sun/rmi/log/ReliableLog/LogAlignmentTest.java ! test/sun/rmi/log/ReliableLog/SnapshotSize.java ! test/sun/rmi/rmic/RMIGenerator/RmicDefault.java ! test/sun/rmi/rmic/newrmic/equivalence/run.sh ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java ! test/sun/rmi/runtime/Log/checkLogging/CheckLogStreams.java ! test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java ! test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java ! test/sun/rmi/transport/proxy/EagerHttpFallback.java ! test/sun/rmi/transport/tcp/DeadCachedConnection.java ! test/sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java ! test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java Changeset: 56fd5479a98f Author: jgish Date: 2012-12-12 15:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/56fd5479a98f 8004651: TEST: java/util/logging/CheckLockLocationTest.java failed to delete file (win) Summary: Failure to delete test log file should be a warning instead of test failure Reviewed-by: mduigou, smarks ! test/java/util/logging/CheckLockLocationTest.java Changeset: 5a2ab2c3f106 Author: weijun Date: 2012-12-13 08:11 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5a2ab2c3f106 8004235: Disable native JGSS provider on Mac Reviewed-by: erikj, valeriep ! make/sun/security/Makefile ! makefiles/CompileNativeLibraries.gmk ! src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Changeset: 7a8978a5bb6e Author: lancea Date: 2012-12-12 20:57 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7a8978a5bb6e 8004357: Implement various methods in SerialBlob/Clob/Array and specify Thread Safety Reviewed-by: naoto ! src/share/classes/javax/sql/rowset/serial/SerialArray.java ! src/share/classes/javax/sql/rowset/serial/SerialBlob.java ! src/share/classes/javax/sql/rowset/serial/SerialClob.java ! src/share/classes/javax/sql/rowset/serial/SerialDatalink.java ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java ! src/share/classes/javax/sql/rowset/serial/SerialRef.java ! src/share/classes/javax/sql/rowset/serial/SerialStruct.java Changeset: 775b0050144a Author: chegar Date: 2012-12-13 09:55 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/775b0050144a 8004925: java/net/Socks/SocksV4Test.java failing on all platforms Reviewed-by: alanb, dsamersoff ! test/java/net/Socks/SocksV4Test.java Changeset: 682d2d3ccff5 Author: chegar Date: 2012-12-13 14:33 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/682d2d3ccff5 8004675: Inet6Address.getHostAddress should use string scope identifier where available Summary: ...and some minor stylistic cleanup Reviewed-by: khazra, dsamersoff, michaelm ! src/share/classes/java/net/Inet6Address.java ! src/share/native/java/net/Inet6Address.c + test/java/net/Inet6Address/StringScope.java Changeset: c97618a3c8c2 Author: juh Date: 2012-12-13 09:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c97618a3c8c2 7193792: sun/security/pkcs11/ec/TestECDSA.java failing intermittently Reviewed-by: vinnie, wetmore ! test/ProblemList.txt ! test/sun/security/pkcs11/ec/TestECDSA.java Changeset: 7b697da6626a Author: mullan Date: 2012-12-13 09:37 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7b697da6626a Merge Changeset: ae5d04dbacd6 Author: chegar Date: 2012-12-13 14:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ae5d04dbacd6 8003890: corelibs test scripts should pass TESTVMOPTS Reviewed-by: chegar, alanb Contributed-by: Mark Sheppard ! test/com/oracle/net/sanity.sh ! test/com/sun/corba/cachedSocket/7056731.sh ! test/com/sun/management/OperatingSystemMXBean/TestTotalSwap.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh ! test/com/sun/tools/attach/ApplicationSetup.sh ! test/com/sun/tools/attach/BasicTests.sh ! test/com/sun/tools/attach/PermissionTests.sh ! test/com/sun/tools/attach/ProviderTests.sh ! test/com/sun/tools/extcheck/TestExtcheckArgs.sh ! test/demo/zipfs/basic.sh ! test/java/io/File/GetXSpace.sh ! test/java/io/File/MacPathTest.sh ! test/java/io/File/basic.sh ! test/java/io/FileOutputStream/FileOpen.sh ! test/java/io/Serializable/class/run.sh ! test/java/io/Serializable/evolution/AddedExternField/run.sh ! test/java/io/Serializable/evolution/RenamePackage/run.sh ! test/java/io/Serializable/maskSyntheticModifier/run.sh ! test/java/io/Serializable/packageAccess/run.sh ! test/java/io/Serializable/resolveClass/consTest/run.sh ! test/java/io/Serializable/resolveClass/deserializeButton/run.sh ! test/java/io/Serializable/subclass/run.sh ! test/java/io/Serializable/superclassDataLoss/run.sh ! test/java/io/Serializable/unnamedPackageSwitch/run.sh ! test/java/lang/Class/forName/NonJavaNames.sh ! test/java/lang/ClassLoader/Assert.sh ! test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ! test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ! test/java/lang/ClassLoader/getdotresource.sh ! test/java/lang/Runtime/exec/setcwd.sh ! test/java/lang/StringCoding/CheckEncodings.sh ! test/java/lang/System/finalization/FinExit.sh ! test/java/lang/annotation/loaderLeak/LoaderLeak.sh ! test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh ! test/java/net/Authenticator/B4933582.sh ! test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh ! test/java/net/InetAddress/ptr/lookup.sh ! test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.sh ! test/java/net/Socket/OldSocketImpl.sh ! test/java/net/URL/B5086147.sh ! test/java/net/URL/runconstructor.sh ! test/java/net/URLClassLoader/B5077773.sh ! test/java/net/URLClassLoader/getresourceasstream/test.sh ! test/java/net/URLClassLoader/sealing/checksealed.sh ! test/java/net/URLConnection/6212146/test.sh ! test/java/net/URLConnection/UNCTest.sh ! test/java/nio/Buffer/LimitDirectMemory.sh ! test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh ! test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh ! test/java/nio/charset/Charset/default.sh ! test/java/nio/charset/coders/CheckSJISMappingProp.sh ! test/java/nio/charset/spi/basic.sh ! test/java/nio/file/Files/delete_on_close.sh ! test/java/nio/file/Files/walkFileTree/walk_file_tree.sh ! test/java/nio/file/Path/MacPathTest.sh ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/registry/readTest/readTest.sh ! test/java/rmi/reliability/benchmark/runSerialBench.sh ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ! test/java/security/Security/signedfirst/Dyn.sh ! test/java/security/Security/signedfirst/Static.sh ! test/java/security/cert/CertificateFactory/slowstream.sh ! test/java/util/Currency/PropertiesTest.sh ! test/java/util/Locale/LocaleCategory.sh ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ResourceBundle/Bug6299235Test.sh ! test/java/util/ResourceBundle/Control/MissingResourceCauseTest.sh ! test/java/util/ServiceLoader/basic.sh ! test/java/util/TimeZone/OldIDMappingTest.sh ! test/java/util/TimeZone/TimeZoneDatePermissionCheck.sh ! test/java/util/prefs/CheckUserPrefsStorage.sh ! test/java/util/prefs/PrefsSpi.sh ! test/java/util/spi/ResourceBundleControlProvider/UserDefaultControlTest.sh ! test/java/util/zip/3GBZipFiles.sh ! test/java/util/zip/ZipFile/deletetempjar.sh ! test/javax/crypto/SecretKeyFactory/FailOverTest.sh ! test/javax/print/applet/AppletPrintLookup.sh ! test/javax/script/ProviderTest.sh ! test/javax/security/auth/Subject/doAs/Test.sh ! test/lib/security/java.policy/Ext_AllPolicy.sh ! test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh ! test/sun/management/jmxremote/bootstrap/CustomLauncherTest.sh ! test/sun/management/jmxremote/bootstrap/LocalManagementTest.sh ! test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh ! test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh ! test/sun/misc/Cleaner/exitOnThrow.sh ! test/sun/net/InetAddress/nameservice/dns/cname.sh ! test/sun/net/sdp/sanity.sh ! test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/RetryPost.sh ! test/sun/net/www/protocol/file/DirPermissionDenied.sh ! test/sun/net/www/protocol/jar/B5105410.sh ! test/sun/net/www/protocol/jar/getcontenttype.sh ! test/sun/net/www/protocol/jar/jarbug/run.sh ! test/sun/rmi/rmic/manifestClassPath/run.sh ! test/sun/rmi/rmic/minimizeWrapperInstances/run.sh ! test/sun/rmi/rmic/oldjavacRemoved/sunToolsJavacMain.sh ! test/sun/security/krb5/runNameEquals.sh ! test/sun/security/krb5/tools/ktcheck.sh ! test/sun/security/mscapi/AccessKeyStore.sh ! test/sun/security/mscapi/IsSunMSCAPIAvailable.sh ! test/sun/security/mscapi/KeyStoreCompatibilityMode.sh ! test/sun/security/mscapi/PublicKeyInterop.sh ! test/sun/security/mscapi/RSAEncryptDecrypt.sh ! test/sun/security/mscapi/ShortRSAKey1024.sh ! test/sun/security/mscapi/SignUsingNONEwithRSA.sh ! test/sun/security/mscapi/SignUsingSHA2withRSA.sh ! test/sun/security/pkcs11/KeyStore/Basic.sh ! test/sun/security/pkcs11/KeyStore/ClientAuth.sh ! test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh ! test/sun/security/pkcs11/KeyStore/Solaris.sh ! test/sun/security/pkcs11/Provider/ConfigQuotedString.sh ! test/sun/security/pkcs11/Provider/Login.sh ! test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh ! test/sun/security/provider/PolicyFile/getinstance/getinstance.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh ! test/sun/security/tools/jarsigner/emptymanifest.sh ! test/sun/security/tools/jarsigner/ts.sh ! test/sun/security/tools/keytool/printssl.sh ! test/sun/security/tools/keytool/standard.sh ! test/sun/security/validator/certreplace.sh ! test/sun/security/validator/samedn.sh ! test/tools/launcher/6842838/Test6842838.sh ! test/tools/launcher/MultipleJRE.sh Changeset: 087425441a48 Author: robm Date: 2012-12-13 15:28 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/087425441a48 8000525: Java.net.httpcookie api does not support 2-digit year format Reviewed-by: chegar ! src/share/classes/java/net/HttpCookie.java ! test/java/net/CookieHandler/B6791927.java ! test/java/net/CookieHandler/CookieManagerTest.java + test/java/net/HttpCookie/ExpiredCookieTest.java Changeset: 8d7323a9d8ed Author: dholmes Date: 2012-12-13 21:18 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8d7323a9d8ed 8003632: HPROF class file version java.lang.RuntimeException errors Reviewed-by: mchung, lancea ! src/share/javavm/export/classfile_constants.h Changeset: de6b54a60d60 Author: lana Date: 2012-12-14 13:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/de6b54a60d60 Merge ! makefiles/CompileNativeLibraries.gmk - src/share/lib/security/java.security - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java Changeset: 4ea0ac8e02d2 Author: erikj Date: 2012-12-19 09:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4ea0ac8e02d2 8004803: build-infra: Cannot use icedtea as boot for closed build. Summary: Set bootclasspath to javac and not the running jvm Reviewed-by: ohair ! makefiles/CreateJars.gmk Changeset: a8012d8d7e9c Author: katleman Date: 2012-12-19 13:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a8012d8d7e9c Merge Changeset: 4d5db5c038b4 Author: katleman Date: 2012-12-20 09:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4d5db5c038b4 Added tag jdk8-b69 for changeset a8012d8d7e9c ! .hgtags Changeset: ad6097d547e1 Author: kvn Date: 2012-12-18 17:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ad6097d547e1 8004318: JEP-171: Support Unsafe fences intrinsics Summary: Add three memory-ordering intrinsics to the sun.misc.Unsafe class. Reviewed-by: twisti, kvn Contributed-by: Aleksey Shipilev ! src/share/classes/sun/misc/Unsafe.java Changeset: 12fa4d7ecaf5 Author: twisti Date: 2012-12-20 11:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/12fa4d7ecaf5 8005345: JSR 292: JDK performance tweaks Reviewed-by: kvn, jrose ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/sun/invoke/util/ValueConversions.java Changeset: 8cf5b18488d1 Author: dl Date: 2012-12-20 12:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8cf5b18488d1 8004330: Add missing Unsafe entry points for addAndGet() family Summary: Add Unsafe addAndGet() methods which have intrinsics in Hotspot (7023898) Reviewed-by: alanb, kvn ! src/share/classes/sun/misc/Unsafe.java Changeset: 6b41b40526c6 Author: amurillo Date: 2012-12-21 10:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6b41b40526c6 Merge Changeset: 1ad29569d6e9 Author: erikj Date: 2012-12-20 13:05 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1ad29569d6e9 8005178: build-infra: Dependency on libfdlibm on mac is broken Reviewed-by: tbell, ohair ! makefiles/CompileNativeLibraries.gmk Changeset: a68090f0dc1a Author: katleman Date: 2012-12-20 16:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a68090f0dc1a 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! src/macosx/native/sun/font/CCharToGlyphMapper.m ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Block.java ! src/share/classes/java/util/function/DoubleBlock.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBlock.java ! src/share/classes/java/util/function/LongBlock.java ! src/share/classes/java/util/function/Predicate.java ! src/share/classes/sun/java2d/pipe/ParallelogramPipe.java ! src/share/classes/sun/tools/jcmd/JCmd.java ! src/share/native/java/util/zip/zlib-1.2.5/gzlib.c ! src/solaris/native/common/jdk_util_md.h ! src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ! src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java ! src/windows/native/common/jdk_util_md.h ! test/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI/7089914/bug7089914.java ! test/java/awt/Focus/6981400/Test1.java ! test/java/awt/Focus/6981400/Test2.java ! test/java/awt/Focus/6981400/Test3.java ! test/java/awt/Frame/ResizeAfterSetFont/ResizeAfterSetFont.java ! test/java/awt/JAWT/JAWT.sh ! test/java/awt/JAWT/Makefile.cygwin ! test/java/awt/JAWT/Makefile.unix ! test/java/awt/JAWT/Makefile.win ! test/java/awt/JAWT/MyCanvas.java ! test/java/awt/JAWT/myfile.c ! test/java/awt/JAWT/myfile.cpp ! test/java/awt/TextArea/DisposeTest/TestDispose.java ! test/java/awt/TextArea/TextAreaCaretVisibilityTest/bug7129742.java ! test/java/awt/TextField/DisposeTest/TestDispose.java ! test/java/lang/Integer/Unsigned.java ! test/java/lang/Long/Unsigned.java ! test/java/lang/Math/CubeRootTests.java ! test/java/lang/Math/Expm1Tests.java ! test/java/lang/Math/HyperbolicTests.java ! test/java/lang/Math/Log10Tests.java ! test/java/lang/Math/Log1pTests.java ! test/java/lang/Math/Tests.java ! test/java/lang/StringBuffer/TestSynchronization.java ! test/java/lang/invoke/remote/RemoteExample.java ! test/java/math/BigDecimal/FloatDoubleValueTests.java ! test/java/math/BigDecimal/StrippingZerosTest.java ! test/java/net/Inet4Address/PingThis.java ! test/java/net/ProxySelector/MultiThreadedSystemProxies.java ! test/java/security/Signature/VerifyRangeCheckOverflow.java ! test/java/util/AbstractCollection/ToArrayTest.java ! test/java/util/Map/EntryHashCode.java ! test/java/util/concurrent/FutureTask/DoneTimedGetLoops.java ! test/java/util/logging/LoggerResourceBundleRace.java ! test/java/util/logging/LoggingDeadlock2.java ! test/java/util/logging/LoggingDeadlock3.java ! test/java/util/logging/SimpleFormatterFormat.java ! test/java/util/spi/ResourceBundleControlProvider/providersrc/XmlRB.xml ! test/java/util/spi/ResourceBundleControlProvider/providersrc/XmlRB_ja.xml ! test/javax/swing/JComponent/7154030/bug7154030.java ! test/javax/swing/JTabbedPane/4310381/bug4310381.java ! test/javax/swing/JTable/4235420/bug4235420.java ! test/javax/swing/JTable/6788484/bug6788484.java ! test/javax/swing/JTable/7055065/bug7055065.java ! test/javax/swing/JTable/7188612/JTableAccessibleGetLocationOnScreen.java ! test/javax/swing/JTextArea/7049024/bug7049024.java ! test/javax/swing/border/Test7022041.java ! test/javax/swing/text/DefaultCaret/6938583/bug6938583.java ! test/sun/management/AgentCMETest.java ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh ! test/sun/nio/ch/SelProvider.java ! test/sun/rmi/rmic/classpath/RMICClassPathTest.java ! test/sun/security/krb5/auto/ReplayCache.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java ! test/sun/tools/jps/jps-V_2.sh ! test/tools/jar/JarBackSlash.java ! test/tools/launcher/UnicodeTest.java Changeset: 9dc1990c7d90 Author: yhuang Date: 2012-12-20 18:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9dc1990c7d90 7195759: ISO 4217 Amendment 154 Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/java/util/LocaleISOData.java ! src/share/classes/sun/util/resources/CurrencyNames.properties ! test/java/util/Currency/ValidateISO4217.java ! test/java/util/Currency/tablea1.txt ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: cbf255324369 Author: yhuang Date: 2012-12-23 19:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cbf255324369 Merge - src/share/lib/security/java.security - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: a996b57e5541 Author: katleman Date: 2012-12-26 14:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a996b57e5541 Merge Changeset: 8d7651351cfe Author: katleman Date: 2012-12-27 12:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8d7651351cfe Added tag jdk8-b70 for changeset a996b57e5541 ! .hgtags From john.coomes at oracle.com Thu Dec 27 22:04:16 2012 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 28 Dec 2012 06:04:16 +0000 Subject: hg: hsx/hotspot-rt/langtools: 10 new changesets Message-ID: <20121228060445.8326347414@hg.openjdk.java.net> Changeset: c78acf6c2f3e Author: mcimadamore Date: 2012-12-10 12:10 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/c78acf6c2f3e 8004094: Javac compiler error - synthetic method accessor generated with duplicate name Summary: method clash check logic should skip methods marked with ACC_SYNTHETIC Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/8004094/B.java + test/tools/javac/generics/8004094/T8004094.java Changeset: fcf89720ae71 Author: vromero Date: 2012-12-10 16:21 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/fcf89720ae71 8003967: detect and remove all mutable implicit static enum fields in langtools Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/Opcode.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFileFactory.java ! src/share/classes/com/sun/tools/javac/Server.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/TypeTag.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/ConstFold.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/util/BaseFileManager.java ! src/share/classes/com/sun/tools/javac/util/List.java ! src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javah/JavahTask.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/javax/lang/model/element/Modifier.java ! src/share/classes/javax/lang/model/util/ElementFilter.java ! src/share/classes/javax/tools/StandardLocation.java + test/tools/javac/T8003967/DetectMutableStaticFields.java Changeset: cfde9737131e Author: jjg Date: 2012-12-11 15:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/cfde9737131e 8004828: refactor init of *DocImpl classes Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java ! src/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/DocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java ! src/share/classes/com/sun/tools/javadoc/JavadocEnter.java ! src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java ! src/share/classes/com/sun/tools/javadoc/MemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java Changeset: 170e486632d9 Author: jlahoda Date: 2012-12-12 20:26 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/170e486632d9 8004504: ListBuffer could reuse List.nil() as the sentinel element Summary: ListBuffer.last now points to the last elements with client data, or null if none. Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/util/ListBuffer.java + test/tools/javac/util/list/ListBufferTest.java Changeset: 376d6c1b49e5 Author: jfranck Date: 2012-12-03 11:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/376d6c1b49e5 8001114: Container annotation is not checked for semantic correctness Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.out ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.out ! test/tools/javac/annotations/repeatingAnnotations/NoRepeatableAnno.out + test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.java + test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.out ! test/tools/javac/diags/examples/ContainedByNonDefault.java + test/tools/javac/diags/examples/InvalidDuplicateAnnotation.java Changeset: d7360bf35ee1 Author: lana Date: 2012-12-14 13:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d7360bf35ee1 Merge Changeset: 2001991b1b40 Author: katleman Date: 2012-12-20 09:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/2001991b1b40 Added tag jdk8-b69 for changeset d7360bf35ee1 ! .hgtags Changeset: 7d34e91f66bb Author: katleman Date: 2012-12-20 16:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7d34e91f66bb 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! make/Makefile-classic ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! test/tools/javac/StringsInSwitch/StringSwitches.java ! test/tools/javac/api/T6395981.java ! test/tools/javac/defaultMethods/defaultMethodExecution/DefaultMethodRegressionTests.java ! test/tools/javac/diags/examples/DuplicateAnnotation.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestKinds.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase1.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase2.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase4.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/AttributeInjector.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassFile.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassFilePreprocessor.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassToInterfaceConverter.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/DirectedClassLoader.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/FDSeparateCompilationTest.java ! test/tools/javac/nativeHeaders/javahComparison/CompareTest.java ! test/tools/javac/processing/model/util/deprecation/TestDeprecation.java Changeset: 47f71d7c124f Author: katleman Date: 2012-12-26 14:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/47f71d7c124f Merge Changeset: 7d5032c2d747 Author: katleman Date: 2012-12-27 12:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7d5032c2d747 Added tag jdk8-b70 for changeset 47f71d7c124f ! .hgtags From yuka.kamiya at oracle.com Thu Dec 27 22:17:06 2012 From: yuka.kamiya at oracle.com (yuka.kamiya at oracle.com) Date: Fri, 28 Dec 2012 06:17:06 +0000 Subject: hg: jdk8/tl/jdk: 8005277: Regression in JDK 7 in Bidi implementation Message-ID: <20121228061726.7F8D347415@hg.openjdk.java.net> Changeset: 1da019e7999a Author: peytoia Date: 2012-12-28 15:07 +0900 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1da019e7999a 8005277: Regression in JDK 7 in Bidi implementation Reviewed-by: okutsu ! src/share/classes/sun/text/bidi/BidiBase.java ! test/java/text/Bidi/BidiConformance.java + test/java/text/Bidi/Bug8005277.java From Alan.Bateman at oracle.com Thu Dec 27 23:39:21 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 28 Dec 2012 07:39:21 +0000 Subject: jmx-dev JDK-7120365 DiffHBTest.java fails due to ConcurrentModificationException In-Reply-To: <50DD1064.9050100@oracle.com> References: <50D302B1.7080203@oracle.com> <50D861F7.80605@oracle.com> <50D87D91.9010607@oracle.com> <50DB1297.7020807@oracle.com> <50DB68D1.2040704@oracle.com> <50DC321F.2070500@oracle.com> <50DC911E.1010100@oracle.com> <50DCCC34.9080800@oracle.com> <50DD1064.9050100@oracle.com> Message-ID: <50DD4CA9.2060000@oracle.com> On 28/12/2012 03:22, Stuart Marks wrote: > : > > Alan, you've fixed a bunch of tests that were missing @run tags at > least twice in the past [1], [2]. I observe that this recent changeset > [3] removed an @run tag that was necessary to run the test. It's not > quite the same pathology, but it demonstrates that it's pretty easy to > get the jtreg tags wrong. > > Sorry Shanliang, I'm using your changeset as a springboard for this > discussion of jtreg tag style. I really do recommend that each test > include an explicit @run tag, since the tags are so easy to get wrong. That's fine, my main observation (after fixing several of these) is that the mistake happen once it becomes necessary to use @build or @compile. It is really easy to not observe that the test isn't actually executed if there isn't an @run. Anyway, I think this is something for a regular checking script to check for, it just needs to have a list of the compile-only tests so that it doesn't flag as missing a tag. -Alan From masayoshi.okutsu at oracle.com Thu Dec 27 23:46:32 2012 From: masayoshi.okutsu at oracle.com (masayoshi.okutsu at oracle.com) Date: Fri, 28 Dec 2012 07:46:32 +0000 Subject: hg: jdk8/tl/jdk: 8005561: typo in Calendar Message-ID: <20121228074652.4D09447416@hg.openjdk.java.net> Changeset: f3ac419e2bf0 Author: okutsu Date: 2012-12-28 16:39 +0900 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f3ac419e2bf0 8005561: typo in Calendar Reviewed-by: peytoia ! src/share/classes/java/util/Calendar.java From xuelei.fan at oracle.com Fri Dec 28 00:55:23 2012 From: xuelei.fan at oracle.com (xuelei.fan at oracle.com) Date: Fri, 28 Dec 2012 08:55:23 +0000 Subject: hg: jdk8/tl/jdk: 7109274: Restrict the use of certificates with RSA keys less than 1024 bits Message-ID: <20121228085543.B65E547419@hg.openjdk.java.net> Changeset: 645d774b683a Author: xuelei Date: 2012-12-28 00:48 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/645d774b683a 7109274: Restrict the use of certificates with RSA keys less than 1024 bits Summary: This restriction is applied via the Java Security property, "jdk.certpath.disabledAlgorithms". This will impact providers that adhere to this security property. Reviewed-by: mullan ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/java/security/cert/CertPathBuilder/targetConstraints/BuildEEBasicConstraints.java ! test/java/security/cert/pkix/policyChanges/TestPolicy.java ! test/sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java ! test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java ! test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorIntermediate.java ! test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorTrustAnchor.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/RSAExport.java + test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java ! test/sun/security/tools/jarsigner/concise_jarsigner.sh From xuelei.fan at oracle.com Fri Dec 28 03:53:16 2012 From: xuelei.fan at oracle.com (xuelei.fan at oracle.com) Date: Fri, 28 Dec 2012 11:53:16 +0000 Subject: hg: jdk8/tl/jdk: 8003265: Need to clone array of input/output parameters Message-ID: <20121228115351.CAE4B4741D@hg.openjdk.java.net> Changeset: 4472a641b4dc Author: xuelei Date: 2012-12-28 03:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4472a641b4dc 8003265: Need to clone array of input/output parameters Reviewed-by: mullan ! src/share/classes/com/sun/jndi/dns/DnsContext.java ! src/share/classes/com/sun/jndi/ldap/BasicControl.java From shanliang.jiang at oracle.com Fri Dec 28 07:45:06 2012 From: shanliang.jiang at oracle.com (shanliang.jiang at oracle.com) Date: Fri, 28 Dec 2012 15:45:06 +0000 Subject: hg: jdk8/tl/jdk: 7120365: DiffHBTest.java fails due to ConcurrentModificationException Message-ID: <20121228154606.B349E4741F@hg.openjdk.java.net> Changeset: 46675076f753 Author: sjiang Date: 2012-12-28 16:44 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/46675076f753 7120365: DiffHBTest.java fails due to ConcurrentModificationException Summary: The problem is from the server notification forwarder, it should use a copy of listener set to do iterate. Reviewed-by: alanb ! src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java ! test/ProblemList.txt + test/javax/management/remote/mandatory/notif/ConcurrentModificationTest.java From john.zavgren at oracle.com Fri Dec 28 07:49:11 2012 From: john.zavgren at oracle.com (John Zavgren) Date: Fri, 28 Dec 2012 10:49:11 -0500 Subject: RFR JDK-8005120 In-Reply-To: <50DB565D.4000904@oracle.com> References: <6742fde2-c599-4f61-a294-5671e55f2377@default> <50DB565D.4000904@oracle.com> Message-ID: <50DDBF77.3090702@oracle.com> Greetings: I modified windows source code files so they pass size_t for buffer sizes and socklen_t for address structures. http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.03/ Please let me know what you think. Thanks! On 12/26/2012 02:56 PM, John Zavgren wrote: > Greetings: > I modified the windows code so that it uses socklen_t to specify the > lengths of data structures, parameter lengths, etc. instead of ints > (which can be negative.) > > http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.02/ > > Thanks! > John Zavgren > > On 12/20/2012 05:47 PM, John Zavgren wrote: >> Greetings: >> >> I modified my changes so that windows knows the definition of the >> POSIX data type: socklen_t, and now all the system calls are using >> the "doctrinaire" data types. >> >> Please consider the following update. >> >> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.01/ >> >> Thanks! >> John Zavgren >> >> >> >> On 20/12/2012 13:49, John Zavgren wrote: >>> Greetings: >>> >>> I agree that the "correct" way to fix this problem is to use POSIX >>> data types, e.g., socklen_t. However, when I switch to the >>> doctrinaire data type, the build fails on windows machines: >>> ------------- build monologue ----- >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2146: syntax error : missing ')' before identifier 'len' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2081: 'socklen_t' : name in formal parameter list illegal >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2061: syntax error : identifier 'len' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2059: syntax error : ';' >>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>> : error C2059: syntax error : ')' >>> .... >>> ------------- build monologue ----- >>> >>> I used alternative types, e.g., uint32_t, etc. as a way to avoid the >>> limitations of windows. >>> What is the recommended way to accommodate this windows limitation? >>> Shall I use a typedef statement to define "socklen_t"? >> We don't suffer from this issue in the networking native code. The unix >> and windows implementations are distinct. >> >> I see the vm defines socklen_t in a windows specific header, >> hotspot/src/os/windows/vm/jvm_windows.h, as >> typedef int socklen_t; >> >> ...and it is then used in shared code, like jvm.cpp, and the hpi, by >> optionally including >> >> #ifdef TARGET_OS_FAMILY_windows >> # include "jvm_windows.h" >> #endif >> >> We could use a similar, but more simplistic, approach here. >> >> -Chris. >> >>> Thanks! >>> >>> >>> ----- Original Message ----- >>> From: chris.hegarty at oracle.com >>> To: david.holmes at oracle.com >>> Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, >>> john.zavgren at oracle.com, net-dev at openjdk.java.net >>> Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada >>> Eastern >>> Subject: Re: RFR JDK-8005120 >>> >>> On 19/12/2012 20:52, David Holmes wrote: >>>> Real sense of deja-vu here. Didn't we go through this same thing with >>>> the HPI socket routines? >>> Yes, and the networking native code too. >>> >>> I think it is best to use socklen_t for the unix code. From what I can >>> see making these changes, to use socklen_t, should be relatively >>> localized. >>> >>> -Chris. >>> >>>> Depending on the OS (and version?) we should be using socklen_t not >>>> int >>>> and not uint32_t. >>>> >>>> David >>>> >>>> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>>>> John, >>>>> >>>>> I grabbed your patch, and with it I now see different warnings. >>>>> >>>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>>> 'socketTransport_startListening': >>>>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>>>> warning: pointer targets in passing argument 3 of >>>>> 'dbgsysGetSocketName' >>>>> differ in signedness [-Wpointer-sign] >>>>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: >>>>> expected >>>>> 'uint32_t *' but argument is of type 'int *' >>>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>>> 'socketTransport_accept': >>>>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>>>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' >>>>> differ >>>>> in signedness [-Wpointer-sign] >>>>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: >>>>> expected >>>>> 'uint32_t *' but argument is of type 'int *' >>>>> >>>>> Do you see these in your build? >>>>> >>>>> -Chris. >>>>> >>>>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>>>> John - this is the debugger socket transport so cc'ing the >>>>>> serviceability-dev list as that is where this code is maintained. >>>>>> >>>>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>>>> Greetings: >>>>>>> Please consider the following change to the two files: >>>>>>> src/share/transport/socket/sysSocket.h >>>>>>> src/solaris/transport/socket/socket_md.c >>>>>>> that eliminate compiler warnings that stem from the fact that the >>>>>>> variables that the native code passes to various system calls >>>>>>> were not >>>>>>> declared correctly. They were declared as integers, but they >>>>>>> must be >>>>>>> "unsigned" integers because they are used to define buffer lengths. >>>>>>> Were one to supply a negative value as an argument, it would be >>>>>>> cast >>>>>>> into an unsigned "Martian" value and there'd be (hopefully) a >>>>>>> system >>>>>>> call error. >>>>>>> >>>>>>> Thanks! >>>>>>> John Zavgren >>>>>>> >>>>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ > > -- John Zavgren john.zavgren at oracle.com 603-821-0904 US-Burlington-MA From mikael.vidstedt at oracle.com Fri Dec 28 09:48:00 2012 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Fri, 28 Dec 2012 09:48:00 -0800 Subject: RFR (S): 8004747: Remove last_entry from VM_STRUCT macros In-Reply-To: <50C80511.6000900@oracle.com> References: <50C64DA8.7020700@oracle.com> <50C80511.6000900@oracle.com> Message-ID: <50DDDB50.70101@oracle.com> David, I did two things (both on linux/x86_64 only): 1. I compared the pre-processor output manually. Unfortunately there are line numbers sprinkled around in the pre-processed file which makes comparing the output a bit more complex than it should be. Modulo the line numbers and some white space changes the outputs matche. 2. I wrote a small test which mimics what the SA does - it looks up the four exported structures dynamically and reads the data. Apart from the "address" field in the VMStructEntry entries the outputs almost [1] match. The address field is expected to vary since it reflects the actual placement in memory of various static variables. Are there other experiments you can think of? Cheers, Mikael [1] Using this tool I actually found one bug in the table - one entry (ClassLoaderDataGraph::_unloading) is declared as nonstatic when it is indeed static. I'll file a separate bug for that. On 12/11/2012 8:16 PM, David Holmes wrote: > Hi Mikael, > > This looks okay to me - I like the simplification. However as I don't > perform mental macro substitution particularly well (okay, not at all > ;-)) I was wondering if there was a simple validation test where we > could compare the pre-processed output before and after? > > Thanks, > David > > On 11/12/2012 7:01 AM, Mikael Vidstedt wrote: >> >> Please review the following change: >> >> Webrev: http://cr.openjdk.java.net/~mikael/8004747/webrev.00/ >> >> Background: >> >> This patch does 3 things (depending on how you count it): >> >> 1. Move the call to generating the last entry for the VM structures >> database >> >> The vmStructs functionality is a macro based way of creating a database >> of information about VM internal structures, types and constants. >> >> The database for structures is defined in runtime/vmStructs.cpp in an >> array called localHotSpotVMStructs. The content of the array is >> generated with calls to a few different macros (VM_STRUCTS, >> VM_STRUCTS_PARALLELGC, VM_STRUCTS_CMS, VM_STRUCTS_G1, VM_STRUCTS_CPU and >> VM_STRUCTS_OS_CPU respectively). Common for all these macros is the fact >> that the last argument passed in is another macro >> (GENERATE_VM_STRUCT_LAST_ENTRY) which is a generator for the end >> marker/last entry in the database; a special entry which can be easily >> located by an external consumer of the information. >> >> Even though the end marker generator macro >> (GENERATE_VM_STRUCT_LAST_ENTRY) is passed to all the VM_STRUCT* macros, >> the actual end marker must be generated once and only once. The way this >> is currently handled is that only the last VM_STRUCT macro, which >> happens to be VM_STRUCTS_OS_CPU, actually makes use of its last argument >> and adds it to the end of the array. >> >> Not only is this fairly complex to understand, it's also more fragile >> than it needs to be. >> >> This change removes the last argument for all the VM_STRUCT macros and >> instead explicitly inserts the end marker at the end of the >> localHotSpotVMStructs array. >> >> The same VM_STRUCTS macros are being used in VMStructs::init to do type >> checking. Instead of passing the end marker generator into the macros >> the last parameter is instead CHECK_SENTINEL, which is defined to expand >> to nothing, which means it can be safely removed. >> >> 2. Move the end marker generating for the VM types, VM int constants and >> VM long constants databases >> >> Repeat the exact above story, but replace anything called Structs/STRUCT >> with Types/TYPES, IntConstants/INT_CONSTANTS and >> LongConstants/LONG_CONSTANTS respectively. >> >> 3. Minor prettification >> >> In addition to the above the change also removes some superfluous >> backslashes from a few of the VM_STRUCT* macro calls. >> >> Thanks, >> Mikael >> From mikael.vidstedt at oracle.com Fri Dec 28 14:24:51 2012 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Fri, 28 Dec 2012 14:24:51 -0800 Subject: RFR (XS): 8005592: ClassLoaderDataGraph::_unloading incorrectly defined as nonstatic in vmStructs Message-ID: <50DE1C33.1040909@oracle.com> Please review the following change. Background: The _unloading field is a static field in ClassLoaderDataGraph (in classLoaderData.hpp) and should therefore be defined using static_field, as opposed to nonstatic_field, in vmStructs. Apart from changing from nonstatic_field to static_field I also added an assert in the CHECK_NONSTATIC_VM_STRUCT_ENTRY macro to make sure any field offsets are within the bounds of the corresponding structs. The assert triggers for _unloading before the change to static_field. The change passes JPRT. http://cr.openjdk.java.net/~mikael/8005592/webrev.00/ Thanks, Mikael From david.holmes at oracle.com Fri Dec 28 15:34:33 2012 From: david.holmes at oracle.com (David Holmes) Date: Sat, 29 Dec 2012 09:34:33 +1000 Subject: RFR (S): 8004747: Remove last_entry from VM_STRUCT macros In-Reply-To: <50DDDB50.70101@oracle.com> References: <50C64DA8.7020700@oracle.com> <50C80511.6000900@oracle.com> <50DDDB50.70101@oracle.com> Message-ID: <50DE2C89.7050006@oracle.com> Mikael, That all sounds fine to me. Thanks, David On 29/12/2012 3:48 AM, Mikael Vidstedt wrote: > > David, > > I did two things (both on linux/x86_64 only): > > 1. I compared the pre-processor output manually. Unfortunately there are > line numbers sprinkled around in the pre-processed file which makes > comparing the output a bit more complex than it should be. Modulo the > line numbers and some white space changes the outputs matche. > 2. I wrote a small test which mimics what the SA does - it looks up the > four exported structures dynamically and reads the data. Apart from the > "address" field in the VMStructEntry entries the outputs almost [1] > match. The address field is expected to vary since it reflects the > actual placement in memory of various static variables. > > Are there other experiments you can think of? > > Cheers, > Mikael > > [1] Using this tool I actually found one bug in the table - one entry > (ClassLoaderDataGraph::_unloading) is declared as nonstatic when it is > indeed static. I'll file a separate bug for that. > > On 12/11/2012 8:16 PM, David Holmes wrote: >> Hi Mikael, >> >> This looks okay to me - I like the simplification. However as I don't >> perform mental macro substitution particularly well (okay, not at all >> ;-)) I was wondering if there was a simple validation test where we >> could compare the pre-processed output before and after? >> >> Thanks, >> David >> >> On 11/12/2012 7:01 AM, Mikael Vidstedt wrote: >>> >>> Please review the following change: >>> >>> Webrev: http://cr.openjdk.java.net/~mikael/8004747/webrev.00/ >>> >>> Background: >>> >>> This patch does 3 things (depending on how you count it): >>> >>> 1. Move the call to generating the last entry for the VM structures >>> database >>> >>> The vmStructs functionality is a macro based way of creating a database >>> of information about VM internal structures, types and constants. >>> >>> The database for structures is defined in runtime/vmStructs.cpp in an >>> array called localHotSpotVMStructs. The content of the array is >>> generated with calls to a few different macros (VM_STRUCTS, >>> VM_STRUCTS_PARALLELGC, VM_STRUCTS_CMS, VM_STRUCTS_G1, VM_STRUCTS_CPU and >>> VM_STRUCTS_OS_CPU respectively). Common for all these macros is the fact >>> that the last argument passed in is another macro >>> (GENERATE_VM_STRUCT_LAST_ENTRY) which is a generator for the end >>> marker/last entry in the database; a special entry which can be easily >>> located by an external consumer of the information. >>> >>> Even though the end marker generator macro >>> (GENERATE_VM_STRUCT_LAST_ENTRY) is passed to all the VM_STRUCT* macros, >>> the actual end marker must be generated once and only once. The way this >>> is currently handled is that only the last VM_STRUCT macro, which >>> happens to be VM_STRUCTS_OS_CPU, actually makes use of its last argument >>> and adds it to the end of the array. >>> >>> Not only is this fairly complex to understand, it's also more fragile >>> than it needs to be. >>> >>> This change removes the last argument for all the VM_STRUCT macros and >>> instead explicitly inserts the end marker at the end of the >>> localHotSpotVMStructs array. >>> >>> The same VM_STRUCTS macros are being used in VMStructs::init to do type >>> checking. Instead of passing the end marker generator into the macros >>> the last parameter is instead CHECK_SENTINEL, which is defined to expand >>> to nothing, which means it can be safely removed. >>> >>> 2. Move the end marker generating for the VM types, VM int constants and >>> VM long constants databases >>> >>> Repeat the exact above story, but replace anything called Structs/STRUCT >>> with Types/TYPES, IntConstants/INT_CONSTANTS and >>> LongConstants/LONG_CONSTANTS respectively. >>> >>> 3. Minor prettification >>> >>> In addition to the above the change also removes some superfluous >>> backslashes from a few of the VM_STRUCT* macro calls. >>> >>> Thanks, >>> Mikael >>> > From david.holmes at oracle.com Fri Dec 28 15:40:34 2012 From: david.holmes at oracle.com (David Holmes) Date: Sat, 29 Dec 2012 09:40:34 +1000 Subject: RFR (XS): 8005592: ClassLoaderDataGraph::_unloading incorrectly defined as nonstatic in vmStructs In-Reply-To: <50DE1C33.1040909@oracle.com> References: <50DE1C33.1040909@oracle.com> Message-ID: <50DE2DF2.8060909@oracle.com> Mikael, This looks good to me. It does make me wonder (not for the first time) exactly what criteria determines which fields from which classes appear in VMStructs? David On 29/12/2012 8:24 AM, Mikael Vidstedt wrote: > > Please review the following change. > > Background: > > The _unloading field is a static field in ClassLoaderDataGraph (in > classLoaderData.hpp) and should therefore be defined using static_field, > as opposed to nonstatic_field, in vmStructs. > > Apart from changing from nonstatic_field to static_field I also added an > assert in the CHECK_NONSTATIC_VM_STRUCT_ENTRY macro to make sure any > field offsets are within the bounds of the corresponding structs. The > assert triggers for _unloading before the change to static_field. > > The change passes JPRT. > > http://cr.openjdk.java.net/~mikael/8005592/webrev.00/ > > Thanks, > Mikael > From mikael.vidstedt at oracle.com Fri Dec 28 17:17:11 2012 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Fri, 28 Dec 2012 17:17:11 -0800 Subject: RFR (S): 8004747: Remove last_entry from VM_STRUCT macros In-Reply-To: <50DE2C89.7050006@oracle.com> References: <50C64DA8.7020700@oracle.com> <50C80511.6000900@oracle.com> <50DDDB50.70101@oracle.com> <50DE2C89.7050006@oracle.com> Message-ID: <50DE4497.7050501@oracle.com> Thanks David! Still need a 2nd reviewer! Cheers, Mikael On 12/28/2012 3:34 PM, David Holmes wrote: > Mikael, > > That all sounds fine to me. > > Thanks, > David > > On 29/12/2012 3:48 AM, Mikael Vidstedt wrote: >> >> David, >> >> I did two things (both on linux/x86_64 only): >> >> 1. I compared the pre-processor output manually. Unfortunately there are >> line numbers sprinkled around in the pre-processed file which makes >> comparing the output a bit more complex than it should be. Modulo the >> line numbers and some white space changes the outputs matche. >> 2. I wrote a small test which mimics what the SA does - it looks up the >> four exported structures dynamically and reads the data. Apart from the >> "address" field in the VMStructEntry entries the outputs almost [1] >> match. The address field is expected to vary since it reflects the >> actual placement in memory of various static variables. >> >> Are there other experiments you can think of? >> >> Cheers, >> Mikael >> >> [1] Using this tool I actually found one bug in the table - one entry >> (ClassLoaderDataGraph::_unloading) is declared as nonstatic when it is >> indeed static. I'll file a separate bug for that. >> >> On 12/11/2012 8:16 PM, David Holmes wrote: >>> Hi Mikael, >>> >>> This looks okay to me - I like the simplification. However as I don't >>> perform mental macro substitution particularly well (okay, not at all >>> ;-)) I was wondering if there was a simple validation test where we >>> could compare the pre-processed output before and after? >>> >>> Thanks, >>> David >>> >>> On 11/12/2012 7:01 AM, Mikael Vidstedt wrote: >>>> >>>> Please review the following change: >>>> >>>> Webrev: http://cr.openjdk.java.net/~mikael/8004747/webrev.00/ >>>> >>>> Background: >>>> >>>> This patch does 3 things (depending on how you count it): >>>> >>>> 1. Move the call to generating the last entry for the VM structures >>>> database >>>> >>>> The vmStructs functionality is a macro based way of creating a >>>> database >>>> of information about VM internal structures, types and constants. >>>> >>>> The database for structures is defined in runtime/vmStructs.cpp in an >>>> array called localHotSpotVMStructs. The content of the array is >>>> generated with calls to a few different macros (VM_STRUCTS, >>>> VM_STRUCTS_PARALLELGC, VM_STRUCTS_CMS, VM_STRUCTS_G1, >>>> VM_STRUCTS_CPU and >>>> VM_STRUCTS_OS_CPU respectively). Common for all these macros is the >>>> fact >>>> that the last argument passed in is another macro >>>> (GENERATE_VM_STRUCT_LAST_ENTRY) which is a generator for the end >>>> marker/last entry in the database; a special entry which can be easily >>>> located by an external consumer of the information. >>>> >>>> Even though the end marker generator macro >>>> (GENERATE_VM_STRUCT_LAST_ENTRY) is passed to all the VM_STRUCT* >>>> macros, >>>> the actual end marker must be generated once and only once. The way >>>> this >>>> is currently handled is that only the last VM_STRUCT macro, which >>>> happens to be VM_STRUCTS_OS_CPU, actually makes use of its last >>>> argument >>>> and adds it to the end of the array. >>>> >>>> Not only is this fairly complex to understand, it's also more fragile >>>> than it needs to be. >>>> >>>> This change removes the last argument for all the VM_STRUCT macros and >>>> instead explicitly inserts the end marker at the end of the >>>> localHotSpotVMStructs array. >>>> >>>> The same VM_STRUCTS macros are being used in VMStructs::init to do >>>> type >>>> checking. Instead of passing the end marker generator into the macros >>>> the last parameter is instead CHECK_SENTINEL, which is defined to >>>> expand >>>> to nothing, which means it can be safely removed. >>>> >>>> 2. Move the end marker generating for the VM types, VM int >>>> constants and >>>> VM long constants databases >>>> >>>> Repeat the exact above story, but replace anything called >>>> Structs/STRUCT >>>> with Types/TYPES, IntConstants/INT_CONSTANTS and >>>> LongConstants/LONG_CONSTANTS respectively. >>>> >>>> 3. Minor prettification >>>> >>>> In addition to the above the change also removes some superfluous >>>> backslashes from a few of the VM_STRUCT* macro calls. >>>> >>>> Thanks, >>>> Mikael >>>> >> From mikael.vidstedt at oracle.com Fri Dec 28 17:26:26 2012 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Fri, 28 Dec 2012 17:26:26 -0800 Subject: RFR (XS): 8005592: ClassLoaderDataGraph::_unloading incorrectly defined as nonstatic in vmStructs In-Reply-To: <50DE2DF2.8060909@oracle.com> References: <50DE1C33.1040909@oracle.com> <50DE2DF2.8060909@oracle.com> Message-ID: <50DE46C2.8070406@oracle.com> Thanks for the review! And, yes, I asked myself that same question about what should actually be listed in vmstructs when I found this. The only criterion I know is that if the SA uses it needs to be there. However, I think there's a fairly large bunch of data and types that are in the vmstructs arrays which are not used by the SA at all. We know we don't like the SA + vmStructs "mess" and want something else to replace it. Meanwhile I guess fixing what's there will have to do. Cheers, Mikael On 12/28/2012 3:40 PM, David Holmes wrote: > Mikael, > > This looks good to me. > > It does make me wonder (not for the first time) exactly what criteria > determines which fields from which classes appear in VMStructs? > > David > > On 29/12/2012 8:24 AM, Mikael Vidstedt wrote: >> >> Please review the following change. >> >> Background: >> >> The _unloading field is a static field in ClassLoaderDataGraph (in >> classLoaderData.hpp) and should therefore be defined using static_field, >> as opposed to nonstatic_field, in vmStructs. >> >> Apart from changing from nonstatic_field to static_field I also added an >> assert in the CHECK_NONSTATIC_VM_STRUCT_ENTRY macro to make sure any >> field offsets are within the bounds of the corresponding structs. The >> assert triggers for _unloading before the change to static_field. >> >> The change passes JPRT. >> >> http://cr.openjdk.java.net/~mikael/8005592/webrev.00/ >> >> Thanks, >> Mikael >> From stuart.marks at oracle.com Fri Dec 28 17:35:45 2012 From: stuart.marks at oracle.com (stuart.marks at oracle.com) Date: Sat, 29 Dec 2012 01:35:45 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20121229013626.4A8414743B@hg.openjdk.java.net> Changeset: 0cfcba56cfa7 Author: jgish Date: 2012-12-28 18:32 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0cfcba56cfa7 8005594: Fix to 8003265 breaks build Summary: backout changeset 4472a641b4dc Reviewed-by: smarks, wetmore ! src/share/classes/com/sun/jndi/dns/DnsContext.java ! src/share/classes/com/sun/jndi/ldap/BasicControl.java Changeset: ac5e29b62288 Author: smarks Date: 2012-12-28 17:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ac5e29b62288 Merge From mandy.chung at oracle.com Fri Dec 28 22:25:45 2012 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 29 Dec 2012 06:25:45 +0000 Subject: hg: jdk8/tl: 8003562: Provide a CLI tool to analyze class dependencies Message-ID: <20121229062545.A48AB47443@hg.openjdk.java.net> Changeset: c37401e77c80 Author: mchung Date: 2012-12-28 22:20 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c37401e77c80 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! common/bin/compare_exceptions.sh.incl From mandy.chung at oracle.com Fri Dec 28 22:27:27 2012 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 29 Dec 2012 06:27:27 +0000 Subject: hg: jdk8/tl/jdk: 8003562: Provide a CLI tool to analyze class dependencies Message-ID: <20121229062815.2274F47444@hg.openjdk.java.net> Changeset: 28b47ed08c63 Author: mchung Date: 2012-12-28 22:21 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/28b47ed08c63 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! make/common/Release.gmk ! make/docs/NON_CORE_PKGS.gmk ! make/launchers/Makefile ! make/launchers/Makefile.launcher ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk From mandy.chung at oracle.com Fri Dec 28 22:31:06 2012 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 29 Dec 2012 06:31:06 +0000 Subject: hg: jdk8/tl/langtools: 8003562: Provide a CLI tool to analyze class dependencies Message-ID: <20121229063119.DD3B047445@hg.openjdk.java.net> Changeset: 0c244701188e Author: mchung Date: 2012-12-28 22:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/0c244701188e 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! make/build.properties ! makefiles/BuildLangtools.gmk ! src/share/classes/com/sun/tools/classfile/Dependencies.java ! src/share/classes/com/sun/tools/classfile/Dependency.java + src/share/classes/com/sun/tools/jdeps/Archive.java + src/share/classes/com/sun/tools/jdeps/ClassFileReader.java + src/share/classes/com/sun/tools/jdeps/JdepsTask.java + src/share/classes/com/sun/tools/jdeps/Main.java + src/share/classes/com/sun/tools/jdeps/PlatformClassPath.java + src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties + src/share/classes/com/sun/tools/jdeps/resources/jdk.properties + src/share/classes/com/sun/tools/jdeps/resources/version.properties-template ! test/Makefile + test/tools/jdeps/Basic.java + test/tools/jdeps/Test.java + test/tools/jdeps/p/Foo.java From aleksey.shipilev at oracle.com Sat Dec 29 01:14:06 2012 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Sat, 29 Dec 2012 13:14:06 +0400 Subject: CR 8005604: HPROF should report the actual instance size Message-ID: <50DEB45E.2090701@oracle.com> Hi guys, This issue popped out (again?) in the course of @Contended work, which does the padding around fields in some corner cases. HPROF just iterates the fields to deduce the instance size, which can give a terribly wrong instance size estimate. I have filed CR 8005604 to track this. FWIW, the fix appears to be very simple, we can reuse the instance size data already available in instanceKlass, like this: --- a/src/share/vm/services/heapDumper.cpp Mon Dec 24 11:46:38 2012 -0800 +++ b/src/share/vm/services/heapDumper.cpp Sat Dec 29 13:08:51 2012 +0400 @@ -772,33 +772,7 @@ u4 DumperSupport::instance_size(Klass* k) { HandleMark hm; instanceKlassHandle ikh = instanceKlassHandle(Thread::current(), k); - - int size = 0; - - for (FieldStream fld(ikh, false, false); !fld.eos(); fld.next()) { - if (!fld.access_flags().is_static()) { - Symbol* sig = fld.signature(); - switch (sig->byte_at(0)) { - case JVM_SIGNATURE_CLASS : - case JVM_SIGNATURE_ARRAY : size += oopSize; break; - - case JVM_SIGNATURE_BYTE : - case JVM_SIGNATURE_BOOLEAN : size += 1; break; - - case JVM_SIGNATURE_CHAR : - case JVM_SIGNATURE_SHORT : size += 2; break; - - case JVM_SIGNATURE_INT : - case JVM_SIGNATURE_FLOAT : size += 4; break; - - case JVM_SIGNATURE_LONG : - case JVM_SIGNATURE_DOUBLE : size += 8; break; - - default : ShouldNotReachHere(); - } - } - } - return (u4)size; + return (u4)ikh->size_helper(); } // dumps static fields of the given class Please let me know if you have troubles with pushing this. If not, I can get the proper due diligence to get this fixed. Thanks, Aleksey. From Alan.Bateman at oracle.com Sat Dec 29 02:02:38 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sat, 29 Dec 2012 10:02:38 +0000 Subject: CR 8005604: HPROF should report the actual instance size In-Reply-To: <50DEB45E.2090701@oracle.com> References: <50DEB45E.2090701@oracle.com> Message-ID: <50DEBFBE.4000109@oracle.com> Aleksey, I'm a bit out of touch with this code but just to say that the HPROF format is VM independent and the length that follows the class ID in the INSTANCE record is the size for the fields that follow. -Alan On 29/12/2012 09:14, Aleksey Shipilev wrote: > Hi guys, > > This issue popped out (again?) in the course of @Contended work, which > does the padding around fields in some corner cases. HPROF just iterates > the fields to deduce the instance size, which can give a terribly wrong > instance size estimate. > > I have filed CR 8005604 to track this. > > FWIW, the fix appears to be very simple, we can reuse the instance size > data already available in instanceKlass, like this: > > --- a/src/share/vm/services/heapDumper.cpp Mon Dec 24 11:46:38 2012 -0800 > +++ b/src/share/vm/services/heapDumper.cpp Sat Dec 29 13:08:51 2012 +0400 > @@ -772,33 +772,7 @@ > u4 DumperSupport::instance_size(Klass* k) { > HandleMark hm; > instanceKlassHandle ikh = instanceKlassHandle(Thread::current(), k); > - > - int size = 0; > - > - for (FieldStream fld(ikh, false, false); !fld.eos(); fld.next()) { > - if (!fld.access_flags().is_static()) { > - Symbol* sig = fld.signature(); > - switch (sig->byte_at(0)) { > - case JVM_SIGNATURE_CLASS : > - case JVM_SIGNATURE_ARRAY : size += oopSize; break; > - > - case JVM_SIGNATURE_BYTE : > - case JVM_SIGNATURE_BOOLEAN : size += 1; break; > - > - case JVM_SIGNATURE_CHAR : > - case JVM_SIGNATURE_SHORT : size += 2; break; > - > - case JVM_SIGNATURE_INT : > - case JVM_SIGNATURE_FLOAT : size += 4; break; > - > - case JVM_SIGNATURE_LONG : > - case JVM_SIGNATURE_DOUBLE : size += 8; break; > - > - default : ShouldNotReachHere(); > - } > - } > - } > - return (u4)size; > + return (u4)ikh->size_helper(); > } > > // dumps static fields of the given class > > > Please let me know if you have troubles with pushing this. If not, I can > get the proper due diligence to get this fixed. > > Thanks, > Aleksey. From aleksey.shipilev at oracle.com Sat Dec 29 02:10:31 2012 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Sat, 29 Dec 2012 14:10:31 +0400 Subject: CR 8005604: HPROF should report the actual instance size In-Reply-To: <50DEBFBE.4000109@oracle.com> References: <50DEB45E.2090701@oracle.com> <50DEBFBE.4000109@oracle.com> Message-ID: <50DEC197.1060406@oracle.com> Alan, Good catch. This is the excerpt from the HPROF binary format in heapDumper.cpp: HPROF_GC_CLASS_DUMP (----snip-----) u4 instance size (in bytes) (----snip-----) u2 number of static fields [id, static field name, ty, type, vl]* and value (----snip-----) u2 number of inst. fields (not inc. super) [id, instance field name, ty]* type HPROF_GC_INSTANCE_DUMP u4 number of bytes that follow [vl]* instance field values (class, followed by super, super's super ...) Seems like that instance_size() method is used to populate both GC_CLASS and GC_INSTANCE. Would it be OK to push the VM-reported size to GC_CLASS only, and leave GC_INSTANCE intact? -Aleksey. On 12/29/2012 02:02 PM, Alan Bateman wrote: > Aleksey, > > I'm a bit out of touch with this code but just to say that the HPROF > format is VM independent and the length that follows the class ID in the > INSTANCE record is the size for the fields that follow. > > -Alan > > On 29/12/2012 09:14, Aleksey Shipilev wrote: >> Hi guys, >> >> This issue popped out (again?) in the course of @Contended work, which >> does the padding around fields in some corner cases. HPROF just iterates >> the fields to deduce the instance size, which can give a terribly wrong >> instance size estimate. >> >> I have filed CR 8005604 to track this. >> >> FWIW, the fix appears to be very simple, we can reuse the instance size >> data already available in instanceKlass, like this: >> >> --- a/src/share/vm/services/heapDumper.cpp Mon Dec 24 11:46:38 2012 >> -0800 >> +++ b/src/share/vm/services/heapDumper.cpp Sat Dec 29 13:08:51 2012 >> +0400 >> @@ -772,33 +772,7 @@ >> u4 DumperSupport::instance_size(Klass* k) { >> HandleMark hm; >> instanceKlassHandle ikh = instanceKlassHandle(Thread::current(), k); >> - >> - int size = 0; >> - >> - for (FieldStream fld(ikh, false, false); !fld.eos(); fld.next()) { >> - if (!fld.access_flags().is_static()) { >> - Symbol* sig = fld.signature(); >> - switch (sig->byte_at(0)) { >> - case JVM_SIGNATURE_CLASS : >> - case JVM_SIGNATURE_ARRAY : size += oopSize; break; >> - >> - case JVM_SIGNATURE_BYTE : >> - case JVM_SIGNATURE_BOOLEAN : size += 1; break; >> - >> - case JVM_SIGNATURE_CHAR : >> - case JVM_SIGNATURE_SHORT : size += 2; break; >> - >> - case JVM_SIGNATURE_INT : >> - case JVM_SIGNATURE_FLOAT : size += 4; break; >> - >> - case JVM_SIGNATURE_LONG : >> - case JVM_SIGNATURE_DOUBLE : size += 8; break; >> - >> - default : ShouldNotReachHere(); >> - } >> - } >> - } >> - return (u4)size; >> + return (u4)ikh->size_helper(); >> } >> >> // dumps static fields of the given class >> >> >> Please let me know if you have troubles with pushing this. If not, I can >> get the proper due diligence to get this fixed. >> >> Thanks, >> Aleksey. > From rednaxelafx at gmail.com Sat Dec 29 02:38:40 2012 From: rednaxelafx at gmail.com (Krystal Mok) Date: Sat, 29 Dec 2012 18:38:40 +0800 Subject: CR 8005604: HPROF should report the actual instance size In-Reply-To: <50DEB45E.2090701@oracle.com> References: <50DEB45E.2090701@oracle.com> Message-ID: Hi Aleksey, It's good to see that this problem is being addressed. I wonder what's the history of making HPROF calculate the instance size on its own... A nitpick: even though the proposed patch should work just right, but I think it's better to access the size_helper through InstanceKlass::oop_size() instead of through InstanceKlass::size_helper() directly. That way you'd only need a klassHandle kh, and call through kh->oop_size(). Thanks, Kris On Sat, Dec 29, 2012 at 5:14 PM, Aleksey Shipilev wrote: > Hi guys, > > This issue popped out (again?) in the course of @Contended work, which > does the padding around fields in some corner cases. HPROF just iterates > the fields to deduce the instance size, which can give a terribly wrong > instance size estimate. > > I have filed CR 8005604 to track this. > > FWIW, the fix appears to be very simple, we can reuse the instance size > data already available in instanceKlass, like this: > > --- a/src/share/vm/services/heapDumper.cpp Mon Dec 24 11:46:38 2012 -0800 > +++ b/src/share/vm/services/heapDumper.cpp Sat Dec 29 13:08:51 2012 +0400 > @@ -772,33 +772,7 @@ > u4 DumperSupport::instance_size(Klass* k) { > HandleMark hm; > instanceKlassHandle ikh = instanceKlassHandle(Thread::current(), k); > - > - int size = 0; > - > - for (FieldStream fld(ikh, false, false); !fld.eos(); fld.next()) { > - if (!fld.access_flags().is_static()) { > - Symbol* sig = fld.signature(); > - switch (sig->byte_at(0)) { > - case JVM_SIGNATURE_CLASS : > - case JVM_SIGNATURE_ARRAY : size += oopSize; break; > - > - case JVM_SIGNATURE_BYTE : > - case JVM_SIGNATURE_BOOLEAN : size += 1; break; > - > - case JVM_SIGNATURE_CHAR : > - case JVM_SIGNATURE_SHORT : size += 2; break; > - > - case JVM_SIGNATURE_INT : > - case JVM_SIGNATURE_FLOAT : size += 4; break; > - > - case JVM_SIGNATURE_LONG : > - case JVM_SIGNATURE_DOUBLE : size += 8; break; > - > - default : ShouldNotReachHere(); > - } > - } > - } > - return (u4)size; > + return (u4)ikh->size_helper(); > } > > // dumps static fields of the given class > > > Please let me know if you have troubles with pushing this. If not, I can > get the proper due diligence to get this fixed. > > Thanks, > Aleksey. From Alan.Bateman at oracle.com Sat Dec 29 02:53:13 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sat, 29 Dec 2012 10:53:13 +0000 Subject: CR 8005604: HPROF should report the actual instance size In-Reply-To: <50DEC197.1060406@oracle.com> References: <50DEB45E.2090701@oracle.com> <50DEBFBE.4000109@oracle.com> <50DEC197.1060406@oracle.com> Message-ID: <50DECB99.1070102@oracle.com> On 29/12/2012 10:10, Aleksey Shipilev wrote: > : > > Seems like that instance_size() method is used to populate both GC_CLASS > and GC_INSTANCE. Would it be OK to push the VM-reported size to GC_CLASS > only, and leave GC_INSTANCE intact? > I don't think it can be in either as the sizes in the HPROF dump are VM and padding independent. A few years back there was discussion about defining a new format or (better-still) API but it didn't happen. The only thing I can suggest for the short term would be to rev the HPROF format to define a new record that provides a better details on the sizes and layout. It's a slippery slope of course. In the mean-time, at least for the built-in heap dumper and the SA-based heap dumper, then the object ID is the oop so it's possible to deduce something. -Alan From chris.hegarty at oracle.com Sat Dec 29 03:01:17 2012 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 29 Dec 2012 11:01:17 +0000 Subject: hg: jdk8/tl/jdk: 8005556: java/net/Socks/SocksV4Test.java is missing @run tag Message-ID: <20121229110200.0BEA247449@hg.openjdk.java.net> Changeset: 3cc25d0e3bb0 Author: chegar Date: 2012-12-29 11:00 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3cc25d0e3bb0 8005556: java/net/Socks/SocksV4Test.java is missing @run tag Reviewed-by: alanb ! test/java/net/Socks/SocksV4Test.java From aleksey.shipilev at oracle.com Sat Dec 29 03:05:13 2012 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Sat, 29 Dec 2012 15:05:13 +0400 Subject: CR 8005604: HPROF should report the actual instance size In-Reply-To: <50DECB99.1070102@oracle.com> References: <50DEB45E.2090701@oracle.com> <50DEBFBE.4000109@oracle.com> <50DEC197.1060406@oracle.com> <50DECB99.1070102@oracle.com> Message-ID: <50DECE69.60105@oracle.com> Thanks Alan! On 12/29/2012 02:53 PM, Alan Bateman wrote: > On 29/12/2012 10:10, Aleksey Shipilev wrote: >> : >> >> Seems like that instance_size() method is used to populate both GC_CLASS >> and GC_INSTANCE. Would it be OK to push the VM-reported size to GC_CLASS >> only, and leave GC_INSTANCE intact? >> > I don't think it can be in either as the sizes in the HPROF dump are VM > and padding independent. Sorry, I fail to follow this reasoning. I thought HPROF was about dumping the actual info from the VM? What's the downside for publishing the actual instance size as the part of class metainfo? Is the only consideration being the format "purity" (which, btw, clashes with "WARNING: This format is still considered highly experimental" clause in HPROF format description), or is it the strive to rather add new attributes than change the existing attributes? > The only thing I can suggest for the short term would be to rev the > HPROF format to define a new record that provides a better details on > the sizes and layout. Ok, we can go there, and that adds some lag for the tools. Would the prototype implementation of new format be enough to get the ball rolling? > It's a slippery slope of course. In the mean-time, at > least for the built-in heap dumper and the SA-based heap dumper, then > the object ID is the oop so it's possible to deduce something. Is that post-mortem? The alignment and padding info might be lost and/or inconsistent at that point already. -Aleksey. From chris.hegarty at oracle.com Sat Dec 29 07:21:53 2012 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Sat, 29 Dec 2012 15:21:53 +0000 Subject: RFR JDK-8005120 In-Reply-To: <50DDBF77.3090702@oracle.com> References: <6742fde2-c599-4f61-a294-5671e55f2377@default> <50DB565D.4000904@oracle.com> <50DDBF77.3090702@oracle.com> Message-ID: <50DF0A91.4090604@oracle.com> John, Windows x64 warnings, with your patch (below). size_t is a 64-bit value on Windows 64-bit, and recvfrom requires an int ( on Windows ). ../../../../src/windows/transport/socket/socket_md.c(181) : warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data ../../../../src/windows/transport/socket/socket_md.c(187) : warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data ../../../../src/windows/transport/socket/socket_md.c(192) : warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data ../../../../src/windows/transport/socket/socket_md.c(197) : warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data I think in our usage it should be safe, and warning free, to revert size_t to an int, rather than have platform specific function definitions. -Chris. On 28/12/2012 15:49, John Zavgren wrote: > Greetings: > > I modified windows source code files so they pass size_t for buffer > sizes and socklen_t for address structures. > > http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.03/ > > Please let me know what you think. > > Thanks! > > On 12/26/2012 02:56 PM, John Zavgren wrote: >> Greetings: >> I modified the windows code so that it uses socklen_t to specify the >> lengths of data structures, parameter lengths, etc. instead of ints >> (which can be negative.) >> >> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.02/ >> >> Thanks! >> John Zavgren >> >> On 12/20/2012 05:47 PM, John Zavgren wrote: >>> Greetings: >>> >>> I modified my changes so that windows knows the definition of the >>> POSIX data type: socklen_t, and now all the system calls are using >>> the "doctrinaire" data types. >>> >>> Please consider the following update. >>> >>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/webrev.01/ >>> >>> Thanks! >>> John Zavgren >>> >>> >>> >>> On 20/12/2012 13:49, John Zavgren wrote: >>>> Greetings: >>>> >>>> I agree that the "correct" way to fix this problem is to use POSIX >>>> data types, e.g., socklen_t. However, when I switch to the >>>> doctrinaire data type, the build fails on windows machines: >>>> ------------- build monologue ----- >>>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>>> : error C2146: syntax error : missing ')' before identifier 'len' >>>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>>> : error C2081: 'socklen_t' : name in formal parameter list illegal >>>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>>> : error C2061: syntax error : identifier 'len' >>>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>>> : error C2059: syntax error : ';' >>>> c:\jprt\t\p1\032220.jzavgren\s\jdk\src\share\transport\socket\sysSocket.h(39) >>>> : error C2059: syntax error : ')' >>>> .... >>>> ------------- build monologue ----- >>>> >>>> I used alternative types, e.g., uint32_t, etc. as a way to avoid the >>>> limitations of windows. >>>> What is the recommended way to accommodate this windows limitation? >>>> Shall I use a typedef statement to define "socklen_t"? >>> We don't suffer from this issue in the networking native code. The unix >>> and windows implementations are distinct. >>> >>> I see the vm defines socklen_t in a windows specific header, >>> hotspot/src/os/windows/vm/jvm_windows.h, as >>> typedef int socklen_t; >>> >>> ...and it is then used in shared code, like jvm.cpp, and the hpi, by >>> optionally including >>> >>> #ifdef TARGET_OS_FAMILY_windows >>> # include "jvm_windows.h" >>> #endif >>> >>> We could use a similar, but more simplistic, approach here. >>> >>> -Chris. >>> >>>> Thanks! >>>> >>>> >>>> ----- Original Message ----- >>>> From: chris.hegarty at oracle.com >>>> To: david.holmes at oracle.com >>>> Cc: Alan.Bateman at oracle.com, serviceability-dev at openjdk.java.net, >>>> john.zavgren at oracle.com, net-dev at openjdk.java.net >>>> Sent: Thursday, December 20, 2012 7:41:07 AM GMT -05:00 US/Canada >>>> Eastern >>>> Subject: Re: RFR JDK-8005120 >>>> >>>> On 19/12/2012 20:52, David Holmes wrote: >>>>> Real sense of deja-vu here. Didn't we go through this same thing with >>>>> the HPI socket routines? >>>> Yes, and the networking native code too. >>>> >>>> I think it is best to use socklen_t for the unix code. From what I can >>>> see making these changes, to use socklen_t, should be relatively >>>> localized. >>>> >>>> -Chris. >>>> >>>>> Depending on the OS (and version?) we should be using socklen_t not >>>>> int >>>>> and not uint32_t. >>>>> >>>>> David >>>>> >>>>> On 20/12/2012 2:35 AM, Chris Hegarty wrote: >>>>>> John, >>>>>> >>>>>> I grabbed your patch, and with it I now see different warnings. >>>>>> >>>>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>>>> 'socketTransport_startListening': >>>>>> ../../../../src/share/transport/socket/socketTransport.c:310:40: >>>>>> warning: pointer targets in passing argument 3 of >>>>>> 'dbgsysGetSocketName' >>>>>> differ in signedness [-Wpointer-sign] >>>>>> ../../../../src/share/transport/socket/sysSocket.h:58:5: note: >>>>>> expected >>>>>> 'uint32_t *' but argument is of type 'int *' >>>>>> ../../../../src/share/transport/socket/socketTransport.c: In function >>>>>> 'socketTransport_accept': >>>>>> ../../../../src/share/transport/socket/socketTransport.c:371:33: >>>>>> warning: pointer targets in passing argument 3 of 'dbgsysAccept' >>>>>> differ >>>>>> in signedness [-Wpointer-sign] >>>>>> ../../../../src/share/transport/socket/sysSocket.h:41:5: note: >>>>>> expected >>>>>> 'uint32_t *' but argument is of type 'int *' >>>>>> >>>>>> Do you see these in your build? >>>>>> >>>>>> -Chris. >>>>>> >>>>>> On 12/19/2012 03:42 PM, Alan Bateman wrote: >>>>>>> John - this is the debugger socket transport so cc'ing the >>>>>>> serviceability-dev list as that is where this code is maintained. >>>>>>> >>>>>>> On 19/12/2012 15:36, John Zavgren wrote: >>>>>>>> Greetings: >>>>>>>> Please consider the following change to the two files: >>>>>>>> src/share/transport/socket/sysSocket.h >>>>>>>> src/solaris/transport/socket/socket_md.c >>>>>>>> that eliminate compiler warnings that stem from the fact that the >>>>>>>> variables that the native code passes to various system calls >>>>>>>> were not >>>>>>>> declared correctly. They were declared as integers, but they >>>>>>>> must be >>>>>>>> "unsigned" integers because they are used to define buffer lengths. >>>>>>>> Were one to supply a negative value as an argument, it would be >>>>>>>> cast >>>>>>>> into an unsigned "Martian" value and there'd be (hopefully) a >>>>>>>> system >>>>>>>> call error. >>>>>>>> >>>>>>>> Thanks! >>>>>>>> John Zavgren >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~mullan/webrevs/jzavgren/8005120/ >> >> > > From kelly.ohair at oracle.com Sat Dec 29 09:59:40 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Sat, 29 Dec 2012 09:59:40 -0800 Subject: CR 8005604: HPROF should report the actual instance size In-Reply-To: <50DECE69.60105@oracle.com> References: <50DEB45E.2090701@oracle.com> <50DEBFBE.4000109@oracle.com> <50DEC197.1060406@oracle.com> <50DECB99.1070102@oracle.com> <50DECE69.60105@oracle.com> Message-ID: <8B43E0E5-EA08-4525-8B41-A31151FA9896@oracle.com> The HPROF binary format came from JVMPI, so it has a long history. JVMPI was experimental, but became so critical to people the "experimental" label was a joke, dito for HPROF which was closely tied to JVMPI. When I converted HPROF to JVM TI in jdk5, it was pretty much a complete re-write of the agent code, and the HPROF format was the only thing it had in common with the old pre-jdk5 HPROF. This file format represents a very generic view of the heap and has never been hotspot specific. Remember we have at least 2 separate places and different code that creates the HPROF binary format, the VM itself (Alan would be the best contact on that) but also the HPROF VM agent in the jdk repository. You really can't change one without at least making sure they both co-operate. (I assume NetBeans also has code that reads this format). Any change to the HPROF format is risky because we don't own all the code that consumes the format, and the same is true of the HPROF text format (HP has a tool that reads the HPROF text output). Too many 3rd party tools out there use this format and have made some very bad assumptions on the format when reading it. Consequently, it is very easy to break these 3rd party tools. For the longest time there wasn't even a spec on the format, some of the code was written without a spec. So I don't know how many tools are left out there that use this format. After spending many years working on HPROF I came to the conclusion that the format should be locked down, and a new format should be developed. After Alan developed the HPROF snapshot binary dump, I became fairly convinced that the HPROF VM agent had a very limited use case scenario, also the NetBeans Profiler came into existence, and it was obvious to me that HPROF should be deprecated. But a new file format still had a future, unfortunately it never was important enough to get any attention, then the 2009 Serviceability resource purge happened and the effort just died. :^( If libraries could be provided to read and write the new format, you could get away from this 3rd party tools having their own code to read the bytes out of a file or parse the output. You could even have a "real" generated parser and detailed formal spec on the format. Those same libraries could actually be used to create a transformation tool that could possibly convert the new format to/from the old HPROF binary format, as a bridging mechanism for some people. IF you decide to modify the existing HPROF file format be very careful and don't underestimate the impacts this might create. Having some contingency plans would be a good idea. -kto On Dec 29, 2012, at 3:05 AM, Aleksey Shipilev wrote: > Thanks Alan! > > On 12/29/2012 02:53 PM, Alan Bateman wrote: >> On 29/12/2012 10:10, Aleksey Shipilev wrote: >>> : >>> >>> Seems like that instance_size() method is used to populate both GC_CLASS >>> and GC_INSTANCE. Would it be OK to push the VM-reported size to GC_CLASS >>> only, and leave GC_INSTANCE intact? >>> >> I don't think it can be in either as the sizes in the HPROF dump are VM >> and padding independent. > > Sorry, I fail to follow this reasoning. I thought HPROF was about > dumping the actual info from the VM? What's the downside for publishing > the actual instance size as the part of class metainfo? Is the only > consideration being the format "purity" (which, btw, clashes with > "WARNING: This format is still considered highly experimental" clause in > HPROF format description), or is it the strive to rather add new > attributes than change the existing attributes? > >> The only thing I can suggest for the short term would be to rev the >> HPROF format to define a new record that provides a better details on >> the sizes and layout. > > Ok, we can go there, and that adds some lag for the tools. Would the > prototype implementation of new format be enough to get the ball rolling? > >> It's a slippery slope of course. In the mean-time, at >> least for the built-in heap dumper and the SA-based heap dumper, then >> the object ID is the oop so it's possible to deduce something. > > Is that post-mortem? The alignment and padding info might be lost and/or > inconsistent at that point already. > > -Aleksey. > From jonathan.gibbons at oracle.com Sat Dec 29 17:33:30 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Sun, 30 Dec 2012 01:33:30 +0000 Subject: hg: jdk8/tl/langtools: 8004727: Add compiler support for parameter reflection Message-ID: <20121230013335.3541C47452@hg.openjdk.java.net> Changeset: 31780dd06ec7 Author: jjg Date: 2012-12-29 17:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/31780dd06ec7 8004727: Add compiler support for parameter reflection Reviewed-by: jjg Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java + src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/util/Names.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java + test/tools/javac/MethodParameters.java + test/tools/javap/MethodParameters.java From jonathan.gibbons at oracle.com Sun Dec 30 06:20:43 2012 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Sun, 30 Dec 2012 14:20:43 +0000 Subject: hg: jdk8/tl/langtools: 8005195: Doclint regression tests fail on windows Message-ID: <20121230142048.B011E4745A@hg.openjdk.java.net> Changeset: 383bc0fbd759 Author: jjg Date: 2012-12-30 06:17 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/383bc0fbd759 8005195: Doclint regression tests fail on windows Reviewed-by: mcimadamore ! test/tools/doclint/DocLintTester.java From jaroslav.bachorik at oracle.com Mon Dec 31 02:40:40 2012 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Mon, 31 Dec 2012 11:40:40 +0100 Subject: [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows Message-ID: <50E16BA8.40203@oracle.com> Looking for a review and a sponsor. Webrev at: http://cr.openjdk.java.net/~jbachorik/8005472/webrev.00/test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh.sdiff.html JPRT run on windows targets: http://sthjprt.se.oracle.com/archives/2012/12/2012-12-28-123054.jbachorik.openjdk8-tl//JobStatus.txt The issue is about a new test failing when run on windows machines. It seems that the cygwin really does not like removing a non-existent file - to the extent of hanging the script indefinitely. The patch adds a pre-check for the existence of the file to be removed. It does not change the test in any other way. Thanks, -JB- From serguei.spitsyn at oracle.com Mon Dec 31 10:36:22 2012 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 31 Dec 2012 10:36:22 -0800 Subject: RFR (S): 8004747: Remove last_entry from VM_STRUCT macros In-Reply-To: <50DE4497.7050501@oracle.com> References: <50C64DA8.7020700@oracle.com> <50C80511.6000900@oracle.com> <50DDDB50.70101@oracle.com> <50DE2C89.7050006@oracle.com> <50DE4497.7050501@oracle.com> Message-ID: <50E1DB26.7060904@oracle.com> Mikael, It looks good. It is also a nice simplification! The only thing I'd suggest is to be more specific in the assert at the end of the vmStructs.cpp. Instead of "Incorrect last entry" it'd be better to have "Incorrect struct last entry", etc. Also, it'd be useful if Yumin had a chance to surfacely look at the fix. Thanks, Serguei On 12/28/12 5:17 PM, Mikael Vidstedt wrote: > > Thanks David! > > Still need a 2nd reviewer! > > Cheers, > Mikael > > On 12/28/2012 3:34 PM, David Holmes wrote: >> Mikael, >> >> That all sounds fine to me. >> >> Thanks, >> David >> >> On 29/12/2012 3:48 AM, Mikael Vidstedt wrote: >>> >>> David, >>> >>> I did two things (both on linux/x86_64 only): >>> >>> 1. I compared the pre-processor output manually. Unfortunately there >>> are >>> line numbers sprinkled around in the pre-processed file which makes >>> comparing the output a bit more complex than it should be. Modulo the >>> line numbers and some white space changes the outputs matche. >>> 2. I wrote a small test which mimics what the SA does - it looks up the >>> four exported structures dynamically and reads the data. Apart from the >>> "address" field in the VMStructEntry entries the outputs almost [1] >>> match. The address field is expected to vary since it reflects the >>> actual placement in memory of various static variables. >>> >>> Are there other experiments you can think of? >>> >>> Cheers, >>> Mikael >>> >>> [1] Using this tool I actually found one bug in the table - one entry >>> (ClassLoaderDataGraph::_unloading) is declared as nonstatic when it is >>> indeed static. I'll file a separate bug for that. >>> >>> On 12/11/2012 8:16 PM, David Holmes wrote: >>>> Hi Mikael, >>>> >>>> This looks okay to me - I like the simplification. However as I don't >>>> perform mental macro substitution particularly well (okay, not at all >>>> ;-)) I was wondering if there was a simple validation test where we >>>> could compare the pre-processed output before and after? >>>> >>>> Thanks, >>>> David >>>> >>>> On 11/12/2012 7:01 AM, Mikael Vidstedt wrote: >>>>> >>>>> Please review the following change: >>>>> >>>>> Webrev: http://cr.openjdk.java.net/~mikael/8004747/webrev.00/ >>>>> >>>>> Background: >>>>> >>>>> This patch does 3 things (depending on how you count it): >>>>> >>>>> 1. Move the call to generating the last entry for the VM structures >>>>> database >>>>> >>>>> The vmStructs functionality is a macro based way of creating a >>>>> database >>>>> of information about VM internal structures, types and constants. >>>>> >>>>> The database for structures is defined in runtime/vmStructs.cpp in an >>>>> array called localHotSpotVMStructs. The content of the array is >>>>> generated with calls to a few different macros (VM_STRUCTS, >>>>> VM_STRUCTS_PARALLELGC, VM_STRUCTS_CMS, VM_STRUCTS_G1, >>>>> VM_STRUCTS_CPU and >>>>> VM_STRUCTS_OS_CPU respectively). Common for all these macros is >>>>> the fact >>>>> that the last argument passed in is another macro >>>>> (GENERATE_VM_STRUCT_LAST_ENTRY) which is a generator for the end >>>>> marker/last entry in the database; a special entry which can be >>>>> easily >>>>> located by an external consumer of the information. >>>>> >>>>> Even though the end marker generator macro >>>>> (GENERATE_VM_STRUCT_LAST_ENTRY) is passed to all the VM_STRUCT* >>>>> macros, >>>>> the actual end marker must be generated once and only once. The >>>>> way this >>>>> is currently handled is that only the last VM_STRUCT macro, which >>>>> happens to be VM_STRUCTS_OS_CPU, actually makes use of its last >>>>> argument >>>>> and adds it to the end of the array. >>>>> >>>>> Not only is this fairly complex to understand, it's also more fragile >>>>> than it needs to be. >>>>> >>>>> This change removes the last argument for all the VM_STRUCT macros >>>>> and >>>>> instead explicitly inserts the end marker at the end of the >>>>> localHotSpotVMStructs array. >>>>> >>>>> The same VM_STRUCTS macros are being used in VMStructs::init to do >>>>> type >>>>> checking. Instead of passing the end marker generator into the macros >>>>> the last parameter is instead CHECK_SENTINEL, which is defined to >>>>> expand >>>>> to nothing, which means it can be safely removed. >>>>> >>>>> 2. Move the end marker generating for the VM types, VM int >>>>> constants and >>>>> VM long constants databases >>>>> >>>>> Repeat the exact above story, but replace anything called >>>>> Structs/STRUCT >>>>> with Types/TYPES, IntConstants/INT_CONSTANTS and >>>>> LongConstants/LONG_CONSTANTS respectively. >>>>> >>>>> 3. Minor prettification >>>>> >>>>> In addition to the above the change also removes some superfluous >>>>> backslashes from a few of the VM_STRUCT* macro calls. >>>>> >>>>> Thanks, >>>>> Mikael >>>>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121231/cd0ed7ce/attachment.html From yumin.qi at oracle.com Mon Dec 31 12:30:29 2012 From: yumin.qi at oracle.com (Yumin Qi) Date: Mon, 31 Dec 2012 12:30:29 -0800 Subject: RFR (S): 8004747: Remove last_entry from VM_STRUCT macros In-Reply-To: <50E1DB26.7060904@oracle.com> References: <50C64DA8.7020700@oracle.com> <50C80511.6000900@oracle.com> <50DDDB50.70101@oracle.com> <50DE2C89.7050006@oracle.com> <50DE4497.7050501@oracle.com> <50E1DB26.7060904@oracle.com> Message-ID: <50E1F5E5.7020706@oracle.com> Looks good. Thanks for the fix, the macros is quite complex to understand. Agree with Serguei the assertion with better description. Thanks Yumin On 12/31/2012 10:36 AM, serguei.spitsyn at oracle.com wrote: > Mikael, > > It looks good. > It is also a nice simplification! > > The only thing I'd suggest is to be more specific in the assert at the > end of the vmStructs.cpp. > Instead of "Incorrect last entry" it'd be better to have "Incorrect > struct last entry", etc. > > Also, it'd be useful if Yumin had a chance to surfacely look at the fix. > > Thanks, > Serguei > > > On 12/28/12 5:17 PM, Mikael Vidstedt wrote: >> >> Thanks David! >> >> Still need a 2nd reviewer! >> >> Cheers, >> Mikael >> >> On 12/28/2012 3:34 PM, David Holmes wrote: >>> Mikael, >>> >>> That all sounds fine to me. >>> >>> Thanks, >>> David >>> >>> On 29/12/2012 3:48 AM, Mikael Vidstedt wrote: >>>> >>>> David, >>>> >>>> I did two things (both on linux/x86_64 only): >>>> >>>> 1. I compared the pre-processor output manually. Unfortunately >>>> there are >>>> line numbers sprinkled around in the pre-processed file which makes >>>> comparing the output a bit more complex than it should be. Modulo the >>>> line numbers and some white space changes the outputs matche. >>>> 2. I wrote a small test which mimics what the SA does - it looks up >>>> the >>>> four exported structures dynamically and reads the data. Apart from >>>> the >>>> "address" field in the VMStructEntry entries the outputs almost [1] >>>> match. The address field is expected to vary since it reflects the >>>> actual placement in memory of various static variables. >>>> >>>> Are there other experiments you can think of? >>>> >>>> Cheers, >>>> Mikael >>>> >>>> [1] Using this tool I actually found one bug in the table - one entry >>>> (ClassLoaderDataGraph::_unloading) is declared as nonstatic when it is >>>> indeed static. I'll file a separate bug for that. >>>> >>>> On 12/11/2012 8:16 PM, David Holmes wrote: >>>>> Hi Mikael, >>>>> >>>>> This looks okay to me - I like the simplification. However as I don't >>>>> perform mental macro substitution particularly well (okay, not at all >>>>> ;-)) I was wondering if there was a simple validation test where we >>>>> could compare the pre-processed output before and after? >>>>> >>>>> Thanks, >>>>> David >>>>> >>>>> On 11/12/2012 7:01 AM, Mikael Vidstedt wrote: >>>>>> >>>>>> Please review the following change: >>>>>> >>>>>> Webrev: http://cr.openjdk.java.net/~mikael/8004747/webrev.00/ >>>>>> >>>>>> Background: >>>>>> >>>>>> This patch does 3 things (depending on how you count it): >>>>>> >>>>>> 1. Move the call to generating the last entry for the VM structures >>>>>> database >>>>>> >>>>>> The vmStructs functionality is a macro based way of creating a >>>>>> database >>>>>> of information about VM internal structures, types and constants. >>>>>> >>>>>> The database for structures is defined in runtime/vmStructs.cpp >>>>>> in an >>>>>> array called localHotSpotVMStructs. The content of the array is >>>>>> generated with calls to a few different macros (VM_STRUCTS, >>>>>> VM_STRUCTS_PARALLELGC, VM_STRUCTS_CMS, VM_STRUCTS_G1, >>>>>> VM_STRUCTS_CPU and >>>>>> VM_STRUCTS_OS_CPU respectively). Common for all these macros is >>>>>> the fact >>>>>> that the last argument passed in is another macro >>>>>> (GENERATE_VM_STRUCT_LAST_ENTRY) which is a generator for the end >>>>>> marker/last entry in the database; a special entry which can be >>>>>> easily >>>>>> located by an external consumer of the information. >>>>>> >>>>>> Even though the end marker generator macro >>>>>> (GENERATE_VM_STRUCT_LAST_ENTRY) is passed to all the VM_STRUCT* >>>>>> macros, >>>>>> the actual end marker must be generated once and only once. The >>>>>> way this >>>>>> is currently handled is that only the last VM_STRUCT macro, which >>>>>> happens to be VM_STRUCTS_OS_CPU, actually makes use of its last >>>>>> argument >>>>>> and adds it to the end of the array. >>>>>> >>>>>> Not only is this fairly complex to understand, it's also more >>>>>> fragile >>>>>> than it needs to be. >>>>>> >>>>>> This change removes the last argument for all the VM_STRUCT >>>>>> macros and >>>>>> instead explicitly inserts the end marker at the end of the >>>>>> localHotSpotVMStructs array. >>>>>> >>>>>> The same VM_STRUCTS macros are being used in VMStructs::init to >>>>>> do type >>>>>> checking. Instead of passing the end marker generator into the >>>>>> macros >>>>>> the last parameter is instead CHECK_SENTINEL, which is defined to >>>>>> expand >>>>>> to nothing, which means it can be safely removed. >>>>>> >>>>>> 2. Move the end marker generating for the VM types, VM int >>>>>> constants and >>>>>> VM long constants databases >>>>>> >>>>>> Repeat the exact above story, but replace anything called >>>>>> Structs/STRUCT >>>>>> with Types/TYPES, IntConstants/INT_CONSTANTS and >>>>>> LongConstants/LONG_CONSTANTS respectively. >>>>>> >>>>>> 3. Minor prettification >>>>>> >>>>>> In addition to the above the change also removes some superfluous >>>>>> backslashes from a few of the VM_STRUCT* macro calls. >>>>>> >>>>>> Thanks, >>>>>> Mikael >>>>>> >>>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20121231/2f4d8c79/attachment.html