From alan.bateman at sun.com Mon Sep 1 11:41:04 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Mon, 01 Sep 2008 11:41:04 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20080901114127.E2994DFD7@hg.openjdk.java.net> Changeset: f9cf71f806eb Author: alanb Date: 2008-08-31 18:32 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f9cf71f806eb 6570619: (bf) DirectByteBuffer.get/put(byte[]) does not scale well Reviewed-by: iris ! make/java/java/mapfile-vers ! src/share/classes/java/nio/Bits.java ! src/share/classes/java/nio/Direct-X-Buffer.java ! src/share/native/java/nio/Bits.c Changeset: 343253d05123 Author: alanb Date: 2008-08-31 18:39 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/343253d05123 4640544: New I/O: Complete socket-channel functionality Reviewed-by: iris, sherman, chegar ! make/java/nio/FILES_java.gmk ! make/java/nio/Makefile ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! make/mksample/nio/Makefile + make/mksample/nio/multicast/Makefile ! src/share/classes/java/net/NetworkInterface.java + src/share/classes/java/net/ProtocolFamily.java + src/share/classes/java/net/SocketOption.java + src/share/classes/java/net/StandardProtocolFamily.java + src/share/classes/java/net/StandardSocketOption.java ! src/share/classes/java/nio/channels/DatagramChannel.java + src/share/classes/java/nio/channels/MembershipKey.java + src/share/classes/java/nio/channels/MulticastChannel.java + src/share/classes/java/nio/channels/NetworkChannel.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/channels/exceptions + src/share/classes/java/nio/channels/package-info.java - src/share/classes/java/nio/channels/package.html ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java + src/share/classes/sun/nio/ch/ExtendedSocketOption.java + src/share/classes/sun/nio/ch/MembershipKeyImpl.java + src/share/classes/sun/nio/ch/MembershipRegistry.java ! src/share/classes/sun/nio/ch/Net.java - src/share/classes/sun/nio/ch/OptionAdaptor.java + src/share/classes/sun/nio/ch/OptionKey.java ! src/share/classes/sun/nio/ch/SelectorProviderImpl.java ! src/share/classes/sun/nio/ch/ServerSocketAdaptor.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketAdaptor.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java - src/share/classes/sun/nio/ch/SocketOpts.java - src/share/classes/sun/nio/ch/SocketOptsImpl.java - src/share/classes/sun/nio/ch/exceptions ! src/share/native/java/net/net_util.c ! src/share/native/java/net/net_util.h + src/share/native/sun/nio/ch/genSocketOptionRegistry.c + src/share/sample/nio/multicast/MulticastAddress.java + src/share/sample/nio/multicast/Reader.java + src/share/sample/nio/multicast/Sender.java ! src/solaris/native/java/net/net_util_md.c ! src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ! src/solaris/native/sun/nio/ch/FileKey.c ! src/solaris/native/sun/nio/ch/Net.c ! src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c ! src/solaris/native/sun/nio/ch/SocketChannelImpl.c ! src/solaris/native/sun/nio/ch/nio_util.h ! src/windows/native/java/net/net_util_md.c ! src/windows/native/sun/nio/ch/DatagramChannelImpl.c ! src/windows/native/sun/nio/ch/Net.c ! src/windows/native/sun/nio/ch/ServerSocketChannelImpl.c ! src/windows/native/sun/nio/ch/SocketChannelImpl.c + test/java/nio/channels/DatagramChannel/BasicMulticastTests.java + test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java + test/java/nio/channels/DatagramChannel/NetworkConfiguration.java + test/java/nio/channels/DatagramChannel/SocketOptionTests.java + test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java + test/java/nio/channels/SocketChannel/SocketOptionTests.java ! test/java/nio/channels/TestUtil.java + test/java/nio/channels/etc/NetworkChannelTests.java From eamonn.mcmanus at sun.com Mon Sep 1 15:12:58 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Mon, 01 Sep 2008 15:12:58 +0000 Subject: hg: jdk7/tl/jdk: 6731410: JMXServiceURL cannot use @ConstructorProperties for compatibility reasons Message-ID: <20080901151310.3187BD013@hg.openjdk.java.net> Changeset: 0a427d0e70a7 Author: emcmanus Date: 2008-09-01 17:11 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0a427d0e70a7 6731410: JMXServiceURL cannot use @ConstructorProperties for compatibility reasons Reviewed-by: dfuchs ! src/share/classes/javax/management/MXBean.java ! src/share/classes/javax/management/remote/JMXServiceURL.java ! test/javax/management/mxbean/JMXServiceURLTest.java From eamonn.mcmanus at sun.com Tue Sep 2 12:15:20 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Tue, 02 Sep 2008 12:15:20 +0000 Subject: hg: jdk7/tl/jdk: 6405862: Allow CompositeType to have zero items; ... Message-ID: <20080902121532.250D2D04A@hg.openjdk.java.net> Changeset: 1d1d66438d11 Author: emcmanus Date: 2008-09-02 14:14 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1d1d66438d11 6405862: Allow CompositeType to have zero items 6737133: Compilation failure of test/javax/management/eventService/LeaseManagerDeadlockTest.java 6737140: Javadoc of some throw clauses of MBeanServer and MBeanServerConnection is garbled 6737143: createMBean of MBeanServer should acquire 2 extra throw clauses present in MBeanServerConnection Reviewed-by: dfuchs ! src/share/classes/javax/management/MBeanServer.java ! src/share/classes/javax/management/MBeanServerConnection.java ! src/share/classes/javax/management/openmbean/CompositeType.java ! test/javax/management/eventService/LeaseManagerDeadlockTest.java From eamonn.mcmanus at sun.com Wed Sep 3 12:32:34 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Wed, 03 Sep 2008 12:32:34 +0000 Subject: hg: jdk7/tl/jdk: 6744132: Spurious failures from test/javax/management/MBeanInfo/NotificationInfoTest.java Message-ID: <20080903123257.98428D15D@hg.openjdk.java.net> Changeset: 00ea8fc81867 Author: emcmanus Date: 2008-09-03 14:31 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/00ea8fc81867 6744132: Spurious failures from test/javax/management/MBeanInfo/NotificationInfoTest.java Reviewed-by: dfuchs ! test/javax/management/MBeanInfo/NotificationInfoTest.java From jonathan.gibbons at sun.com Wed Sep 3 17:50:08 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Wed, 03 Sep 2008 17:50:08 +0000 Subject: hg: jdk7/tl/langtools: 6743107: clean up use of static caches in file manager Message-ID: <20080903175011.5536FD16E@hg.openjdk.java.net> Changeset: ceaa6549687a Author: jjg Date: 2008-09-03 10:46 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/ceaa6549687a 6743107: clean up use of static caches in file manager Reviewed-by: mcimadamore + src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java + src/share/classes/com/sun/tools/javac/file/FSInfo.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/Paths.java ! src/share/classes/com/sun/tools/javac/main/Main.java From Ulf.Zibis at gmx.de Thu Sep 4 13:55:37 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 04 Sep 2008 15:55:37 +0200 Subject: I replaced sun.io converters by an adaptor to sun.nio.cs coders In-Reply-To: <4861199E.4030706@sun.com> References: <48600F67.3040201@CoSoCo.de> <48602CE8.6060501@sun.com> <4860C64F.8030106@CoSoCo.de> <4861199E.4030706@sun.com> Message-ID: <48BFE8D9.5050302@gmx.de> Hi Sherman and all other readers on this list, I've finished my work for an adapter, so all sun.io.CharToByte/ByteToChar implementations can be thrown out. Result: only 13 classes (including inner classes) instead of 332 classes in sun.io package are needed. See my sources: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/tags/milestone2/src/sun/io/ Separate JAR to pre-load by -Xbootclasspath/p:sun_io.jar https://java-nio-charset-enhanced.dev.java.net/servlets/ProjectDocumentList?folderID=9164&expandFolder=9164 Homepage: https://java-nio-charset-enhanced.dev.java.net -Ulf Am 24.06.2008 17:58, Xueming Shen schrieb: > ... one of the ideas is to write a adaptor class to bridge the > sun.io.Converter to sun.nio.cs > implementation, so we can eliminate all those CharToByte/ByteToChar > implementation, I have a > draft implementation in one of my ws, but have not fully tested, will > dig it out later. > > From daniel.fuchs at sun.com Thu Sep 4 14:10:10 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Thu, 04 Sep 2008 14:10:10 +0000 Subject: hg: jdk7/tl/jdk: 5072476: RFE: support cascaded (federated) MBean Servers; ... Message-ID: <20080904141026.3CCD7D231@hg.openjdk.java.net> Changeset: 9145ff046bb4 Author: dfuchs Date: 2008-09-04 14:46 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9145ff046bb4 5072476: RFE: support cascaded (federated) MBean Servers 6299231: Add support for named MBean Servers Summary: New javax.management.namespace package. Reviewed-by: emcmanus ! make/docs/CORE_PKGS.gmk ! src/share/classes/com/sun/jmx/defaults/JmxProperties.java ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java + src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java + src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java ! src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptor.java + src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptorSupport.java - src/share/classes/com/sun/jmx/interceptor/MBeanServerSupport.java + src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java ! src/share/classes/com/sun/jmx/interceptor/SingleMBeanForwarder.java ! src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java ! src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java ! src/share/classes/com/sun/jmx/mbeanserver/Repository.java ! src/share/classes/com/sun/jmx/mbeanserver/SunJmxMBeanServer.java ! src/share/classes/com/sun/jmx/mbeanserver/Util.java + src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java + src/share/classes/com/sun/jmx/namespace/HandlerInterceptor.java + src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java + src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java + src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java + src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java + src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java + src/share/classes/com/sun/jmx/namespace/RoutingProxy.java + src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java + src/share/classes/com/sun/jmx/namespace/package.html + src/share/classes/com/sun/jmx/namespace/serial/DefaultRewritingProcessor.java + src/share/classes/com/sun/jmx/namespace/serial/IdentityProcessor.java + src/share/classes/com/sun/jmx/namespace/serial/JMXNamespaceContext.java + src/share/classes/com/sun/jmx/namespace/serial/RewritingProcessor.java + src/share/classes/com/sun/jmx/namespace/serial/RoutingOnlyProcessor.java + src/share/classes/com/sun/jmx/namespace/serial/SerialRewritingProcessor.java + src/share/classes/com/sun/jmx/namespace/serial/package.html ! src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java ! src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java ! src/share/classes/javax/management/InstanceNotFoundException.java ! src/share/classes/javax/management/MBeanPermission.java ! src/share/classes/javax/management/MBeanServer.java ! src/share/classes/javax/management/MBeanServerDelegate.java ! src/share/classes/javax/management/MBeanServerFactory.java ! src/share/classes/javax/management/ObjectName.java ! src/share/classes/javax/management/event/EventClient.java ! src/share/classes/javax/management/event/EventClientDelegate.java + src/share/classes/javax/management/namespace/JMXDomain.java + src/share/classes/javax/management/namespace/JMXNamespace.java + src/share/classes/javax/management/namespace/JMXNamespaceMBean.java + src/share/classes/javax/management/namespace/JMXNamespacePermission.java + src/share/classes/javax/management/namespace/JMXNamespaceView.java + src/share/classes/javax/management/namespace/JMXNamespaces.java + src/share/classes/javax/management/namespace/JMXRemoteNamespace.java + src/share/classes/javax/management/namespace/JMXRemoteNamespaceMBean.java + src/share/classes/javax/management/namespace/MBeanServerConnectionWrapper.java + src/share/classes/javax/management/namespace/MBeanServerSupport.java + src/share/classes/javax/management/namespace/VirtualEventManager.java + src/share/classes/javax/management/namespace/package-info.java ! src/share/classes/javax/management/remote/JMXConnectorFactory.java ! src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java + test/javax/management/MBeanServerFactory/NamedMBeanServerTest.java ! test/javax/management/ObjectName/ApplyWildcardTest.java + test/javax/management/namespace/DomainCreationTest.java + test/javax/management/namespace/EventWithNamespaceControlTest.java + test/javax/management/namespace/EventWithNamespaceTest.java + test/javax/management/namespace/ExportNamespaceTest.java + test/javax/management/namespace/JMXDomainTest.java + test/javax/management/namespace/JMXNamespaceSecurityTest.java + test/javax/management/namespace/JMXNamespaceTest.java + test/javax/management/namespace/JMXNamespaceViewTest.java + test/javax/management/namespace/JMXNamespacesTest.java + test/javax/management/namespace/JMXRemoteNamespaceTest.java + test/javax/management/namespace/JMXRemoteTargetNamespace.java + test/javax/management/namespace/LazyDomainTest.java + test/javax/management/namespace/MXBeanRefTest.java + test/javax/management/namespace/NamespaceController.java + test/javax/management/namespace/NamespaceControllerMBean.java + test/javax/management/namespace/NamespaceCreationTest.java + test/javax/management/namespace/NamespaceNotificationsTest.java + test/javax/management/namespace/NullDomainObjectNameTest.java + test/javax/management/namespace/NullObjectNameTest.java + test/javax/management/namespace/QueryNamesTest.java + test/javax/management/namespace/RemoveNotificationListenerTest.java + test/javax/management/namespace/RoutingServerProxyTest.java + test/javax/management/namespace/SerialParamProcessorTest.java + test/javax/management/namespace/SourceNamespaceTest.java + test/javax/management/namespace/VirtualMBeanNotifTest.java + test/javax/management/namespace/VirtualMBeanTest.java + test/javax/management/namespace/VirtualNamespaceQueryTest.java + test/javax/management/namespace/VirtualPropsTest.java + test/javax/management/namespace/Wombat.java + test/javax/management/namespace/WombatMBean.java + test/javax/management/namespace/namespace.policy From Xueming.Shen at Sun.COM Thu Sep 4 22:59:22 2008 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Thu, 04 Sep 2008 15:59:22 -0700 Subject: I replaced sun.io converters by an adaptor to sun.nio.cs coders In-Reply-To: <48BFE8D9.5050302@gmx.de> References: <48600F67.3040201@CoSoCo.de> <48602CE8.6060501@sun.com> <4860C64F.8030106@CoSoCo.de> <4861199E.4030706@sun.com> <48BFE8D9.5050302@gmx.de> Message-ID: <48C0684A.8060505@sun.com> Ulf, you are really productive:-) thanks for working so hard on the "adapter" idea! Took a very quick scan on the ByteToChar adapter, here are some comments for your considering (1)in convert(), the decoder.decode(src, dst, true) is used instead of the decode(src, dst, false), which probably is against the specified "a buffer by buffer conversion" use scenario, consider the possibility that we have some "incomplete" bytes in the "input" stream, which might be "completed" by sequential "input" in a second invoking of convert(). (2)flush(), the spec says you need to "reset() before throw the MalformedInputException,so the charOff need to be zero. (3)reset() does not set the badInputlength to 0. sherman Ulf Zibis wrote: > Hi Sherman and all other readers on this list, > > I've finished my work for an adapter, so all > sun.io.CharToByte/ByteToChar implementations can be thrown out. > > Result: only 13 classes (including inner classes) instead of 332 > classes in sun.io package are needed. > > See my sources: > https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/tags/milestone2/src/sun/io/ > > > Separate JAR to pre-load by -Xbootclasspath/p:sun_io.jar > https://java-nio-charset-enhanced.dev.java.net/servlets/ProjectDocumentList?folderID=9164&expandFolder=9164 > > > Homepage: > https://java-nio-charset-enhanced.dev.java.net > > -Ulf > > > > Am 24.06.2008 17:58, Xueming Shen schrieb: >> ... one of the ideas is to write a adaptor class to bridge the >> sun.io.Converter to sun.nio.cs >> implementation, so we can eliminate all those CharToByte/ByteToChar >> implementation, I have a >> draft implementation in one of my ws, but have not fully tested, will >> dig it out later. >> >> > From tim.bell at sun.com Sat Sep 6 19:21:23 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sat, 06 Sep 2008 19:21:23 +0000 Subject: hg: jdk7/tl: Added tag jdk7-b34 for changeset 46a989ab9329 Message-ID: <20080906192123.3C6B2D3BB@hg.openjdk.java.net> Changeset: 143c1abedb7d Author: xdono Date: 2008-08-28 11:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/143c1abedb7d Added tag jdk7-b34 for changeset 46a989ab9329 ! .hgtags From tim.bell at sun.com Sat Sep 6 19:22:12 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sat, 06 Sep 2008 19:22:12 +0000 Subject: hg: jdk7/tl/corba: Added tag jdk7-b34 for changeset 0a812b9824e5 Message-ID: <20080906192213.95C01D3C0@hg.openjdk.java.net> Changeset: 3867c4d14a5b Author: xdono Date: 2008-08-28 11:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/3867c4d14a5b Added tag jdk7-b34 for changeset 0a812b9824e5 ! .hgtags From tim.bell at sun.com Sat Sep 6 19:24:32 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sat, 06 Sep 2008 19:24:32 +0000 Subject: hg: jdk7/tl/hotspot: 51 new changesets Message-ID: <20080906192612.83ADDD3C5@hg.openjdk.java.net> Changeset: d95b224e9f17 Author: kamg Date: 2008-07-28 14:07 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d95b224e9f17 6721093: -XX:AppendRatio=N not supported Summary: Add mechanism to ignore unsupported flags for a set period of time Reviewed-by: acorn, never, coleenp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/includeDB_core ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/java.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/threadLocalStorage.cpp ! src/share/vm/runtime/threadLocalStorage.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/threadService.cpp Changeset: 4395df5b73d3 Author: coleenp Date: 2008-07-30 15:06 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4395df5b73d3 Merge Changeset: 524eca34ea76 Author: kvn Date: 2008-07-03 18:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/524eca34ea76 6684714: Optimize EA Connection Graph build performance Summary: switch on EA by default, optimize Connection Graph construction Reviewed-by: rasbold, never ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/compiler/oopMap.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp Changeset: 4a4c365f777d Author: kvn Date: 2008-07-11 12:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4a4c365f777d Merge ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/compiler/oopMap.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp Changeset: 9b66e6287f4a Author: rasbold Date: 2008-07-16 10:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9b66e6287f4a 6707044: uncommon_trap of ifnull bytecode leaves garbage on expression stack Summary: Remove call to repush_if_args() Reviewed-by: kvn, jrose ! src/share/vm/opto/parse2.cpp Changeset: 02a35ad4adf8 Author: kvn Date: 2008-07-16 16:04 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/02a35ad4adf8 6723160: Nightly failure: Error: meet not symmetric Summary: Add missing _instance_id settings and other EA fixes. Reviewed-by: rasbold ! src/share/vm/adlc/formssel.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/type.cpp + test/compiler/6724218/Test.java Changeset: 18aab3cdd513 Author: rasbold Date: 2008-07-21 13:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/18aab3cdd513 6726504: handle do_ifxxx calls in parser more uniformly Summary: make do_ifnull() handling similar to do_if() Reviewed-by: jrose, kvn ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse2.cpp Changeset: 910a4cb98e9e Author: never Date: 2008-07-25 09:07 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/910a4cb98e9e 6717457: Internal Error (src/share/vm/code/relocInfo.hpp:1089) Reviewed-by: kvn ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp Changeset: 6ca61c728c2d Author: never Date: 2008-07-25 11:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6ca61c728c2d 6712835: Server compiler fails with assertion (loop_count < K,"infinite loop in PhaseIterGVN::transform") Reviewed-by: kvn ! src/share/vm/ci/ciMethodBlocks.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/ifnode.cpp + test/compiler/6712835/Test6712835.java Changeset: 020a0b730379 Author: never Date: 2008-07-25 15:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/020a0b730379 6700047: C2 failed in idom_no_update Summary: partial peeling shouldn't place clones into loop Reviewed-by: kvn ! src/share/vm/opto/loopopts.cpp + test/compiler/6700047/Test6700047.java Changeset: be7facf71163 Author: kvn Date: 2008-07-25 16:03 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/be7facf71163 6729552: jvm98 crashes with SS12 built jdk on Solaris X64 fastdebug version Summary: SS12 C++ tripped over new templates usage in instanceKlass.cpp. Reviewed-by: never ! make/solaris/makefiles/fastdebug.make Changeset: b0fe4deeb9fb Author: kvn Date: 2008-07-28 17:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b0fe4deeb9fb 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.") Summary: Escape Analysis fixes. Reviewed-by: never, rasbold ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/runtime/arguments.cpp ! test/compiler/6646019/Test.java ! test/compiler/6689060/Test.java ! test/compiler/6695810/Test.java + test/compiler/6726999/Test.java Changeset: 3e333d6f35dd Author: rasbold Date: 2008-07-29 14:48 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3e333d6f35dd 6730192: expression stack wrong at deoptimization point Summary: add safepoint before popping expression stack, not after Reviewed-by: kvn ! src/share/vm/opto/parse2.cpp Changeset: ef72a36b968e Author: kvn Date: 2008-07-30 09:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ef72a36b968e Merge ! src/share/vm/runtime/arguments.cpp Changeset: 4c5fa80d85da Author: kvn Date: 2008-07-31 13:42 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4c5fa80d85da Merge ! src/share/vm/runtime/arguments.cpp Changeset: 40b69ca33f4b Author: kvn Date: 2008-07-31 15:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/40b69ca33f4b 6732312: Switch off executing Escape Analysis by default Summary: Switch off executing Escape Analysis by default for now Reviewed-by: rasbold ! src/share/vm/opto/c2_globals.hpp Changeset: 54499b980c23 Author: swamyv Date: 2008-07-29 13:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/54499b980c23 6710791: Remove files or build from source:maf-1_0.jar, jlfg-1_0.jar Summary: Removed maf-1_0.jar and jlfg-1_0.jar files. Reviewed-by: poonam, jjh ! agent/make/Makefile ! agent/make/bugspot.bat ! agent/make/build.xml ! agent/make/hsdb.bat ! agent/make/hsdb.sh ! agent/make/saenv.bat ! agent/make/saenv.sh ! agent/make/saenv64.bat ! agent/make/saenv64.sh + agent/src/share/classes/com/sun/java/swing/action/AboutAction.java + agent/src/share/classes/com/sun/java/swing/action/ActionManager.java + agent/src/share/classes/com/sun/java/swing/action/ActionUtilities.java + agent/src/share/classes/com/sun/java/swing/action/AlignCenterAction.java + agent/src/share/classes/com/sun/java/swing/action/AlignLeftAction.java + agent/src/share/classes/com/sun/java/swing/action/AlignRightAction.java + agent/src/share/classes/com/sun/java/swing/action/ApplyAction.java + agent/src/share/classes/com/sun/java/swing/action/BackAction.java + agent/src/share/classes/com/sun/java/swing/action/CancelAction.java + agent/src/share/classes/com/sun/java/swing/action/DelegateAction.java + agent/src/share/classes/com/sun/java/swing/action/ExitAction.java + agent/src/share/classes/com/sun/java/swing/action/FileMenu.java + agent/src/share/classes/com/sun/java/swing/action/FinishAction.java + agent/src/share/classes/com/sun/java/swing/action/HelpAction.java + agent/src/share/classes/com/sun/java/swing/action/HelpMenu.java + agent/src/share/classes/com/sun/java/swing/action/NewAction.java + agent/src/share/classes/com/sun/java/swing/action/NextAction.java + agent/src/share/classes/com/sun/java/swing/action/OkAction.java + agent/src/share/classes/com/sun/java/swing/action/OpenAction.java + agent/src/share/classes/com/sun/java/swing/action/SaveAction.java + agent/src/share/classes/com/sun/java/swing/action/SaveAsAction.java + agent/src/share/classes/com/sun/java/swing/action/StateChangeAction.java + agent/src/share/classes/com/sun/java/swing/action/ViewMenu.java + agent/src/share/classes/com/sun/java/swing/ui/CommonMenuBar.java + agent/src/share/classes/com/sun/java/swing/ui/CommonToolBar.java + agent/src/share/classes/com/sun/java/swing/ui/CommonUI.java + agent/src/share/classes/com/sun/java/swing/ui/OkCancelButtonPanel.java + agent/src/share/classes/com/sun/java/swing/ui/OkCancelDialog.java + agent/src/share/classes/com/sun/java/swing/ui/SplashScreen.java + agent/src/share/classes/com/sun/java/swing/ui/StatusBar.java + agent/src/share/classes/com/sun/java/swing/ui/TabsDlg.java + agent/src/share/classes/com/sun/java/swing/ui/ToggleActionPropertyChangeListener.java + agent/src/share/classes/com/sun/java/swing/ui/WizardDlg.java + agent/src/share/classes/images/toolbarButtonGraphics/development/Server16.gif + agent/src/share/classes/images/toolbarButtonGraphics/development/Server24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/About16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/About24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Delete16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Delete24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Find16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Help16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Help24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/History16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/History24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Information16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Information24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/New16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/New24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Open16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Open24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Save16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Save24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/SaveAs16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/SaveAs24.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/Zoom16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/ZoomIn16.gif + agent/src/share/classes/images/toolbarButtonGraphics/general/ZoomIn24.gif + agent/src/share/classes/images/toolbarButtonGraphics/navigation/Down16.gif + agent/src/share/classes/images/toolbarButtonGraphics/navigation/Up16.gif + agent/src/share/classes/images/toolbarButtonGraphics/text/AlignCenter16.gif + agent/src/share/classes/images/toolbarButtonGraphics/text/AlignCenter24.gif + agent/src/share/classes/images/toolbarButtonGraphics/text/AlignLeft16.gif + agent/src/share/classes/images/toolbarButtonGraphics/text/AlignLeft24.gif + agent/src/share/classes/images/toolbarButtonGraphics/text/AlignRight16.gif + agent/src/share/classes/images/toolbarButtonGraphics/text/AlignRight24.gif - agent/src/share/lib/jlfgr-1_0.jar - agent/src/share/lib/maf-1_0.jar Changeset: c7e8144ef65e Author: dcubed Date: 2008-07-30 14:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c7e8144ef65e Merge - agent/src/share/lib/jlfgr-1_0.jar - agent/src/share/lib/maf-1_0.jar Changeset: 610674f963d2 Author: dcubed Date: 2008-07-31 22:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/610674f963d2 Merge - agent/src/share/lib/jlfgr-1_0.jar - agent/src/share/lib/maf-1_0.jar Changeset: 7f601f7c9b48 Author: martin Date: 2008-07-31 18:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7f601f7c9b48 6731726: jmap -permstat reports only 50-60% of permgen memory usage. Reviewed-by: swamyv, martin Contributed-by: yamauchi at google.com ! agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java Changeset: f31ba9518910 Author: dcubed Date: 2008-07-31 22:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f31ba9518910 Merge Changeset: 12eea04c8b06 Author: jmasa Date: 2008-07-09 15:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection. Summary: Maintain a high water mark for the allocations in a space and mangle only up to that high water mark. Reviewed-by: ysr, apetrusenko ! src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.hpp ! src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ! src/share/vm/gc_implementation/includeDB_gc_parNew ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/includeDB_gc_shared ! src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/mutableSpace.hpp + src/share/vm/gc_implementation/shared/spaceDecorator.cpp + src/share/vm/gc_implementation/shared/spaceDecorator.hpp ! src/share/vm/includeDB_core ! src/share/vm/includeDB_features ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 15dd2594d08e Author: jcoomes Date: 2008-07-11 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/15dd2594d08e 6718283: existing uses of *_FORMAT_W() were broken by 6521491 Reviewed-by: ysr, pbk ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Changeset: f88815ca1af1 Author: jcoomes Date: 2008-07-11 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f88815ca1af1 6483129: par compact assertion failure (new_top > bottom) Summary: avoid computing the dense prefix if a space is empty Reviewed-by: pbk, tonyp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Changeset: 2214b226b7f0 Author: jcoomes Date: 2008-07-11 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2214b226b7f0 6724367: par compact could clear less young gen summary data Reviewed-by: jmasa, apetrusenko ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Changeset: 9d6a3a6891f8 Author: iveresov Date: 2008-07-14 04:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9d6a3a6891f8 6720130: NUMA allocator: The linux version should search for libnuma.so.1 Summary: Search for libnuma.so.1 on Linux and liblgrp.so.1 on Solaris. Reviewed-by: jmasa ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp Changeset: d6340ab4105b Author: iveresov Date: 2008-07-17 10:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d6340ab4105b 6723228: NUMA allocator: assert(lgrp_id != -1, "No lgrp_id set") 6723229: NUMA allocator: assert(lgrp_num > 0, "There should be at least one locality group") Summary: The fix takes care of the assertion triggered during TLAB resizing after reconfiguration. Also it now handles a defect in the topology graph, in which a single leaf node doesn't have memory. Reviewed-by: jmasa ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/shared/gcUtil.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp Changeset: 850fdf70db2b Author: jmasa Date: 2008-07-28 15:30 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/850fdf70db2b Merge ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.hpp ! src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/includeDB_gc_shared ! src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/mutableSpace.hpp ! src/share/vm/includeDB_core ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: b7f01ad69d30 Author: jmasa Date: 2008-08-04 12:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b7f01ad69d30 Merge - agent/src/share/lib/jlfgr-1_0.jar - agent/src/share/lib/maf-1_0.jar ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/includeDB_core Changeset: 818a18cd69a8 Author: jmasa Date: 2008-07-30 11:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/818a18cd69a8 6730514: assertion failure in mangling code when expanding by 0 bytes Summary: An expansion by 0 bytes was not anticipated when the assertion was composed. Reviewed-by: jjh, jcoomes, apetrusenko ! make/windows/makefiles/defs.make ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/shared/spaceDecorator.cpp ! src/share/vm/memory/compactingPermGenGen.cpp ! src/share/vm/memory/compactingPermGenGen.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp Changeset: e8cf9b1f7c93 Author: jmasa Date: 2008-08-04 12:15 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e8cf9b1f7c93 Merge Changeset: 6f17a7c9f8b4 Author: xlu Date: 2008-08-01 15:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6f17a7c9f8b4 6719981: Update Hotspot Windows os_win32 for windows XP 64 bit and windows 2008 Reviewed-by: dholmes, kamg ! src/os/windows/vm/os_windows.cpp Changeset: f7e6d42d9323 Author: xlu Date: 2008-08-01 15:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f7e6d42d9323 6618886: Anonymous objects can be destructed immediately and so should not be used Reviewed-by: dholmes, kamg ! src/os/solaris/vm/osThread_solaris.cpp Changeset: 4fa67937726c Author: trims Date: 2008-08-10 13:13 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4fa67937726c Merge - agent/src/share/lib/jlfgr-1_0.jar - agent/src/share/lib/maf-1_0.jar Changeset: aa8f54688692 Author: trims Date: 2008-08-10 21:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/aa8f54688692 Merge - agent/src/share/lib/jlfgr-1_0.jar - agent/src/share/lib/maf-1_0.jar ! src/share/vm/runtime/arguments.cpp Changeset: 79276d1b7e50 Author: trims Date: 2008-08-10 21:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/79276d1b7e50 6735720: Bump the HS14 build number to 03 Summary: Update Hotspot 14 build number to 03 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 4852f4a82e58 Author: ohair Date: 2008-08-14 11:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4852f4a82e58 6724668: Hotspot: Official change to Sun Studio 12 compilers on Solaris Summary: Moving to SS12. Builds with SS11 still work, the compiler comes from your PATH when building hotspot. Reviewed-by: tbell ! make/jprt.config ! make/solaris/makefiles/sparcWorks.make Changeset: f3a650d8df24 Author: thurka Date: 2008-08-14 21:05 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f3a650d8df24 6625846: Export system property java.version via jvmstat Summary: java.version added to property_counters_ss array Reviewed-by: swamyv ! src/share/vm/runtime/statSampler.cpp Changeset: 7f9b895777f8 Author: thurka Date: 2008-08-15 05:55 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7f9b895777f8 Merge Changeset: a2de7dfbfcf0 Author: swamyv Date: 2008-08-12 12:44 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a2de7dfbfcf0 6718125: SA: jmap prints negative size for MaxNewHeap. Summary: Fixed printing of negative value for MaxNewHeap. Reviewed-by: jjh ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Changeset: 44aea0a1e099 Author: swamyv Date: 2008-08-15 12:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/44aea0a1e099 Merge Changeset: 9199f248b0ee Author: ysr Date: 2008-08-14 17:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9199f248b0ee 6722112: CMS: Incorrect encoding of overflown object arrays during concurrent precleaning Summary: When an object array overflows during precleaning, we should have been marking the entire array dirty, not just its first card. Reviewed-by: jmasa, poonam, tonyp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: 92e12124e774 Author: ysr Date: 2008-08-20 01:30 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/92e12124e774 Merge Changeset: 51ae48d8072f Author: kamg Date: 2008-08-13 08:56 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/51ae48d8072f 6736718: more copyright headers wrong Summary: Changed license headers to GPL Reviewed-by: tonyp, rasbold ! make/hotspot_distro ! test/compiler/6646019/Test.java ! test/compiler/6689060/Test.java ! test/compiler/6695810/Test.java Changeset: 3529d0e8d09c Author: xlu Date: 2008-08-15 10:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3529d0e8d09c 6608862: segv in JvmtiEnvBase::check_for_periodic_clean_up() Reviewed-by: dholmes, dcubed, jcoomes ! src/share/vm/runtime/thread.cpp Changeset: 6e76352f1f62 Author: xlu Date: 2008-08-18 14:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6e76352f1f62 6459085: naked pointer subtractions in class data sharing code Reviewed-by: jcoomes ! make/linux/makefiles/vm.make ! src/share/vm/memory/dump.cpp Changeset: 70c4fb9cf899 Author: apangin Date: 2008-08-19 06:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/70c4fb9cf899 Merge - agent/src/share/lib/jlfgr-1_0.jar - agent/src/share/lib/maf-1_0.jar ! src/share/vm/memory/dump.cpp ! test/compiler/6646019/Test.java ! test/compiler/6689060/Test.java ! test/compiler/6695810/Test.java Changeset: d7bb383033d6 Author: apangin Date: 2008-08-20 12:24 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d7bb383033d6 Merge Changeset: 9f7cf8db35b8 Author: trims Date: 2008-08-20 20:24 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9f7cf8db35b8 Merge Changeset: 5251a9cd8eb8 Author: jcoomes Date: 2008-08-27 15:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5251a9cd8eb8 6742207: jdk7 32-bit windows build failed running pack200 Summary: 6730514 inadvertently disabled perm gen expansion; reenable Reviewed-by: ysr ! src/share/vm/memory/compactingPermGenGen.cpp ! src/share/vm/memory/compactingPermGenGen.hpp Changeset: 5967ae2171f6 Author: xdono Date: 2008-08-28 11:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5967ae2171f6 Added tag jdk7-b34 for changeset 5251a9cd8eb8 ! .hgtags From tim.bell at sun.com Sat Sep 6 19:28:34 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sat, 06 Sep 2008 19:28:34 +0000 Subject: hg: jdk7/tl/jaxp: Added tag jdk7-b34 for changeset 01facdf8cabd Message-ID: <20080906192836.49435D3CA@hg.openjdk.java.net> Changeset: eac46d1eb7f0 Author: xdono Date: 2008-08-28 11:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/eac46d1eb7f0 Added tag jdk7-b34 for changeset 01facdf8cabd ! .hgtags From tim.bell at sun.com Sat Sep 6 19:29:23 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sat, 06 Sep 2008 19:29:23 +0000 Subject: hg: jdk7/tl/jaxws: Added tag jdk7-b34 for changeset 7a9f629cd957 Message-ID: <20080906192925.8A70BD3CF@hg.openjdk.java.net> Changeset: b0f01c2508b6 Author: xdono Date: 2008-08-28 11:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/b0f01c2508b6 Added tag jdk7-b34 for changeset 7a9f629cd957 ! .hgtags From tim.bell at sun.com Sat Sep 6 19:30:59 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sat, 06 Sep 2008 19:30:59 +0000 Subject: hg: jdk7/tl/jdk: 10 new changesets Message-ID: <20080906193326.0549FD3D4@hg.openjdk.java.net> Changeset: b010683123b3 Author: ohair Date: 2008-08-14 13:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b010683123b3 6674227: Missing LICENSE file during build Summary: Just a JPRT usage issue. The top level files (like LICENSE) are needed to create the jdk image (j2sdk-image directory). Reviewed-by: tbell ! make/jprt.properties Changeset: ac68bf5140b2 Author: ohair Date: 2008-08-14 20:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ac68bf5140b2 Merge - make/java/nio/spp.sh - src/windows/classes/sun/java2d/d3d/D3DBackBufferSurfaceData.java - src/windows/classes/sun/java2d/windows/DDBlitLoops.java - src/windows/classes/sun/java2d/windows/DDRenderer.java - src/windows/classes/sun/java2d/windows/DDScaleLoops.java - src/windows/classes/sun/java2d/windows/Win32OffScreenSurfaceData.java - src/windows/classes/sun/java2d/windows/Win32SurfaceData.java - src/windows/classes/sun/java2d/windows/Win32SurfaceDataProxy.java - src/windows/classes/sun/java2d/windows/WinBackBuffer.java - src/windows/classes/sun/java2d/windows/WinBackBufferSurfaceData.java - src/windows/classes/sun/java2d/windows/WinVolatileSurfaceManager.java - src/windows/native/sun/java2d/d3d/D3DRuntimeTest.cpp - src/windows/native/sun/java2d/d3d/D3DRuntimeTest.h - src/windows/native/sun/java2d/d3d/D3DTestRaster.h - src/windows/native/sun/java2d/d3d/D3DTextRenderer_md.cpp - src/windows/native/sun/java2d/d3d/D3DUtils.cpp - src/windows/native/sun/java2d/d3d/D3DUtils.h - src/windows/native/sun/java2d/windows/DDBlitLoops.cpp - src/windows/native/sun/java2d/windows/DDRenderer.cpp - src/windows/native/sun/java2d/windows/RegistryKey.cpp - src/windows/native/sun/java2d/windows/RegistryKey.h - src/windows/native/sun/java2d/windows/Win32OffScreenSurfaceData.cpp - src/windows/native/sun/java2d/windows/Win32SurfaceData.cpp - src/windows/native/sun/java2d/windows/Win32SurfaceData.h - src/windows/native/sun/java2d/windows/WinBackBufferSurfaceData.cpp - src/windows/native/sun/java2d/windows/ddrawObject.cpp - src/windows/native/sun/java2d/windows/ddrawObject.h - src/windows/native/sun/java2d/windows/ddrawUtils.cpp - src/windows/native/sun/java2d/windows/ddrawUtils.h - src/windows/native/sun/java2d/windows/dxCapabilities.cpp - src/windows/native/sun/java2d/windows/dxCapabilities.h - src/windows/native/sun/java2d/windows/dxInit.cpp - src/windows/native/sun/java2d/windows/dxInit.h Changeset: db4bd081eff2 Author: ksrini Date: 2008-08-19 07:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/db4bd081eff2 6614210: JPRT Windows 32bit msival2 build failure when building 'install' workspace Summary: suppresses wscript's modal dialog on error and no msi validation for jprt. Reviewed-by: ohair, jmelvin ! make/common/shared/Defs-windows.gmk Changeset: 434055a0716e Author: xdono Date: 2008-08-21 09:55 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/434055a0716e Merge Changeset: 9f53e194687c Author: tbell Date: 2008-08-25 23:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9f53e194687c Merge Changeset: c5f211538cad Author: tbell Date: 2008-08-25 23:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c5f211538cad Merge - src/share/javavm/include/opcodes.h - src/share/javavm/include/opcodes.length - src/share/javavm/include/opcodes.list - src/share/javavm/include/opcodes.weight - src/share/javavm/include/opcodes.wide - src/share/javavm/include/sys_api.h - src/share/javavm/include/typedefs.h - src/solaris/javavm/include/typedefs_md.h - src/windows/javavm/include/typedefs_md.h Changeset: bf580c41f68f Author: xdono Date: 2008-08-28 11:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/bf580c41f68f Added tag jdk7-b34 for changeset 434055a0716e ! .hgtags Changeset: cf4894b78ceb Author: tbell Date: 2008-08-29 12:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/cf4894b78ceb Merge Changeset: ad45ffa62646 Author: tbell Date: 2008-08-31 11:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ad45ffa62646 Merge Changeset: 71a5f3f55b9c Author: tbell Date: 2008-09-04 14:55 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/71a5f3f55b9c Merge - src/share/classes/com/sun/jmx/interceptor/MBeanServerSupport.java - src/share/classes/java/nio/channels/package.html - src/share/classes/sun/nio/ch/OptionAdaptor.java - src/share/classes/sun/nio/ch/SocketOpts.java - src/share/classes/sun/nio/ch/SocketOptsImpl.java - src/share/classes/sun/nio/ch/exceptions From tim.bell at sun.com Sat Sep 6 19:36:29 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sat, 06 Sep 2008 19:36:29 +0000 Subject: hg: jdk7/tl/langtools: 4 new changesets Message-ID: <20080906193637.946D1D3D9@hg.openjdk.java.net> Changeset: 8889fb6c5af0 Author: xdono Date: 2008-08-28 11:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/8889fb6c5af0 Added tag jdk7-b34 for changeset 4026dece07e8 ! .hgtags Changeset: 81f66dd906eb Author: tbell Date: 2008-08-29 12:42 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/81f66dd906eb Merge Changeset: 7b59e34898ff Author: tbell Date: 2008-08-31 12:00 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/7b59e34898ff Merge Changeset: 5a9b808557b6 Author: tbell Date: 2008-09-04 14:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/5a9b808557b6 Merge From david.bristor at sun.com Mon Sep 8 20:46:11 2008 From: david.bristor at sun.com (david.bristor at sun.com) Date: Mon, 08 Sep 2008 20:46:11 +0000 Subject: hg: jdk7/tl/jdk: 6661861: Decrease memory use of Inflaters by ZipFile Message-ID: <20080908204639.5E241D521@hg.openjdk.java.net> Changeset: 59aa6b578cf0 Author: bristor Date: 2008-09-08 13:44 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/59aa6b578cf0 6661861: Decrease memory use of Inflaters by ZipFile Summary: Fix allows release of native resources earlier than without fix Reviewed-by: alanb ! src/share/classes/java/util/zip/Inflater.java ! src/share/classes/java/util/zip/ZipFile.java From david.bristor at sun.com Mon Sep 8 21:12:10 2008 From: david.bristor at sun.com (david.bristor at sun.com) Date: Mon, 08 Sep 2008 21:12:10 +0000 Subject: hg: jdk7/tl/jdk: 6356642: extcheck.exe -verbose throws ArrayIndexOutOfBoundsException exception Message-ID: <20080908211222.5FFC3D549@hg.openjdk.java.net> Changeset: 334efd173b8f Author: bristor Date: 2008-09-08 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/334efd173b8f 6356642: extcheck.exe -verbose throws ArrayIndexOutOfBoundsException exception Summary: Fix causes printing of user-level error messages instead of throwing exceptions Reviewed-by: sherman ! src/share/classes/com/sun/tools/extcheck/ExtCheck.java ! src/share/classes/com/sun/tools/extcheck/Main.java + test/com/sun/tools/extcheck/TestExtcheckArgs.java + test/com/sun/tools/extcheck/TestExtcheckArgs.sh From martinrb at google.com Tue Sep 9 00:12:15 2008 From: martinrb at google.com (martinrb at google.com) Date: Tue, 09 Sep 2008 00:12:15 +0000 Subject: hg: jdk7/tl: 6746055: Spelling error in README-builds.html Message-ID: <20080909001215.7C6A6D566@hg.openjdk.java.net> Changeset: 52148b82cfff Author: martin Date: 2008-09-08 17:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/52148b82cfff 6746055: Spelling error in README-builds.html Reviewed-by: ohair ! README-builds.html From eamonn.mcmanus at sun.com Tue Sep 9 13:00:28 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Tue, 09 Sep 2008 13:00:28 +0000 Subject: hg: jdk7/tl/jdk: 6746196: Some JMX classes do not compile with Eclipse compiler Message-ID: <20080909130043.390BBD5B9@hg.openjdk.java.net> Changeset: 1643868af837 Author: emcmanus Date: 2008-09-09 14:57 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1643868af837 6746196: Some JMX classes do not compile with Eclipse compiler Reviewed-by: dfuchs Contributed-by: roman.kennke at aicas.com ! src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java From daniel.fuchs at sun.com Tue Sep 9 15:06:51 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Tue, 09 Sep 2008 15:06:51 +0000 Subject: hg: jdk7/tl/jdk: 6745832: jmx namespaces: Some refactoring/commenting would improve code readability. Message-ID: <20080909150705.97EF2D5C2@hg.openjdk.java.net> Changeset: 5778303e2e14 Author: dfuchs Date: 2008-09-09 17:01 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5778303e2e14 6745832: jmx namespaces: Some refactoring/commenting would improve code readability. Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java ! src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java ! src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/Util.java ! src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java ! src/share/classes/com/sun/jmx/namespace/HandlerInterceptor.java ! src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java ! src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java ! src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java ! src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java ! src/share/classes/com/sun/jmx/namespace/RoutingProxy.java ! src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java ! src/share/classes/javax/management/namespace/JMXDomain.java ! src/share/classes/javax/management/namespace/JMXNamespace.java ! src/share/classes/javax/management/namespace/JMXNamespaces.java ! src/share/classes/javax/management/namespace/JMXRemoteNamespace.java ! src/share/classes/javax/management/namespace/MBeanServerConnectionWrapper.java ! test/javax/management/namespace/Wombat.java From jonathan.gibbons at sun.com Tue Sep 9 17:30:12 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Tue, 09 Sep 2008 17:30:12 +0000 Subject: hg: jdk7/tl/langtools: 6557752: Original type of an AST should be made available even if it is replaced with an ErrorType Message-ID: <20080909173014.E89F4D5F0@hg.openjdk.java.net> Changeset: 91eea580fbe9 Author: jjg Date: 2008-09-09 10:28 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/91eea580fbe9 6557752: Original type of an AST should be made available even if it is replaced with an ErrorType Reviewed-by: mcimadamore ! src/share/classes/com/sun/source/util/Trees.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Symtab.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/Check.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/javax/lang/model/type/ErrorType.java + test/tools/javac/api/6557752/T6557752.java From jonathan.gibbons at sun.com Tue Sep 9 17:41:38 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Tue, 09 Sep 2008 17:41:38 +0000 Subject: hg: jdk7/tl/langtools: 6724118: change JavaCompiler to not use Scanner directly; ... Message-ID: <20080909174140.5F39AD614@hg.openjdk.java.net> Changeset: a92b756a888f Author: jjg Date: 2008-09-09 10:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/a92b756a888f 6724118: change JavaCompiler to not use Scanner directly 6736119: refactor Parser and Parser.Factory Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/parser/EndPosParser.java + src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Parser.java + src/share/classes/com/sun/tools/javac/parser/ParserFactory.java ! test/tools/javac/6304921/TestLog.java From Ulf.Zibis at gmx.de Tue Sep 9 21:38:38 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 09 Sep 2008 23:38:38 +0200 Subject: Which CoderResult for malformed surrogate pairs ? Message-ID: <48C6ECDE.9090301@gmx.de> Hi all, as you maybe noticed, I'm working on enhancement of sun.nio.cs package: https://java-nio-charset-enhanced.dev.java.net/ Unicode code points > \uFFFF are synthesized in the JVM by 2 chars, called surrogates. The 1st char, called high surrogate, is in the Range of \uD800..\uDBFF, and the 2nd char, called low surrogate, is in the Range of \uDC00..\uDFFF, and 1.) If the 1st char is erroneously in the Range of \uDC00..\uDFFF, sun.nio.cs encoders return a CoderResult.malformedForLength(1). OK. 2.) If the 1st char is correctly in the Range of \uD800..\uDBFF, but the 2nd char is erroneously NOT in the Range of \uDC00..\uDFFF, sun.nio.cs encoders mostly (I have not tested all) also return a CoderResult.malformedForLength(1). IMO for the 2. case, the encoders should return CoderResult.malformedForLength(2), because the code point, which is wrong, consists of 2 chars. Additionally, it would be much easier to skip the wrong code point in the concerning java.nio.CharBuffer, by just utilizing CoderResult.length(). See also: http://java.sun.com/javase/6/docs/api/java/nio/charset/CoderResult.html#length() What do you think about this ??? I'm thinking about reporting a bug concerning this "wrong" encoder result. Thanks in advance for a brisk discussion. -Ulf From martinrb at google.com Tue Sep 9 21:58:47 2008 From: martinrb at google.com (Martin Buchholz) Date: Tue, 9 Sep 2008 14:58:47 -0700 Subject: Which CoderResult for malformed surrogate pairs ? In-Reply-To: <48C6ECDE.9090301@gmx.de> References: <48C6ECDE.9090301@gmx.de> Message-ID: <1ccfd1c10809091458o48106b2fi7fd3b52c9ebbcf84@mail.gmail.com> I think when encountering a single high surrogate, it is correct to return a length of either 1 or 2. A thought experiment: a cosmic ray that mangled exactly one char could have caused this situation if the original sequence was of length either 1 or 2, depending on which char was mangled. Not a Defect. Martin On Tue, Sep 9, 2008 at 14:38, Ulf Zibis wrote: > Hi all, > > as you maybe noticed, I'm working on enhancement of sun.nio.cs package: > https://java-nio-charset-enhanced.dev.java.net/ > > Unicode code points > \uFFFF are synthesized in the JVM by 2 chars, called > surrogates. > The 1st char, called high surrogate, is in the Range of \uD800..\uDBFF, and > the 2nd char, called low surrogate, is in the Range of \uDC00..\uDFFF, and > > 1.) If the 1st char is erroneously in the Range of \uDC00..\uDFFF, > sun.nio.cs encoders return a CoderResult.malformedForLength(1). OK. > 2.) If the 1st char is correctly in the Range of \uD800..\uDBFF, but the 2nd > char is erroneously NOT in the Range of \uDC00..\uDFFF, sun.nio.cs encoders > mostly (I have not tested all) also return a > CoderResult.malformedForLength(1). > > IMO for the 2. case, the encoders should return > CoderResult.malformedForLength(2), because the code point, which is wrong, > consists of 2 chars. > Additionally, it would be much easier to skip the wrong code point in the > concerning java.nio.CharBuffer, by just utilizing CoderResult.length(). > > See also: > http://java.sun.com/javase/6/docs/api/java/nio/charset/CoderResult.html#length() > > What do you think about this ??? > > I'm thinking about reporting a bug concerning this "wrong" encoder result. > > Thanks in advance for a brisk discussion. > > -Ulf > > > > From martinrb at google.com Tue Sep 9 22:57:43 2008 From: martinrb at google.com (martinrb at google.com) Date: Tue, 09 Sep 2008 22:57:43 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20080909225806.EEB9BD662@hg.openjdk.java.net> Changeset: 84417fdd8358 Author: martin Date: 2008-09-09 15:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/84417fdd8358 6728229: (str) StringBuilder.append(CharSequence) does not throw IndexOutOfBoundsException Summary: Major spec rework Reviewed-by: alanb ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/StringBuffer.java ! src/share/classes/java/lang/StringBuilder.java Changeset: 12f5110538d3 Author: martin Date: 2008-09-09 15:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/12f5110538d3 6733145: (bf) CharBuffer.subSequence can be updated to take advantage of covariant returns Summary: Change return type to CharBuffer Reviewed-by: alanb ! src/share/classes/java/nio/ByteBufferAs-X-Buffer.java ! src/share/classes/java/nio/Direct-X-Buffer.java ! src/share/classes/java/nio/Heap-X-Buffer.java ! src/share/classes/java/nio/StringCharBuffer.java ! src/share/classes/java/nio/X-Buffer.java From shanliang.jiang at sun.com Tue Sep 9 12:23:03 2008 From: shanliang.jiang at sun.com (shanliang.jiang at sun.com) Date: Tue, 09 Sep 2008 12:23:03 +0000 Subject: hg: jdk7/tl/jdk: 6736611: [Evt Srv] EventSubscriber.unsubscribe removes other listeners Message-ID: <20080909122321.DB2F4D5B4@hg.openjdk.java.net> Changeset: 094873a59791 Author: sjiang Date: 2008-09-09 14:17 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/094873a59791 6736611: [Evt Srv] EventSubscriber.unsubscribe removes other listeners Reviewed-by: emcmanus ! src/share/classes/javax/management/event/EventSubscriber.java + test/javax/management/eventService/SubUnsubTest.java From eamonn.mcmanus at sun.com Wed Sep 10 11:38:03 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Wed, 10 Sep 2008 11:38:03 +0000 Subject: hg: jdk7/tl/jdk: 6734813: Provide a way to construct an ObjectName without checked exceptions; ... Message-ID: <20080910113814.EBF20D698@hg.openjdk.java.net> Changeset: 2b44dd8ed72d Author: emcmanus Date: 2008-09-10 13:36 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2b44dd8ed72d 6734813: Provide a way to construct an ObjectName without checked exceptions 6746649: ObjectName constructors and methods declare unchecked exceptions in throws clauses Reviewed-by: dfuchs ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/Repository.java ! src/share/classes/com/sun/jmx/mbeanserver/Util.java ! src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java ! src/share/classes/java/lang/management/PlatformComponent.java ! src/share/classes/java/util/logging/Logging.java ! src/share/classes/javax/management/MBeanServerDelegate.java ! src/share/classes/javax/management/ObjectName.java ! src/share/classes/javax/management/QueryNotificationFilter.java ! src/share/classes/javax/management/event/EventClientDelegateMBean.java ! src/share/classes/javax/management/namespace/MBeanServerSupport.java ! src/share/classes/sun/management/Util.java + test/javax/management/ObjectName/ValueOfTest.java From eamonn.mcmanus at sun.com Wed Sep 10 12:58:10 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Wed, 10 Sep 2008 12:58:10 +0000 Subject: hg: jdk7/tl/jdk: 6746759: Fix for 6734813 introduced build break Message-ID: <20080910125822.ADD2CD69F@hg.openjdk.java.net> Changeset: b35ccd203a7e Author: emcmanus Date: 2008-09-10 14:56 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b35ccd203a7e 6746759: Fix for 6734813 introduced build break Reviewed-by: dfuchs ! src/share/classes/sun/management/ClassLoadingImpl.java ! src/share/classes/sun/management/CompilationImpl.java ! src/share/classes/sun/management/HotSpotDiagnostic.java ! src/share/classes/sun/management/HotspotInternal.java ! src/share/classes/sun/management/ManagementFactoryHelper.java ! src/share/classes/sun/management/MemoryImpl.java ! src/share/classes/sun/management/OperatingSystemImpl.java ! src/share/classes/sun/management/RuntimeImpl.java ! src/share/classes/sun/management/ThreadImpl.java From daniel.fuchs at sun.com Wed Sep 10 14:28:20 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Wed, 10 Sep 2008 14:28:20 +0000 Subject: hg: jdk7/tl/jdk: 6746754: jmx namespace: test for leading separator missing; ... Message-ID: <20080910142832.AFF50D6B9@hg.openjdk.java.net> Changeset: 3e7b9a0f3a6f Author: dfuchs Date: 2008-09-10 16:27 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3e7b9a0f3a6f 6746754: jmx namespace: test for leading separator missing 6669137: RFE: InstanceNotFoundException should have a constructor that takes an ObjectName 6746796: jmx namespaces: Several tests are missing an @bug or @run keyword Summary: Note on 6669137: first implementation of 6669137 was actually pushed with 5072476 - here we only have a small update and a test case. Also re-fixes 6737133: Compilation failure of test/javax/management/eventService/LeaseManagerDeadlockTest.java which had failed. Reviewed-by: emcmanus, yjoan ! src/share/classes/com/sun/jmx/namespace/RoutingProxy.java ! src/share/classes/javax/management/InstanceNotFoundException.java + test/javax/management/MBeanServer/InstanceNotFoundExceptionTest.java ! test/javax/management/MBeanServerFactory/NamedMBeanServerTest.java ! test/javax/management/eventService/LeaseManagerDeadlockTest.java ! test/javax/management/namespace/DomainCreationTest.java ! test/javax/management/namespace/EventWithNamespaceControlTest.java ! test/javax/management/namespace/EventWithNamespaceTest.java ! test/javax/management/namespace/ExportNamespaceTest.java ! test/javax/management/namespace/JMXDomainTest.java ! test/javax/management/namespace/JMXNamespaceSecurityTest.java ! test/javax/management/namespace/JMXNamespaceTest.java ! test/javax/management/namespace/JMXNamespaceViewTest.java ! test/javax/management/namespace/JMXNamespacesTest.java ! test/javax/management/namespace/JMXRemoteNamespaceTest.java ! test/javax/management/namespace/LazyDomainTest.java + test/javax/management/namespace/LeadingSeparatorsTest.java ! test/javax/management/namespace/NamespaceCreationTest.java ! test/javax/management/namespace/NamespaceNotificationsTest.java ! test/javax/management/namespace/NullObjectNameTest.java ! test/javax/management/namespace/QueryNamesTest.java ! test/javax/management/namespace/RemoveNotificationListenerTest.java ! test/javax/management/namespace/RoutingServerProxyTest.java ! test/javax/management/namespace/SerialParamProcessorTest.java ! test/javax/management/namespace/SourceNamespaceTest.java ! test/javax/management/namespace/VirtualMBeanNotifTest.java ! test/javax/management/namespace/VirtualMBeanTest.java ! test/javax/management/namespace/VirtualNamespaceQueryTest.java ! test/javax/management/namespace/VirtualPropsTest.java From Ulf.Zibis at gmx.de Wed Sep 10 15:22:59 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 10 Sep 2008 17:22:59 +0200 Subject: Which CoderResult for malformed surrogate pairs ? In-Reply-To: <1ccfd1c10809091458o48106b2fi7fd3b52c9ebbcf84@mail.gmail.com> References: <48C6ECDE.9090301@gmx.de> <1ccfd1c10809091458o48106b2fi7fd3b52c9ebbcf84@mail.gmail.com> Message-ID: <48C7E653.2040403@gmx.de> Hi Martin, thanks for the quick first answer. You are right, both chars could be corrupt. IMO, if CoderResult.malformedForLength(2) would be returned, this would be more informative, and the SW developer could decide by himself, if he would consider the CoderResult.length(). Why having this differentiation by length, if nobody makes use of it? There is no other cause, which would entail a length other than 1 from CharsetEncoder. So do you think, it would be against spec to return a CoderResult.malformedForLength(2) in such cases, even if CoderResult.malformedForLength(1) isn't a bug. BTW: The chance to erroneously receive a high surrogate in range \uD800..\uDBFF is 1.56 % The chance to erroneously receive a char out of range \uDC00..\uDFFF after a correct high surrogate is 99.84 % -Ulf Am 09.09.2008 23:58, Martin Buchholz schrieb: > I think when encountering a single high surrogate, > it is correct to return a length of either 1 or 2. > A thought experiment: a cosmic ray that mangled exactly one char > could have caused this situation if the original sequence was > of length either 1 or 2, depending on which char was mangled. > > Not a Defect. > > Martin > > From martinrb at google.com Wed Sep 10 19:55:37 2008 From: martinrb at google.com (Martin Buchholz) Date: Wed, 10 Sep 2008 12:55:37 -0700 Subject: Which CoderResult for malformed surrogate pairs ? In-Reply-To: <48C7E653.2040403@gmx.de> References: <48C6ECDE.9090301@gmx.de> <1ccfd1c10809091458o48106b2fi7fd3b52c9ebbcf84@mail.gmail.com> <48C7E653.2040403@gmx.de> Message-ID: <1ccfd1c10809101255u5db63e92pc3d056efa5fc597@mail.gmail.com> There is another reason, aside from our Beloved Compatibility, to prefer returning length == 1. It is likely that the calling code will delete the malformed chars and present the rest to a human. The second char *might* be valid, so why hide it? Martin On Wed, Sep 10, 2008 at 08:22, Ulf Zibis wrote: > Hi Martin, > > thanks for the quick first answer. > > You are right, both chars could be corrupt. > IMO, if CoderResult.malformedForLength(2) would be returned, this would > be more informative, and the SW developer could decide by himself, if he > would consider the CoderResult.length(). > Why having this differentiation by length, if nobody makes use of it? > There is no other cause, which would entail a length other than 1 from > CharsetEncoder. > > So do you think, it would be against spec to return a > CoderResult.malformedForLength(2) in such cases, even if > CoderResult.malformedForLength(1) isn't a bug. > > BTW: > The chance to erroneously receive a high surrogate in range > \uD800..\uDBFF is 1.56 % > The chance to erroneously receive a char out of range \uDC00..\uDFFF > after a correct high surrogate is 99.84 % > > -Ulf > > > Am 09.09.2008 23:58, Martin Buchholz schrieb: >> >> I think when encountering a single high surrogate, >> it is correct to return a length of either 1 or 2. >> A thought experiment: a cosmic ray that mangled exactly one char >> could have caused this situation if the original sequence was >> of length either 1 or 2, depending on which char was mangled. >> >> Not a Defect. >> >> Martin >> >> > > From david.bristor at sun.com Thu Sep 11 22:00:13 2008 From: david.bristor at sun.com (david.bristor at sun.com) Date: Thu, 11 Sep 2008 22:00:13 +0000 Subject: hg: jdk7/tl/jdk: 6440786: Cannot create a ZIP file containing zero entries Message-ID: <20080911220025.8433FD9C1@hg.openjdk.java.net> Changeset: bee470ba5b24 Author: bristor Date: 2008-09-11 14:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/bee470ba5b24 6440786: Cannot create a ZIP file containing zero entries Summary: Allow reading and writing of ZIP files with zero entries. Reviewed-by: alanb ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/native/java/util/zip/zip_util.c + test/java/util/zip/TestEmptyZip.java From eamonn.mcmanus at sun.com Fri Sep 12 13:19:40 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Fri, 12 Sep 2008 13:19:40 +0000 Subject: hg: jdk7/tl/jdk: 6747411: EventClient causes thread leaks Message-ID: <20080912131952.668D5DB2E@hg.openjdk.java.net> Changeset: ebc38225b4a9 Author: emcmanus Date: 2008-09-12 15:17 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ebc38225b4a9 6747411: EventClient causes thread leaks Summary: Reworked thread management in EventClient and related classes. Reviewed-by: sjiang, dfuchs ! src/share/classes/com/sun/jmx/event/LeaseManager.java ! src/share/classes/com/sun/jmx/event/RepeatedSingletonJob.java ! src/share/classes/com/sun/jmx/remote/internal/ClientCommunicatorAdmin.java ! src/share/classes/javax/management/event/EventClient.java ! src/share/classes/javax/management/event/FetchingEventRelay.java ! src/share/classes/javax/management/event/RMIPushEventForwarder.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java + test/javax/management/eventService/EventClientThreadTest.java ! test/javax/management/eventService/SharingThreadTest.java From daniel.fuchs at sun.com Fri Sep 12 16:00:07 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Fri, 12 Sep 2008 16:00:07 +0000 Subject: hg: jdk7/tl/jdk: 6747899: jmx namespaces: hooks for permission checks should be defined in HandlerInterceptor Message-ID: <20080912160019.6085FDB4E@hg.openjdk.java.net> Changeset: 6a49dd6635ba Author: dfuchs Date: 2008-09-12 17:58 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6a49dd6635ba 6747899: jmx namespaces: hooks for permission checks should be defined in HandlerInterceptor Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/namespace/HandlerInterceptor.java ! src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java From daniel.fuchs at sun.com Fri Sep 12 17:08:08 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Fri, 12 Sep 2008 17:08:08 +0000 Subject: hg: jdk7/tl/jdk: 6747983: jmx namespace: unspecified self-link detection logic Message-ID: <20080912170820.77026DB5B@hg.openjdk.java.net> Changeset: 09a7e38337e9 Author: dfuchs Date: 2008-09-12 19:06 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/09a7e38337e9 6747983: jmx namespace: unspecified self-link detection logic Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java ! src/share/classes/javax/management/namespace/JMXRemoteNamespace.java ! test/javax/management/namespace/JMXNamespaceTest.java From Ulf.Zibis at gmx.de Sat Sep 13 13:36:52 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Sat, 13 Sep 2008 15:36:52 +0200 Subject: Which CoderResult for malformed surrogate pairs ? In-Reply-To: <1ccfd1c10809101255u5db63e92pc3d056efa5fc597@mail.gmail.com> References: <48C6ECDE.9090301@gmx.de> <1ccfd1c10809091458o48106b2fi7fd3b52c9ebbcf84@mail.gmail.com> <48C7E653.2040403@gmx.de> <1ccfd1c10809101255u5db63e92pc3d056efa5fc597@mail.gmail.com> Message-ID: <48CBC1F4.2020906@gmx.de> Hi Martin, 1.) as I understand you right, you would prefer to present the human reader as many characters as possible. Regarding presenting to the human: In my experience, text is better readable if some characters are omitted, than if there are additional invalid characters. Abbreviations profit from this actuality. Human can easily interpolate missing characters. (maybe this would be different in Asian languages). Assume the following chars: { \uD8xx, \uDCxx, \u002C, \u0031, \u0030, \u0030, \u0024 }. If the 2nd char is mangled to \u0039, encoders, taking the CoderResult.length() for erasure, would produce the following: - if encode returns CoderResult.malformedForLength(1): ?9,100 $ - if encode returns CoderResult.malformedForLength(2): ?,100 $ I think, the 2nd would be closer to the truth, but it's only an opinion. ... in any case, the calling code could omit interpreting the CoderResult.length(), and generally skip one char in case of *malformed*, as there are no other causes for length > 1. CoderResult.malformedForLength(2) additionally would embody, that for this result 2 chars have been taken into account. This could be valuable for the calling code. As I understand you right, returning length == 2 would not be against API spec. Is it ? 2.) What's about \uFFFE and \uFFFF ? Here they are denoted as "Not a character": http://www.decodeunicode.org/de/u+fffe So IMHO they should be valued as *malformed*, but the current JDK's encoders return *unmappable*. -Ulf Am 10.09.2008 21:55, Martin Buchholz schrieb: > There is another reason, aside from our Beloved Compatibility, > to prefer returning length == 1. It is likely that the calling code will > delete the malformed chars and present the rest to a human. > The second char *might* be valid, so why hide it? > > Martin > > On Wed, Sep 10, 2008 at 08:22, Ulf Zibis wrote: > >> Hi Martin, >> >> thanks for the quick first answer. >> >> You are right, both chars could be corrupt. >> IMO, if CoderResult.malformedForLength(2) would be returned, this would >> be more informative, and the SW developer could decide by himself, if he >> would consider the CoderResult.length(). >> Why having this differentiation by length, if nobody makes use of it? >> There is no other cause, which would entail a length other than 1 from >> CharsetEncoder. >> >> So do you think, it would be against spec to return a >> CoderResult.malformedForLength(2) in such cases, even if >> CoderResult.malformedForLength(1) isn't a bug. >> >> BTW: >> The chance to erroneously receive a high surrogate in range >> \uD800..\uDBFF is 1.56 % >> The chance to erroneously receive a char out of range \uDC00..\uDFFF >> after a correct high surrogate is 99.84 % >> >> -Ulf >> >> >> Am 09.09.2008 23:58, Martin Buchholz schrieb: >> >>> I think when encountering a single high surrogate, >>> it is correct to return a length of either 1 or 2. >>> A thought experiment: a cosmic ray that mangled exactly one char >>> could have caused this situation if the original sequence was >>> of length either 1 or 2, depending on which char was mangled. >>> >>> Not a Defect. >>> >>> Martin >>> >>> >>> >> > > > From martinrb at google.com Sat Sep 13 19:29:23 2008 From: martinrb at google.com (Martin Buchholz) Date: Sat, 13 Sep 2008 12:29:23 -0700 Subject: Which CoderResult for malformed surrogate pairs ? In-Reply-To: <48CBC1F4.2020906@gmx.de> References: <48C6ECDE.9090301@gmx.de> <1ccfd1c10809091458o48106b2fi7fd3b52c9ebbcf84@mail.gmail.com> <48C7E653.2040403@gmx.de> <1ccfd1c10809101255u5db63e92pc3d056efa5fc597@mail.gmail.com> <48CBC1F4.2020906@gmx.de> Message-ID: <1ccfd1c10809131229s22444c32m9eea172847679489@mail.gmail.com> On Sat, Sep 13, 2008 at 06:36, Ulf Zibis wrote: > Hi Martin, > ... in any case, the calling code could omit interpreting the > CoderResult.length(), and generally skip one char in case of *malformed*, as > there are no other causes for length > 1. Only if the caller is intimately familiar with the implementation. If for example the input contains LOW_SURROGATE LOW_SURROGATE, then malformed(2) might be returned, and the caller should skip 2. > As I understand you right, returning length == 2 would not be against API > spec. Is it ? Right. But that's not good enough to change things. Any behavior change has to have a very good reason. > 2.) > What's about \uFFFE and \uFFFF ? > Here they are denoted as "Not a character": > http://www.decodeunicode.org/de/u+fffe > So IMHO they should be valued as *malformed*, but the current JDK's encoders > return *unmappable*. I disagree. What if the target encoding has a "character" with exactly the same "not a character" semantics? E.g. if the target is itself an encoding of Unicode? Then the "character" would be mappable. Anyways, this discussion is mostly academic. Convincing me personally might help your cause, but it's unlikely even then that such a change would be approved for inclusion in JDK. I still think the existing behavior is the better choice. Martin From Ulf.Zibis at gmx.de Mon Sep 15 12:26:00 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 15 Sep 2008 14:26:00 +0200 Subject: I replaced sun.io converters by an adaptor to sun.nio.cs coders In-Reply-To: <48C0684A.8060505@sun.com> References: <48600F67.3040201@CoSoCo.de> <48602CE8.6060501@sun.com> <4860C64F.8030106@CoSoCo.de> <4861199E.4030706@sun.com> <48BFE8D9.5050302@gmx.de> <48C0684A.8060505@sun.com> Message-ID: <48CE5458.2010607@gmx.de> Hi Sherman, after finishing my work on tests, compairing my reengeneerings against the legacy sun.nio.cs encoders, and rethinking malformed sequence length , I come back to sun.io package... Am 05.09.2008 00:59, Xueming Shen schrieb: > > Ulf, you are really productive:-) thanks for working so hard on the > "adapter" idea! Oh, thank's for your flowers. it was nearly 2 weeks of work. Also thanks about reviewing my code. The bugs, you have found, are serious. > > Took a very quick scan on the ByteToChar adapter, here are some > comments for your considering > > (1)in convert(), the decoder.decode(src, dst, true) is used instead of > the decode(src, dst, false), which probably > is against the specified "a buffer by buffer conversion" use scenario, > consider the possibility that we have some > "incomplete" bytes in the "input" stream, which might be "completed" > by sequential "input" in a second invoking > of convert(). I see only 1 solution: ByteToCharConverter#flush() should first invoke decoder.decode(src, dst, true) before decoder.flush(), because there is no compatible endOfInput-logic in sun.io package. In this context, I must admit, that I don't understand the necessity of this endOfInput-logic. It forces an additional invocation of encodeLoop() even if there is nothing to do in most cases. Why can't decoder.flush() do this job as in sun.io package??? > > (2)flush(), the spec says you need to "reset() before throw the > MalformedInputException,so the charOff need > to be zero. OK. > > (3)reset() does not set the badInputlength to 0. 1.) The legacy ByteToCharXXX don't do this, why should I do? 2.) If flush() has to reset before throwing MalformedInputException, then badInputlength maybe would be invalid. Regards, -Ulf From Ulf.Zibis at gmx.de Mon Sep 15 15:19:29 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 15 Sep 2008 17:19:29 +0200 Subject: I replaced sun.io converters by an adaptor to sun.nio.cs coders In-Reply-To: <48CE5458.2010607@gmx.de> References: <48600F67.3040201@CoSoCo.de> <48602CE8.6060501@sun.com> <4860C64F.8030106@CoSoCo.de> <4861199E.4030706@sun.com> <48BFE8D9.5050302@gmx.de> <48C0684A.8060505@sun.com> <48CE5458.2010607@gmx.de> Message-ID: <48CE7D01.7050609@gmx.de> Hi Sherman, do you have some test data, so I can test against the specified "a buffer by buffer conversion" use scenario ? See my changes here: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/trunk/src/sun/io/ByteToCharConverter.java?rev=405&r1=354&r2=405&diff_format=s https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/trunk/src/sun/io/CharToByteConverter.java?rev=405&r1=356&r2=405&diff_format=s -Ulf From Xueming.Shen at Sun.COM Mon Sep 15 16:45:32 2008 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Mon, 15 Sep 2008 09:45:32 -0700 Subject: I replaced sun.io converters by an adaptor to sun.nio.cs coders In-Reply-To: <48CE5458.2010607@gmx.de> References: <48600F67.3040201@CoSoCo.de> <48602CE8.6060501@sun.com> <4860C64F.8030106@CoSoCo.de> <4861199E.4030706@sun.com> <48BFE8D9.5050302@gmx.de> <48C0684A.8060505@sun.com> <48CE5458.2010607@gmx.de> Message-ID: <48CE912C.3060103@sun.com> Ulf Zibis wrote: > Hi Sherman, > > > I see only 1 solution: ByteToCharConverter#flush() should first invoke > decoder.decode(src, dst, true) before decoder.flush(), because there > is no compatible endOfInput-logic in sun.io package. > In this context, I must admit, that I don't understand the necessity > of this endOfInput-logic. It forces an additional invocation of > encodeLoop() even if there is nothing to do in most cases. Why can't > decoder.flush() do this job as in sun.io package??? > Attached are the code I wrote back to 2006 when we were struggling whether or not to remove the whole sun.io package. This is only a "prototype" for the proposal, so I did not even test it... yes, I finally dug it out to see what I dealt with back them:-) X-code(buffer, buffer, boolean) and flush() have different role/functionality. We do have some mapping testing cases for sun.io package, but I've not yet pushed them to the "open" area of JDK7. sherman -------------- next part -------------- A non-text attachment was scrubbed... Name: CharToByteNIOAdaptor.java Type: text/x-java Size: 7122 bytes Desc: not available URL: From Ulf.Zibis at gmx.de Mon Sep 15 19:58:05 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 15 Sep 2008 21:58:05 +0200 Subject: Which CoderResult for malformed surrogate pairs ? In-Reply-To: <1ccfd1c10809131229s22444c32m9eea172847679489@mail.gmail.com> References: <48C6ECDE.9090301@gmx.de> <1ccfd1c10809091458o48106b2fi7fd3b52c9ebbcf84@mail.gmail.com> <48C7E653.2040403@gmx.de> <1ccfd1c10809101255u5db63e92pc3d056efa5fc597@mail.gmail.com> <48CBC1F4.2020906@gmx.de> <1ccfd1c10809131229s22444c32m9eea172847679489@mail.gmail.com> Message-ID: <48CEBE4D.7070804@gmx.de> Hi Martin, thanks for you effort, joining this "academic" discussion. :-) I just once more try to interpret the javadoc of class CoderResult: * A /malformed-input error/ is reported when a sequence of input units is not well-formed. Such errors are described by instances of this class whose |isMalformed| method returns true and whose |length| method returns *the length of the malformed sequence*. There is one unique instance of this class for all malformed-input errors of a given length. A *single* HIGH_SURROGATE can't be valued as malformed. It can only be valued in sequence with the successive char, and *the length of this malformed sequence is 2*. Am 13.09.2008 21:29, Martin Buchholz schrieb: >> ... in any case, the calling code could omit interpreting the >> CoderResult.length(), and generally skip one char in case of *malformed*, as >> there are no other causes for length > 1. >> > > Only if the caller is intimately familiar with the implementation. > If for example the input contains LOW_SURROGATE LOW_SURROGATE, > then malformed(2) might be returned, and the caller should skip 2. > No, in this case malformed(1) should be returned, as a single LOW_SURROGATE is always wrong, and the caller should 2 times skip 1. Only in case of HIGH_SURROGATE + !LOW_SURROGATE, malformed(2) should be returned, and the caller in most cases isn't wrong in skipping the 2 chars, as the probability in consequence of a cosmic ray for a HIGH_SURROGATE is 1.56 %, but for a !LOW_SURROGATE is 98.44 %. > Any behavior change has to have a very good reason. Yes, this is a grave argument. But how often this behaviour change would brought to bear? In case of interpreting the erroneous text by human, the difference IMO shouldn't matter. >> 2.) >> What's about \uFFFE and \uFFFF ? >> Here they are denoted as "Not a character": >> http://www.decodeunicode.org/de/u+fffe >> So IMHO they should be valued as *malformed*, but the current JDK's encoders >> return *unmappable*. >> > > I disagree. What if the target encoding has a "character" > with exactly the same "not a character" semantics? > Hm, maybe. > E.g. if the target is itself an encoding of Unicode? > Then the "character" would be mappable. > AFAIK in UTF-16 \uFFFE is only valid as the first char of a sequence. If converting to UTF-16BE or UTF-16LE it should be skipped. In converting from whatever encoding to UTF-16 the \uFFFE should be prefixed automatically. > Anyways, this discussion is mostly academic. > Convincing me personally might help your cause, ... > Yes, that's the reason why I investigated in this discussion. -Ulf -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: From martinrb at google.com Mon Sep 15 21:36:54 2008 From: martinrb at google.com (Martin Buchholz) Date: Mon, 15 Sep 2008 14:36:54 -0700 Subject: Which CoderResult for malformed surrogate pairs ? In-Reply-To: <48CEBE4D.7070804@gmx.de> References: <48C6ECDE.9090301@gmx.de> <1ccfd1c10809091458o48106b2fi7fd3b52c9ebbcf84@mail.gmail.com> <48C7E653.2040403@gmx.de> <1ccfd1c10809101255u5db63e92pc3d056efa5fc597@mail.gmail.com> <48CBC1F4.2020906@gmx.de> <1ccfd1c10809131229s22444c32m9eea172847679489@mail.gmail.com> <48CEBE4D.7070804@gmx.de> Message-ID: <1ccfd1c10809151436x581cc0acpafcbc42ec2e32c98@mail.gmail.com> The fundamental problem is that there are many different ways for an input sequence to be malformed, especially if you consider something like transposition to be a single operation. Because almost all characters in the real world are in the BMP, the existence of an unpaired surrogate is prima facie evidence that that particular char is, on its own, malformed, and has been hit by the proverbial cosmic ray. Also, returning MALFORMED(1) is the only symmetric solution. If you return MALFORMED(2) for an unpaired surrogate, there is no good reason to not include the preceding rather than the following char, except for implementor convenience. Martin On Mon, Sep 15, 2008 at 12:58, Ulf Zibis wrote: > Hi Martin, > > thanks for you effort, joining this "academic" discussion. :-) > > I just once more try to interpret the javadoc of class CoderResult: > > A malformed-input error is reported when a sequence of input units is not > well-formed. Such errors are described by instances of this class whose > isMalformed method returns true and whose length method returns the length > of the malformed sequence. There is one unique instance of this class for > all malformed-input errors of a given length. > > A single HIGH_SURROGATE can't be valued as malformed. It can only be valued > in sequence with the successive char, and the length of this malformed > sequence is 2. > > > Am 13.09.2008 21:29, Martin Buchholz schrieb: > > ... in any case, the calling code could omit interpreting the > CoderResult.length(), and generally skip one char in case of *malformed*, as > there are no other causes for length > 1. > > > Only if the caller is intimately familiar with the implementation. > If for example the input contains LOW_SURROGATE LOW_SURROGATE, > then malformed(2) might be returned, and the caller should skip 2. > > > No, in this case malformed(1) should be returned, as a single LOW_SURROGATE > is always wrong, and the caller should 2 times skip 1. > Only in case of HIGH_SURROGATE + !LOW_SURROGATE, malformed(2) should be > returned, and the caller in most cases isn't wrong in skipping the 2 chars, > as the probability in consequence of a cosmic ray for a HIGH_SURROGATE is > 1.56 %, but for a !LOW_SURROGATE is 98.44 %. > > Any behavior change has to have a very good reason. > > Yes, this is a grave argument. > But how often this behaviour change would brought to bear? In case of > interpreting the erroneous text by human, the difference IMO shouldn't > matter. > > 2.) > What's about \uFFFE and \uFFFF ? > Here they are denoted as "Not a character": > http://www.decodeunicode.org/de/u+fffe > So IMHO they should be valued as *malformed*, but the current JDK's encoders > return *unmappable*. > > > I disagree. What if the target encoding has a "character" > with exactly the same "not a character" semantics? > > > Hm, maybe. > > E.g. if the target is itself an encoding of Unicode? > Then the "character" would be mappable. > > > AFAIK in UTF-16 \uFFFE is only valid as the first char of a sequence. If > converting to UTF-16BE or UTF-16LE it should be skipped. > In converting from whatever encoding to UTF-16 the \uFFFE should be prefixed > automatically. > > Anyways, this discussion is mostly academic. > Convincing me personally might help your cause, ... > > > Yes, that's the reason why I investigated in this discussion. > > -Ulf > > From tim.bell at sun.com Tue Sep 16 05:53:38 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 16 Sep 2008 05:53:38 +0000 Subject: hg: jdk7/tl: 2 new changesets Message-ID: <20080916055338.5CB65DC6D@hg.openjdk.java.net> Changeset: 4d52a6465eb0 Author: xdono Date: 2008-09-11 11:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/4d52a6465eb0 Added tag jdk7-b35 for changeset 143c1abedb7d ! .hgtags Changeset: f920f23af0d0 Author: tbell Date: 2008-09-12 14:30 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/f920f23af0d0 Merge From tim.bell at sun.com Tue Sep 16 05:54:33 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 16 Sep 2008 05:54:33 +0000 Subject: hg: jdk7/tl/corba: Added tag jdk7-b35 for changeset 3867c4d14a5b Message-ID: <20080916055434.12C2BDC72@hg.openjdk.java.net> Changeset: 545dffad4849 Author: xdono Date: 2008-09-11 11:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/545dffad4849 Added tag jdk7-b35 for changeset 3867c4d14a5b ! .hgtags From tim.bell at sun.com Tue Sep 16 05:56:15 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 16 Sep 2008 05:56:15 +0000 Subject: hg: jdk7/tl/hotspot: 25 new changesets Message-ID: <20080916055704.B03BCDC77@hg.openjdk.java.net> Changeset: c3e045194476 Author: kvn Date: 2008-08-01 10:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c3e045194476 6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type") Summary: fixed few addP node type and narrow oop type problems. Reviewed-by: rasbold, never ! src/share/vm/adlc/output_h.cpp ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/type.cpp Changeset: 616a07a75c3c Author: rasbold Date: 2008-08-14 10:15 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/616a07a75c3c 6732154: REG: Printing an Image using image/gif doc flavor crashes the VM, Solsparc Summary: delay transform call until uses of t2 are constructed Reviewed-by: never ! src/share/vm/opto/divnode.cpp Changeset: ea18057223c4 Author: never Date: 2008-08-18 23:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ea18057223c4 6732194: Data corruption dependent on -server/-client/-Xbatch Summary: rematerializing nodes results in incorrect inputs Reviewed-by: rasbold ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/reg_split.cpp Changeset: ce93a51457ae Author: rasbold Date: 2008-08-19 07:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ce93a51457ae 6730716: nulls from two unrelated classes compare not equal Summary: check for not-nullness after proving that types are unrelated Reviewed-by: kvn, never ! src/share/vm/opto/subnode.cpp Changeset: f8068895c22d Author: rasbold Date: 2008-08-21 05:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f8068895c22d Merge Changeset: 1e5d20c34408 Author: tonyp Date: 2008-08-19 17:55 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1e5d20c34408 6736341: PermGen size is insufficient for jconsole Summary: Removing two buggy methods that should not be used, but ended up being used due to a re-organization in the class hierarchy. Reviewed-by: jmasa, ysr, kamg, coleenp ! src/share/vm/memory/compactingPermGenGen.cpp ! src/share/vm/memory/compactingPermGenGen.hpp Changeset: 331eaa715e58 Author: ysr Date: 2008-08-20 11:23 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/331eaa715e58 Merge Changeset: bfcb639d5bca Author: ysr Date: 2008-08-20 15:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/bfcb639d5bca 6739357: CMS: Switch off CMSPrecleanRefLists1 until 6722113 can be fixed Summary: Temporarily switch off the precleaning of Reference lists completely until related issues are fixed in 6722113. Reviewed-by: jmasa, poonam, tonyp ! src/share/vm/runtime/globals.hpp Changeset: 387a62b4be60 Author: jmasa Date: 2008-08-20 23:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/387a62b4be60 6728478: Assertion at parallel promotion from young to old generation Summary: The fix avoids a call to address_for_index() in this particular situation where it is not known if the passed index is in bounds. Reviewed-by: tonyp ! src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp ! src/share/vm/memory/blockOffsetTable.hpp Changeset: 58eb97387b90 Author: ysr Date: 2008-08-25 12:16 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/58eb97387b90 Merge Changeset: fa4d1d240383 Author: never Date: 2008-08-26 15:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fa4d1d240383 6741642: bad enum definition in ciTypeFlow.hpp Reviewed-by: rasbold, martin Contributed-by: doko at ubuntu.com ! src/share/vm/ci/ciTypeFlow.hpp Changeset: dc7f315e41f7 Author: never Date: 2008-08-27 00:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/dc7f315e41f7 5108146: Merge i486 and amd64 cpu directories 6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up Reviewed-by: kvn + make/solaris/makefiles/reorder_COMPILER1_amd64 ! make/solaris/makefiles/reorder_COMPILER1_i486 ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/relocInfo_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp + 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/assembler_x86_32.cpp - src/cpu/x86/vm/assembler_x86_32.hpp - src/cpu/x86/vm/assembler_x86_32.inline.hpp - src/cpu/x86/vm/assembler_x86_64.cpp - src/cpu/x86/vm/assembler_x86_64.hpp - src/cpu/x86/vm/assembler_x86_64.inline.hpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Defs_x86.hpp ! src/cpu/x86/vm/c1_FrameMap_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.hpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.hpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.hpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/dump_x86_32.cpp ! src/cpu/x86/vm/dump_x86_64.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/icache_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/interp_masm_x86_64.hpp ! src/cpu/x86/vm/interpreterRT_x86_32.cpp ! src/cpu/x86/vm/interpreterRT_x86_64.cpp ! 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/nativeInst_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.hpp ! src/cpu/x86/vm/relocInfo_x86.cpp ! src/cpu/x86/vm/runtime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/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_32.hpp ! src/cpu/x86/vm/stubRoutines_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.hpp ! 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_32.hpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86_32.cpp ! src/cpu/x86/vm/vm_version_x86_64.cpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad + src/os_cpu/linux_x86/vm/assembler_linux_x86.cpp - src/os_cpu/linux_x86/vm/assembler_linux_x86_32.cpp - src/os_cpu/linux_x86/vm/assembler_linux_x86_64.cpp + src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp - src/os_cpu/solaris_x86/vm/assembler_solaris_x86_32.cpp - src/os_cpu/solaris_x86/vm/assembler_solaris_x86_64.cpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.ad + src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp - src/os_cpu/windows_x86/vm/assembler_windows_x86_32.cpp - src/os_cpu/windows_x86/vm/assembler_windows_x86_64.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_LinearScan.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/code/relocInfo.hpp ! src/share/vm/includeDB_compiler1 ! src/share/vm/includeDB_compiler2 ! src/share/vm/includeDB_core ! src/share/vm/includeDB_features ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/macros.hpp Changeset: ab075d07f1ba Author: kvn Date: 2008-08-27 09:15 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ab075d07f1ba 6736417: Fastdebug C2 crashes in StoreBNode::Ideal Summary: The result of step_through_mergemem() and remove_dead_region() is not checked in some cases. Reviewed-by: never ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/divnode.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/phaseX.cpp Changeset: af945ba2e739 Author: kvn Date: 2008-08-27 14:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/af945ba2e739 6741738: TypePtr::add_offset() set incorrect offset when the add overflows Summary: Set offset to OffsetBot when the add overflows in TypePtr::add_offset() Reviewed-by: jrose, never ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp + test/compiler/6741738/Tester.java Changeset: 892493c3d862 Author: kvn Date: 2008-08-27 16:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/892493c3d862 6732732: CTW with EA: assert(n != 0L,"Bad immediate dominator info.") Summary: Missing edge to a call's return value in EA Connection Graph. Reviewed-by: never ! src/share/vm/opto/escape.cpp Changeset: 756b58154237 Author: rasbold Date: 2008-08-28 10:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/756b58154237 6611837: block frequency is zero Summary: insert_goto_at should set frequency for newly created blocks Reviewed-by: never ! src/share/vm/opto/block.cpp ! src/share/vm/opto/gcm.cpp Changeset: eaf496ad4a14 Author: never Date: 2008-08-28 23:03 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/eaf496ad4a14 6732698: crash with dead code from compressed oops in gcm Reviewed-by: rasbold ! src/share/vm/opto/matcher.cpp Changeset: cf6f0e32e518 Author: rasbold Date: 2008-09-02 06:55 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/cf6f0e32e518 Merge - src/cpu/x86/vm/assembler_x86_32.cpp - src/cpu/x86/vm/assembler_x86_32.hpp - src/cpu/x86/vm/assembler_x86_32.inline.hpp - src/cpu/x86/vm/assembler_x86_64.cpp - src/cpu/x86/vm/assembler_x86_64.hpp - src/cpu/x86/vm/assembler_x86_64.inline.hpp - src/os_cpu/linux_x86/vm/assembler_linux_x86_32.cpp - src/os_cpu/linux_x86/vm/assembler_linux_x86_64.cpp - src/os_cpu/solaris_x86/vm/assembler_solaris_x86_32.cpp - src/os_cpu/solaris_x86/vm/assembler_solaris_x86_64.cpp - src/os_cpu/windows_x86/vm/assembler_windows_x86_32.cpp - src/os_cpu/windows_x86/vm/assembler_windows_x86_64.cpp Changeset: 25c3145237c6 Author: poonam Date: 2008-08-27 22:45 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar Summary: sa-jdi.jar bundled with JDK should include all the SA classes. Reviewed-by: swamyv ! agent/make/build-pkglist ! make/linux/makefiles/sa.make ! make/sa.files ! make/solaris/makefiles/sa.make ! make/windows/makefiles/sa.make Changeset: 9223f5bb0bf7 Author: poonam Date: 2008-08-28 18:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9223f5bb0bf7 Merge Changeset: a10808f5a4b5 Author: dcubed Date: 2008-09-02 08:30 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a10808f5a4b5 Merge Changeset: 3a26e9e4be71 Author: never Date: 2008-09-03 14:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3a26e9e4be71 6744422: incorrect handling of -1 in set_jump_destination Reviewed-by: rasbold ! src/cpu/x86/vm/nativeInst_x86.hpp Changeset: 5c7c20a84e41 Author: trims Date: 2008-09-04 18:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5c7c20a84e41 6745064: Update Hotspot build number for HS14 Summary: Bump build number for hs14-b04 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 5fa96a5a7e76 Author: trims Date: 2008-09-04 18:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5fa96a5a7e76 Merge - src/cpu/x86/vm/assembler_x86_32.cpp - src/cpu/x86/vm/assembler_x86_32.hpp - src/cpu/x86/vm/assembler_x86_32.inline.hpp - src/cpu/x86/vm/assembler_x86_64.cpp - src/cpu/x86/vm/assembler_x86_64.hpp - src/cpu/x86/vm/assembler_x86_64.inline.hpp - src/os_cpu/linux_x86/vm/assembler_linux_x86_32.cpp - src/os_cpu/linux_x86/vm/assembler_linux_x86_64.cpp - src/os_cpu/solaris_x86/vm/assembler_solaris_x86_32.cpp - src/os_cpu/solaris_x86/vm/assembler_solaris_x86_64.cpp - src/os_cpu/windows_x86/vm/assembler_windows_x86_32.cpp - src/os_cpu/windows_x86/vm/assembler_windows_x86_64.cpp Changeset: 51798f0e554f Author: xdono Date: 2008-09-11 11:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/51798f0e554f Added tag jdk7-b35 for changeset 5fa96a5a7e76 ! .hgtags From tim.bell at sun.com Tue Sep 16 05:59:41 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 16 Sep 2008 05:59:41 +0000 Subject: hg: jdk7/tl/jaxp: Added tag jdk7-b35 for changeset eac46d1eb7f0 Message-ID: <20080916055943.2013DDC7C@hg.openjdk.java.net> Changeset: c84ca638db42 Author: xdono Date: 2008-09-11 11:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/c84ca638db42 Added tag jdk7-b35 for changeset eac46d1eb7f0 ! .hgtags From tim.bell at sun.com Tue Sep 16 06:00:38 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 16 Sep 2008 06:00:38 +0000 Subject: hg: jdk7/tl/jaxws: Added tag jdk7-b35 for changeset b0f01c2508b6 Message-ID: <20080916060040.38079DC81@hg.openjdk.java.net> Changeset: f60187f44a0d Author: xdono Date: 2008-09-11 11:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/f60187f44a0d Added tag jdk7-b35 for changeset b0f01c2508b6 ! .hgtags From tim.bell at sun.com Tue Sep 16 06:01:46 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 16 Sep 2008 06:01:46 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20080916060222.46663DC86@hg.openjdk.java.net> Changeset: baae64ef16f6 Author: xdono Date: 2008-09-11 11:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/baae64ef16f6 Added tag jdk7-b35 for changeset cf4894b78ceb ! .hgtags Changeset: 8484e830666e Author: tbell Date: 2008-09-12 14:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8484e830666e Merge Changeset: def697d44797 Author: tbell Date: 2008-09-12 23:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/def697d44797 Merge From tim.bell at sun.com Tue Sep 16 06:05:48 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 16 Sep 2008 06:05:48 +0000 Subject: hg: jdk7/tl/langtools: 3 new changesets Message-ID: <20080916060553.9E9FBDC8B@hg.openjdk.java.net> Changeset: ae2a1418f0c8 Author: xdono Date: 2008-09-11 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/ae2a1418f0c8 Added tag jdk7-b35 for changeset 81f66dd906eb ! .hgtags Changeset: 258af9b67b7c Author: tbell Date: 2008-09-12 14:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/258af9b67b7c Merge Changeset: 7e2249b1c13d Author: tbell Date: 2008-09-12 23:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/7e2249b1c13d Merge From Ulf.Zibis at gmx.de Tue Sep 16 14:03:03 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 16 Sep 2008 16:03:03 +0200 Subject: I replaced sun.io converters by an adaptor to sun.nio.cs coders In-Reply-To: <48CE912C.3060103@sun.com> References: <48600F67.3040201@CoSoCo.de> <48602CE8.6060501@sun.com> <4860C64F.8030106@CoSoCo.de> <4861199E.4030706@sun.com> <48BFE8D9.5050302@gmx.de> <48C0684A.8060505@sun.com> <48CE5458.2010607@gmx.de> <48CE912C.3060103@sun.com> Message-ID: <48CFBC97.1080109@gmx.de> Hi Sherman, your answer is short, so I assume you are in heavy work. Thanks for your code sample. BTW, ByteToCharNIOAdaptor.java had no content, but anyway, it's informative to learn from your code. I could see details, I oversaw. It's funny, that on my first approach I choosed the same names for the classes. Later I merged them together with XToYConverter's, as there is no more need to have them as abstract base class. In your code I also discovered some deficits: (1) It's not compatible to always throw IndexOutOfBoundsException, if the preconditions on the offset and length parameters do not hold, as XToYConverter's hehave different. (2) You don't reuse the x-Buffer's for consecutive invocations of convert. (3) In case of unmappable, you don't set badInputLength = cr.length() (4) In case of overflow in flush(), you don't set charOff = 0 Also you reengineered xAll() and xAny() methods, which I didn't. Helpful for me was, to reset encoder in catch block. So I merged all aspects together: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/trunk/src/sun/io/ Please also not my integration of XToYConverter's in Converter class. -Ulf Am 15.09.2008 18:45, Xueming Shen schrieb: > Ulf Zibis wrote: >> Hi Sherman, >> >> >> I see only 1 solution: ByteToCharConverter#flush() should first >> invoke decoder.decode(src, dst, true) before decoder.flush(), because >> there is no compatible endOfInput-logic in sun.io package. >> In this context, I must admit, that I don't understand the necessity >> of this endOfInput-logic. It forces an additional invocation of >> encodeLoop() even if there is nothing to do in most cases. Why can't >> decoder.flush() do this job as in sun.io package??? >> > > > Attached are the code I wrote back to 2006 when we were struggling > whether or not to remove > the whole sun.io package. This is only a "prototype" for the proposal, > so I did not even test it... > yes, I finally dug it out to see what I dealt with back them:-) > > X-code(buffer, buffer, boolean) and flush() have different > role/functionality. > > We do have some mapping testing cases for sun.io package, but I've not > yet pushed them to the > "open" area of JDK7. > > sherman From Ulf.Zibis at gmx.de Tue Sep 16 15:24:21 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 16 Sep 2008 17:24:21 +0200 Subject: I replaced sun.io converters by an adaptor to sun.nio.cs coders In-Reply-To: <48CFBC97.1080109@gmx.de> References: <48600F67.3040201@CoSoCo.de> <48602CE8.6060501@sun.com> <4860C64F.8030106@CoSoCo.de> <4861199E.4030706@sun.com> <48BFE8D9.5050302@gmx.de> <48C0684A.8060505@sun.com> <48CE5458.2010607@gmx.de> <48CE912C.3060103@sun.com> <48CFBC97.1080109@gmx.de> Message-ID: <48CFCFA5.6070107@gmx.de> Hi Sherman, additionally I have noticed, you followed different logic to retrieve the encoding of the XToYNioAdapters. I think, it is better to return the directly the name, determined from the constructor. For me this seems more compatible to the legacy behaviour. -Ulf From jonathan.gibbons at sun.com Wed Sep 17 01:36:17 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Wed, 17 Sep 2008 01:36:17 +0000 Subject: hg: jdk7/tl/langtools: 6574134: Allow for alternative implementation of Name Table with garbage collection of name bytes Message-ID: <20080917013619.049B9DDB8@hg.openjdk.java.net> Changeset: eff38cc97183 Author: jjg Date: 2008-09-16 18:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/eff38cc97183 6574134: Allow for alternative implementation of Name Table with garbage collection of name bytes Reviewed-by: darcy, mcimadamore ! src/share/classes/com/sun/tools/apt/mirror/AptEnv.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Scope.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Symtab.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/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/Flow.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/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.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/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Keywords.java ! src/share/classes/com/sun/tools/javac/parser/ParserFactory.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/util/ByteBuffer.java ! src/share/classes/com/sun/tools/javac/util/Convert.java ! src/share/classes/com/sun/tools/javac/util/Name.java + src/share/classes/com/sun/tools/javac/util/Names.java + src/share/classes/com/sun/tools/javac/util/SharedNameTable.java + src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java ! src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/SerializedForm.java ! src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java ! test/tools/javac/unit/util/convert/EnclosingCandidates.java From daniel.fuchs at sun.com Wed Sep 17 11:44:14 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Wed, 17 Sep 2008 11:44:14 +0000 Subject: hg: jdk7/tl/jdk: 6748745: JConsole: plotters don't resize well when the window is resized Message-ID: <20080917114426.B3E31DDD1@hg.openjdk.java.net> Changeset: 044bfa235270 Author: dfuchs Date: 2008-09-17 13:40 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/044bfa235270 6748745: JConsole: plotters don't resize well when the window is resized Summary: part of the fix was contributed by jfdenise Reviewed-by: jfdenise ! src/share/classes/sun/tools/jconsole/Plotter.java ! src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java ! src/share/classes/sun/tools/jconsole/inspector/XPlotter.java ! src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java From lsliwko at gmail.com Wed Sep 17 14:24:25 2008 From: lsliwko at gmail.com (Leszek Sliwko) Date: Wed, 17 Sep 2008 15:24:25 +0100 Subject: 6680235: (collection) Object count method. Message-ID: <47412d880809170724x120790adna67747178df2e2c8@mail.gmail.com> Hello, I hope I'm on right dev list and I'm posting it as it supposed to be posted. There is a RFE: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6680235 "A DESCRIPTION OF THE REQUEST : Java Lists currently do not have a way of getting the count of a particular customer within a List. JUSTIFICATION : I ran into this issue when I had a list of objects in which it contained some duplicates, and I needed to know the number of occurrences of specific objects within the list. Basically i built a list of referenced objects from a list of objects and needed the result of how many times a specific referenced customer was in this built list, for later use. I needed something like... myList.elementCount(obj); where elementCount() returns int number of occurrences or -1 if it does not exist in the list, and obj is the assumed element in the list. I was able to continue by creating a custom iterator, but the above alternative would have been a quicker solution. Posted Date : 2008-03-26 12:31:26.0" I see we can do the following: 1) add a method to java.util.AbstractCollection: /** * Returns the amount of specified element in this collection. If the * collection contains more than Integer.MAX_VALUE occurrences of * specified element, returns Integer.MAX_VALUE. * * This implementation iterates over the elements in the collection, * checking each element in turn for equality with the specified element. * * @param o object to be counted for in this collection. * @return the amount of specified element in this collection. */ public int elementCount(Object o) { Iterator e = iterator(); int count = 0; if (o==null) { while (e.hasNext()) { if (e.next()==null) { if (countInteger.MAX_VALUE occurrences of * specified element, returns Integer.MAX_VALUE. * * This implementation iterates over the elements in the collection, * checking each element in turn for equality with the specified element. * * @param o object to be counted for in this collection. * @return the amount of specified element in this collection. */ public int elementCount(Object o); 3) The java.util.AbstractSet can be optimized: public int elementCount(Object o) { if (contains(o)) { return 1; } else return 0; } any inputs/thoughts? Thanks -- All of best, Leszek -------------- next part -------------- An HTML attachment was scrubbed... URL: From Kumar.Srinivasan at Sun.COM Wed Sep 17 14:51:43 2008 From: Kumar.Srinivasan at Sun.COM (Kumar Srinivasan) Date: Wed, 17 Sep 2008 07:51:43 -0700 Subject: Review for java launcher CR: 6742159 Message-ID: <48D1197F.9090203@Sun.COM> Hello, This webrev contains some improvements to the java launcher. 1. call BootStrap Class loader directly from the launcher. 2. refactor native code for sanity checks into java 3. port arguments test from shell to java. http://webrev.invokedynamic.info/ksrini/6742159/ Thanks -- Kumar Srinivasan Sun Microsystems, Java Software. 408-276-7586 From forax at univ-mlv.fr Wed Sep 17 15:30:51 2008 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Wed, 17 Sep 2008 17:30:51 +0200 Subject: 6680235: (collection) Object count method. In-Reply-To: <47412d880809170724x120790adna67747178df2e2c8@mail.gmail.com> References: <47412d880809170724x120790adna67747178df2e2c8@mail.gmail.com> Message-ID: <48D122AB.6010301@univ-mlv.fr> Leszek Sliwko a ?crit : > Hello, > Hello, > > I hope I'm on right dev list and I'm posting it as it supposed to be posted. > > There is a RFE: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6680235 > > > > "A DESCRIPTION OF THE REQUEST : > Java Lists currently do not have a way of getting the count of a particular customer within a List. > > JUSTIFICATION : > I ran into this issue when I had a list of objects in which it contained some duplicates, and I needed to know the number of occurrences of specific objects within the list. Basically i built a list of referenced objects from a list of objects and needed the result of how many times a specific referenced customer was in this built list, for later use. > > > > > I needed something like... myList.elementCount(obj); > where elementCount() returns int number of occurrences or -1 if it does not exist in the list, and obj is the assumed element in the list. > > I was able to continue by creating a custom iterator, but the above alternative would have been a quicker solution. > ... > any inputs/thoughts? You can't add a method to an interface without breaking the backward compatibility. Furthermore java.util.Collections.frequency() already do a similar job. This bug should be close as not a defect. > > Thanks > > > -- > All of best, > Leszek regards, R?mi From David.Holmes at Sun.COM Wed Sep 17 23:35:04 2008 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Thu, 18 Sep 2008 09:35:04 +1000 Subject: Review for java launcher CR: 6742159 In-Reply-To: <48D1197F.9090203@Sun.COM> References: <48D1197F.9090203@Sun.COM> Message-ID: <48D19428.9070203@sun.com> Hi Kumar, Your signatureDiagnostic method seems to be doing too strong a job - it isn't checking for the existence of "public static void main(String[])" it is checking that if any method with the name "main" exists then it must be: public static void main(String[]) So it would generate an error if a class contains: public static void main(String[] args) { ... } // real one but also: public static void main() { ... } private static void main(int x) { ... } ... Rather than iterate through all the class methods all you need to do is use clazz.getMethod("main", String[].class) and then check for static and void (it must already be public and if static then it can't have been inherited) Cheers, David Kumar Srinivasan said the following on 09/18/08 00:51: > Hello, > > This webrev contains some improvements to the java launcher. > 1. call BootStrap Class loader directly from the launcher. > 2. refactor native code for sanity checks into java > 3. port arguments test from shell to java. > > http://webrev.invokedynamic.info/ksrini/6742159/ > > Thanks > From jonathan.gibbons at sun.com Thu Sep 18 20:49:55 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Thu, 18 Sep 2008 20:49:55 +0000 Subject: hg: jdk7/tl/langtools: 6728697: tools/javac/versionOpt.sh fails on OpenJDK builds Message-ID: <20080918204959.B4C7EDEBB@hg.openjdk.java.net> Changeset: 8ec49685f4e8 Author: jjg Date: 2008-09-18 13:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/8ec49685f4e8 6728697: tools/javac/versionOpt.sh fails on OpenJDK builds Reviewed-by: darcy ! test/Makefile - test/bootclasspath-exclude.jtx + test/tools/javac/VersionOpt.java - test/tools/javac/versionOpt.sh From Kumar.Srinivasan at Sun.COM Thu Sep 18 22:34:20 2008 From: Kumar.Srinivasan at Sun.COM (Kumar Srinivasan) Date: Thu, 18 Sep 2008 15:34:20 -0700 Subject: Review for java launcher CR: 6742159 In-Reply-To: <48D19428.9070203@sun.com> References: <48D1197F.9090203@Sun.COM> <48D19428.9070203@sun.com> Message-ID: <48D2D76C.2040900@Sun.COM> Hi David, Thanks for the comments, I made the adjustments based on your feedback. Kumar > Hi Kumar, > > Your signatureDiagnostic method seems to be doing too strong a job - > it isn't checking for the existence of "public static void > main(String[])" it is checking that if any method with the name "main" > exists then it must be: public static void main(String[]) > > So it would generate an error if a class contains: > > public static void main(String[] args) { ... } // real one > > but also: > > public static void main() { ... } > private static void main(int x) { ... } > ... > > Rather than iterate through all the class methods all you need to do > is use clazz.getMethod("main", String[].class) and then check for > static and void (it must already be public and if static then it can't > have been inherited) > > Cheers, > David > > Kumar Srinivasan said the following on 09/18/08 00:51: >> Hello, >> >> This webrev contains some improvements to the java launcher. >> 1. call BootStrap Class loader directly from the launcher. >> 2. refactor native code for sanity checks into java >> 3. port arguments test from shell to java. >> >> http://webrev.invokedynamic.info/ksrini/6742159/ >> >> Thanks >> From bradford.wetmore at sun.com Thu Sep 18 23:48:32 2008 From: bradford.wetmore at sun.com (bradford.wetmore at sun.com) Date: Thu, 18 Sep 2008 23:48:32 +0000 Subject: hg: jdk7/tl/jdk: 9 new changesets Message-ID: <20080918235037.ECD24DEFB@hg.openjdk.java.net> Changeset: eb342082e2b6 Author: jccollet Date: 2008-09-04 15:26 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/eb342082e2b6 6692802: HttpCookie needs to support HttpOnly attribute Summary: Added HttpOnly tag support to HttpCookie class. Reviewed-by: chegar, michaelm ! src/share/classes/java/net/HttpCookie.java ! test/java/net/CookieHandler/TestHttpCookie.java Changeset: d276b0716d13 Author: wetmore Date: 2008-09-05 00:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d276b0716d13 Merge Changeset: bcb61dfc8514 Author: weijun Date: 2008-09-08 14:17 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/bcb61dfc8514 6740833: krb5.conf does not accept kdc=hostname (no spaces around =) Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/Config.java Changeset: b0378bb50d83 Author: michaelm Date: 2008-09-11 17:46 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b0378bb50d83 6744329: Exception in light weight http server code Reviewed-by: chegar ! src/share/classes/sun/net/httpserver/ChunkedOutputStream.java + test/com/sun/net/httpserver/bugs/B6744329.java Changeset: 80fe10573687 Author: mullan Date: 2008-09-11 14:05 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/80fe10573687 6465942: Add problem identification facility to the CertPathValidator framework Summary: Add support to the java.security.cert APIs for determining the reason that a certification path is invalid. Reviewed-by: vinnie ! src/share/classes/java/security/cert/CertPathValidatorException.java + src/share/classes/java/security/cert/PKIXReason.java ! src/share/classes/sun/security/provider/certpath/BasicChecker.java ! src/share/classes/sun/security/provider/certpath/ConstraintsChecker.java ! src/share/classes/sun/security/provider/certpath/CrlRevocationChecker.java ! src/share/classes/sun/security/provider/certpath/ForwardBuilder.java ! src/share/classes/sun/security/provider/certpath/KeyChecker.java ! src/share/classes/sun/security/provider/certpath/OCSPChecker.java ! src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java ! src/share/classes/sun/security/provider/certpath/PKIXMasterCertPathValidator.java ! src/share/classes/sun/security/provider/certpath/PolicyChecker.java ! src/share/classes/sun/security/provider/certpath/ReverseBuilder.java ! src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java ! test/java/security/cert/CertPathValidator/nameConstraintsRFC822/ValidateCertPath.java + test/java/security/cert/CertPathValidatorException/ReasonTest.java + test/java/security/cert/CertPathValidatorException/Serial.java + test/java/security/cert/CertPathValidatorException/cert_file + test/java/security/cert/CertPathValidatorException/jdk6.serial ! test/java/security/cert/PolicyNode/GetPolicyQualifiers.java Changeset: 482a1857b598 Author: mullan Date: 2008-09-11 18:13 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/482a1857b598 Merge Changeset: 80fd09f239f4 Author: wetmore Date: 2008-09-15 00:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/80fd09f239f4 Merge Changeset: 0100b3e66894 Author: wetmore Date: 2008-09-16 00:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0100b3e66894 Merge Changeset: e81a1ebde376 Author: wetmore Date: 2008-09-18 00:39 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e81a1ebde376 Merge From jonathan.gibbons at sun.com Fri Sep 19 01:41:43 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Fri, 19 Sep 2008 01:41:43 +0000 Subject: hg: jdk7/tl/langtools: 6744408: Extra ouput is appearing in stderr Message-ID: <20080919014147.26104DF08@hg.openjdk.java.net> Changeset: 829dea15ff99 Author: jjg Date: 2008-09-18 18:39 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/829dea15ff99 6744408: Extra ouput is appearing in stderr Reviewed-by: bpatel ! src/share/classes/com/sun/tools/javadoc/DocletInvoker.java From serverperformance at gmail.com Sun Sep 21 08:15:43 2008 From: serverperformance at gmail.com (Server Performance) Date: Sun, 21 Sep 2008 10:15:43 +0200 Subject: API change proposal: String concatenation boost Message-ID: <000001c91bc2$3fecd1e0$bfc675a0$@com> Hello, this is my first collaboration to OpenJDK so sorry if I missed some step... And sorry for my English :-( This is my proposal to be discussed: THE GOAL: Boost the overall String concatenation / append operations. BACKGROUND / HISTORY: ? At the beginning (JDK 1.0 days) we had String.concat() and StringBuffer to build Strings. Both approaches had initially bad performance. ? Starting at JDK 1.4 (I think), a share-on-copy strategy was introduced in StringBuffer. The performance gain was obvious, but increased the needed head and in some cases produced some memory leak when reusing StringBuffer. ? Starting at JDK 1.5, StringBuilder was introduced as the ?unsyncronized version?, but also the copy-on-write optimization was undo, becoming an always copy scenario. Also, the String + operator is translated to StringBuilder.append() by javac. This has been discussed but no better alternative was found (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6219959 ) ? This current implementation generates several System.arraycopy() calls: at least one per append/insert/delete (two if expanding capacity) and a final one in the toString() method. STUDYING THE USES: ? If we look at the uses of StringBuilder (both inside JDK code, in application server and/or final applications), in nearly 99% of times its is only used to create a String in a single-threaded context and (the most important fact) only using the append() and toString() methods. ? Also, only in 5% of the instantiatings, the coder establishes the initial capacity. Many times doesn?t matter, but other times it is impossible to guess it or calculate it. And even worst: some times the coder fails in his guess: establishes to much initial capacity or too few. MY PROPOSAL: ? Create a new class java.lang.StringAppender implements Appendable 1. Mostly same in its exposed public constructors and methods than StringBuilder, but the only operations are the ?append()? ones (no insert, no delete, no replace) 2. Internally represented as a String array 3. Only arraycopy() or create char arrays once, inside the toString() method (well, this isn?t completely true: also arraycopies when appending objects/variables other than String instances or char arrays, but the most typical operation is appending strings!) 4. Doesn?t need to stablish an initial capacity. Never more calculating it or guessing it. Always ? Add a new constructor in the java.lang.String class (actually 5 new constructors for performance reasons, see below): 1. public String(String... strs) 2. public String(String str0, String str1) 3. public String(String str0, String str1, String str2) 4. public String(String str0, String str1, String str2, String str3) (NOTE: these 3 additional constructors are needed to boost appends of a small number of Strings, in which case the overload of creating the array and then looping inside is much greater than passing 2, 3 or 4 parameters in the constructor invocation). ? Change the javac behavior: the String + operator must be translated into ?new String(String... )? instead of ?new StringBuilder().append().append()... ..toString()? ? Revise other JDK sourcecodes to use StringAppender, and the rest of programs all around the world. (By the way in the Glassfish V2 sourcecode I see several String.concat() invocations; seems strange to me... ) ? So the new blueprints for String concatenation should be: 1. For append-only, not conditional concatenations, use the new String constructor. Example: String result = new String(part1, part2, part3, part4); 2. For append-only, conditional or looped concatenations, use the StringAppender class. 3. For ?other manipulations (insert, delete, replace), use StringBuilder 4. For a thread-safe version, use StringBuffer THE BOOST: As you can see in my microbenchmark results, executed in Linux x64 and Windows 32 bits (-server, -client, and -XX:+AggressiveOpts versions), we can achieve a boost between 1% and 167% (depends on the scenario and architecture). Well those values are the extremes, the typical gains go between 20% and 70%. I think these results are good enough to be taken into consideration :-) THE SOURCE CODE: See attachments, String.java.diff with the added code (it is clear), and StringAppender with the new proposed class. THE MICROBENCHMARK CODE: See attachment. Of course should be revised. I think I have made it correctly. THE MICROBENCHMARK RESULTS (varied to me about +/-1% in different executions due to the host load or whatever): See attached file. I think they are great... What do you think? Best regards, --Jes?s Vi?uales -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: BENCHMARK_results.txt URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: MicrobenchmarkString.java Type: application/octet-stream Size: 25097 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: String.java.diff Type: application/octet-stream Size: 5603 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: StringAppender.java Type: application/octet-stream Size: 8210 bytes Desc: not available URL: From forax at univ-mlv.fr Sun Sep 21 13:43:34 2008 From: forax at univ-mlv.fr (=?windows-1252?Q?R=E9mi_Forax?=) Date: Sun, 21 Sep 2008 15:43:34 +0200 Subject: API change proposal: String concatenation boost In-Reply-To: <000001c91bc2$3fecd1e0$bfc675a0$@com> References: <000001c91bc2$3fecd1e0$bfc675a0$@com> Message-ID: <48D64F86.4020400@univ-mlv.fr> Server Performance a ?crit : > Hello, this is my first collaboration to OpenJDK so sorry if I missed some > step... And sorry for my English :-( > This is my proposal to be discussed: > > THE GOAL: Boost the overall String concatenation / append operations. > > BACKGROUND / HISTORY: > ? At the beginning (JDK 1.0 days) we had String.concat() and StringBuffer to > build Strings. Both approaches had initially bad performance. > ? Starting at JDK 1.4 (I think), a share-on-copy strategy was introduced in > StringBuffer. The performance gain was obvious, but increased the needed > head and in some cases produced some memory leak when reusing StringBuffer. > ? Starting at JDK 1.5, StringBuilder was introduced as the ?unsyncronized > version?, but also the copy-on-write optimization was undo, becoming an > always copy scenario. Also, the String + operator is translated to > StringBuilder.append() by javac. This has been discussed but no better > alternative was found (see > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6219959 ) > ? This current implementation generates several System.arraycopy() calls: at > least one per append/insert/delete (two if expanding capacity) and a final > one in the toString() method. > > STUDYING THE USES: > ? If we look at the uses of StringBuilder (both inside JDK code, in > application server and/or final applications), in nearly 99% of times its is > only used to create a String in a single-threaded context and (the most > important fact) only using the append() and toString() methods. > ? Also, only in 5% of the instantiatings, the coder establishes the initial > capacity. Many times doesn?t matter, but other times it is impossible to > guess it or calculate it. And even worst: some times the coder fails in his > guess: establishes to much initial capacity or too few. > There is no method append() but lot of methods append. > MY PROPOSAL: > ? Create a new class java.lang.StringAppender implements Appendable > 1. Mostly same in its exposed public constructors and methods than > StringBuilder, but the only operations are the ?append()? ones (no insert, > no delete, no replace) > 2. Internally represented as a String array > 3. Only arraycopy() or create char arrays once, inside the toString() method > (well, this isn?t completely true: also arraycopies when appending > objects/variables other than String instances or char arrays, but the most > typical operation is appending strings!) > You right about the fact the major use case is to use lot of append in a loop but i not agree about the fact that this append is always a append(String) or a append(Object). append(char), append(int) are very popular too and doesn't work well with your implementation. So i don't think if it worth a new class. > 4. Doesn?t need to stablish an initial capacity. Never more calculating it > or guessing it. Always > ? Add a new constructor in the java.lang.String class (actually 5 new > constructors for performance reasons, see below): > 1. public String(String... strs) > 2. public String(String str0, String str1) > 3. public String(String str0, String str1, String str2) > 4. public String(String str0, String str1, String str2, String str3) > (NOTE: these 3 additional constructors are needed to boost appends of a > small number of Strings, in which case the overload of creating the array > and then looping inside is much greater than passing 2, 3 or 4 parameters in > the constructor invocation). > Instead of using new constructors, i think implementing a new method named join see http://bugs.sun.com/view_bug.do?bug_id=5015163 is better. "".join("hello","world"); => "helloworld" It can be implemented exactly in the same way that your method String.copyValuesInto() but i think it is more usefull. > ? Change the javac behavior: the String + operator must be translated into > ?new String(String... )? instead of ?new > StringBuilder().append().append()... ..toString()? > ? Revise other JDK sourcecodes to use StringAppender, and the rest of > programs all around the world. (By the way in the Glassfish V2 sourcecode I > see several String.concat() invocations; seems strange to me... ) > ? So the new blueprints for String concatenation should be: > 1. For append-only, not conditional concatenations, use the new String > constructor. Example: String result = new String(part1, part2, part3, > part4); > 2. For append-only, conditional or looped concatenations, use the > StringAppender class. > 3. For other manipulations (insert, delete, replace), use StringBuilder > 4. For a thread-safe version, use StringBuffer > > THE BOOST: > As you can see in my microbenchmark results, executed in Linux x64 and > Windows 32 bits (-server, -client, and -XX:+AggressiveOpts versions), we can > achieve a boost between 1% and 167% (depends on the scenario and > architecture). Well those values are the extremes, the typical gains go > between 20% and 70%. I think these results are good enough to be taken into > consideration :-) > > THE SOURCE CODE: > See attachments, String.java.diff with the added code (it is clear), and > StringAppender with the new proposed class. > About your code: Please use String[] var instead of String var[], i know this is legal even int f() [] { return new int[]{3}; } is legal, but it's not the Java way. In StringAppender.expandListCapacity should use Arrays.copyOf(). StringAppender.size() should not be public, it's error prone and not very usefull. > THE MICROBENCHMARK CODE: > See attachment. > Of course should be revised. I think I have made it correctly. > > THE MICROBENCHMARK RESULTS (varied to me about +/-1% in different executions > due to the host load or whatever): > See attached file. I think they are great... > > > What do you think? > Best regards, > --Jes?s Vi?uales > cheers, R?mi Forax From serverperformance at gmail.com Sun Sep 21 23:45:50 2008 From: serverperformance at gmail.com (=?iso-8859-1?Q?Jes=FAs_Vi=F1uales?=) Date: Mon, 22 Sep 2008 01:45:50 +0200 Subject: API change proposal: String concatenation boost In-Reply-To: <48D64F86.4020400@univ-mlv.fr> References: <000001c91bc2$3fecd1e0$bfc675a0$@com> <48D64F86.4020400@univ-mlv.fr> Message-ID: <000301c91c44$2f60d9c0$8e228d40$@com> Hi R?mi. Thank you for your feedback! My comments... > You right about the fact the major use case is to use lot of append > in a loop but i not agree about the fact that this append is always > a append(String) or a append(Object). > append(char), append(int) are very popular too and > doesn't work well with your implementation. > So i don't think if it worth a new class. Touch?. I know my implementation performs well when appending CharSequences, char arrays, Objects and Booleans, but pays an overload for appending primate types (it creates a char[] instance and a String instance). But: 1.- If you look at the microbenchmark, there is one case emulating some log entry with 7 String, 1 Date, 1 char, 1 double, 1 boolean. 25% of primitive variables and beats the Builder version with 11-50% of gain. 2.- I have just tested only appending 6 char and only appending 6 ints, in that case my results are -80% an d-40% worst, respectively. But these are irreal cases, I believe. 3.- I attach a new version of StringAppender with a better implementation of append(int), append(long) append(char) which has shutcuts for typical value. 4.- We should calculate the percentage of those appends of primitive values (distinct of the shutcuts defined in the new version of the code) to be able to evaluate the benefits of my approach. I guess they are no more than 5% of cases, so the proposal would still be valid... 5.- Whenever appending a constant (char, int...), change the code / evangelize to change it for its String equivalent: append('.') => append(".") append(1000) => append("1000"); 6.- Nevertheless, we could work on the implementation of those cases, surely there is a clever solution, maybe maintaining different arrays for ints, longs, chars and so on, and do it right in the toString() method. Surely would impact somehow in the rest of cases... > Instead of using new constructors, i think implementing a new method > named join > see http://bugs.sun.com/view_bug.do?bug_id=5015163 > is better. > >"".join("hello","world"); => "helloworld" > >It can be implemented exactly in the same way that your method >String.copyValuesInto() but i think it is more usefull. I don't agree, I think they are two different things with two different goals. It wouldn't an obvious use of the join method... Of course the join method should be implemented using these new constructor(s) or StringAppender. By the way, if there are problems for adding 4 new constructors to the String class, they can be refactored to in static methods, but I like using constructors for constructing instances (call me romantic :-) >About your code: > >Please use String[] var instead of String var[], i know this is legal even >int f() [] { return new int[]{3}; } >is legal, but it's not the Java way. > >In StringAppender.expandListCapacity should use Arrays.copyOf(). Both suggestions applied. Old ways are difficult to change... I started coding in Java in the JDK 1.0 days... :-) >StringAppender.size() should not be public, it's error prone and >not very usefull. True! In fact, I have deleted it since currently there is no AbstractStringBuilder(int initialSize) constructor. I attach the modified source. Cheers from Spain! Jes?s Vi?uales -------------- next part -------------- A non-text attachment was scrubbed... Name: String.java.diff Type: application/octet-stream Size: 5654 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: StringAppender.java Type: application/octet-stream Size: 9969 bytes Desc: not available URL: From shanliang.jiang at sun.com Mon Sep 22 13:45:19 2008 From: shanliang.jiang at sun.com (shanliang.jiang at sun.com) Date: Mon, 22 Sep 2008 13:45:19 +0000 Subject: hg: jdk7/tl/jdk: 6697180: JMX query results in java.io.IOException: Illegal state - also a deadlock can also be seen Message-ID: <20080922134542.8CC0CD01C@hg.openjdk.java.net> Changeset: a1ab54c36c8a Author: sjiang Date: 2008-09-22 15:43 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a1ab54c36c8a 6697180: JMX query results in java.io.IOException: Illegal state - also a deadlock can also be seen Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java + test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java From Ulf.Zibis at gmx.de Mon Sep 22 14:51:21 2008 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 22 Sep 2008 16:51:21 +0200 Subject: API change proposal: String concatenation boost In-Reply-To: <000001c91bc2$3fecd1e0$bfc675a0$@com> References: <000001c91bc2$3fecd1e0$bfc675a0$@com> Message-ID: <48D7B0E9.5000507@gmx.de> Hi Jes?s this is a very interesting proposal. Some days ago I had a similar case. I had to instantiate a String from some single char's: int count; String s = new String (new char[] {'I','d', ' ', (char)count}); My proposal is to modify constructor String(char[] chars) to String(char... chars), so we can code: String s = new String ('I','d', ' ', (char)count); ... just my 2 cent. -Ulf From jim.holmlund at sun.com Tue Sep 23 02:21:32 2008 From: jim.holmlund at sun.com (jim.holmlund at sun.com) Date: Tue, 23 Sep 2008 02:21:32 +0000 Subject: hg: jdk7/tl/jdk: 6263966: TEST: com/sun/jdi/ClassesByName2Test.java has a race Message-ID: <20080923022144.6B392D0B6@hg.openjdk.java.net> Changeset: 4a62773bf60e Author: jjh Date: 2008-09-22 19:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4a62773bf60e 6263966: TEST: com/sun/jdi/ClassesByName2Test.java has a race Summary: Have the debuggee stop at a bkpt instead of running to completion. Reviewed-by: tbell ! test/com/sun/jdi/ClassesByName2Test.java From jonathan.gibbons at sun.com Tue Sep 23 17:45:42 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Tue, 23 Sep 2008 17:45:42 +0000 Subject: hg: jdk7/tl/langtools: 6420151: need to improve byfile compile policy to eliminate footprint issues Message-ID: <20080923174543.DB4FDD10A@hg.openjdk.java.net> Changeset: 1e83972f53fb Author: jjg Date: 2008-09-23 10:44 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/1e83972f53fb 6420151: need to improve byfile compile policy to eliminate footprint issues Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/comp/Todo.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javadoc/JavadocTodo.java ! src/share/classes/javax/tools/FileObject.java ! test/tools/javac/6734819/T6734819b.out - test/tools/javac/policy/A.java - test/tools/javac/policy/B.java - test/tools/javac/policy/C.java - test/tools/javac/policy/D.java - test/tools/javac/policy/Test.java - test/tools/javac/policy/byfile.ABD.out - test/tools/javac/policy/byfile.ACD.out - test/tools/javac/policy/bytodo.ABD.out - test/tools/javac/policy/bytodo.ACD.out - test/tools/javac/policy/simple.ABD.out - test/tools/javac/policy/simple.ACD.out + test/tools/javac/policy/test1/A.java + test/tools/javac/policy/test1/B.java + test/tools/javac/policy/test1/C.java + test/tools/javac/policy/test1/D.java + test/tools/javac/policy/test1/Test1a.java + test/tools/javac/policy/test1/Test1b.java + test/tools/javac/policy/test1/byfile.ABD.out + test/tools/javac/policy/test1/byfile.ACD.out + test/tools/javac/policy/test1/bytodo.ABD.out + test/tools/javac/policy/test1/bytodo.ACD.out + test/tools/javac/policy/test1/simple.ABD.out + test/tools/javac/policy/test1/simple.ACD.out + test/tools/javac/policy/test2/A.java + test/tools/javac/policy/test2/B.java + test/tools/javac/policy/test2/Test.java + test/tools/javac/policy/test2/byfile.AB.out + test/tools/javac/policy/test2/byfile.BA.out + test/tools/javac/policy/test2/bytodo.AB.out + test/tools/javac/policy/test2/bytodo.BA.out From christopher.hegarty at sun.com Wed Sep 24 13:02:01 2008 From: christopher.hegarty at sun.com (christopher.hegarty at sun.com) Date: Wed, 24 Sep 2008 13:02:01 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20080924130228.A1CB7D14A@hg.openjdk.java.net> Changeset: 025fdbd9090b Author: chegar Date: 2008-09-24 05:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/025fdbd9090b 6749308: java.io, java.lang, java.util exception classes don't specify serialVersionUID Reviewed-by: alanb ! src/share/classes/java/io/CharConversionException.java ! src/share/classes/java/io/EOFException.java ! src/share/classes/java/io/FileNotFoundException.java ! src/share/classes/java/io/InterruptedIOException.java ! src/share/classes/java/io/SyncFailedException.java ! src/share/classes/java/io/UTFDataFormatException.java ! src/share/classes/java/io/UnsupportedEncodingException.java ! src/share/classes/java/lang/AbstractMethodError.java ! src/share/classes/java/lang/ArithmeticException.java ! src/share/classes/java/lang/ArrayIndexOutOfBoundsException.java ! src/share/classes/java/lang/ArrayStoreException.java ! src/share/classes/java/lang/AssertionError.java ! src/share/classes/java/lang/ClassCastException.java ! src/share/classes/java/lang/ClassCircularityError.java ! src/share/classes/java/lang/ClassFormatError.java ! src/share/classes/java/lang/CloneNotSupportedException.java ! src/share/classes/java/lang/EnumConstantNotPresentException.java ! src/share/classes/java/lang/IllegalAccessError.java ! src/share/classes/java/lang/IllegalAccessException.java ! src/share/classes/java/lang/IllegalMonitorStateException.java ! src/share/classes/java/lang/IllegalThreadStateException.java ! src/share/classes/java/lang/IncompatibleClassChangeError.java ! src/share/classes/java/lang/IndexOutOfBoundsException.java ! src/share/classes/java/lang/InstantiationError.java ! src/share/classes/java/lang/InstantiationException.java ! src/share/classes/java/lang/InternalError.java ! src/share/classes/java/lang/InterruptedException.java ! src/share/classes/java/lang/LinkageError.java ! src/share/classes/java/lang/NegativeArraySizeException.java ! src/share/classes/java/lang/NoClassDefFoundError.java ! src/share/classes/java/lang/NoSuchFieldError.java ! src/share/classes/java/lang/NoSuchFieldException.java ! src/share/classes/java/lang/NoSuchMethodError.java ! src/share/classes/java/lang/NoSuchMethodException.java ! src/share/classes/java/lang/NullPointerException.java ! src/share/classes/java/lang/OutOfMemoryError.java ! src/share/classes/java/lang/StackOverflowError.java ! src/share/classes/java/lang/StringIndexOutOfBoundsException.java ! src/share/classes/java/lang/ThreadDeath.java ! src/share/classes/java/lang/TypeNotPresentException.java ! src/share/classes/java/lang/UnknownError.java ! src/share/classes/java/lang/UnsatisfiedLinkError.java ! src/share/classes/java/lang/UnsupportedClassVersionError.java ! src/share/classes/java/lang/VerifyError.java ! src/share/classes/java/lang/annotation/AnnotationFormatError.java ! src/share/classes/java/lang/annotation/AnnotationTypeMismatchException.java ! src/share/classes/java/lang/annotation/IncompleteAnnotationException.java ! src/share/classes/java/lang/instrument/IllegalClassFormatException.java ! src/share/classes/java/lang/instrument/UnmodifiableClassException.java ! src/share/classes/java/lang/management/ManagementPermission.java ! src/share/classes/java/lang/reflect/GenericSignatureFormatError.java ! src/share/classes/java/lang/reflect/MalformedParameterizedTypeException.java ! src/share/classes/java/util/ConcurrentModificationException.java ! src/share/classes/java/util/EmptyStackException.java ! src/share/classes/java/util/InputMismatchException.java ! src/share/classes/java/util/NoSuchElementException.java ! src/share/classes/java/util/TooManyListenersException.java ! src/share/classes/java/util/jar/JarException.java ! src/share/classes/java/util/regex/PatternSyntaxException.java ! src/share/classes/java/util/zip/DataFormatException.java ! src/share/classes/java/util/zip/ZipException.java Changeset: 76fc6d885969 Author: chegar Date: 2008-09-24 05:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/76fc6d885969 Merge From eamonn.mcmanus at sun.com Wed Sep 24 13:20:54 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Wed, 24 Sep 2008 13:20:54 +0000 Subject: hg: jdk7/tl/jdk: 6750935: The expected NotCompliantMBeanException is not thrown for the custom MXBeanMappingFactory; ... Message-ID: <20080924132105.C91F3D14F@hg.openjdk.java.net> Changeset: 48a790c67659 Author: emcmanus Date: 2008-09-24 15:19 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/48a790c67659 6750935: The expected NotCompliantMBeanException is not thrown for the custom MXBeanMappingFactory 6751872: MXBeanMappingFactory example says "implements" when it should be "extends" Reviewed-by: dfuchs ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/share/classes/com/sun/jmx/mbeanserver/MXBeanSupport.java ! src/share/classes/javax/management/openmbean/MXBeanMappingFactory.java ! test/javax/management/mxbean/CustomTypeTest.java From kumar.srinivasan at sun.com Thu Sep 25 00:46:36 2008 From: kumar.srinivasan at sun.com (kumar.srinivasan at sun.com) Date: Thu, 25 Sep 2008 00:46:36 +0000 Subject: hg: jdk7/tl/jdk: 6742159: (launcher) improve the java launching mechanism Message-ID: <20080925004648.85F12D25F@hg.openjdk.java.net> Changeset: e2c416af20bd Author: ksrini Date: 2008-09-24 15:07 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e2c416af20bd 6742159: (launcher) improve the java launching mechanism Summary: improves launching, also addresses 6694671 and 6749732 Reviewed-by: darcy, dholmes ! src/share/bin/emessages.h ! src/share/bin/java.c ! src/share/bin/java.h - src/share/classes/sun/launcher/LauncherHelp.java + src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! src/solaris/bin/java_md.c ! src/windows/bin/java_md.c ! test/tools/launcher/Arrrghs.java - test/tools/launcher/Arrrghs.sh + test/tools/launcher/TestHelper.java From maurizio.cimadamore at sun.com Mon Sep 29 11:57:46 2008 From: maurizio.cimadamore at sun.com (maurizio.cimadamore at sun.com) Date: Mon, 29 Sep 2008 11:57:46 +0000 Subject: hg: jdk7/tl/langtools: 3 new changesets Message-ID: <20080929115751.2D678D64E@hg.openjdk.java.net> Changeset: ddd110646d21 Author: mcimadamore Date: 2008-09-29 11:34 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/ddd110646d21 6500343: compiler generates bad code when translating conditional expressions Summary: TransTypes needs to deal with intersection types coming from conditional expressions Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java + test/tools/javac/conditional/6500343/T6500343a.java + test/tools/javac/conditional/6500343/T6500343b.java Changeset: 609fb59657b4 Author: mcimadamore Date: 2008-09-29 11:48 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/609fb59657b4 6735840: Need a type/symbol visitor printer Summary: Added type/symbol visitor printer with support for localization Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties Changeset: 1a9276e7cb18 Author: mcimadamore Date: 2008-09-29 12:00 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/1a9276e7cb18 6747671: -Xlint:rawtypes Summary: add an Xlint option for detecting all raw types usages (ccc-approved) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/6304921/T6304921.out + test/tools/javac/warnings/6747671/T6747671.java + test/tools/javac/warnings/6747671/T6747671.out ! test/tools/javac/warnings/Unchecked.lintAll.out From maurizio.cimadamore at sun.com Mon Sep 29 14:30:45 2008 From: maurizio.cimadamore at sun.com (maurizio.cimadamore at sun.com) Date: Mon, 29 Sep 2008 14:30:45 +0000 Subject: hg: jdk7/tl/langtools: 6753718: raw type warnings should be suprresed during a langtools build Message-ID: <20080929143047.204A7D65C@hg.openjdk.java.net> Changeset: 0c4fa115f87d Author: mcimadamore Date: 2008-09-29 15:30 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/0c4fa115f87d 6753718: raw type warnings should be suprresed during a langtools build Summary: fixed build.properties in order to suppress raw type warnings Reviewed-by: jjg ! make/build.properties From martinrb at google.com Mon Sep 29 19:56:30 2008 From: martinrb at google.com (martinrb at google.com) Date: Mon, 29 Sep 2008 19:56:30 +0000 Subject: hg: jdk7/tl/langtools: 6739427: -Xlint:processing not recognized as an option Message-ID: <20080929195631.E8901D69B@hg.openjdk.java.net> Changeset: b81a9aa785ba Author: martin Date: 2008-09-29 11:38 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/b81a9aa785ba 6739427: -Xlint:processing not recognized as an option Reviewed-by: darcy, jjg Contributed-by: lipeng at google.com ! src/share/classes/com/sun/tools/javac/code/Lint.java From serverperformance at gmail.com Tue Sep 30 23:25:10 2008 From: serverperformance at gmail.com (=?iso-8859-1?Q?Jes=FAs_Vi=F1uales?=) Date: Wed, 1 Oct 2008 01:25:10 +0200 Subject: API change proposal: String concatenation boost In-Reply-To: <48D7B0E9.5000507@gmx.de> References: <000001c91bc2$3fecd1e0$bfc675a0$@com> <48D7B0E9.5000507@gmx.de> Message-ID: <000601c92353$c9e42680$5dac7380$@com> Hi all. I have measured the number of AbstractStringBuilder method invocations when executing NetBeans 6 (and making some work for 5 minutes) and when executing for a while a Glassfish V2 with a typical web application (Struts+Spring+Hibernate). These are the interesting and empirical results: GLASSFISH ========= num new AbstractStringBuilder: 1094600 num StringBuilder.toString() : 648524 num StringBuffer.toString() : 436706 num expandCapacity() : 993383 num appendChar() : 13604867 num appendStringsOrObject() : 2062881 num appendCharArray() : 26999 num appendCharSequence() : 1435 num appendInt() : 42208 num appendLong() : 9744 num appendBoolean() : 2339 num appendFloat() : 0 num appendDouble() : 3 num appendStringBuffer() : 8 num appendCodePoint() : 0 num trimToSize() : 0 num length() : 273672 num setLength() : 33242 num getsOrCountsOrIndexOf() : 151377 num replace() : 10778 num delete() : 163 num inserts : 1159 num substring() : 154 num reverse() : 0 NETBEANS ======== num new AbstractStringBuilder: 2996681 num StringBuilder.toString() : 1670769 num StringBuffer.toString() : 1285300 num expandCapacity() : 1737419 num appendChar() : 119975412 num appendStringsOrObject() : 3323190 num appendCharArray() : 108522 num appendCharSequence() : 96564 num appendInt() : 10834 num appendLong() : 1694 num appendBoolean() : 470 num appendFloat() : 360 num appendDouble() : 0 num appendStringBuffer() : 0 num appendCodePoint() : 0 num trimToSize() : 0 num length() : 142646 num setLength() : 21448 num getsOrCountsOrIndexOf() : 109426 num replace() : 4432 num delete() : 5753 num inserts : 0 num substring() : 1241 num reverse() : 3 My conclusions: - The number of append(char) is bigger than append(String) and much bigger than other inserts (mainly in the Netbeans execution), so my StringAppender approach wouldn't perform good as predicted by R?mi and others. The number of append(int), append(float), append(Boolean) is very low. - In a very few situations a Builder/Buffer is reutilized after calling toString() - expandCapacity() is invoked a lot of times!!! - Other operations (different than appends) are invoked a very few times. So I suppose that my two proposals have few sense in general (haven't they?), but maybe these figures can help to reconsider the value of the default buffer length or can help others trying to make String/StringBuilder faster. Heap allocation and System.arraycopy calls must be reduced anyway! P.S: Nevertheless I attach the "final" version of my modification to String.java and of StringAppender, which has some optimizations to append(char) but not sufficient... I think. Best regards, Jes?s -----Mensaje original----- De: Ulf Zibis [mailto:Ulf.Zibis at gmx.de] Enviado el: lunes, 22 de septiembre de 2008 16:51 Para: Server Performance CC: core-libs-dev at openjdk.java.net Asunto: Re: API change proposal: String concatenation boost Hi Jes?s this is a very interesting proposal. Some days ago I had a similar case. I had to instantiate a String from some single char's: int count; String s = new String (new char[] {'I','d', ' ', (char)count}); My proposal is to modify constructor String(char[] chars) to String(char... chars), so we can code: String s = new String ('I','d', ' ', (char)count); ... just my 2 cent. -Ulf -------------- next part -------------- A non-text attachment was scrubbed... Name: String.java.diff Type: application/octet-stream Size: 6550 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: StringAppender.java Type: application/octet-stream Size: 9666 bytes Desc: not available URL: