hg: jdk8/tl/jdk: 8006637: Failure to filter out native frame events on Solaris
Changeset: a0275a47fa78 Author:sla Date: 2013-03-19 09:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a0275a47fa78 8006637: Failure to filter out native frame events on Solaris Summary: Test is confused by other threads calling String.intern(). Add a thread filter to avoid this. Reviewed-by: sspitsyn, alanb ! test/com/sun/jdi/NativeInstanceFilter.java
hg: jdk8/tl/jdk: 8009426: "profiles" target fails due to nashorn if "images" is not built first
Changeset: e766da5575fa Author:dholmes Date: 2013-03-19 06:01 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e766da5575fa 8009426: "profiles" target fails due to nashorn if "images" is not built first Reviewed-by: alanb ! makefiles/CreateJars.gmk ! makefiles/Profiles.gmk ! makefiles/profile-includes.txt
RFR 8010282: sun.net.www.protocol.jar.JarFileFactory.close(JarFile) should be thread-safe
JarFileFactory has two Maps that it uses to implement caching of jar files. Access to these maps should always be done while holding the instance lock, as multiple threads can be simultaneously updating the maps. The close() method was added some time after the original implementation, and it looks like the locking was forgotten. Also, the locking strategy assumes that JarFileFactory is a singleton. It should be reworked to make it more robust. There is much more cleanup that can be done here, and I intend to do it as a separate bug, so as not to confuse the specifics of this issue. http://cr.openjdk.java.net/~chegar/8010282/webrev.00/webrev/ -Chris.
Re: RFR 8010282: sun.net.www.protocol.jar.JarFileFactory.close(JarFile) should be thread-safe
The if statements in the platform specific close methods do not have the spaces as we usually prefer to have them (I realize from before your changes), but otherwise this looks good to me. - Kurchi On 3/19/2013 10:43 AM, Chris Hegarty wrote: JarFileFactory has two Maps that it uses to implement caching of jar files. Access to these maps should always be done while holding the instance lock, as multiple threads can be simultaneously updating the maps. The close() method was added some time after the original implementation, and it looks like the locking was forgotten. Also, the locking strategy assumes that JarFileFactory is a singleton. It should be reworked to make it more robust. There is much more cleanup that can be done here, and I intend to do it as a separate bug, so as not to confuse the specifics of this issue. http://cr.openjdk.java.net/~chegar/8010282/webrev.00/webrev/ -Chris. -- -Kurchi
Re: RFR 8010282: sun.net.www.protocol.jar.JarFileFactory.close(JarFile) should be thread-safe
On 03/19/2013 06:16 PM, Kurchi Hazra wrote: The if statements in the platform specific close methods do not have the spaces as we usually prefer to have them (I realize from before your changes), but otherwise this looks good to me. Thanks Kurchi. I will put the space in the correct place before pushing. I will revisit this file shortly. I want to move the common code into shared code, and just have the platform specific code separated out. I don't want to do it as part of this bug, as it may just confuse the actual changes. -Chris. - Kurchi On 3/19/2013 10:43 AM, Chris Hegarty wrote: JarFileFactory has two Maps that it uses to implement caching of jar files. Access to these maps should always be done while holding the instance lock, as multiple threads can be simultaneously updating the maps. The close() method was added some time after the original implementation, and it looks like the locking was forgotten. Also, the locking strategy assumes that JarFileFactory is a singleton. It should be reworked to make it more robust. There is much more cleanup that can be done here, and I intend to do it as a separate bug, so as not to confuse the specifics of this issue. http://cr.openjdk.java.net/~chegar/8010282/webrev.00/webrev/ -Chris.
Re: RFR 8010282: sun.net.www.protocol.jar.JarFileFactory.close(JarFile) should be thread-safe
On 19/03/2013 17:43, Chris Hegarty wrote: JarFileFactory has two Maps that it uses to implement caching of jar files. Access to these maps should always be done while holding the instance lock, as multiple threads can be simultaneously updating the maps. The close() method was added some time after the original implementation, and it looks like the locking was forgotten. Also, the locking strategy assumes that JarFileFactory is a singleton. It should be reworked to make it more robust. There is much more cleanup that can be done here, and I intend to do it as a separate bug, so as not to confuse the specifics of this issue. http://cr.openjdk.java.net/~chegar/8010282/webrev.00/webrev/ -Chris. I assume JarURLConnection.factory can be final. For getCachedJarFile then you could use "assert Thread.holdsLock(instance)" in preference to the comment. Otherwise looks okay to me. -Alan.
Re: RFR 8010282: sun.net.www.protocol.jar.JarFileFactory.close(JarFile) should be thread-safe
Thanks Alan, I agree with both comments and will makes the changes before I push. -Chris. On 19 Mar 2013, at 19:57, Alan Bateman wrote: > On 19/03/2013 17:43, Chris Hegarty wrote: >> JarFileFactory has two Maps that it uses to implement caching of jar files. >> Access to these maps should always be done while holding the instance lock, >> as multiple threads can be simultaneously updating the maps. >> >> The close() method was added some time after the original implementation, >> and it looks like the locking was forgotten. Also, the locking strategy >> assumes that JarFileFactory is a singleton. It should be reworked to make it >> more robust. There is much more cleanup that can be done here, and I intend >> to do it as a separate bug, so as not to confuse the specifics of this issue. >> >> http://cr.openjdk.java.net/~chegar/8010282/webrev.00/webrev/ >> >> -Chris. > I assume JarURLConnection.factory can be final. > > For getCachedJarFile then you could use "assert Thread.holdsLock(instance)" > in preference to the comment. > > Otherwise looks okay to me. > > -Alan.
hg: jdk8/tl/langtools: 8010179: Remove transitional target values from javac
Changeset: a4913ea9bb62 Author:darcy Date: 2013-03-19 13:10 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/a4913ea9bb62 8010179: Remove transitional target values from javac Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! test/tools/javac/ClassFileModifiers/MemberModifiers.java ! test/tools/javac/profiles/ProfileOptionTest.java
hg: jdk8/tl/langtools: 8010315: doclint errors in javac public API
Changeset: 578eb3dd111d Author:jjg Date: 2013-03-19 15:13 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/578eb3dd111d 8010315: doclint errors in javac public API Reviewed-by: darcy ! make/build.xml ! src/share/classes/com/sun/source/util/DocTreeScanner.java ! src/share/classes/com/sun/source/util/JavacTask.java ! src/share/classes/com/sun/source/util/Plugin.java ! src/share/classes/javax/lang/model/AnnotatedConstruct.java ! src/share/classes/javax/lang/model/type/ExecutableType.java
hg: jdk8/tl/jdk: 8001642: Add Optional, OptionalDouble, OptionalInt, OptionalLong
Changeset: 2241a2d34085 Author:mduigou Date: 2013-03-19 16:05 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2241a2d34085 8001642: Add Optional, OptionalDouble, OptionalInt, OptionalLong Reviewed-by: mduigou, darcy, alanb, jjb Contributed-by: Brian Goetz + src/share/classes/java/util/Optional.java + src/share/classes/java/util/OptionalDouble.java + src/share/classes/java/util/OptionalInt.java + src/share/classes/java/util/OptionalLong.java + test/java/util/Optional/Basic.java + test/java/util/Optional/BasicDouble.java + test/java/util/Optional/BasicInt.java + test/java/util/Optional/BasicLong.java
hg: jdk8/tl/hotspot: 40 new changesets
Changeset: 8196357e95b5 Author:amurillo Date: 2013-03-08 08:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8196357e95b5 8009688: new hotspot build - hs25-b23 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 255c0a4cb4eb Author:sla Date: 2013-03-05 08:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/255c0a4cb4eb 8009287: [parfait] Uninitialised variable in hotspot/agent/src/os/linux/ps_core.c Reviewed-by: dholmes, kvn, mikael, morris ! agent/src/os/linux/ps_core.c Changeset: 9058789475af Author:iklam Date: 2013-03-05 13:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9058789475af 7107135: Stack guard pages are no more protected after loading a shared library with executable stack Summary: Detect the execstack attribute of the loaded library and attempt to fix the stack guard using Safepoint op. Reviewed-by: dholmes, zgu Contributed-by: ioi@oracle.com ! src/os/linux/vm/globals_linux.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp + test/runtime/7107135/Test.java + test/runtime/7107135/Test7107135.sh + test/runtime/7107135/TestMT.java + test/runtime/7107135/test.c Changeset: 6b803ba47588 Author:zgu Date: 2013-03-07 14:06 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6b803ba47588 8008257: NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option Summary: Corrected virtual memory recording and tagging code when large pages are used Reviewed-by: coleenp, ccheung ! 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 Changeset: 3efdfd6ddbf2 Author:coleenp Date: 2013-03-08 11:47 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3efdfd6ddbf2 8003553: NPG: metaspace objects should be zeroed in constructors Summary: Zero metadata in constructors, not in allocation (and some in constructors) Reviewed-by: jmasa, sspitsyn ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/memory/metablock.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 252ad8d5f22b Author:dcubed Date: 2013-03-08 17:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/252ad8d5f22b Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: 35ef86296a5d Author:dcubed Date: 2013-03-08 17:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/35ef86296a5d Merge ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: 5939f5953b45 Author:coleenp Date: 2013-03-13 09:10 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5939f5953b45 8009836: nsk/regression/b4222717 fails with empty stack trace Summary: Some zeroing was missed for bug 8003553, causing empty stack traces and Xcom crashes, add back zeroing to metablock Reviewed-by: dholmes, rbackman ! src/share/vm/memory/metablock.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/method.cpp Changeset: 96480359523a Author:coleenp Date: 2013-03-11 14:00 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/96480359523a 8008965: @Contended fails with classes having static fields Summary: Disable @Contended support for static fields Reviewed-by: coleenp, kvn Contributed-by: Aleksey Shipilev ! src/share/vm/classfile/classFileParser.cpp + test/runtime/8003985/Test8003985.java Changeset: d6320e955c89 Author:coleenp Date: 2013-03-13 13:47 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d6320e955c89 Merge Changeset: 0ede345ec7c9 Author:coleenp Date: 2013-03-13 15:15 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0ede345ec7c9 8009829: CDS: JDK JPRT test fails crash in Symbol::equals() Summary: -Xshare:dump was creating a Symbol in C_heap. There's an assert there that jdk jprt wasn't hitting because it was only done in product Reviewed-by: dholmes, hseigel, iklam ! src/share/vm/classfile/symbolTable.cpp Changeset: c8b31b461e1a Author:coleenp Date: 2013-03-13 17:34 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c8b31b461e1a 8003419: NPG: Clean up metadata created during class loading if failure Summary: Store metadata on ClassFileParser instance to be cleaned up by destructor. This enabled some refactoring of the enormous parseClassFile function. Reviewed-by:
hg: jdk8/tl/langtools: 8010333: Remove com.sun.tools.javac.Server
Changeset: 9cf17b7a5fe7 Author:jjg Date: 2013-03-19 17:05 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9cf17b7a5fe7 8010333: Remove com.sun.tools.javac.Server Reviewed-by: darcy - src/share/classes/com/sun/tools/javac/Server.java
hg: jdk8/tl/langtools: 8010317: DocLint incorrectly reports some tags as empty
Changeset: 74d7f9bcac93 Author:jjg Date: 2013-03-19 19:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/74d7f9bcac93 8010317: DocLint incorrectly reports some tags as empty Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java + test/tools/doclint/EmptyPreTest.java